/* Four primary destinations + accessible slide-up options drawer. */
.mobile-menu-toggle { border: 0; background: transparent; font: inherit; cursor: pointer; }
.mobile-menu-scrim { position: fixed; inset: 0; z-index: 89; background: rgba(0,0,0,.52); backdrop-filter: blur(3px); }
.mobile-menu-panel { position: fixed; z-index: 90; left: 12px; right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); max-width: 520px; margin-left: auto; padding: 18px; border: 1px solid var(--line-strong); border-radius: 22px; background: rgba(10,10,10,.97); box-shadow: 0 24px 70px rgba(0,0,0,.48); backdrop-filter: blur(24px); opacity: 0; transform: translateY(12px) scale(.985); pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
.mobile-menu-panel.is-open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.mobile-menu-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom: 12px; }
.mobile-menu-head h2 { margin: 0; font-size: 20px; letter-spacing: -.04em; }
.mobile-menu-head .eyebrow { margin: 0 0 3px; }
.mobile-menu-link { display:flex; align-items:center; gap:12px; width:100%; padding:13px 10px; color:var(--text); text-align:left; border:0; border-top:1px solid var(--line-soft); background:transparent; border-radius:10px; cursor:pointer; text-decoration:none; transition:background .18s ease, color .18s ease; }
.mobile-menu-link:active, .mobile-menu-link:hover, .mobile-menu-link:focus-visible { background:rgba(255,255,255,.055); }
.mobile-menu-link > span:nth-child(2) { display:grid; gap:2px; flex:1; }
.mobile-menu-link strong { font-size:13px; font-weight:550; }
.mobile-menu-link small { color:var(--muted); font-size:11px; }
.mobile-menu-symbol { display:grid; place-items:center; width:38px; height:38px; border:1px solid var(--line); border-radius:12px; color:var(--text-soft); font-size:21px; flex:0 0 auto; }
.mobile-menu-arrow { color:var(--muted-dim); font-size:23px; }
body.mobile-menu-open { overflow:hidden; }
@media (max-width: 960px) {
 .mobile-nav { grid-template-columns: repeat(5, minmax(0,1fr)); }
 .mobile-nav-link { min-width:0; height:50px; gap:4px; font-size:10px; }
 .mobile-nav-link svg { width:19px; height:19px; }
 .mobile-nav-link span { white-space:nowrap; }
 .mobile-menu-toggle { padding:0; }
 .mobile-menu-panel { bottom: calc(88px + env(safe-area-inset-bottom)); }
}
@media (min-width: 961px) { .mobile-menu-scrim, .mobile-menu-panel { display:none !important; } }
@media (prefers-reduced-motion: reduce) { .mobile-menu-panel, .mobile-menu-link { transition:none; } }
.mobile-menu-scrim[hidden] { display: none !important; }
