.menu-page {
  overflow: hidden;
}

.menu-page .menu-hero__grid,
.menu-page .menu-cold__grid,
.menu-page .menu-warm__grid,
.menu-page .menu-wine__top,
.menu-page .menu-lounge__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.menu-page .menu-hero__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.menu-page .menu-hero__copy > * { margin: 0; }
.menu-page .menu-hero__copy .eyebrow { margin-bottom: 0; }
.menu-page .menu-hero__copy h1 { max-width: 11ch; }
.menu-page .menu-hero__copy .lead { max-width: 540px; }
.menu-page .menu-hero__media { grid-column: 8 / span 5; min-width: 0; width: 100%; margin: 0; }
.menu-page .menu-image-frame { overflow: hidden; border: var(--border-copper); background: var(--color-surface-deep); }
.menu-page .menu-image-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-fast); }
.menu-page .menu-image-frame:hover img { transform: scale(1.04); }
.menu-page .menu-hero__media { aspect-ratio: 4 / 3; }
.menu-page .menu-hero__media img { object-position: 72% center; }
.menu-page .menu-hero__visit { width: min(100%, 540px); padding-top: var(--space-3); border-top: var(--border-subtle); display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); gap: var(--space-3); color: var(--color-ash); font-size: var(--text-utility); line-height: var(--leading-utility); }
.menu-page .menu-hero__visit-label { color: var(--color-ivory); font-weight: 700; }

.menu-page .menu-rhythm__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; margin-bottom: var(--space-6); }
.menu-page .menu-rhythm__intro > div { grid-column: 1 / span 4; min-width: 0; }
.menu-page .menu-rhythm__intro .lead { grid-column: 5 / span 6; min-width: 0; max-width: 650px; margin: 0; }
.menu-page .menu-rhythm__principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.menu-page .menu-principle { min-width: 0; padding: var(--space-5); border-top: var(--border-copper); background: var(--color-surface); }
.menu-page .menu-principle--emerald { background: var(--color-emerald); }
.menu-page .menu-principle > :last-child { margin-bottom: 0; }

.menu-page .menu-cold__grid { align-items: stretch; }
.menu-page .menu-list-panel { min-width: 0; padding: var(--space-6); border: var(--border-copper); background: var(--color-surface); box-shadow: var(--shadow-panel); }
.menu-page .menu-cold__grid > .menu-list-panel { grid-column: 1 / span 8; }
.menu-page .menu-list-panel__heading { max-width: 560px; }
.menu-page .menu-dish-list { display: flex; flex-direction: column; min-width: 0; }
.menu-page .menu-dish-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, 140px); gap: var(--space-5); align-items: start; min-width: 0; padding: var(--space-5) 0; border-top: var(--border-subtle); transition: border-color var(--transition-fast); }
.menu-page .menu-dish-row--last { border-bottom: var(--border-copper); }
.menu-page .menu-dish-row__content { min-width: 0; max-width: 60ch; }
.menu-page .menu-dish-row__content h3 { margin-bottom: var(--space-2); }
.menu-page .menu-dish-row__content p { margin-bottom: 0; }
.menu-page .menu-dish-row__meta { min-width: 0; color: var(--color-ash); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.12em; line-height: var(--leading-meta); text-align: right; text-transform: uppercase; }
.menu-page .menu-dish-row:hover,
.menu-page .menu-dish-row:focus-visible { border-color: var(--color-amber); outline: none; }
.menu-page .menu-dish-row:hover h3,
.menu-page .menu-dish-row:focus-visible h3 { text-decoration: underline; text-decoration-color: var(--color-amber); text-underline-offset: 0.18em; }
.menu-page .menu-tip { grid-column: 10 / span 3; min-width: 0; align-self: center; padding: var(--space-5); border-left: var(--border-copper); background: var(--color-surface-deep); }
.menu-page .menu-tip > :last-child { margin-bottom: 0; }

.menu-page .menu-warm__visual { grid-column: 1 / span 5; min-width: 0; }
.menu-page .menu-warm__visual > p:not(.eyebrow) { max-width: 500px; }
.menu-page .menu-warm__media { width: 100%; aspect-ratio: 4 / 3; margin: var(--space-5) 0 0; }
.menu-page .menu-warm__media img { object-position: center; }
.menu-page .menu-warm__list { grid-column: 6 / span 7; min-width: 0; }

.menu-page .menu-finish__heading { max-width: 500px; margin-bottom: var(--space-6); }
.menu-page .menu-finish__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.menu-page .menu-finish-item { min-width: 0; padding-top: var(--space-4); border-top: var(--border-copper); }
.menu-page .menu-finish-item > :last-child { margin-bottom: 0; }
.menu-page .menu-finish-item h3 { transition: text-decoration-color var(--transition-fast); }
.menu-page .menu-finish-item:hover h3 { text-decoration: underline; text-decoration-color: var(--color-copper); text-underline-offset: 0.18em; }
.menu-page .menu-finish-item__muted { color: var(--color-ash); }

.menu-page .menu-wine__intro { grid-column: 1 / span 7; min-width: 0; align-self: center; }
.menu-page .menu-wine__intro .lead { max-width: 580px; }
.menu-page .menu-wine__media { grid-column: 8 / span 5; min-width: 0; width: 100%; aspect-ratio: 3 / 4; margin: 0; }
.menu-page .menu-wine__media img { object-position: center; }
.menu-page .menu-wine__profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.menu-page .menu-wine-profile { min-width: 0; padding: var(--space-5); border-left: 3px solid var(--color-amber); }
.menu-page .menu-wine-profile__meta { margin-bottom: var(--space-4); color: var(--color-amber); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.1em; line-height: var(--leading-meta); text-transform: uppercase; }
.menu-page .menu-wine__note { margin-top: var(--space-5); padding: var(--space-5); border: var(--border-copper); background: var(--color-emerald); }
.menu-page .menu-wine__note > :last-child { max-width: 760px; margin-bottom: 0; }

.menu-page .menu-pairings__list { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); }
.menu-page .menu-pairing { display: grid; grid-template-columns: minmax(0, 5fr) minmax(72px, 2fr) minmax(0, 5fr); min-width: 0; border: var(--border-subtle); background: var(--color-surface); transition: border-color var(--transition-fast); }
.menu-page .menu-pairing--deep { background: var(--color-surface-deep); }
.menu-page .menu-pairing__part { min-width: 0; padding: var(--space-5); }
.menu-page .menu-pairing__part > :last-child { margin-bottom: 0; }
.menu-page .menu-pairing__part--amber { box-shadow: inset 3px 0 0 var(--color-amber); }
.menu-page .menu-pairing__link { min-width: 0; position: relative; }
.menu-page .menu-pairing__link::after { position: absolute; top: 50%; left: 20%; width: 60%; height: 1px; background: var(--color-copper); content: ""; transition: background-color var(--transition-fast); }
.menu-page .menu-pairing:hover,
.menu-page .menu-pairing:focus-visible { border-color: var(--color-amber); outline: 2px solid var(--color-amber); outline-offset: 3px; }
.menu-page .menu-pairing:hover .menu-pairing__link::after,
.menu-page .menu-pairing:focus-visible .menu-pairing__link::after { background: var(--color-amber); }

.menu-page .menu-lounge__heading { max-width: 560px; margin-bottom: var(--space-6); }
.menu-page .menu-lounge__grid { align-items: stretch; }
.menu-page .menu-lounge__media { grid-column: 1 / span 5; width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0; }
.menu-page .menu-lounge__media img { object-position: center; }
.menu-page .menu-lounge__copy { grid-column: 6 / span 7; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; gap: var(--space-4); }
.menu-page .menu-lounge__emerald,
.menu-page .menu-lounge__open { min-width: 0; padding: var(--space-5); }
.menu-page .menu-lounge__emerald { border: var(--border-copper); background: var(--color-emerald); }
.menu-page .menu-lounge__open { border-top: var(--border-copper); background: var(--color-canvas); }
.menu-page .menu-lounge__emerald > :last-child,
.menu-page .menu-lounge__open > :last-child { margin-bottom: 0; }
.menu-page .menu-lounge__open a { color: var(--color-ivory); text-decoration-color: var(--color-copper); }
.menu-page .menu-lounge__open a:hover { color: var(--color-amber); text-decoration-color: var(--color-amber); }

.menu-page .menu-tasting__panel { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-5); align-items: end; }
.menu-page .menu-tasting__copy { min-width: 0; max-width: 620px; }
.menu-page .menu-tasting__copy > :last-child { margin-bottom: 0; }
.menu-page .menu-tasting__action { min-width: 0; justify-self: end; }

.menu-page .menu-closing__inner { position: relative; width: min(100%, 620px); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); padding-top: var(--space-6); border-top: var(--border-copper); text-align: center; }
.menu-page .menu-closing__inner > * { margin: 0; }
.menu-page .menu-closing__inner > p:not(.eyebrow) { align-self: stretch; text-align: left; }
.menu-page .menu-closing__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color-emerald); }

@media (max-width: 1023px) {
  .menu-page .menu-hero__copy { grid-column: 1 / span 6; }
  .menu-page .menu-hero__media { grid-column: 7 / span 6; }
  .menu-page .menu-cold__grid > .menu-list-panel { grid-column: 1 / -1; }
  .menu-page .menu-tip { grid-column: 1 / -1; width: 100%; border-left: 0; border-top: var(--border-copper); }
}

@media (max-width: 979px) {
  .menu-page .menu-wine__intro { grid-column: 1 / span 8; }
  .menu-page .menu-wine__media { grid-column: 9 / span 4; }
  .menu-page .menu-wine__profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-wine__profiles > :nth-child(3) { grid-column: 1 / span 2; }
  .menu-page .menu-lounge__media { grid-column: 1 / span 4; }
  .menu-page .menu-lounge__copy { grid-column: 5 / span 8; }
}

@media (max-width: 959px) {
  .menu-page .menu-warm__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-warm__visual,
  .menu-page .menu-warm__list { grid-column: 1; width: 100%; }
}

@media (max-width: 920px) {
  .menu-page .menu-pairing { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-pairing__link { min-height: 1px; margin-inline: var(--space-5); }
  .menu-page .menu-pairing__link::after { top: 0; left: 0; width: 72px; }
}

@media (max-width: 899px) {
  .menu-page .menu-rhythm__principles,
  .menu-page .menu-finish__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-rhythm__principles > :nth-child(3),
  .menu-page .menu-finish__items > :nth-child(3) { grid-column: 1 / span 2; }
}

@media (max-width: 820px) {
  .menu-page .menu-tasting__panel { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-tasting__action { justify-self: start; }
}

@media (max-width: 767px) {
  .menu-page .menu-hero__grid,
  .menu-page .menu-cold__grid,
  .menu-page .menu-warm__grid,
  .menu-page .menu-wine__top,
  .menu-page .menu-lounge__grid,
  .menu-page .menu-rhythm__intro { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .menu-page .menu-hero__copy,
  .menu-page .menu-hero__media,
  .menu-page .menu-cold__grid > .menu-list-panel,
  .menu-page .menu-tip,
  .menu-page .menu-warm__visual,
  .menu-page .menu-warm__list,
  .menu-page .menu-wine__intro,
  .menu-page .menu-wine__media,
  .menu-page .menu-lounge__media,
  .menu-page .menu-lounge__copy,
  .menu-page .menu-rhythm__intro > div,
  .menu-page .menu-rhythm__intro .lead { grid-column: 1; width: 100%; }
  .menu-page .menu-hero__copy { gap: var(--space-4); }
  .menu-page .menu-hero__copy h1 { max-width: 100%; font-size: var(--text-display-mobile); line-height: 0.98; }
  .menu-page .menu-hero__copy .lead { max-width: 100%; font-size: var(--text-body); }
  .menu-page .menu-hero__media { order: 2; min-height: 260px; }
  .menu-page .menu-hero__visit { order: 3; grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .menu-page .menu-hero__cta { order: 4; width: 100%; }
  .menu-page .menu-list-panel { padding: var(--space-5); }
  .menu-page .menu-dish-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .menu-page .menu-dish-row__meta { grid-row: 1; text-align: left; }
  .menu-page .menu-dish-row__content { max-width: 100%; }
  .menu-page .menu-tip { padding: var(--space-5); }
  .menu-page .menu-rhythm__principles,
  .menu-page .menu-finish__items,
  .menu-page .menu-wine__profiles { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-rhythm__principles > :nth-child(3),
  .menu-page .menu-finish__items > :nth-child(3),
  .menu-page .menu-wine__profiles > :nth-child(3) { grid-column: 1; }
  .menu-page .menu-principle { padding: var(--space-5); }
  .menu-page .menu-finish-item { padding-bottom: var(--space-4); }
  .menu-page .menu-wine__media { aspect-ratio: 4 / 5; }
  .menu-page .menu-wine-profile { padding: var(--space-5); }
  .menu-page .menu-lounge__copy { gap: var(--space-4); }
  .menu-page .menu-lounge__emerald,
  .menu-page .menu-lounge__open { padding: var(--space-5); }
  .menu-page .menu-tasting__panel { padding: var(--space-5); gap: var(--space-5); }
  .menu-page .menu-tasting__action { width: 100%; }
  .menu-page .menu-tasting__action .button { width: 100%; }
  .menu-page .menu-closing__inner { width: 100%; align-items: stretch; text-align: left; }
  .menu-page .menu-closing__inner h2,
  .menu-page .menu-closing__inner .eyebrow { text-align: left; }
  .menu-page .menu-closing__inner .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page .menu-image-frame img,
  .menu-page .menu-dish-row,
  .menu-page .menu-pairing,
  .menu-page .menu-pairing__link::after { transition: none; }
  .menu-page .menu-image-frame:hover img { transform: none; }
}

.menu-page ul { list-style: none !important; }
