/* Shared mobile navigation. Load after homepage.css and page layout styles.
   Native disclosures preserve keyboard controls without a second menu controller. */
@media(max-width:850px) {
 .site-header {
  height:56px;
  padding:6px 8px 6px 14px;
  gap:8px;
 }
 .site-header .brand { min-height:44px; }
 .site-header .nav-actions { gap:4px; }
 .site-header .nav-actions .nav-cta { min-height:44px; }
 .site-header .menu-toggle {
  width:44px;
  height:44px;
  padding:12px;
  flex-shrink:0;
  background:transparent;
 }
 .site-header .menu-toggle:hover,.site-header .menu-toggle[aria-expanded=true] {
  background:color-mix(in srgb,var(--paper) 72%,transparent);
 }
 .site-header .mobile-nav.mobile-nav-grouped {
  padding:8px 12px 12px;
  background:var(--paper);
  max-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
  font-family:Geist,Arial,sans-serif;
  color:var(--ink);
 }
 .mobile-nav-group { margin:0; padding:0; border:0; }
 .site-header .mobile-nav-grouped>a,
 .site-header .mobile-nav-group>summary,
 .site-header .mobile-nav-footer>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
  margin:0;
  padding:12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink);
  font-size:16px;
  line-height:24px;
  font-weight:400;
  letter-spacing:-.02em;
  text-decoration:none;
 }
 .site-header .mobile-nav-group>summary { cursor:pointer; list-style:none; }
 .mobile-nav-group>summary::-webkit-details-marker { display:none; }
 .site-header .mobile-nav-group>summary>.icon {
  width:16px;
  height:16px;
  color:var(--text);
  transition:transform .2s var(--ease);
 }
 .mobile-nav-group[open]>summary>.icon { transform:rotate(180deg); }
 .site-header .mobile-nav-grouped>a:hover,
 .site-header .mobile-nav-group>summary:hover,
 .site-header .mobile-nav-footer>a:hover { background:var(--surface); }
 .site-header .mobile-nav-grouped>a[aria-current=page] { background:var(--surface); font-weight:500; }
 .mobile-nav-submenu {
  display:grid;
  margin:2px 0 8px;
  padding:4px;
  border-radius:9.6px;
  background:var(--surface);
 }
 .site-header .mobile-nav-submenu>a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:11px 16px;
  border-radius:6px;
  color:var(--text);
  font-size:14px;
  line-height:22px;
  font-weight:400;
  letter-spacing:-.02em;
  text-decoration:none;
 }
 .site-header .mobile-nav-submenu>a:hover,
 .site-header .mobile-nav-submenu>a[aria-current=page] { background:var(--paper); color:var(--ink); }
 .mobile-nav-footer { margin-top:8px; padding-top:8px; border-top:1px solid var(--line); }
 .site-header .mobile-nav-footer>a { color:var(--text); font-size:14px; }
 .mobile-nav-footer .icon { width:14px; height:14px; }
 .site-header .mobile-nav-grouped :is(a,summary):focus-visible { outline:2px solid var(--ink); outline-offset:-2px; }
}
@media(prefers-reduced-motion:reduce) {
 .mobile-nav-group>summary>.icon { transition:none!important; }
}
