/* Zero / Signal site shell */
#nav { position: fixed; inset: 0 0 auto; z-index: 1000; background: none; border: 0; box-shadow: none; backdrop-filter: none; }
#nav.is-scrolled { background: var(--mist-0); border-bottom: 1px solid var(--line); }
.shell-nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 88px; flex-wrap: wrap; }
.shell-wordmark { display: flex; flex-direction: column; justify-content: center; min-height: 44px; flex-shrink: 0; color: var(--ink); }
.shell-wordmark > span { font: 600 1.35rem/1.1 var(--sans); font-variation-settings: 'wdth' 112; letter-spacing: -.055em; }
.shell-wordmark small { font: 400 8px/1.8 var(--mono); letter-spacing: .06em; }
.shell-nav-links { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.shell-nav-links > a, .nav-menu summary { display: flex; align-items: center; min-height: 44px; padding: .5rem; font: 500 11px/1.4 var(--mono); text-transform: uppercase; color: var(--ink); cursor: pointer; }
.nav-menu { position: relative; }
.nav-menu summary { list-style: none; gap: .4rem; }
.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary::after { content: '+'; }
.nav-menu[open] summary::after { content: '-'; }
.nav-menu-panel { position: absolute; top: 100%; left: 0; width: 280px; max-height: 70svh; overflow-y: auto; padding: .75rem; background: var(--mist-0); border: 1px solid var(--line); }
.nav-menu:last-child .nav-menu-panel { left: auto; right: 0; }
.nav-menu-panel a { display: flex; align-items: center; min-height: 44px; padding: .5rem; font: 400 14px/1.4 var(--sans); color: var(--ink); }
.nav-menu-panel a:hover, .shell-nav-links a:hover { color: var(--amber-ink); }
.shell-nav-actions { display: flex; align-items: center; gap: .5rem; }
#nav .shell-book { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .65rem 1rem; background: var(--mist-0); color: var(--ink); border: 1px solid var(--line); font: 500 13px/1.4 var(--sans); white-space: nowrap; }
.call-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--amber); }
.menu-toggle, .menu-close { min-height: 44px; min-width: 44px; padding: .65rem; border: 1px solid var(--line); border-radius: 999px; background: var(--mist-0); color: var(--ink); font: 500 12px/1.4 var(--mono); }
.menu-toggle { display: none; }
#mobile-menu { position: fixed; inset: 0; width: 100%; max-width: none; height: 100svh; max-height: none; margin: 0; padding: 1.5rem var(--gutter); border: 0; background: var(--mist-0); color: var(--ink); overflow-y: auto; }
#mobile-menu:not([open]) { display: none; }
#mobile-menu::backdrop { background: var(--mist-0); }
html:has(#mobile-menu[open]) { overflow: hidden; }
.mobile-menu-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; font: 500 var(--fs-mono)/1.5 var(--mono); text-transform: uppercase; }
.mobile-menu-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.mobile-menu-group h2 { font: 500 var(--fs-mono)/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 1rem; }
.mobile-menu-group a { display: flex; align-items: center; min-height: 44px; padding: .4rem 0; font: 500 clamp(1.25rem,3vw,2rem)/1.15 var(--sans); letter-spacing: -.03em; }
.shell-footer { --ctx-h: var(--mist-1); --ctx-body: var(--mist-2); --ctx-muted: var(--mist-2); --ctx-border: var(--line-inv); background: var(--ink); color: var(--mist-2); overflow-x: clip; padding: 4rem 0 0; border-top: 1px solid var(--line-inv); }
.shell-footer .shell-wordmark { color: var(--mist-1); }
.shell-footer .footer-grid { display: grid; grid-template-columns: 1.5fr repeat(4,minmax(0,1fr)); gap: 2rem; }
.shell-footer .footer-col h3 { color: var(--mist-1); font: 500 var(--fs-mono)/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.shell-footer .footer-col ul { gap: 0; }
.shell-footer .footer-col a, .shell-footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--mist-2); transition: none; }
.shell-footer .footer-brand p, .shell-footer .footer-copyright { color: var(--mist-2); }
.shell-footer .footer-social { min-width: 44px; min-height: 44px; color: var(--mist-1); border: 1px solid var(--line-inv); background: none; transition: none; }
.shell-footer .footer-social:hover { background: none; color: var(--mist-1); border-color: var(--mist-1); }
.shell-footer .footer-bottom { border-top: 1px solid var(--line-inv); margin-top: 3rem; }
.footer-wordmark { font: 600 clamp(2.5rem,10.6vw,10.5rem)/.85 var(--sans); font-variation-settings: 'wdth' 112; letter-spacing: -.055em; color: var(--mist-1); text-align: center; white-space: nowrap; padding: 2rem 0 1rem; }
#nav :focus-visible, #mobile-menu :focus-visible, .shell-footer :focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
@media (max-width: 1200px) and (min-width: 1024px) { .shell-nav-inner { gap: .5rem; } .shell-nav-links { gap: 0; } .shell-nav-links > a, .nav-menu summary { padding: .35rem; font-size: 10px; } }
@media (max-width: 1023px) {
  html.menu-ready .shell-nav-links { display: none; }
  html.menu-ready .menu-toggle { display: inline-flex; align-items: center; }
  .shell-nav-inner { padding-top: .5rem; padding-bottom: .5rem; }
  html:not(.menu-ready) #nav { position: relative; background: var(--mist-0); }
  html:not(.menu-ready) .shell-nav-links { order: 3; width: 100%; }
  html:not(.menu-ready) .nav-menu-panel { position: static; max-width: 100%; }
  .shell-footer .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shell-footer .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) { .shell-wordmark > span { font-size: 1rem; } .shell-wordmark small { font-size: 6px; } #nav .shell-book { font-size: 11px; padding: .5rem .6rem; } .shell-nav-inner { gap: .35rem; } .mobile-menu-grid { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { #nav *, #mobile-menu *, .shell-footer * { animation: none; transition: none; } }

/* Override legacy navigation motion and skip-link positioning. */
#nav { transition: none; }
.skip-link { top: 1rem; }
.shell-footer .footer-col h3 { margin-bottom: 1rem; }
