.menu-page { overflow: clip; }
.menu-page .section { scroll-margin-top: 7rem; }
.menu-page .content-stack { gap: var(--space-4); }
.menu-page .content-stack > * { margin: 0; }
.menu-page .media-frame { width: 100%; margin: 0; }
.menu-page .media-frame img { width: 100%; height: 100%; object-fit: cover; }

.menu-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.menu-hero__copy, .menu-hero__media { min-width: 0; width: 100%; }
.menu-hero__copy { max-width: 31.25rem; }
.menu-hero__copy h1 { color: var(--color-dusty-blue); }
.menu-hero__copy .lead { max-width: 34rem; }
.menu-hero__note { display: flex; flex-direction: column; gap: var(--space-3); border-top: var(--border-brass); background: var(--color-blue-mist); padding: var(--space-6); }
.menu-hero__note p { max-width: 32rem; margin: 0; font-size: var(--text-small); }
.menu-hero__media { aspect-ratio: 16 / 10; border-radius: var(--radius-hero); box-shadow: var(--shadow-elevated); }

.menu-map { padding-top: 0; }
.menu-map__panel { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-8); padding: var(--space-8); align-items: start; }
.menu-map__intro, .menu-anchor-nav { min-width: 0; width: 100%; }
.menu-map__intro { max-width: 25rem; }
.menu-anchor-nav { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-2) var(--space-4); padding: var(--space-3); border-radius: var(--radius-card); background: var(--color-sage-mist); }
.menu-anchor-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--color-ink); font-size: var(--text-small); font-weight: 600; text-decoration: none; border-bottom: 1px solid transparent; }
.menu-anchor-nav a[aria-current="true"] { color: var(--color-dusty-blue); border-bottom-color: var(--color-brass); }

.menu-start__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: var(--space-8); align-items: start; }
.menu-start__header, .menu-start__catalog, .menu-start__media { min-width: 0; width: 100%; }
.menu-start__header { max-width: 23rem; }
.menu-start__media { aspect-ratio: 4 / 3; margin-top: var(--space-20); }
.menu-start__catalog { display: flex; flex-direction: column; gap: var(--space-8); }

.menu-category { min-width: 0; width: 100%; }
.menu-category > :last-child { margin-bottom: 0; }
.menu-category h3 { margin-bottom: var(--space-3); }
.menu-category p { max-width: 39rem; }
.menu-category--share { padding: var(--space-6); border-radius: var(--radius-card); background: var(--color-sage-mist); }
.menu-lines { display: flex; flex-direction: column; min-width: 0; width: 100%; margin-top: var(--space-4); border-top: var(--border-default); }
.menu-lines > div { display: grid; grid-template-columns: minmax(8rem, .8fr) minmax(0, 1.2fr); gap: var(--space-4); min-width: 0; padding: var(--space-3) 0; border-bottom: var(--border-default); }
.menu-lines strong, .menu-lines span { min-width: 0; overflow-wrap: anywhere; }
.menu-lines strong { font-size: var(--text-small); }
.menu-lines span { color: var(--color-muted-ink); font-size: var(--text-small); }

.menu-dinner__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: start; }
.menu-dinner__media, .menu-dinner__content { min-width: 0; width: 100%; }
.menu-dinner__media { aspect-ratio: 3 / 2; }
.menu-dinner__content { gap: var(--space-8); max-width: 31rem; }
.menu-seasonal { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; width: 100%; padding: var(--space-6); border-top: var(--border-brass); background: var(--color-blue-mist); }
.menu-seasonal > * { margin: 0; }
.menu-seasonal p { max-width: 28rem; }

.menu-vegetarian__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 6fr) minmax(0, 4fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.menu-vegetarian__copy { grid-column: 2; min-width: 0; width: 100%; max-width: 35rem; }
.menu-vegetarian__note { grid-column: 3; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; width: 100%; padding: var(--space-8); border-radius: var(--radius-card); background: var(--color-sage-mist); }
.menu-vegetarian__note p { margin: 0; }
.menu-vegetarian__note .label { padding-bottom: var(--space-3); border-bottom: var(--border-brass); }

.menu-sweet__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 6fr) minmax(0, 1fr); gap: var(--space-8); align-items: start; }
.menu-sweet__media { grid-column: 1; aspect-ratio: 1; margin-top: calc(var(--space-12) * -1); }
.menu-sweet__content { grid-column: 3; min-width: 0; width: 100%; max-width: 38rem; gap: var(--space-8); }
.menu-sweet__content .menu-category + .menu-category { padding-top: var(--space-8); border-top: var(--border-default); }

.menu-drinks__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-8); align-items: start; }
.menu-drinks__header, .menu-drinks__cards { min-width: 0; width: 100%; }
.menu-drinks__header { max-width: 25rem; }
.menu-drinks__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.menu-drink-card { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; width: 100%; padding: var(--space-6); border: var(--border-default); border-radius: var(--radius-card); background: var(--color-ivory); }
.menu-drink-card > * { margin: 0; }
.menu-drink-card p { max-width: 32rem; }
.menu-drink-card--blue { background: var(--color-blue-mist); }
.menu-drink-card--brass { border-top: var(--border-brass); }

.menu-poker__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); gap: var(--space-4); align-items: center; }
.menu-poker__content { grid-column: 1; min-width: 0; width: 100%; max-width: 32rem; gap: var(--space-6); }
.menu-poker__media { grid-column: 3; min-width: 0; width: 100%; aspect-ratio: 4 / 3; }
.menu-recommendations { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; width: 100%; }
.menu-recommendations > div { min-width: 0; width: 100%; padding-top: var(--space-4); border-top: var(--border-default); }
.menu-recommendations h3 { margin-bottom: var(--space-2); }
.menu-recommendations p { max-width: 35rem; margin: 0; }

.menu-paths__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: start; }
.menu-paths__statement, .menu-paths__links { min-width: 0; width: 100%; }
.menu-paths__statement { max-width: 42rem; }
.menu-paths__statement .display-lg { margin: 0; }
.menu-paths__links { display: flex; flex-direction: column; gap: var(--space-6); }
.menu-paths__links article { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; width: 100%; padding-bottom: var(--space-6); border-bottom: var(--border-default); }
.menu-paths__links article > * { margin: 0; }
.menu-paths__links h3 a { text-decoration-color: var(--color-brass); }
.menu-paths__links p { max-width: 31rem; }

.menu-visit__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(0, 4fr); gap: var(--space-4); align-items: center; }
.menu-visit__copy { grid-column: 1; min-width: 0; width: 100%; max-width: 34rem; gap: var(--space-4); }
.menu-visit__panel { grid-column: 3; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; width: 100%; padding: var(--space-8); }
.menu-visit__panel > * { margin: 0; }
.menu-visit__panel dl { display: flex; flex-direction: column; gap: var(--space-2); }
.menu-visit__panel dd { margin: 0 0 var(--space-2); }

.menu-current { padding-top: 0; }
.menu-current__note { width: min(100%, 45rem); margin-inline: auto; padding-top: var(--space-6); border-top: var(--border-default); }
.menu-current__note p { margin: 0; color: var(--color-muted-ink); font-size: var(--text-small); }

@media (max-width: 1279px) {
  .menu-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-hero__copy { grid-column: span 4; }
  .menu-hero__media { grid-column: span 4; }
  .menu-start__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-start__header { grid-column: span 3; }
  .menu-start__catalog { grid-column: span 5; }
  .menu-start__media { grid-column: 4 / span 5; margin-top: 0; }
  .menu-dinner__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-8); }
  .menu-dinner__media, .menu-dinner__content { grid-column: span 4; }
  .menu-vegetarian__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-vegetarian__copy { grid-column: span 4; }
  .menu-vegetarian__note { grid-column: span 4; }
  .menu-sweet__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-sweet__media { grid-column: span 3; margin-top: 0; }
  .menu-sweet__content { grid-column: span 5; }
  .menu-drinks__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-drinks__header { grid-column: 1 / -1; }
  .menu-drinks__cards { grid-column: 1 / -1; }
  .menu-poker__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-8); }
  .menu-poker__content, .menu-poker__media { grid-column: span 4; }
  .menu-paths__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-8); }
  .menu-paths__statement, .menu-paths__links { grid-column: span 4; }
  .menu-visit__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-8); }
  .menu-visit__copy { grid-column: 1 / -1; }
  .menu-visit__panel { grid-column: 1 / -1; max-width: 32rem; }
}

@media (max-width: 1023px) {
  .menu-map__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .menu-map__intro { max-width: 31rem; }
  .menu-start__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .menu-start__header { grid-column: 1 / -1; max-width: 32rem; }
  .menu-start__catalog { grid-column: 1 / span 5; }
  .menu-start__media { grid-column: 6 / span 3; }
  .menu-dinner__content { max-width: none; }
  .menu-dinner__content .menu-seasonal { grid-column: 1 / -1; }
  .menu-sweet__media { grid-column: span 3; }
  .menu-sweet__content { grid-column: span 5; }
  .menu-poker__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-poker__content, .menu-poker__media { grid-column: 1; max-width: 38rem; }
  .menu-poker__media { order: 2; }
}

@media (max-width: 839px) {
  .menu-start__grid, .menu-dinner__grid, .menu-vegetarian__grid, .menu-sweet__grid, .menu-drinks__grid, .menu-paths__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-start__header, .menu-start__catalog, .menu-start__media, .menu-dinner__media, .menu-dinner__content, .menu-vegetarian__copy, .menu-vegetarian__note, .menu-sweet__media, .menu-sweet__content, .menu-drinks__header, .menu-drinks__cards, .menu-paths__statement, .menu-paths__links { grid-column: 1; max-width: none; }
  .menu-start__media { max-width: 38rem; }
  .menu-dinner__media { max-width: 42rem; }
  .menu-sweet__media { order: 2; max-width: 28rem; }
  .menu-sweet__content { order: 1; }
  .menu-drinks__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .menu-page .section { scroll-margin-top: 5rem; }
  .menu-hero__grid, .menu-visit__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .menu-hero__copy, .menu-hero__media, .menu-visit__copy, .menu-visit__panel { grid-column: 1; max-width: none; }
  .menu-hero__copy { gap: var(--space-4); }
  .menu-hero__copy h1 { font-size: clamp(2.75rem, 12vw, 3.5rem); }
  .menu-hero__note { padding: var(--space-6); }
  .menu-hero__media { border-radius: var(--radius-feature); }
  .menu-map__panel { padding: var(--space-6); }
  .menu-anchor-nav { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--space-6) * -1); padding-inline: var(--space-6); scrollbar-width: none; }
  .menu-anchor-nav::-webkit-scrollbar { display: none; }
  .menu-anchor-nav a { min-height: 2.75rem; white-space: nowrap; }
  .menu-start__grid, .menu-dinner__grid, .menu-vegetarian__grid, .menu-sweet__grid, .menu-drinks__grid, .menu-poker__grid, .menu-paths__grid, .menu-visit__grid { gap: var(--space-6); }
  .menu-start__media, .menu-dinner__media, .menu-sweet__media, .menu-poker__media { max-width: none; }
  .menu-start__media { aspect-ratio: 4 / 3; }
  .menu-category--share, .menu-vegetarian__note, .menu-drink-card, .menu-seasonal, .menu-visit__panel { padding: var(--space-6); }
  .menu-lines > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
  .menu-drinks__cards { grid-template-columns: minmax(0, 1fr); }
  .menu-paths__statement .display-lg { font-size: clamp(2.625rem, 12vw, 3.375rem); }
  .menu-visit__panel { max-width: none; }
  .menu-current__note { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page * { scroll-behavior: auto; }
}
