/* Shared header. The fixed drawer must not have a filtered/transformed ancestor. */
.site-header { height:92px; display:flex; align-items:center; gap:28px; padding:0 clamp(22px,5vw,78px); border-bottom:1px solid var(--line); position:sticky; top:0; background:#fff; z-index:60; }
.brand { flex:0 0 64px; width:64px; height:64px; display:grid; place-items:center; }
.brand img { width:100%; height:100%; object-fit:contain; }
.site-header nav { display:flex; align-items:center; gap:20px; margin-left:auto; }
.site-header nav a,.nav-dropdown-toggle { text-decoration:none; text-transform:uppercase; font:600 13px/1.4 Barlow,Arial,sans-serif; letter-spacing:.11em; }
.site-header nav>a,.nav-dropdown-toggle { display:flex; align-items:center; min-height:44px; white-space:nowrap; }
.site-header nav a:hover,.nav-dropdown-toggle:hover { color:var(--gold); }
.nav-toggle,.nav-close,.nav-backdrop,.site-header nav .mobile-nav-cta { display:none; }
.nav-dropdown { position:relative; }
.nav-dropdown-toggle { gap:9px; padding:0; border:0; background:none; color:inherit; cursor:pointer; }
.nav-dropdown-icon { width:10px; height:8px; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
.nav-dropdown.open .nav-dropdown-icon { transform:rotate(180deg); }
.nav-dropdown-menu { position:absolute; top:100%; left:50%; width:310px; padding:11px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:var(--shadow); visibility:hidden; opacity:0; transform:translate(-50%,8px); transition:opacity .2s,transform .2s,visibility .2s; }
.nav-dropdown.open .nav-dropdown-menu { visibility:visible; opacity:1; transform:translate(-50%,0); }
.site-header nav .nav-dropdown-menu a { display:flex; align-items:center; gap:13px; padding:12px; border-radius:10px; font-size:14px; letter-spacing:.02em; text-transform:none; }
.site-header nav .nav-dropdown-menu a:hover { background:var(--soft); color:var(--navy); }
.nav-dropdown-menu a>span { width:24px; flex:none; color:var(--gold); font-size:11px; font-weight:700; }
.site-header nav .nav-dropdown-menu .nav-dropdown-all { display:grid; grid-template-columns:1fr auto; gap:3px 12px; margin-bottom:7px; background:var(--navy); color:#fff; }
.nav-dropdown-menu .nav-dropdown-all span { width:auto; grid-column:1; text-transform:uppercase; letter-spacing:.12em; }
.nav-dropdown-all strong { grid-column:1; font-size:17px; }
.nav-dropdown-all::after { content:'→'; grid-column:2; grid-row:1/3; align-self:center; font-size:18px; }
.site-header nav .nav-dropdown-all:hover { background:var(--navy-2); color:#fff; }
:is(.nav-toggle,.nav-close,.nav-dropdown-toggle):focus-visible,.site-header nav a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(min-width:1101px) and (hover:hover) {
  .nav-dropdown:hover .nav-dropdown-menu { visibility:visible; opacity:1; transform:translate(-50%,0); }
}
@media(min-width:1101px) and (max-width:1350px) {
  .site-header nav { gap:16px; }
  .site-header nav>a,.nav-dropdown-toggle { font-size:12px; }
  .site-header>.button { display:none; }
}
@media(max-width:1100px) {
  /* Lock the root, not the body: sticky header geometry stays unchanged. */
  html.menu-open { overflow-y:hidden; }
  html.menu-open body { padding-right:var(--menu-scrollbar-gap,0px); }
  .site-header { height:76px; padding:0 18px; gap:18px; }
  .brand { flex-basis:54px; width:54px; height:54px; }
  .brand img { height:52px; }
  .site-header>.button { display:none; }
  .nav-toggle { display:grid; align-content:center; gap:5px; width:44px; height:44px; margin-left:auto; padding:10px; border:0; background:transparent; cursor:pointer; }
  .nav-toggle span { display:block; width:24px; height:2px; background:var(--navy); border-radius:2px; }
  .menu-open .nav-toggle { visibility:hidden; }
  .site-header nav { position:fixed; inset:0 0 0 auto; width:min(360px,calc(100% - 48px)); height:100vh; height:100dvh; margin:0; padding:calc(84px + env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; align-items:stretch; gap:0; overflow-y:auto; overscroll-behavior:contain; background:var(--navy); color:#fff; box-shadow:-12px 0 40px #06122833; z-index:2; visibility:hidden; pointer-events:none; transform:translateX(100%); transition:transform .3s ease,visibility .3s; }
  .menu-open .site-header nav { visibility:visible; pointer-events:auto; transform:translateX(0); }
  .site-header nav>a,.nav-dropdown-toggle { flex:none; min-height:54px; height:auto; padding:15px 0; font-size:15px; line-height:1.5; letter-spacing:.08em; white-space:normal; border-bottom:1px solid #ffffff24; }
  .nav-dropdown { flex:none; width:100%; height:auto; display:block; border:0; }
  .nav-dropdown-toggle { width:100%; justify-content:space-between; text-align:left; }
  .nav-dropdown-menu { display:none; position:static; width:100%; padding:8px 0 10px 8px; border:0; border-radius:0; background:none; box-shadow:none; visibility:visible; opacity:1; transform:none; transition:none; }
  .nav-dropdown.open .nav-dropdown-menu { display:block; transform:none; }
  .site-header nav .nav-dropdown-menu a { min-height:44px; color:#dce4f1; }
  .site-header nav .nav-dropdown-menu a:hover,.site-header nav .nav-dropdown-menu .nav-dropdown-all { background:#ffffff12; color:#fff; }
  .site-header nav .mobile-nav-cta { display:flex; justify-content:center; margin-top:24px; padding:14px 12px; border:1px solid var(--gold); border-radius:999px; color:#fff; text-align:center; }
  .nav-close { display:grid; place-items:center; position:absolute; top:calc(16px + env(safe-area-inset-top)); right:18px; width:44px; height:44px; padding:0; border:1px solid #ffffff55; border-radius:50%; background:#ffffff0f; color:#fff; cursor:pointer; }
  .nav-close-icon { position:relative; display:block; width:22px; height:22px; pointer-events:none; }
  .nav-close-icon::before,.nav-close-icon::after { content:""; position:absolute; top:10px; left:1px; width:20px; height:2px; border-radius:1px; background:currentColor; transform:rotate(45deg); }
  .nav-close-icon::after { transform:rotate(-45deg); }
  .nav-backdrop { display:block; position:fixed; inset:0; width:100%; height:100%; padding:0; border:0; background:#06122888; z-index:1; visibility:hidden; opacity:0; pointer-events:none; transition:opacity .3s,visibility .3s; }
  .menu-open .nav-backdrop { visibility:visible; opacity:1; pointer-events:auto; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header nav,.nav-backdrop,.nav-dropdown-menu,.nav-dropdown-icon { transition:none; }
}
