.menu-header { position: relative; background: rgba(5,5,5,.86); }
.menu-header .brand-logo { width: clamp(280px, 22vw, 340px); }
.menu-header .nav-current { color: var(--gold-light); }
.menu-main { width: min(1160px, calc(100% - 3rem)); margin: auto; padding: 2rem 0 7rem; }
.menu-hero { max-width: 790px; padding: 2rem 0 2.6rem; }
.menu-hero h1 { margin: .7rem 0 1rem; font-size: clamp(3rem, 6vw, 5.4rem); white-space: normal; }
.menu-hero > p:not(.eyebrow) { max-width: 650px; margin-bottom: 1.5rem; color: var(--muted); font-size:calc((1.05rem) + var(--font-bump, 2px)); }
.menu-hero-actions { display: grid; grid-template-columns: max-content max-content; gap: .75rem; width: fit-content; max-width: 100%; }
.menu-hero-actions .button-outline { color: #fff; background: #bd1730; border-color: #bd1730; }
.menu-hero-actions .button-outline:hover { background: #c92d38; border-color: #c92d38; }
.menu-hero-actions .menu-phone-notice { grid-column: 1 / -1; width: 100%; box-sizing: border-box; margin: 0; }
.menu-page-gallery { padding: 2.6rem 0 2rem; }
.menu-page-gallery h2 { margin: 1.4rem 0 1.2rem; font-size: clamp(2.3rem, 4vw, 3.4rem); }
.page-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.page-preview-grid figure { margin: 0; padding: .65rem; border: 1px solid var(--line); background: rgba(9,9,9,.75); }
.page-preview-button { display:block; width:100%; padding:0; border:0; cursor:zoom-in; background:#080808; }
.page-preview-button img { transition:transform .25s ease, filter .25s ease; }
.page-preview-button:hover img { transform:scale(1.015); filter:brightness(1.08); }
.page-preview-grid img { width: 100%; aspect-ratio: .714; object-fit: contain; background: #080808; }
.page-preview-grid figcaption { padding: .65rem .25rem .15rem; color: var(--gold-light); font:calc((1rem) + var(--font-bump, 2px)) var(--serif); text-align: center; }
.category-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; padding: 1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(8,8,8,.94); }
.category-nav a { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 48px; padding: .55rem .65rem; border: 1px solid rgba(240,199,104,.34); color: #e9e2d5; text-align: center; text-decoration: none; font-size:calc((.92rem) + var(--font-bump, 2px)); font-weight:700; line-height:1.25; }
.category-nav a:hover { border-color: var(--gold); color: var(--gold-light); }
.menu-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem; padding-top: 2.2rem; }
.menu-category { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); background: rgba(9,9,9,.83); scroll-margin-top: 1rem; }
.menu-category-photo { display: block; width: calc(100% + 3rem); height: 180px; max-width: none; object-fit: contain; margin: 0 -1.5rem 1.15rem; background: transparent; }

.menu-category h2 { margin: 0; color: var(--gold-light); font: 1.75rem/1.15 var(--serif); letter-spacing: 0; }
.category-intro { margin: .7rem 0 1rem; color: var(--muted); font-size:calc((.96rem) + var(--font-bump, 2px)); line-height: 1.55; }
.dish-list { border-top: 1px solid rgba(240,199,104,.16); }
.dish-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .3rem 1rem; padding: .9rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.dish-row:last-child { border-bottom: 0; }
.dish-main { min-width: 0; }
.dish-main h3 { margin: 0; color: var(--paper); font-size:calc((1.05rem) + var(--font-bump, 2px)); font-weight:700; line-height: 1.35; }
.dish-description { margin: .35rem 0 0; color: var(--muted); font-size:calc((.96rem) + var(--font-bump, 2px)); line-height: 1.55; }
.dish-meta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding-top: .2rem; }
.dish-allergens { color: #a9a294; font-size:calc((.88rem) + var(--font-bump, 2px)); }
.dish-allergens span { margin-right: .35rem; color: #716956; letter-spacing: .03em; }
.dish-price { color: var(--gold-light); font-size:calc((1rem) + var(--font-bump, 2px)); white-space: nowrap; }
.allergen-legend { margin-top: 2.4rem; padding: 1.6rem; border: 1px solid var(--line); background: rgba(9,9,9,.83); }
.allergen-legend h2 { margin: 0 0 .4rem; font: 1.6rem/1.2 var(--serif); }
.allergen-legend .additive-heading { margin-top: 1.5rem; font-size:calc((1.35rem) + var(--font-bump, 2px)); }
.allergen-legend p { color: var(--muted); font-size:calc((.83rem) + var(--font-bump, 2px)); }
.allergen-legend ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem 1.4rem; margin: 1rem 0; padding: 0; list-style: none; color: #d1cbc0; font-size:calc((.78rem) + var(--font-bump, 2px)); }
.allergen-legend li b { display: inline-block; min-width: 1.4rem; color: var(--gold-light); }
.allergen-note { margin: 1rem 0 0; }
.menu-page .site-footer { margin-top: 0; }
.menu-page .home-nav a[aria-current="page"] { color:#d8aa4c; }
.menu-home-hero { width:100%; }
.photo-lightbox { position:fixed; inset:0; width:min(92vw,1100px); max-width:none; max-height:92vh; height:92vh; padding:3.25rem 1rem 1rem; border:1px solid rgba(216,170,76,.55); background:rgba(8,8,7,.97); box-shadow:0 20px 80px #000; }
.photo-lightbox[open] { display:grid; place-items:center; }
.photo-lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(5px); }
.photo-lightbox img { width:100%; height:100%; object-fit:contain; }
.lightbox-close { position:absolute; top:.55rem; right:.65rem; display:grid; width:2.3rem; height:2.3rem; place-items:center; border:1px solid rgba(216,170,76,.6); border-radius:50%; color:#f4f0e7; background:#171512; font-size:1.8rem; line-height:1; cursor:pointer; }
.lightbox-close:hover { color:#111; background:#d8aa4c; }
@media (max-width: 980px) {
  .menu-header .brand-logo { width: clamp(210px, 60vw, 270px); }
  .menu-categories { grid-template-columns: 1fr 1fr; }
  .category-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-preview-grid { gap: .7rem; }
  .menu-category-photo { width: calc(100% + 3rem); }
}
@media (max-width: 680px) {
  .category-nav { position: static; }
  body { background-attachment: scroll; }
  .menu-main { width: calc(100% - 2.5rem); padding-top: 1.8rem; padding-bottom: 4rem; }
  .menu-header .brand-logo { width: clamp(190px, 63vw, 240px); }
  .menu-hero { padding: .7rem 0 1.7rem; }
  .menu-hero-actions { grid-template-columns: 1fr; width: 100%; }
  .menu-hero-actions .menu-phone-notice { grid-column: 1; }
  .menu-hero h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .page-preview-grid { grid-template-columns: 1fr 1fr; }
  .page-preview-grid figure:last-child { grid-column: 1 / -1; width: min(70%, 280px); justify-self: center; }
  .category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-categories { grid-template-columns: 1fr; gap: .85rem; padding-top: 1.2rem; }
  .menu-category { padding: 1.2rem; }
  .menu-category-photo { width: calc(100% + 2.4rem); height: 170px; margin: 0 -1.2rem 1rem; }
  .allergen-legend { padding: 1.2rem; }
  .allergen-legend ul { grid-template-columns: 1fr 1fr; }
  .photo-lightbox { width:96vw; height:88vh; max-height:88vh; padding:3rem .5rem .5rem; }
  .category-nav a { min-height:46px; font-size:calc((.88rem) + var(--font-bump, 1px)); }
  .dish-main h3 { font-size:calc((1rem) + var(--font-bump, 1px)); }
  .dish-description { font-size:calc((.92rem) + var(--font-bump, 1px)); }
  .dish-allergens { font-size:calc((.84rem) + var(--font-bump, 1px)); }
}

.menu-category-photo--drinks { mix-blend-mode: normal; }

