.menu-page { background: var(--color-ink); }
.menu-page :is(.menu-hero__grid, .menu-index__grid, .menu-fire__grid, .menu-sweet__columns, .menu-drinks__columns, .menu-late__grid, .menu-reserve__grid) > * { min-width: 0; }
.menu-hero { padding-block: var(--space-5) var(--space-8); }
.menu-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.menu-hero__media { order: 1; width: 100%; margin: 0; overflow: hidden; }
.menu-hero__media img { width: 100%; height: 100%; min-width: 0; aspect-ratio: 4 / 3; object-fit: cover; object-position: right center; }
.menu-hero__content { order: 2; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: var(--space-4); }
.menu-hero__content :is(h1, p) { margin: 0; }
.menu-hero__breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); min-width: 0; color: var(--color-smoke); font-size: var(--text-utility); }
.menu-hero__breadcrumb span { min-width: 0; }
.menu-hero__breadcrumb + .eyebrow { padding-top: var(--space-3); border-top: 1px solid var(--color-brass); }
.menu-hero__content h1 { max-width: 34rem; }
.menu-hero__content .lead { max-width: 34rem; }
.menu-hero__actions, .menu-reserve__actions { display: flex; flex-wrap: wrap; width: 100%; min-width: 0; gap: var(--space-3); }
.menu-hero__actions > *, .menu-reserve__actions > * { min-width: 0; }
.menu-index { padding-block: var(--space-5); border-block: var(--border-subtle); }
.menu-index__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.menu-index__label, .menu-index__food, .menu-index__drinks { min-width: 0; width: 100%; }
.menu-index__label .eyebrow { margin: 0; }
.menu-index__food, .menu-index__drinks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); }
.menu-index a { display: flex; align-items: center; min-width: 0; min-height: 2.75rem; font-size: var(--text-utility); font-weight: 700; text-decoration: none; }
.menu-index__drinks { padding-top: var(--space-4); border-top: 1px solid var(--color-emerald); }
.menu-section { padding-block: var(--space-8); }
.menu-section--printed { background: var(--color-ivory); color: var(--color-inverse); }
.menu-section--printed :is(h2, h3, strong) { color: var(--color-inverse); }
.menu-section--printed .eyebrow { color: var(--color-burgundy); }
.menu-printed { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); }
.menu-printed__intro { width: 100%; max-width: 30rem; min-width: 0; }
.menu-printed__intro :is(h2, p) { margin-block-end: 0; }
.menu-printed__intro .eyebrow { margin-block-end: var(--space-3); }
.menu-printed__columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); min-width: 0; padding-block: var(--space-5); border-block: 3px double color-mix(in srgb, var(--color-inverse) 35%, transparent); }
.menu-category { width: 100%; min-width: 0; }
.menu-category h3 { margin-block-end: var(--space-3); }
.menu-category__intro { margin-block-end: var(--space-4); }
.menu-list { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; list-style: none; }
.menu-list li { display: flex; flex-direction: column; min-width: 0; gap: var(--space-1); padding-block: var(--space-4); border-top: var(--border-subtle); }
.menu-list li:last-child { border-bottom: var(--border-subtle); }
.menu-list strong { font-family: var(--font-heading); font-size: var(--text-h5); font-weight: 600; line-height: var(--leading-small-heading); }
.menu-list span { color: var(--color-smoke); font-size: var(--text-body); line-height: var(--leading-body); }
.menu-category--light .menu-list li { border-color: color-mix(in srgb, var(--color-inverse) 26%, transparent); }
.menu-category--light .menu-list span { color: color-mix(in srgb, var(--color-inverse) 72%, var(--color-smoke)); }
.menu-category em { display: inline; color: var(--color-burgundy); font-family: var(--font-body); font-size: var(--text-meta); font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.menu-printed__note { width: 100%; max-width: 42rem; margin: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-brass); color: color-mix(in srgb, var(--color-inverse) 76%, var(--color-smoke)); }
.menu-fire { background: linear-gradient(115deg, var(--color-charcoal) 0%, var(--color-charcoal) 65%, color-mix(in srgb, var(--color-burgundy) 42%, var(--color-charcoal)) 100%); }
.menu-fire__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.menu-fire__content { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); }
.menu-fire__intro { width: 100%; max-width: 38rem; }
.menu-fire__intro :is(h2, p) { margin-block-end: 0; }
.menu-fire__intro .eyebrow { margin-block-end: var(--space-3); }
.menu-fire__lists { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); min-width: 0; }
.menu-fire__media, .menu-late__media, .menu-drinks__media { width: 100%; min-width: 0; margin: 0; overflow: hidden; }
.menu-fire__media { order: 2; }
.menu-fire__media img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.menu-sweet__wrap { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); }
.menu-sweet__wrap header { width: 100%; max-width: 36rem; }
.menu-sweet__wrap header :is(h2, p) { margin-block-end: 0; }
.menu-sweet__wrap header .eyebrow { margin-block-end: var(--space-3); }
.menu-sweet__columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-7); min-width: 0; }
.menu-category--dessert { padding-top: var(--space-5); border-top: 1px solid var(--color-copper); }
.menu-sweet__cue { width: 100%; max-width: 34rem; margin: 0; }
.menu-drinks { background: linear-gradient(160deg, var(--color-emerald), var(--color-ink) 65%); }
.menu-drinks__wrap { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); }
.menu-drinks__media img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 62% center; }
.menu-drinks__intro { width: 100%; max-width: 40rem; }
.menu-drinks__intro :is(h2, p) { margin-block-end: 0; }
.menu-drinks__intro .eyebrow { margin-block-end: var(--space-3); }
.menu-drinks__columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); min-width: 0; }
.menu-wine p { max-width: 30rem; }
.menu-drinks__note { width: 100%; max-width: 42rem; margin: 0; color: var(--color-smoke); font-size: var(--text-utility); }
.menu-zero { background: color-mix(in srgb, var(--color-emerald) 32%, var(--color-ink)); }
.menu-zero__panel { display: flex; flex-direction: column; width: 100%; min-width: 0; gap: var(--space-4); padding: var(--space-5); border-left: 2px solid var(--color-emerald); background: var(--color-charcoal-raised); }
.menu-zero__panel :is(h2, p, .menu-list) { margin: 0; }
.menu-zero__panel .eyebrow { margin: 0; }
.menu-zero__panel > p:not(.eyebrow) { max-width: 38rem; }
.menu-zero__note { color: var(--color-smoke); }
.menu-late { background: var(--color-charcoal); }
.menu-late__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.menu-late__media img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: left center; }
.menu-late__content { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-5); background: var(--color-charcoal-raised); }
.menu-late__content :is(h2, p, .menu-list) { margin: 0; }
.menu-late__notice { display: flex; flex-direction: column; min-width: 0; gap: var(--space-2); padding: var(--space-4); border-left: 1px solid var(--color-brass); background: color-mix(in srgb, var(--color-ink) 42%, transparent); }
.menu-late__notice .eyebrow { margin: 0; }
.menu-late__link { max-width: 34rem; }
.menu-allergens { padding-block: var(--space-8); background: var(--color-burgundy); }
.menu-allergens__block { display: flex; flex-direction: column; width: 100%; min-width: 0; gap: var(--space-4); padding: var(--space-5); border-block: 1px solid var(--color-brass); }
.menu-allergens__block :is(h2, p) { margin: 0; }
.menu-allergens__block h2 { max-width: 44rem; font-size: clamp(2rem, 5vw, 2.625rem); }
.menu-allergens__block > p:last-child { max-width: 44rem; color: var(--color-ivory); }
.menu-reserve { padding-block: var(--space-8); }
.menu-reserve__grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.menu-reserve__content { display: flex; flex-direction: column; width: 100%; min-width: 0; gap: var(--space-4); }
.menu-reserve__content :is(h2, p, address) { margin: 0; }
.menu-reserve__content h2, .menu-reserve__content .lead { max-width: 36rem; }
.menu-reserve__content address { color: var(--color-smoke); font-size: var(--text-utility); }
.menu-page [tabindex="-1"]:focus { outline: var(--focus-outline); outline-offset: var(--focus-offset); }
@media (max-width: 22.49rem) { .menu-index__food, .menu-index__drinks { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 47.99rem) { .menu-hero__actions > *, .menu-reserve__actions > * { width: 100%; } }
@media (min-width: 48rem) {
  .menu-hero { padding-block: var(--space-6) var(--space-9); }
  .menu-section, .menu-allergens, .menu-reserve { padding-block: var(--space-9); }
  .menu-hero__grid { gap: var(--space-6); }
  .menu-hero__content { padding-inline: var(--space-4); }
  .menu-printed__columns, .menu-fire__lists, .menu-sweet__columns, .menu-drinks__columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-sweet__columns > :last-child { padding-left: var(--space-6); border-left: var(--border-subtle); }
  .menu-category--dessert { padding-top: 0; border-top: 0; }
  .menu-zero__panel { width: min(100%, 36rem); margin-inline: auto; padding: var(--space-6); }
  .menu-late__content { padding: var(--space-6); }
  .menu-allergens__block { width: min(100%, 45rem); margin-inline: auto; padding: var(--space-6); }
  .menu-reserve__content { width: min(100%, 42rem); }
}
@media (min-width: 56.25rem) {
  .menu-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; }
  .menu-hero__media { order: 2; }
  .menu-hero__content { order: 1; justify-content: end; padding-inline: 0; padding-block: var(--space-7); }
  .menu-hero__media img { aspect-ratio: auto; min-height: 33.75rem; }
  .menu-fire__grid { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); align-items: stretch; }
  .menu-fire__media { order: 1; }
  .menu-fire__media img { aspect-ratio: auto; min-height: 34rem; }
  .menu-late__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .menu-late__media img { aspect-ratio: auto; min-height: 33rem; }
}
@media (min-width: 68.75rem) {
  .menu-hero { padding-block: var(--space-7) var(--space-10); }
  .menu-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); min-height: 38.75rem; column-gap: var(--space-6); }
  .menu-hero__content { grid-column: 1 / span 5; }
  .menu-hero__media { grid-column: 7 / span 6; }
  .menu-hero__media img { min-height: 38.75rem; }
  .menu-index__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 4fr); align-items: center; gap: var(--space-5); }
  .menu-index__food, .menu-index__drinks { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
  .menu-index__drinks { padding-top: 0; padding-left: var(--space-5); border-top: 0; border-left: 1px solid var(--color-emerald); }
  .menu-index a { width: auto; }
  .menu-printed__columns { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .menu-printed__columns > :first-child { grid-column: 1 / span 6; }
  .menu-printed__columns > :last-child { grid-column: 7 / span 6; }
  .menu-fire__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6); }
  .menu-fire__content { grid-column: 1 / span 7; }
  .menu-fire__media { grid-column: 9 / span 4; }
  .menu-fire__media img { min-height: 36rem; }
  .menu-drinks__media img { aspect-ratio: 21 / 9; }
  .menu-zero__panel { width: min(100%, 31rem); }
  .menu-late__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .menu-late__media { grid-column: 1 / span 6; }
  .menu-late__content { grid-column: 7 / span 6; justify-content: center; }
  .menu-late__media img { min-height: 37rem; }
  .menu-allergens__block { width: min(100%, 43.75rem); }
  .menu-reserve__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .menu-reserve__content { grid-column: 2 / span 6; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .menu-page figure img { transition: transform var(--transition-base), opacity var(--transition-base); } .menu-page figure:hover img { transform: scale(1.02); opacity: .94; } }
@media (prefers-reduced-motion: reduce) { .menu-page figure img { transition: none; } }
