/* Mobile-only navigation; load after styles.css. Desktop layout is unchanged. */
.mobile-menu-toggle, .mobile-nav-drawer { display:none; }

@media (max-width:700px) {
  .mobile-nav-ready .header { position:fixed; inset:0 0 auto; height:76px; padding-inline:20px; gap:12px; background:#0b1320eb; border-bottom:1px solid #c6a76c26; backdrop-filter:blur(14px); box-shadow:0 7px 24px #0002; }
  .mobile-nav-ready .header .brand { width:91px; }
  .mobile-nav-ready .header .brand img { height:67px; }
  .mobile-nav-ready .header .nav { display:none; }
  .mobile-nav-ready .header-actions { gap:8px; flex-shrink:0; }
  .mobile-nav-ready .header-actions .motion-toggle { width:44px; height:44px; min-width:44px; min-height:44px; }
  .mobile-nav-ready .header-actions .portal-link { min-height:44px; padding-inline:8px; gap:7px; font-size:9px; letter-spacing:.065em; white-space:nowrap; }
  .mobile-nav-ready .mobile-menu-toggle {
    display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px;
    min-width:44px; min-height:44px; padding:0; border:1px solid #e7bf7640; border-radius:10px;
    color:var(--gold-light,#ffdda0); background:linear-gradient(145deg,#e9c2830e,#0d1725);
    box-shadow:inset 0 1px 0 #ffffff08; transition:background .2s,border-color .2s;
  }
  .mobile-menu-toggle svg { width:23px; height:23px; stroke-width:1.5; }
  .mobile-menu-toggle:hover, .mobile-menu-toggle[aria-expanded="true"] { background:#e8bf7618; border-color:#e8bf7680; }
  body.mobile-nav-is-open { overflow:hidden; }
  .mobile-nav-drawer {
    position:fixed; inset:0 0 0 auto; width:min(360px,calc(100vw - 20px)); max-width:100vw;
    height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; padding:0; margin:0;
    border:0; border-left:1px solid #e5bd7652; border-radius:0;
    color:var(--text,#f1eee8); background:radial-gradient(ellipse at 15% 0,#d3a15b10,transparent 45%),linear-gradient(150deg,#15202d,#0b131f 62%,#101922);
    font-family:var(--font,Manrope,Arial,sans-serif); overflow:hidden; box-shadow:-22px 0 70px #0007;
    overscroll-behavior:contain;
  }
  .mobile-nav-drawer[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; animation:mobile-nav-enter .32s cubic-bezier(.22,.7,.22,1) both; }
  .mobile-nav-drawer[data-closing][open] { animation:mobile-nav-exit .22s ease-in both; pointer-events:none; }
  .mobile-nav-drawer::backdrop { background:#030911bd; backdrop-filter:blur(6px); animation:mobile-nav-backdrop-in .3s ease both; }
  .mobile-nav-drawer[data-closing]::backdrop { animation:mobile-nav-backdrop-out .22s ease both; }
  .mobile-nav-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:max(19px,env(safe-area-inset-top)) 20px 19px 24px; border-bottom:1px solid #c6a76c1f; }
  .mobile-nav-brand { display:flex; align-items:center; gap:12px; font-family:Cinzel,Georgia,serif; font-size:16px; font-weight:500; letter-spacing:.12em; color:#f4d298; line-height:1.2; }
  .mobile-nav-brand__mark { display:grid; place-items:center; width:40px; height:44px; border:1px solid #e8bf7652; border-radius:11px 11px 15px 15px; background:linear-gradient(145deg,#ebc78813,#152334); font-size:25px; letter-spacing:0; box-shadow:inset 0 0 18px #edc98b06; }
  .mobile-nav-brand small { display:block; margin-top:6px; color:#99a8ba; font:500 9px/1.3 var(--font,Manrope,Arial,sans-serif); letter-spacing:.07em; }
  .mobile-nav-close { display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:1px solid #bfccd421; border-radius:50%; color:#d5dce4; background:#ffffff05; transition:background .2s,color .2s; }
  .mobile-nav-close:hover { background:#e8bf7615; color:#ffdda0; }
  .mobile-nav-close svg { width:19px; height:19px; }
  .mobile-nav-scroll { min-height:0; overflow-y:auto; overflow-x:hidden; padding:25px 20px 15px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#d5ad6155 transparent; -webkit-overflow-scrolling:touch; }
  .mobile-nav-intro { padding-inline:8px; margin-bottom:19px; }
  .mobile-nav-eyebrow { display:block; color:#a5987d; font-size:8px; line-height:1.6; font-weight:600; letter-spacing:.18em; }
  .mobile-nav-intro h2 { margin:9px 0 0; color:#f3e7d2; font-family:Cinzel,Georgia,serif; font-size:22px; font-weight:500; letter-spacing:-.02em; line-height:1.4; }
  .mobile-nav-links { display:flex; flex-direction:column; gap:3px; }
  .mobile-nav-links a { display:grid; grid-template-columns:24px minmax(0,1fr) 20px; align-items:center; gap:12px; min-height:54px; padding:12px 11px; border:1px solid transparent; border-radius:10px; color:#c8d1dc; font-size:13px; font-weight:500; line-height:1.5; transition:color .2s,border-color .2s,background .2s; }
  .mobile-nav-number { font-size:9px; font-variant-numeric:tabular-nums; letter-spacing:.08em; color:#68768a; transition:color .2s; }
  .mobile-nav-links a svg { width:19px; height:19px; color:#667589; transition:transform .2s,color .2s; }
  .mobile-nav-links a small { display:block; margin-top:3px; color:#ad9165; font-size:9px; line-height:1.4; font-weight:500; }
  .mobile-nav-links a:hover, .mobile-nav-links a[aria-current="location"] { border-color:#e8bf7621; background:linear-gradient(90deg,#e8bf7610,#e8bf7602); color:#ffe0ab; }
  .mobile-nav-links a:hover .mobile-nav-number, .mobile-nav-links a[aria-current="location"] .mobile-nav-number { color:#c4a672; }
  .mobile-nav-links a:hover svg, .mobile-nav-links a[aria-current="location"] svg { transform:translateX(2px); color:#e8bf76; }
  .mobile-nav-bottom { padding:18px 24px max(19px,env(safe-area-inset-bottom)); border-top:1px solid #c6a76c1f; background:#09121bb3; }
  .mobile-nav-portal { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:51px; padding:13px 17px; border:1px solid #f5d396; border-radius:9px; background:linear-gradient(112deg,#deb56d,#f3d8a4 55%,#d8b06a); color:#211b12; font-size:12px; font-weight:750; box-shadow:0 8px 23px #bc95590e,inset 0 1px 0 #fff7; }
  .mobile-nav-portal svg { width:20px; height:20px; }
  .mobile-nav-bottom p { display:flex; align-items:center; justify-content:center; gap:7px; margin:13px 0 0; color:#7d8b9c; font-size:8px; line-height:1.5; letter-spacing:.025em; }
  .mobile-nav-bottom p>span { width:4px; height:4px; border-radius:50%; background:#bda16c; box-shadow:0 0 8px #bda16c35; }
  .mobile-nav-drawer a:focus-visible, .mobile-nav-drawer button:focus-visible { outline:2px solid #f6cf90; outline-offset:2px; }
  .is-paused .mobile-nav-drawer, .is-paused .mobile-nav-drawer::backdrop { animation:none!important; }
  .is-paused .mobile-menu-toggle, .is-paused .mobile-nav-drawer * { transition:none!important; }
}

@media (max-width:389px) { .mobile-nav-ready .header-actions .portal-link { display:none; } }
@media (max-width:700px) and (max-height:500px) {
  .mobile-nav-heading { padding-block:10px; }
  .mobile-nav-scroll { padding-top:16px; }
  .mobile-nav-intro { margin-bottom:11px; }
  .mobile-nav-bottom { padding-block:12px; }
  .mobile-nav-bottom p { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .mobile-nav-drawer, .mobile-nav-drawer::backdrop { animation:none!important; }
  .mobile-menu-toggle, .mobile-nav-drawer * { transition:none!important; }
}
@keyframes mobile-nav-enter { from { transform:translateX(100%); opacity:.65; } to { transform:translateX(0); opacity:1; } }
@keyframes mobile-nav-exit { from { transform:translateX(0); opacity:1; } to { transform:translateX(100%); opacity:.65; } }
@keyframes mobile-nav-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes mobile-nav-backdrop-out { from { opacity:1; } to { opacity:0; } }
