.menu-page { background: var(--color-ivory); }
.menu-page .section { min-width: 0; }
.menu-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.menu-hero__copy { min-width: 0; max-width: 38.75rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.menu-hero__copy > * { margin: 0; min-width: 0; }
.menu-hero__lead { max-width: 32.5rem; font-size: var(--text-lead); line-height: var(--leading-lead); }
.menu-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.menu-hero__actions > * { min-width: 0; }
.menu-hero__note { color: var(--color-muted-ink); font-size: var(--text-small); line-height: var(--leading-small); }
.menu-hero__media { width: 100%; min-width: 0; min-height: 31.25rem; margin: 0; border-radius: var(--radius-lg); }
.menu-hero__media img { transition: transform var(--transition-fast); }
.menu-hero__media:hover img { transform: scale(1.02); }
.menu-hero__media figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.menu-reading__intro { max-width: 38.75rem; margin-inline: auto; text-align: center; }
.menu-reading__intro > :last-child { margin-bottom: 0; }
.menu-reading__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.menu-principle { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-ivory); padding: var(--space-5); }
.menu-principle--stone { background: var(--color-pale-stone); }
.menu-principle__number, .menu-group-card__number { display: block; margin-bottom: var(--space-5); color: var(--color-brass); font-size: var(--text-label); font-weight: var(--weight-semibold); letter-spacing: .08em; }
.menu-principle > :last-child, .menu-scenario > :last-child, .menu-group-card > :last-child { margin-bottom: 0; }
.menu-small-plates__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: start; }
.menu-small-plates__content { grid-column: 1; min-width: 0; max-width: 31.25rem; }
.menu-small-plates__lead { margin-bottom: 0; }
.menu-small-plates__media { grid-column: 2; grid-row: 1 / span 2; width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0; border-radius: var(--radius-lg); }
.menu-small-plates__media img, .menu-desserts__media img { transition: transform var(--transition-fast); }
.menu-small-plates__media:hover img, .menu-desserts__media:hover img { transform: scale(1.02); }
.menu-small-plates__list { grid-column: 1; margin-top: var(--space-6); }
.menu-list { min-width: 0; }
.menu-list__item { display: grid; grid-template-columns: 2rem minmax(0, 1fr) max-content; gap: var(--space-3); align-items: start; min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border); }
.menu-list__item > * { min-width: 0; }
.menu-list__number { color: var(--color-brass); font-size: var(--text-label); font-weight: var(--weight-semibold); letter-spacing: .08em; }
.menu-list__body h3 { margin-bottom: var(--space-2); font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--weight-semibold); letter-spacing: 0; line-height: var(--leading-base); }
.menu-list__body p { max-width: 35rem; margin-bottom: 0; color: var(--color-muted-ink); }
.menu-list__price { min-width: max-content; margin: 0; font-weight: var(--weight-semibold); white-space: nowrap; }
.menu-text-link { display: inline-block; margin-top: var(--space-4); font-weight: var(--weight-semibold); }
.menu-signatures__intro { max-width: 35rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.menu-signatures__intro > * { margin: 0; }
.menu-signatures__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); align-items: start; }
.menu-signature-card { min-width: 0; min-height: 20rem; border: 1px solid rgb(247 242 234 / 20%); border-radius: var(--radius-lg); padding: var(--space-5); color: var(--color-ivory); }
.menu-signature-card > span { display: block; margin-bottom: var(--space-6); color: var(--color-brass); font-size: var(--text-label); font-weight: var(--weight-semibold); letter-spacing: .08em; }
.menu-signature-card h3 { color: var(--color-ivory); }
.menu-signature-card__price { margin-bottom: 0; color: var(--color-brass); font-weight: var(--weight-semibold); }
.menu-signature-card:hover { border-color: var(--color-brass); }
.menu-signature-card--offset { margin-top: var(--space-5); }
.menu-signatures__notice { margin: var(--space-7) 0 0; border: 1px solid rgb(247 242 234 / 20%); border-radius: var(--radius-md); padding: var(--space-4); color: var(--color-ivory); }
.menu-mains__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.menu-mains__intro { grid-column: 1 / span 5; min-width: 0; max-width: 33.75rem; }
.menu-mains__accent { display: block; width: 3rem; height: .25rem; margin-bottom: var(--space-4); background: var(--color-rust); }
.menu-mains__list { grid-column: 1 / span 9; min-width: 0; }
.menu-mains__note { margin: var(--space-4) 0 0; color: var(--color-muted-ink); font-size: var(--text-small); }
.menu-desserts__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 5vw, 5.5rem); align-items: center; }
.menu-desserts__content { min-width: 0; max-width: 31.25rem; }
.menu-desserts__lead { margin-bottom: var(--space-5); }
.menu-desserts__list { margin-bottom: var(--space-4); }
.menu-desserts__media { width: 100%; min-width: 0; aspect-ratio: 4 / 3; margin: 0; border-radius: var(--radius-lg); }
.menu-scenarios__intro { max-width: 38.75rem; margin-inline: auto; text-align: center; }
.menu-scenarios__intro > :last-child { margin-bottom: 0; }
.menu-scenarios__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.menu-scenario { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-ivory); padding: var(--space-5); }
.menu-scenario--tint { background: var(--color-teal-tint); }
.menu-scenarios__action { display: flex; justify-content: center; margin-top: var(--space-6); }
.menu-drinks { padding-block: var(--section-space-compact); }
.menu-drinks__panel { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); border: 1px solid color-mix(in srgb, var(--color-deep-teal) 20%, transparent); border-radius: var(--radius-lg); background: var(--color-teal-tint); padding: var(--space-6); }
.menu-drinks__copy { flex: 1 1 auto; min-width: 0; max-width: 38.75rem; }
.menu-drinks__copy > :last-child { margin-bottom: 0; }
.menu-drinks__panel > .button-secondary { flex: 0 0 auto; min-width: max-content; }
.menu-groups__intro { max-width: 38.75rem; }
.menu-groups__intro > :last-child { margin-bottom: 0; }
.menu-groups__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.menu-group-card { min-width: 0; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-ivory); padding: var(--space-5); }
.menu-group-card:nth-child(1) { background: var(--color-pale-stone); }
.menu-group-card .button-primary { margin-top: var(--space-3); }
.menu-group-card__email { display: block; margin-top: var(--space-4); overflow-wrap: anywhere; font-size: var(--text-small); font-weight: var(--weight-semibold); }
.menu-final { background: var(--color-ivory); padding-top: 0; }
.menu-final__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-width: 0; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-deep-teal); padding: var(--space-8); color: var(--color-ivory); }
.menu-final__copy { min-width: 0; max-width: 37.5rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.menu-final__copy > * { margin: 0; }
.menu-final__copy h2 { color: var(--color-ivory); }
.menu-final__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.menu-final__actions a:not(.button-primary) { color: var(--color-ivory); font-weight: var(--weight-semibold); overflow-wrap: anywhere; }
.menu-final__detail { min-width: 0; align-self: stretch; border-left: 1px solid var(--color-brass); opacity: .8; }
@media (max-width: 63.99rem) { .menu-hero__grid, .menu-small-plates__grid, .menu-desserts__grid { grid-template-columns: minmax(0, 1fr); } .menu-hero__copy, .menu-small-plates__content, .menu-desserts__content { max-width: none; } .menu-hero__media, .menu-small-plates__media, .menu-desserts__media { grid-column: 1; grid-row: auto; min-height: 0; } .menu-small-plates__list { grid-column: 1; margin-top: 0; } }
@media (min-width: 60rem) and (prefers-reduced-motion: no-preference) { .menu-small-plates__media { position: sticky; top: var(--space-6); } }
@media (max-width: 56.24rem) { .menu-signatures__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .menu-signature-card--offset { margin-top: 0; } .menu-signature-card:nth-child(3) { grid-column: 1 / -1; } }
@media (max-width: 51.24rem) { .menu-reading__cards, .menu-scenarios__cards, .menu-groups__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .menu-reading__cards > :last-child, .menu-scenarios__cards > :last-child, .menu-groups__cards > :last-child { grid-column: 1 / -1; } }
@media (max-width: 47.49rem) { .menu-mains__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .menu-mains__intro, .menu-mains__list { grid-column: 1; max-width: none; } .menu-list__item { grid-template-columns: 2rem minmax(0, 1fr); } .menu-list__price { grid-column: 2; min-width: 0; white-space: normal; } .menu-drinks__panel { flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); } .menu-drinks__panel > .button-secondary { min-width: 0; } }
@media (max-width: 37.49rem) { .menu-signatures__cards, .menu-reading__cards, .menu-scenarios__cards, .menu-groups__cards { grid-template-columns: minmax(0, 1fr); } .menu-signature-card:nth-child(3), .menu-reading__cards > :last-child, .menu-scenarios__cards > :last-child, .menu-groups__cards > :last-child { grid-column: 1; } .menu-signature-card { min-height: 0; } .menu-hero__copy h1 { font-size: clamp(2.5rem, 11vw, 2.75rem); line-height: 1.06; } .menu-hero__actions { width: 100%; flex-direction: column; } .menu-hero__actions > * { width: 100%; } .menu-final__panel { grid-template-columns: minmax(0, 1fr); padding: var(--space-6) var(--space-4); } .menu-final__detail { display: none; } }
@media (prefers-reduced-motion: reduce) { .menu-hero__media:hover img, .menu-small-plates__media:hover img, .menu-desserts__media:hover img { transform: none; } }