.menu-page { background: var(--color-petrol-900); }
.menu-page .section { padding-block: var(--space-11); }
.menu-page .eyebrow { margin-bottom: var(--space-3); }
.menu-page .button { min-height: 3rem; }
.menu-hero { position: relative; min-height: 45rem; overflow: hidden; background: var(--color-petrol-900); }
.menu-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; }
.menu-hero__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,58,60,.52), rgba(22,58,60,.08) 70%); content: ""; }
.menu-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 76% center; }
.menu-hero__container { position: relative; z-index: 1; min-height: 45rem; display: flex; align-items: flex-end; }
.menu-hero__panel { width: 45%; min-width: 26.875rem; background: rgba(22,58,60,.94); border: 1px solid var(--color-border-copper); padding: var(--space-8); }
.menu-hero__copy { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }
.menu-hero__copy > * { min-width: 0; margin: 0; }
.menu-hero__copy h1 { max-width: 35rem; }
.menu-hero__copy .lead { max-width: 33.75rem; }
.menu-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.menu-hero__actions > * { min-width: 0; }
.menu-hero__season-note { display: flex; flex-direction: column; gap: var(--space-3); max-width: 27.5rem; border-top: 1px solid var(--color-border-copper); padding-top: var(--space-4); }
.menu-hero__season-note > * { margin: 0; min-width: 0; }
.menu-hero__season-note p { color: var(--color-ivory-muted); font-size: var(--text-small); line-height: var(--leading-small); }
.menu-reading__container { display: flex; flex-direction: column; gap: var(--space-8); }
.menu-reading__intro { width: 40%; min-width: 0; }
.menu-reading__intro > :last-child { margin-bottom: 0; }
.menu-reading__intro .lead { max-width: 38.75rem; }
.menu-reading__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.menu-rule { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding: 0 var(--space-6); border-left: 1px solid var(--color-border-light); }
.menu-rule:first-child { padding-left: 0; border-left: 0; }
.menu-rule__number { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 2.25rem; line-height: 1; }
.menu-rule__content { min-width: 0; }
.menu-rule__content > :last-child { margin-bottom: 0; }
.menu-rule__content .tag { margin-bottom: var(--space-3); }
.menu-rule__quote { color: var(--color-burgundy-700); font-family: var(--font-heading); font-size: 1.25rem; line-height: 1.2; }
.menu-starters__layout { display: grid; grid-template-columns: minmax(0, 41fr) minmax(0, 59fr); gap: var(--space-8); align-items: center; }
.menu-starters__media, .menu-fire__media, .menu-desserts__media, .menu-chef__media { margin: 0; min-width: 0; overflow: hidden; border-radius: var(--radius-sm); }
.menu-starters__media { width: 100%; aspect-ratio: 4 / 3; }
.menu-starters__media img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 55%; }
.menu-card { min-width: 0; background: var(--color-warm-ivory); color: var(--color-espresso-950); padding: var(--space-8); border: 1px solid var(--color-border-light); box-shadow: var(--shadow-soft); }
.menu-card__heading { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.menu-card__heading > * { min-width: 0; margin: 0; }
.menu-card__heading .lead { max-width: 32.5rem; }
.menu-list { display: flex; flex-direction: column; min-width: 0; margin-top: var(--space-7); }
.menu-item { min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border-copper); }
.menu-item:last-child { padding-bottom: 0; }
.menu-item__top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-4); align-items: start; min-width: 0; }
.menu-item__top > * { min-width: 0; }
.menu-item__top h3 { margin: 0; font-size: var(--text-card-title); }
.menu-item__top span { padding-top: .25rem; color: var(--color-aged-copper); font-size: var(--text-small); font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.menu-item p { max-width: 40rem; margin: var(--space-3) 0 0; font-size: .9375rem; line-height: 1.6; }
.menu-mains { background: var(--color-petrol-900); }
.menu-mains__container { display: grid; grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); min-width: 0; }
.menu-mains__space, .menu-mains__card { min-width: 0; }
.menu-mains__card { width: 100%; max-width: 55rem; justify-self: end; position: relative; }
.menu-mains__card::after { position: absolute; inset: var(--space-6) var(--space-4) var(--space-6) auto; width: 1px; background: var(--color-aged-copper); opacity: .5; content: ""; }
.menu-mains__card .menu-list { max-width: 44rem; }
.menu-fire__scene { position: relative; min-height: 40rem; display: grid; grid-template-columns: minmax(0, 70fr) minmax(0, 30fr); align-items: center; }
.menu-fire__media { grid-column: 1 / span 2; grid-row: 1; width: 70%; aspect-ratio: 16 / 9; align-self: center; }
.menu-fire__media img { width: 100%; height: 100%; object-fit: cover; object-position: 32% center; transition: transform var(--transition-image); }
.menu-fire__card { grid-column: 2; grid-row: 1; width: 153.333%; min-width: 0; justify-self: end; z-index: 1; padding: var(--space-8); background: var(--color-espresso-950); border: 1px solid var(--color-border-copper); box-shadow: var(--shadow-soft); }
.menu-fire__card .lead { max-width: 26.25rem; }
.menu-list--dark .menu-item p { color: var(--color-ivory-muted); }
.menu-seasonal__container { display: flex; flex-direction: column; gap: var(--space-8); }
.menu-seasonal__intro { max-width: 35rem; }
.menu-seasonal__intro > :last-child { margin-bottom: 0; }
.menu-seasonal__eyebrow { color: var(--color-soft-sage); }
.menu-seasonal__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.menu-seasonal__item { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: 0 var(--space-6); border-left: 1px solid var(--color-border-light); }
.menu-seasonal__item:first-child { padding-left: 0; border-left: 0; }
.menu-seasonal__item > * { min-width: 0; margin: 0; }
.menu-seasonal__item .menu-item__top h3 { font-size: var(--text-card-title); }
.menu-seasonal__item p { font-size: .9375rem; line-height: 1.6; }
.menu-seasonal__callout { width: 50%; min-width: 0; align-self: flex-end; padding: var(--space-6); background: var(--color-burgundy-700); color: var(--color-warm-ivory); }
.menu-seasonal__callout > :last-child { margin-bottom: 0; }
.menu-desserts { background: var(--color-petrol-900); }
.menu-desserts__scene { position: relative; min-height: 42rem; display: grid; grid-template-columns: minmax(0, 56fr) minmax(0, 44fr); align-items: center; }
.menu-desserts__media { grid-column: 1 / span 2; grid-row: 1; width: 100%; height: 100%; }
.menu-desserts__media::after { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 45%, rgba(32,26,24,.72)); content: ""; }
.menu-desserts__media img { width: 100%; height: 100%; object-fit: cover; object-position: 28% center; }
.menu-desserts__card { grid-column: 2; grid-row: 1; z-index: 1; width: 100%; min-width: 0; margin-right: var(--space-7); padding: var(--space-7); background: var(--color-espresso-950); border: 1px solid var(--color-border-copper); }
.menu-desserts__card .lead { max-width: 24.375rem; }
.menu-drinks { background: var(--color-petrol-900); }
.menu-drinks__container { display: flex; flex-direction: column; gap: var(--space-8); }
.menu-drinks__heading { max-width: 32.5rem; }
.menu-drinks__heading > :last-child { margin-bottom: 0; }
.menu-drinks__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; }
.menu-drinks__cocktails, .menu-drinks__wines { min-width: 0; }
.menu-drinks__cocktails { padding-right: var(--space-7); }
.menu-drinks__wines { padding-left: var(--space-7); border-left: 1px solid var(--color-border-copper); }
.menu-drinks__cocktails > h3, .menu-drinks__wines > h3 { margin-bottom: 0; }
.menu-wine-list { display: flex; flex-direction: column; min-width: 0; margin-top: var(--space-7); }
.menu-wine { min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border-copper); }
.menu-wine:last-child { padding-bottom: 0; }
.menu-wine h3 { margin-bottom: var(--space-3); }
.menu-wine p { max-width: 18.75rem; margin-bottom: 0; color: var(--color-ivory-muted); font-size: .9375rem; line-height: 1.6; }
.menu-drinks__note { margin: var(--space-5) 0 0; color: var(--color-ivory-muted); font-size: var(--text-small); }
.menu-chef__layout { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); min-width: 0; }
.menu-chef__media { width: 100%; height: 100%; min-height: 41rem; border-radius: 0; }
.menu-chef__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.menu-chef__panel { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; padding: var(--space-8); background: var(--color-espresso-950); }
.menu-chef__panel > * { min-width: 0; margin: 0; }
.menu-chef__panel h2 { max-width: 35rem; }
.menu-chef__lead { max-width: 35rem; font-family: var(--font-heading); font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.15; }
.menu-chef__principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.menu-chef__principle { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border-copper); }
.menu-chef__principle > * { min-width: 0; }
.menu-chef__principle > span { color: var(--color-aged-copper); font-family: var(--font-heading); font-size: 1.5rem; }
.menu-chef__principle h3 { margin-bottom: var(--space-3); }
.menu-chef__principle p { margin-bottom: 0; color: var(--color-ivory-muted); font-size: .9375rem; line-height: 1.6; }
.menu-chef__cta { display: flex; flex-direction: column; gap: var(--space-4); max-width: 31.25rem; min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border-copper); }
.menu-chef__cta > * { min-width: 0; margin: 0; }
.menu-chef__cta p { color: var(--color-ivory-muted); font-size: var(--text-small); }
.menu-reservation { background: var(--color-burgundy-700); }
.menu-reservation__container { display: flex; justify-content: center; }
.menu-reservation__content { display: flex; flex-direction: column; gap: var(--space-5); width: 100%; max-width: 38.75rem; min-width: 0; }
.menu-reservation__content > * { min-width: 0; margin: 0; }
.menu-reservation__content .lead { max-width: 37.5rem; }
.menu-reservation__content .button { align-self: flex-start; }
.menu-reservation__meta { display: flex; flex-wrap: wrap; gap: var(--space-3); max-width: 32.5rem; min-width: 0; padding-top: var(--space-5); border-top: 1px solid rgba(240,232,220,.35); color: var(--color-warm-ivory); font-size: var(--text-small); }
.menu-reservation__meta > * { min-width: 0; }
.menu-reservation__meta > * + * { border-left: 1px solid rgba(240,232,220,.35); padding-left: var(--space-3); }
@media (hover: hover) and (pointer: fine) { .menu-fire__media:hover img { transform: scale(1.02); } .menu-item__top h3 { text-decoration: underline transparent; text-underline-offset: .25em; transition: text-decoration-color var(--transition-fast); } .menu-item:hover .menu-item__top h3 { text-decoration-color: var(--color-aged-copper); } }
@media (max-width: 61.1875rem) { .menu-hero { min-height: auto; display: flex; flex-direction: column; } .menu-hero__media { position: relative; height: min(62vw, 32rem); order: 0; } .menu-hero__media::after { background: linear-gradient(180deg, transparent, rgba(22,58,60,.35)); } .menu-hero__media img { object-position: 75% center; } .menu-hero__container { min-height: 0; width: 100%; padding: 0; order: 1; } .menu-hero__panel { width: 100%; min-width: 0; padding: var(--space-7) max(var(--container-padding), calc((100vw - var(--container-max)) / 2)); } .menu-starters__layout, .menu-chef__layout { grid-template-columns: 1fr; gap: 0; } .menu-starters__media { aspect-ratio: 4 / 3; } .menu-starters__card { width: 100%; } .menu-fire__scene { min-height: 0; display: flex; flex-direction: column; } .menu-fire__media { width: 100%; aspect-ratio: 4 / 3; } .menu-fire__card { width: 100%; padding: var(--space-7); } .menu-chef__media { min-height: 0; aspect-ratio: 4 / 3; } .menu-chef__panel { padding: var(--space-7); } }
@media (max-width: 56.25rem) { .menu-page .section { padding-block: clamp(4.5rem, 11vw, 6rem); } .menu-reading__intro { width: 100%; } .menu-reading__rules { grid-template-columns: 1fr; } .menu-rule, .menu-rule:first-child { padding: var(--space-5) 0; border-left: 0; border-top: 1px solid var(--color-border-light); } .menu-rule:first-child { border-top: 0; padding-top: 0; } .menu-mains__container { grid-template-columns: 1fr; } .menu-mains__space { display: none; } .menu-mains__card { max-width: none; } .menu-mains__card::after { display: none; } .menu-seasonal__items { grid-template-columns: 1fr; } .menu-seasonal__item, .menu-seasonal__item:first-child { padding: var(--space-5) 0; border-left: 0; border-top: 1px solid var(--color-border-light); } .menu-seasonal__item:first-child { padding-top: 0; border-top: 0; } .menu-seasonal__callout { width: 100%; align-self: auto; } .menu-desserts__scene { min-height: 0; display: flex; flex-direction: column; } .menu-desserts__media { width: 100%; height: auto; aspect-ratio: 4 / 3; } .menu-desserts__media::after { display: none; } .menu-desserts__card { width: 100%; margin-right: 0; padding: var(--space-7); } .menu-drinks__columns { grid-template-columns: 1fr; } .menu-drinks__cocktails { padding-right: 0; } .menu-drinks__wines { margin-top: var(--space-7); padding: var(--space-7) 0 0; border-left: 0; border-top: 1px solid var(--color-border-copper); } }
@media (max-width: 37.5rem) { .menu-hero__media { height: 15rem; } .menu-hero__panel, .menu-card, .menu-fire__card, .menu-desserts__card, .menu-chef__panel { padding: var(--space-5); } .menu-hero__actions { flex-direction: column; } .menu-hero__actions .button, .menu-reservation__content .button { width: 100%; } .menu-item__top { grid-template-columns: 1fr; gap: var(--space-2); } .menu-item__top span { justify-self: end; padding-top: 0; } .menu-chef__principles { grid-template-columns: 1fr; } .menu-reservation__meta { flex-direction: column; } .menu-reservation__meta > * + * { border-left: 0; border-top: 1px solid rgba(240,232,220,.35); padding: var(--space-3) 0 0; } }
