/* Shared homepage navigation, used on every page. */
html{scroll-padding-top:96px}
.has-floating-header{padding-top:76px}
body header.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;width:100%;max-width:none;min-height:76px;margin:0;padding:10px clamp(28px,5.8vw,92px);color:#082d68;background:transparent;border-bottom:1px solid transparent;transition:background-color .2s ease,border-color .2s ease}
body header.site-header.is-scrolled,body header.site-header.site-header--inner{background:rgba(251,249,244,.96);border-bottom-color:rgba(8,45,104,.1)}
body header.site-header .header-brand{grid-column:1;justify-self:start;display:block;width:150px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
body header.site-header.is-scrolled .header-brand,body header.site-header.site-header--inner .header-brand{opacity:1;visibility:visible;pointer-events:auto}
body header.site-header .header-brand img{display:block;width:100%;max-width:100%;height:auto}
body header.site-header .nav-links{grid-column:2;display:flex;align-items:center;justify-content:center;gap:clamp(26px,3.2vw,56px);margin:0;padding:0;font-family:"DM Sans",Arial,sans-serif;font-size:15px;font-weight:500;line-height:normal}
body header.site-header .nav-links a{color:inherit;text-decoration:none;transition:opacity 180ms ease}
body header.site-header .nav-links a:hover{opacity:.6}
body header.site-header .header-cta{grid-column:3;justify-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border:1px solid #075ef1;border-radius:999px;font-family:"DM Sans",Arial,sans-serif;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;color:#fff;background:#075ef1;transition:transform 180ms ease,background-color 180ms ease}
body header.site-header .header-cta:hover{background:#004ed0;transform:translateY(-2px)}
body header.site-header a:focus-visible{outline:2px solid #075ef1;outline-offset:4px}
@media(max-width:900px){body header.site-header .header-brand{width:130px}body header.site-header .nav-links{gap:20px;font-size:14px}body header.site-header .nav-links a{display:flex;align-items:center;min-height:44px}body header.site-header .header-cta{font-size:12px;padding-inline:16px}}
@media(max-width:680px){.has-floating-header{padding-top:102px}body header.site-header{grid-template-columns:1fr auto;gap:2px 16px;padding:8px 22px}body header.site-header .header-brand{grid-column:1;grid-row:1;width:125px}body header.site-header .header-cta{grid-column:2;grid-row:1}body header.site-header .nav-links{grid-column:1 / -1;grid-row:2;gap:clamp(12px,5vw,28px)}body header.site-header .nav-links a{min-height:40px}body .hero{padding-top:126px}html{scroll-padding-top:120px}}
@media(prefers-reduced-motion:reduce){body header.site-header,body header.site-header .header-brand,body header.site-header .header-cta,body header.site-header .nav-links a{transition:none}}

/* A compact, progressively enhanced mobile menu. Desktop stays unchanged. */
body header.site-header .mobile-menu-toggle{display:none}
@media(max-width:760px){
  body:has(header.has-mobile-menu).has-floating-header{padding-top:68px}
  body:has(header.has-mobile-menu) .hero{padding-top:92px}
  html:has(header.has-mobile-menu){scroll-padding-top:88px}
  body header.site-header.has-mobile-menu{grid-template-columns:minmax(0,1fr) auto;gap:0 16px;min-height:68px;padding:12px 22px;color:#161616;max-height:100dvh;overflow-y:auto}
  body header.site-header.has-mobile-menu .header-brand{grid-column:1;grid-row:1;width:125px}
  body header.site-header.has-mobile-menu .mobile-menu-toggle{grid-column:2;grid-row:1;justify-self:end;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:10px;border:0;border-radius:5px;background:transparent;color:#161616;cursor:pointer}
  body header.site-header .mobile-menu-toggle span{display:block;width:23px;height:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  body header.site-header .mobile-menu-toggle:focus-visible{outline:2px solid #161616;outline-offset:3px}
  body header.site-header.has-mobile-menu .nav-links,body header.site-header.has-mobile-menu .header-cta{display:none}
  body header.site-header.has-mobile-menu.is-menu-open{background:#fbf9f4;border-bottom-color:#ded9d0;box-shadow:0 12px 24px #1616160d;padding-bottom:24px}
  body header.site-header.is-menu-open .header-brand{opacity:1;visibility:visible;pointer-events:auto}
  body header.site-header.has-mobile-menu.is-menu-open .nav-links{display:flex;grid-column:1 / -1;grid-row:2;flex-direction:column;align-items:stretch;gap:0;padding:20px 0 12px;font-size:18px}
  body header.site-header.has-mobile-menu.is-menu-open .nav-links a{min-height:48px;justify-content:flex-start}
  body header.site-header.has-mobile-menu.is-menu-open .header-cta{display:flex;grid-column:1 / -1;grid-row:3;justify-self:stretch;min-height:48px;font-size:14px;background:#111;border-color:#111}
  body header.site-header.is-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body header.site-header.is-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  body header.site-header.is-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){body header.site-header .mobile-menu-toggle span{transition:none}}
