#mobile-nav.menu-dialog {
  display:none;
  position:fixed;
  inset:calc(80px + env(safe-area-inset-top, 0px)) 12px auto;
  width:calc(100% - 24px);
  max-width:440px;
  max-height:calc(100dvh - 104px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  margin:0 auto;
  padding:24px;
  border:1px solid rgb(255 255 255 / 80%);
  border-radius:28px;
  background:#fff;
  color:#1d1d1f;
  box-shadow:0 20px 70px rgb(0 0 0 / 12%);
  overflow:auto;
  overscroll-behavior:contain;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  text-align:left;
}
#mobile-nav.menu-dialog[open] { display:block; animation:menu-enter .3s cubic-bezier(.22,1,.36,1) both; }
#mobile-nav.menu-dialog::backdrop { background:rgb(22 22 25 / 20%); -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
.menu-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:17px; }
.menu-heading h2 { font-size:12px; font-weight:600; line-height:1.3; letter-spacing:.09em; text-transform:uppercase; color:#86868b; }
.menu-close { display:grid; flex:0 0 40px; place-items:center; width:40px; height:40px; padding:0; border-radius:50%; background:#f5f5f7; color:#545458; }
.menu-close svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.6; fill:none; }
.menu-links { display:flex; flex-direction:column; }
.menu-link { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:74px; padding:18px 0; border-bottom:1px solid #ededf0; font-size:clamp(24px,7vw,29px); font-weight:550; line-height:1.15; letter-spacing:-.045em; }
.menu-link svg { flex:0 0 21px; width:21px; height:21px; stroke:#919197; stroke-width:1.45; fill:none; transition:transform .2s,color .2s; }
.menu-link:hover svg { transform:translateX(3px); color:#1d1d1f; }
.menu-link:active { opacity:.55; }
.menu-support { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:26px; }
.menu-support a { min-height:36px; display:inline-flex; align-items:center; font-size:14px; color:#646469; line-height:1.3; }
.menu-region { display:flex; align-items:center; gap:8px; margin-top:15px; color:#929297; font-size:11px; font-weight:500; letter-spacing:.035em; line-height:1.5; }
.menu-region span { width:5px; height:5px; border-radius:50%; background:#cd8195; }
.menu-dialog a:focus-visible,.menu-dialog button:focus-visible { outline:2px solid #a85e75; outline-offset:4px; }
html.menu-open,body.menu-open { overflow:hidden; overscroll-behavior:none; }
@keyframes menu-enter { from { opacity:0; transform:translateY(-9px) scale(.985); } to { opacity:1; transform:none; } }
@media(max-width:360px) {
  #mobile-nav.menu-dialog { padding:20px; border-radius:24px; }
  .menu-link { min-height:68px; font-size:24px; }
}
@media(max-height:580px) {
  #mobile-nav.menu-dialog { inset:12px 12px auto; max-height:calc(100dvh - 24px); }
}
@media(prefers-reduced-motion:reduce) {
  #mobile-nav.menu-dialog[open] { animation:none; }
  .menu-link svg { transition:none; }
}
