/* Shared mobile/tablet navigation motion. Desktop navigation keeps its layout. */
.nav-backdrop { display:none; }
@media (max-width:1100px) {
  html.nav-open,html.nav-open body { overflow:hidden; }
  .site-header,.gallery-site-header { gap:14px; }
  .site-header.nav-expanded,.gallery-site-header.nav-expanded { position:fixed; z-index:1001; animation:none; }
  .menu-toggle,.gallery-menu-toggle {
    display:flex; align-items:center; justify-content:center; gap:10px;
    min-height:44px; padding:8px 10px; margin-right:0; flex-shrink:0;
    color:#f5efe5; border:1px solid rgba(255,255,255,.18); border-radius:3px;
    background:rgba(255,255,255,.025); cursor:pointer;
    transition:color .25s,border-color .25s,background .25s;
  }
  .nav-toggle-label { font-size:10px; font-weight:700; letter-spacing:.1em; }
  .nav-toggle-icon { position:relative; display:block; width:20px; height:16px; }
  .nav-toggle-icon i { position:absolute; left:0; width:20px; height:2px; background:currentColor; border-radius:2px; transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .2s,width .25s; }
  .nav-toggle-icon i:nth-child(1) { top:0; }
  .nav-toggle-icon i:nth-child(2) { top:7px; width:14px; }
  .nav-toggle-icon i:nth-child(3) { top:14px; }
  [aria-expanded="true"] > .nav-toggle-icon i:nth-child(1) { transform:translateY(7px) rotate(45deg); }
  [aria-expanded="true"] > .nav-toggle-icon i:nth-child(2) { opacity:0; transform:translateX(7px); }
  [aria-expanded="true"] > .nav-toggle-icon i:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
  .menu-toggle[aria-expanded="true"],.gallery-menu-toggle[aria-expanded="true"] { color:var(--ember); border-color:var(--ember); background:rgba(239,72,35,.08); }
  .main-nav,.gallery-nav {
    position:absolute; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start;
    top:calc(100% + 10px); left:auto; right:18px; width:min(440px,calc(100vw - 36px));
    max-height:calc(100dvh - 108px); padding:22px 24px 18px; gap:0;
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    border:1px solid #3a2e25; border-top:2px solid var(--ember); border-radius:3px;
    background:radial-gradient(ellipse at top right,rgba(239,72,35,.13),transparent 65%),#12110f;
    box-shadow:0 24px 60px rgba(0,0,0,.5); counter-reset:nav-item;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translateY(-14px) scale(.98); transform-origin:top right;
    clip-path:inset(0 0 100% 0);
    transition:opacity .25s ease,transform .4s cubic-bezier(.22,1,.36,1),clip-path .4s cubic-bezier(.22,1,.36,1),visibility 0s .4s;
  }
  .main-nav::before,.gallery-nav::before { content:"FIRE UP YOUR NEXT VISIT"; flex-shrink:0; margin-bottom:12px; color:#aaa094; font:700 9px/1.5 'DM Sans',sans-serif; letter-spacing:.16em; }
  .main-nav.is-open,.gallery-nav.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); clip-path:inset(0); transition-delay:0s; }
  .main-nav a,.gallery-nav a {
    display:flex; align-items:center; gap:15px; flex-shrink:0; width:100%; min-height:54px; padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.08); color:#f5efe5;
    font:400 23px/1.2 'Anton',Impact,sans-serif; letter-spacing:.03em;
    opacity:0; transform:translateX(18px);
    transition:opacity .28s ease,transform .35s cubic-bezier(.22,1,.36,1),color .2s;
  }
  .main-nav a:last-child,.gallery-nav a:last-child { border-bottom:0; }
  .main-nav a::before,.gallery-nav a::before { counter-increment:nav-item; content:counter(nav-item,decimal-leading-zero); min-width:18px; color:#8e7966; font:500 10px/1 'DM Sans',sans-serif; letter-spacing:.05em; }
  .main-nav a::after,.gallery-nav a::after { content:'↗'; position:static; height:auto; margin-left:auto; color:var(--ember); background:none; font:400 20px/1 'DM Sans',sans-serif; opacity:0; transform:translate(-5px,5px); transition:opacity .2s,transform .2s; }
  .main-nav.is-open a,.gallery-nav.open a { opacity:1; transform:translateX(0); transition-delay:calc(65ms + var(--nav-order,0) * 38ms); }
  .main-nav a:hover,.main-nav a:focus-visible,.gallery-nav a:hover,.gallery-nav a:focus-visible { color:var(--ember); }
  .main-nav a:hover::after,.main-nav a:focus-visible::after,.gallery-nav a:hover::after,.gallery-nav a:focus-visible::after { opacity:1; transform:translate(0,0); }
  .main-nav a.active,.gallery-nav a.active { color:var(--ember); }
  .nav-backdrop { display:block; position:fixed; z-index:1000; inset:76px 0 0; width:100%; border:0; padding:0; background:rgba(0,0,0,.62); backdrop-filter:blur(5px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease,visibility 0s .3s; cursor:pointer; }
  html.nav-open .nav-backdrop { opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
}
@media (max-width:360px) {
  .nav-toggle-label { display:none; }
  .menu-toggle,.gallery-menu-toggle { width:44px; padding:10px; }
  .main-nav,.gallery-nav { right:12px; width:calc(100vw - 24px); padding-left:20px; padding-right:20px; }
}
@media (prefers-reduced-motion:reduce) {
  .main-nav,.gallery-nav,.main-nav a,.gallery-nav a,.nav-backdrop,.nav-toggle-icon i { transition:none!important; }
}
