/* Shared sticky header; mobile drawer uses the same navigation markup. */
body>header{position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:var(--space-6);height:var(--header-height);padding:0 var(--content-inset);background:var(--color-bg);border-bottom:var(--border);transition:height var(--transition-ui),box-shadow var(--transition-ui)}
body>header.is-scrolled{height:var(--header-height-compact);box-shadow:var(--shadow-header)}
header .brand{display:flex;align-items:center;flex:none;width:10.5rem}
header .brand img{display:block;width:100%;height:auto}
header #nav{display:flex;align-items:center;gap:var(--space-5);margin-left:auto;position:static;padding:0;border:0;background:transparent}
.nav-primary{display:flex;align-items:center;gap:var(--space-5)}
header nav a,header .nav-more summary{display:flex;align-items:center;min-height:var(--touch-target);white-space:nowrap;color:var(--color-text);text-decoration:none;transition:color var(--transition-ui)}
header nav a:hover,header .nav-more summary:hover{color:var(--color-accent-text)}
header nav a[aria-current]{color:var(--color-accent-text);text-decoration:underline;text-underline-offset:.5em;text-decoration-thickness:2px}
header .header-cta{flex:none;margin:0}
.nav-more{position:relative}
.nav-more summary{gap:var(--space-2);cursor:pointer;list-style:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more[open] summary span{transform:rotate(45deg)}
.nav-more summary span{transition:transform var(--transition-ui)}
.nav-secondary{position:absolute;right:0;top:100%;min-width:13rem;padding:var(--space-3);background:var(--color-surface);border:var(--border);border-radius:var(--radius-panel);box-shadow:var(--shadow-card);animation:nav-reveal var(--duration-ui) var(--ease-ui)}
.nav-secondary a{padding-inline:var(--space-3);border-radius:var(--radius-control)}
.nav-secondary a:hover{background:var(--color-raised)}
header .menu,.nav-panel-head,.nav-membership,.nav-backdrop,.cta-mobile{display:none}
@keyframes nav-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1250px){
 body>header,body>header.is-scrolled{height:var(--header-mobile-height);gap:var(--space-3);padding-inline:var(--page-gutter)}
 header .brand{width:clamp(6.5rem,24vw,8.5rem);margin-right:auto}
 header .header-cta{display:inline-flex;min-height:var(--touch-target);padding-inline:var(--space-3)}
 .cta-desktop{display:none}.cta-mobile{display:inline}
 header .menu,.nav-close{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--touch-target);height:var(--touch-target);padding:0;border:var(--border);border-radius:var(--radius-control);color:var(--color-text);background:transparent;cursor:pointer}
 header #nav{position:fixed;inset:0 0 0 auto;z-index:var(--z-menu);width:min(100%,26rem);height:100dvh;max-height:none;margin:0;padding:var(--space-6);display:flex;align-items:stretch;flex-direction:column;gap:var(--space-4);background:var(--color-bg);box-shadow:var(--shadow-panel);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;transform:translateX(100%);transition:transform var(--transition-ui),visibility 0ms var(--duration-ui)}
 header #nav.open{visibility:visible;transform:translateX(0);transition-delay:0ms}
 .nav-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-4);border-bottom:var(--border)}
 .nav-panel-head img{width:8rem;height:auto}
 .nav-primary{display:flex;flex-direction:column;align-items:stretch;gap:0}
 header .nav-primary a{min-height:var(--touch-target);padding:var(--space-2) 0}
 .nav-more{border-top:var(--border);border-bottom:var(--border)}
 .nav-more summary{justify-content:space-between;min-height:var(--touch-target)}
 .nav-secondary{position:static;min-width:0;padding:0 0 var(--space-2);background:transparent;border:0;box-shadow:none}
 .nav-secondary a{padding-inline:var(--space-3)}
 .nav-membership{display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto;padding-top:var(--space-4)}
 .nav-membership .button{width:100%;text-decoration:none}
 .nav-phone{justify-content:center;color:var(--color-muted)}
 .nav-backdrop{display:block;position:fixed;inset:0;z-index:var(--z-backdrop);border:0;padding:0;background:var(--color-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition-ui),visibility 0ms var(--duration-ui)}
 body.nav-open .nav-backdrop{opacity:1;visibility:visible;transition-delay:0ms}
}
