.menu-hero { padding: 18vh var(--pad-page) 5vh; max-width: var(--maxw); margin-inline: auto; }
.menu-hero h1 { font-size: var(--fs-display); margin: 0.3em 0 0; }
.menu-note { color: var(--ivory-dim); font-size: 0.9rem; margin-top: 1rem; max-width: 62ch; }
.menu-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 1.5rem; }

.menu-controls { position: sticky; top: 70px; z-index: 25; background: rgba(16, 13, 11, 0.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-block: 1px solid var(--hair); padding: 12px var(--pad-page); }
.menu-controls .inner { max-width: var(--maxw); margin-inline: auto; display: flex; flex-direction: column; gap: 10px; }
.filters { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ivory-dim); background: none; border: 1px solid var(--hair-strong); border-radius: 2px; padding: 6px 12px; transition: color var(--dur-micro) var(--ease), border-color var(--dur-micro) var(--ease), background var(--dur-micro) var(--ease); }
.chip:hover { border-color: var(--gold); color: var(--gold); }
.chip.active { background: var(--gold); color: #1C1409; border-color: var(--gold); }
.cat-nav { display: flex; gap: 18px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.cat-nav::-webkit-scrollbar { display: none; }
.cat-nav a { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ivory-dim); padding-bottom: 4px; border-bottom: 1px solid transparent; }
.cat-nav a:hover { color: var(--ivory); }
.cat-nav a.active { color: var(--gold); border-bottom-color: var(--gold); }

.menu-region { max-width: var(--maxw); margin-inline: auto; padding: 7vh var(--pad-page); }
.region-label { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--accent); transition: color var(--dur-bg) linear; margin-bottom: 0.5rem; display: block; }
.region-title { font-size: var(--fs-h2); margin-bottom: 1rem; }
.menu-region.bar .region-label { color: var(--frost); }

.menu-cat { scroll-margin-top: 150px; margin-bottom: 5vh; }
.menu-cat .sec-head { margin-bottom: 1rem; gap: 12px; align-items: baseline; flex-wrap: wrap; }
.menu-cat .cat-note { font-family: var(--font-sans); font-size: 0.82rem; color: var(--ivory-dim); font-style: italic; }

.menu-disclaimer { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad-page) 8vh; color: var(--ivory-dim); font-size: 0.78rem; font-family: var(--font-mono); letter-spacing: 0.04em; }

@media (max-width: 760px) {
  .menu-controls { top: 62px; }
}
