/* Shared mobile navigation, using the existing site palette and typography. */
.site-header .mobile-actions { display:none; }
@media (max-width:980px) {
  .site-header .nav { display:flex; justify-content:space-between; gap:12px; min-height:66px; }
  .site-header .nav-links, .site-header .nav-cta { display:none; }
  .site-header .wordmark { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; flex-shrink:0; }
  .site-header .mobile-actions { display:flex; align-items:center; gap:12px; }
  .site-header .mobile-lab-link { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; font:12px/1 var(--mono); letter-spacing:.07em; text-transform:uppercase; color:var(--cobalt); text-decoration:none; }
  .site-header .mobile-lab-link[aria-current] { text-decoration:underline; text-underline-offset:6px; }
  .site-header details.site-menu { margin:0; padding:0; border:0; background:transparent; }
  .site-header .site-menu > summary { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; min-width:91px; padding:10px 12px; border:1px solid var(--line-strong); list-style:none; cursor:pointer; color:var(--ink); font:12px/1 var(--mono); font-weight:500; letter-spacing:.04em; }
  .site-header .site-menu > summary::-webkit-details-marker { display:none; }
  .site-header .site-menu > summary::marker { content:''; }
  .site-header .menu-open-label { display:none; }
  .site-header .site-menu[open] .menu-closed-label { display:none; }
  .site-header .site-menu[open] .menu-open-label { display:inline; }
  .site-header .site-menu[open] > summary { background:var(--night); color:var(--night-ink); border-color:var(--night); }
  .site-header .menu-icon { position:relative; width:15px; height:14px; display:inline-block; }
  .site-header .menu-icon::before, .site-header .menu-icon::after { content:''; position:absolute; left:0; width:15px; height:1px; background:currentColor; }
  .site-header .menu-icon::before { top:4px; }
  .site-header .menu-icon::after { top:10px; }
  .site-header .site-menu[open] .menu-icon::before { top:7px; transform:rotate(45deg); }
  .site-header .site-menu[open] .menu-icon::after { top:7px; transform:rotate(-45deg); }
  .site-header .site-menu-panel { position:absolute; left:0; right:0; top:100%; max-height:calc(100vh - 100px); max-height:var(--menu-available-height,calc(100dvh - 100px)); overflow-y:auto; overscroll-behavior:contain; background:var(--paper-bright); border-bottom:1px solid var(--line-strong); box-shadow:0 18px 26px -23px rgba(16,25,37,.45); }
  .site-header .site-menu-inner { padding-top:17px; padding-bottom:calc(20px + env(safe-area-inset-bottom)); }
  .site-header .site-menu-heading { display:flex; justify-content:space-between; gap:16px; margin-bottom:11px; }
  .site-header .site-menu-kicker, .site-header .site-menu-location { font:10px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .site-header .site-menu-location { color:var(--cobalt); text-align:right; }
  .site-header .site-menu-links { display:grid; }
  .site-header .site-menu-links a { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); font:22px/1.2 var(--serif); padding:9px 2px; }
  .site-header .site-menu-links a > span:last-child { font:16px/1 var(--sans); color:var(--cobalt); }
  .site-header .site-menu-links a:hover, .site-header .site-menu-links a[aria-current] { color:var(--cobalt); }
  .site-header .site-menu-links a[aria-current] { font-weight:600; }
  .site-header .site-menu-links a[aria-current] > span:first-child { text-decoration:underline; text-underline-offset:5px; }
  .site-header .site-menu-research { margin-top:20px; }
  .site-header .site-menu-research .site-menu-kicker { display:block; margin-bottom:5px; }
  .site-header .site-menu-research a { font:15px/1.4 var(--sans); min-height:44px; padding:10px 2px; }
  .site-header .site-menu-contact { display:flex; justify-content:space-between; align-items:center; min-height:46px; padding:12px 14px; margin-top:19px; border:1px solid var(--ink); color:var(--ink); font:11px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
  .site-header .site-menu-contact:hover { color:var(--paper-bright); background:var(--cobalt); border-color:var(--cobalt); }
  .site-header .mobile-actions a:focus-visible, .site-header .site-menu > summary:focus-visible { outline:3px solid var(--cobalt); outline-offset:3px; }
}
@media (max-width:390px) {
  .site-header .mobile-actions { gap:7px; }
  .site-header .nav { gap:6px; }
  .site-header .wordmark { font-size:21px; }
  .site-header .site-menu > summary { min-width:82px; padding:10px; gap:8px; }
}
