/* Navigation: floats over the hero, turns solid on scroll, full-screen menu on smaller screens. */
header.over-hero{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:background-color .35s ease,box-shadow .35s ease}
header.over-hero nav{transition:min-height .35s cubic-bezier(.22,1,.36,1)}
header.over-hero.is-scrolled{background:rgba(7,28,57,.94);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 1px 0 rgba(255,255,255,.07),0 10px 30px -18px rgba(0,0,0,.6)}
header.over-hero.is-scrolled nav{min-height:78px}
header.over-hero.menu-open{background:#071c39;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}

header.over-hero #nav-links{display:flex;align-items:center;gap:34px;font-size:.92rem}
header.over-hero #nav-links>a:not(.button){position:relative;color:#e6eef5;padding:6px 0;transition:color .2s ease}
header.over-hero #nav-links>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.22,1,.36,1)}
header.over-hero #nav-links>a:not(.button):hover{color:#fff}
header.over-hero #nav-links>a:not(.button):hover::after{transform:scaleX(.35)}
header.over-hero #nav-links>a[aria-current="location"]{color:var(--mint);text-decoration:none}
header.over-hero #nav-links>a[aria-current="location"]::after,header.over-hero #nav-links>a[aria-current="location"]:hover::after{transform:scaleX(1)}
header.over-hero #nav-links>a[aria-current="location"]:hover{color:var(--mint)}
header.over-hero #nav-links .button.small{margin-left:4px;white-space:nowrap;transition:background .2s ease,color .2s ease}
header.over-hero #nav-links .button.small:hover{background:var(--mint);color:#0b2034;transform:none}

/* Menu button: two lines that become an X. */
header.over-hero .menu-toggle{display:none;width:46px;height:46px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);color:#fff;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}
header.over-hero .menu-toggle:hover{border-color:var(--mint)}
.menu-icon{position:relative;width:18px;height:12px;display:block}
.menu-icon i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.22,1,.36,1),top .35s cubic-bezier(.22,1,.36,1)}
.menu-icon i:first-child{top:1px}.menu-icon i:last-child{top:9px}
.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{top:5px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{top:5px;transform:rotate(-45deg)}

@media(max-width:1280px) and (min-width:1081px){header.over-hero #nav-links{gap:24px;font-size:.88rem}}

@media(max-width:1080px){
  header.over-hero .menu-toggle{display:inline-flex}
  header.over-hero nav{min-height:84px}
  header.over-hero.is-scrolled nav{min-height:68px}
  header.over-hero #nav-links{position:fixed;top:var(--nav-h,84px);left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#071c39 0,#081f3f 100%);border:0;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s linear .35s}
  header.over-hero.is-scrolled #nav-links{--nav-h:68px}
  header.over-hero #nav-links.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s}
  header.over-hero #nav-links>a:not(.button){font-size:1.55rem;font-weight:500;letter-spacing:-.025em;color:#fff;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1),color .2s ease}
  header.over-hero #nav-links>a:not(.button)::after{display:none}
  header.over-hero #nav-links>a[aria-current="location"]{color:var(--mint)}
  header.over-hero #nav-links.open>a{opacity:1;transform:none}
  header.over-hero #nav-links.open>a:nth-child(2){transition-delay:.03s}
  header.over-hero #nav-links.open>a:nth-child(3){transition-delay:.06s}
  header.over-hero #nav-links.open>a:nth-child(4){transition-delay:.09s}
  header.over-hero #nav-links.open>a:nth-child(5){transition-delay:.12s}
  header.over-hero #nav-links.open>a:nth-child(6){transition-delay:.15s}
  header.over-hero #nav-links.open>a:nth-child(7){transition-delay:.18s}
  header.over-hero #nav-links .button.small{margin:28px 0 0;min-height:56px;font-size:1rem;background:var(--mint);color:#0b2034;border-color:var(--mint);opacity:0;transform:translateY(10px);transition:opacity .4s ease .21s,transform .45s cubic-bezier(.22,1,.36,1) .21s}
  header.over-hero #nav-links.open .button.small{opacity:1;transform:none}
  html.nav-open,html.nav-open body{overflow:hidden}
}
@media(max-width:1080px) and (min-width:801px){header.over-hero #nav-links{padding-left:max(30px,calc((100% - 700px)/2));padding-right:max(30px,calc((100% - 700px)/2))}}
@media(max-width:430px){header.over-hero #nav-links{padding-left:18px;padding-right:18px}header.over-hero #nav-links>a:not(.button){font-size:1.4rem;padding:15px 0}}
@media(prefers-reduced-motion:reduce){header.over-hero,header.over-hero nav,header.over-hero #nav-links,header.over-hero #nav-links>a,.menu-icon i{transition:none!important}}
/* Anchor jumps land just below the fixed header. */
html{scroll-padding-top:0}
section[id]{scroll-margin-top:78px}
@media(max-width:1080px){section[id]{scroll-margin-top:68px}}
