/* ============================================================
   Shared site header — index.html and research.html
   Permanent light navigation with iOS safe-area handling.
   Loaded after style.css.
   ============================================================ */

:root{--teal:#2F6B7A;--safe-top:env(safe-area-inset-top,0px)}

html{scroll-padding-top:calc(88px + var(--safe-top));background:var(--white)}

/* White backing layer behind the header. It starts off-screen above the
   page and ends exactly at the header's bottom edge, so whatever iOS
   renders in the status-bar/glass area above a fixed header is white. */
body::before{content:'';position:fixed;top:-100px;left:0;right:0;height:calc(100px + var(--nav-h) + var(--safe-top));background:var(--white);z-index:999;pointer-events:none}

/* Header extends up through the iOS status-bar safe area so no page
   content shows above it. */
.nav.nav-solid{background:var(--white);box-shadow:0 1px 0 var(--border);height:calc(var(--nav-h) + var(--safe-top));padding:var(--safe-top) 24px 0}
.nav.nav-solid.scrolled{background:var(--white);height:calc(var(--nav-h) + var(--safe-top));padding:var(--safe-top) 24px 0;box-shadow:0 2px 18px rgba(27,42,74,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-lockup{display:flex;flex-direction:column;line-height:1.05;text-decoration:none}
.nav.nav-solid .nav-lockup-name{font-family:var(--ff-display);font-size:1.02rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--navy)}
.nav.nav-solid .nav-lockup-specialty{font-family:var(--ff-body);font-size:.55rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--teal);border-top:1px solid rgba(27,42,74,.35);padding-top:3px;margin-top:4px}
.nav.nav-solid .nav-links{gap:18px}
.nav.nav-solid .nav-links a{color:var(--text-light);font-size:.78rem}
.nav.nav-solid .nav-links a:hover,.nav.nav-solid .nav-links a.active{color:var(--navy)}
.nav.nav-solid .nav-links a::after{background:var(--navy)}
.nav.nav-solid .nav-toggle span{background:var(--navy)}
.nav.nav-solid .nav-cta{background:var(--navy);color:var(--white)!important;white-space:nowrap;padding:10px 16px;font-size:.76rem}
.nav.nav-solid .nav-cta:hover{background:var(--navy-dark)}

/* Classic dark hero (research page) clears the taller safe-area header */
.hero{padding-top:calc(var(--nav-h) + var(--safe-top) + 40px)}

@media(max-width:768px){
  .nav.nav-solid .nav-toggle{display:none}
  .nav.nav-solid .nav-links{display:flex;position:static;flex-direction:row;align-items:center;background:none;box-shadow:none;padding:0;max-height:none;overflow:visible;gap:0}
  .nav.nav-solid .nav-links a:not(.nav-cta){display:none}
  .nav.nav-solid .nav-links .nav-cta{display:inline-flex;width:auto;margin:0;padding:10px 12px;font-size:.7rem;line-height:1.2;text-align:center;white-space:normal;max-width:128px;border-radius:6px;border-bottom:none}
  .nav.nav-solid .nav-lockup-name{font-size:.86rem}
  .nav.nav-solid .nav-lockup-specialty{font-size:.47rem;letter-spacing:.1em}
}
@media(max-width:420px){
  .nav.nav-solid .nav-lockup-name{font-size:.82rem}
  .nav.nav-solid .nav-lockup-specialty{font-size:.45rem;letter-spacing:.09em}
  .nav.nav-solid .nav-links .nav-cta{max-width:120px}
}
@media(max-width:340px){
  .nav.nav-solid .nav-lockup-name{font-size:.74rem}
  .nav.nav-solid .nav-lockup-specialty{font-size:.4rem;letter-spacing:.06em}
  .nav.nav-solid .nav-links .nav-cta{font-size:.64rem;padding:7px 8px;max-width:104px}
}
