/* Shared site navigation: desktop links + Services dropdown, and the mobile menu. */
.mainnav{display:flex;align-items:center;gap:30px}
.mainnav .nl{display:inline-flex;align-items:center;gap:6px;padding:10px 0;border-bottom:2px solid transparent;color:#1F2937;text-decoration:none;font-family:'Inter',system-ui,sans-serif;font-weight:500;font-size:15px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.mainnav .nl[aria-current="page"]{color:#17578D;border-bottom-color:#2577B7}
.mainnav .nl svg{transition:transform .15s ease}
.navdd{position:relative}
.navdd-panel{position:absolute;left:50%;top:100%;transform:translateX(-50%);padding-top:10px;display:none;z-index:20}
.navdd-box{min-width:250px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 12px 32px rgba(20,43,73,0.12);padding:8px;display:flex;flex-direction:column}
.navdd-box a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:8px;color:#1F2937;text-decoration:none;font-weight:600;font-size:15px;text-transform:none;letter-spacing:0}
.navdd-box a small{font-weight:400;font-size:13px;color:#6B7280}
.navdd:hover .navdd-panel,.navdd:focus-within .navdd-panel{display:block}
.navdd:hover .nl svg,.navdd:focus-within .nl svg{transform:rotate(180deg)}
@media (hover:hover){.mainnav .nl:hover{color:#17578D}.navdd-box a:hover{background:#EAF4FC;color:#1F2937}}

.hmenu{position:relative}
.hmenu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;box-sizing:border-box;border:1.5px solid #1F2937;border-radius:10px;color:#1F2937;background:transparent}
.hmenu>summary::-webkit-details-marker{display:none}
.hmenu[open]>summary{background:#EAF4FC}
.hmenu-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:240px;background:#FFFFFF;border:1px solid #E5E7EB;border-radius:12px;box-shadow:0 12px 32px rgba(20,43,73,0.12);padding:8px;display:flex;flex-direction:column;z-index:20}
.hmenu-panel a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;color:#1F2937;text-decoration:none;font-weight:600;font-size:15px;min-height:44px;box-sizing:border-box}
.hmenu-panel a[aria-current="page"]{color:#17578D;background:#EAF4FC}
.hmenu-panel a.hmenu-sub{padding-left:30px;font-weight:500;font-size:14px;color:#4B5563;min-height:40px}
.hmenu-panel a.hmenu-login{font-weight:700;color:#2577B7}
@media (hover:hover){.hmenu-panel a.hmenu-login:hover{color:#17578D}}
.hmenu-div{height:1px;background:#E5E7EB;margin:6px 4px}
.hmenu-sec{display:none !important}
@media (hover:hover){.hmenu>summary:hover,.hmenu-panel a:hover{background:#EAF4FC;color:#1F2937}}

/* Below this width the page links move into the menu. */
@media (max-width:1120px){
.mainnav{display:none !important}
.hmenu-sec{display:flex !important}
.hmenu-div{display:block !important}
}
@media (max-width:520px){.hmenu>summary{width:42px;height:42px}}


/* Referral header */
.ref-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #E5E7EB;padding:0 32px}
.ref-inner{max-width:1184px;margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ref-identity{display:flex;align-items:center;gap:18px;min-width:0}
.ref-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#032C52;font-size:20px;font-weight:700;white-space:nowrap}
.ref-brand img{width:48px;height:48px;display:block;border-radius:8px}
.ref-partner{border-left:1px solid #E5E7EB;padding:10px 0 10px 18px;display:flex;flex-direction:column;gap:3px;text-align:center;text-decoration:none;white-space:nowrap}
.ref-partner span{font-size:14px;font-weight:400;color:#64748B}
.ref-partner strong{font-size:15px;color:#032C52}
.ref-actions{display:flex;align-items:center;gap:16px}
.ref-review{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;background:#1D9D70;color:white!important;border-radius:11px;font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap}
.ref-review:hover{background:#16805B}
.ref-header .hmenu>summary{border:0;color:#032C52;border-radius:8px}
.ref-header .hmenu-sec{display:flex!important}
.ref-header .hmenu-div{display:block!important}
.ref-header .hmenu-panel{max-height:calc(100dvh - 105px);overflow:auto}
.ref-header a:focus-visible,.ref-header summary:focus-visible{outline:3px solid #2577B7;outline-offset:3px}
@media(max-width:700px){.ref-header{padding:0 16px}.ref-inner{gap:12px;min-height:82px;flex-wrap:wrap;padding:14px 0}.ref-identity{gap:12px}.ref-brand{font-size:16px;gap:8px}.ref-brand img{width:40px;height:40px}.ref-partner{padding-left:12px}.ref-partner span{font-size:14px}.ref-partner strong{font-size:14px}.ref-actions{gap:8px}.ref-review{min-height:44px;font-size:14px;padding:0 16px}.ref-header .hmenu-panel{max-height:calc(100dvh - 150px)}}
@media(max-width:560px){.ref-identity{width:100%;justify-content:center}.ref-actions{width:100%;justify-content:space-between}.ref-review{flex:1}.ref-header .hmenu-panel{min-width:250px;max-width:calc(100vw - 32px)}}

/* Compact mobile layout */
@media(max-width:600px){
.ref-header{padding:0 16px;position:relative}
.ref-inner{padding:10px 0;gap:10px;min-height:0}
.ref-identity{width:100%;justify-content:space-between;gap:10px}
.ref-brand{font-size:16px;gap:8px;min-width:0;white-space:normal;line-height:1.25}
.ref-brand img{width:36px;height:36px;flex-shrink:0}
.ref-partner{padding:4px 0 4px 10px;flex-shrink:0;gap:2px}
.ref-partner span,.ref-partner strong{font-size:14px;line-height:1.3}
.ref-actions{width:100%;gap:10px}
.ref-review{flex:1;min-height:44px;padding:0 16px;font-size:15px}
.ref-header .hmenu>summary{width:44px;height:44px}
.ref-header .hmenu-panel{max-height:70dvh;min-width:250px;max-width:calc(100vw - 32px)}
.hero-sm{padding-top:32px!important;padding-bottom:36px!important}
.h1-sm{font-size:28px!important;line-height:1.2!important}
.h2-sm{font-size:26px!important;line-height:1.25!important}
.h3-sm{font-size:21px!important;line-height:1.3!important}
.lead-sm{font-size:16px!important;line-height:1.5!important}
.col-gap-sm{gap:20px!important}
.btn-full{font-size:15px!important;padding:14px 16px!important;min-height:48px;white-space:normal;text-align:center}
.trust-sm{gap:16px 12px!important;padding:22px 0!important}
.trust-sm>div{font-size:14px!important;line-height:1.4!important;gap:8px!important}
.trust-sm svg{flex-shrink:0;width:21px;height:21px}
.sec-sm{padding-top:42px!important;padding-bottom:42px!important}
.pad-sm{padding-left:18px!important;padding-right:18px!important}
.gap-sm{gap:24px!important}
.card-sm{padding:20px!important;border-radius:14px!important}
.price-sm{font-size:40px!important}
}
@media(max-width:360px){.ref-brand{font-size:15px}.ref-brand img{width:32px;height:32px}.ref-partner{padding-left:8px}.trust-sm{grid-template-columns:1fr!important}.h1-sm{font-size:25px!important}}

/* Mobile referral row below the main header */
@media(max-width:600px){
.ref-header{padding:0 12px}
.ref-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding:12px 0 0}
.ref-identity{display:contents}
.ref-brand{grid-column:1;grid-row:1;font-size:14px;line-height:1.25;gap:7px;white-space:normal}
.ref-brand img{width:34px;height:34px}
.ref-brand span{max-width:145px}
.ref-actions{grid-column:2;grid-row:1;width:auto;gap:4px}
.ref-review{flex:none;font-size:14px;padding:0 12px;min-height:44px}
.ref-header .hmenu>summary{width:40px;height:44px}
.ref-partner{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;border-left:0;border-top:1px solid #E5E7EB;padding:13px 0;width:100%;white-space:normal}
.ref-partner span,.ref-partner strong{font-size:14px;line-height:1.4}
.ref-header .hmenu-panel{max-width:calc(100vw - 24px)}
}
@media(max-width:360px){.ref-brand span{max-width:100px}.ref-brand img{width:30px;height:30px}.ref-review{padding:0 10px}}

/* Keep the referral header visible while scrolling. */
.ref-header{position:sticky!important;top:0;z-index:50}
@media(max-width:600px){html [id]{scroll-margin-top:128px}}

.ref-review{background:#2577B7}
.ref-review:hover{background:#17578D}
