/* Shared site header. One source of truth for every page: do not restyle it per page.
   Markup comes from scripts/site/header.html via scripts/site/sync-header.mjs. */
nav.site-nav{--h-ink:#1D2536;--h-deep:#1F4E79;--h-steel:#4682B4;--h-txt:#3B4150;--h-mut:#877F6F;--h-line:#E2DCCE;--h-tint:#F2EDE3;
  position:sticky;top:0;z-index:50;background:rgba(250,247,241,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--h-line);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.7;text-align:left}
nav.site-nav *,nav.site-nav *::before,nav.site-nav *::after{box-sizing:border-box}
nav.site-nav .nav-inner{max-width:1400px;margin:0 auto;padding:0 clamp(24px,4vw,56px);height:72px;display:flex;align-items:center;justify-content:space-between}
nav.site-nav .logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;letter-spacing:-.02em;text-decoration:none;color:var(--h-ink);min-height:44px}
nav.site-nav .logo img{height:28px;width:auto;display:block}
nav.site-nav .logo .lumo{color:var(--h-deep)}
nav.site-nav .logo sup{font-size:.5em;font-weight:600;color:var(--h-mut)}
nav.site-nav .nav-links{display:flex;gap:32px;align-items:center}
nav.site-nav .nav-links a{font-size:.88rem;font-weight:600;text-decoration:none;color:var(--h-txt)}
nav.site-nav .nav-links a:hover{color:var(--h-steel)}
nav.site-nav .nav-links a:not(.btn){display:inline-flex;align-items:center;min-height:44px} /* 44px targets, no layout change */
nav.site-nav .nav-links a[aria-current="page"]{color:var(--h-deep)}
nav.site-nav .nav-links .btn{display:inline-block;padding:.6rem 1.3rem;font-size:.82rem;font-weight:700;letter-spacing:.01em;text-align:center;border:1px solid transparent;border-radius:999px;cursor:pointer;color:#fff;background:var(--h-deep);box-shadow:0 10px 30px rgba(70,130,180,.28);transition:all .18s ease}
nav.site-nav .nav-links .btn:hover{color:#fff;background:var(--h-ink);transform:translateY(-1px)}
nav.site-nav .nav-links .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center} /* 44px minimum tap target */
nav.site-nav .menu-btn{display:none;flex:0 0 44px;width:44px;height:44px;padding:0;background:none;border:1px solid var(--h-line);border-radius:10px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
nav.site-nav .menu-btn span{display:block;width:20px;height:2px;background:var(--h-ink);border-radius:2px;transition:transform .2s,opacity .2s}
nav.site-nav.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
nav.site-nav.open .menu-btn span:nth-child(2){opacity:0}
nav.site-nav.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
nav.site-nav .mobile-panel{display:none}
nav.site-nav a:focus-visible,nav.site-nav button:focus-visible{outline:2px solid var(--h-steel);outline-offset:2px;border-radius:6px}
/* Compact menu below 1120px: the full link row needs about 1120px of width (checked with room for one more link) */
@media(max-width:1120px){
  nav.site-nav .nav-links a:not(.btn){display:none}
  nav.site-nav .nav-links{gap:12px}
  nav.site-nav .nav-links .btn{padding:.55rem 1rem;font-size:.78rem;white-space:nowrap}
  nav.site-nav .menu-btn{display:flex}
  nav.site-nav.open .mobile-panel{display:block;position:absolute;top:72px;left:0;right:0;z-index:49;padding:10px 28px 18px;background:rgba(250,247,241,.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--h-line)}
  nav.site-nav .mobile-panel a{display:block;padding:14px 4px;font-size:1rem;font-weight:600;color:var(--h-ink);text-decoration:none;border-bottom:1px solid var(--h-tint)}
  nav.site-nav .mobile-panel a[aria-current="page"]{color:var(--h-deep)}
  nav.site-nav .mobile-panel a:last-child{border-bottom:none}
}
@media(max-width:360px){nav.site-nav .nav-links .btn{display:none}}
