.menu-page { overflow: clip; }
.menu-page .menu-hero { position: relative; min-height: 42.5rem; background: var(--color-deep-plum); color: var(--color-warm-ivory); display: grid; grid-template-columns: minmax(0, 1fr); isolation: isolate; }
.menu-page .menu-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; overflow: hidden; z-index: -2; }
.menu-page .menu-hero__media::after { position: absolute; inset: 0; z-index: 1; content: ""; background: linear-gradient(90deg, rgb(36 21 34 / 89%) 0%, rgb(36 21 34 / 72%) 39%, rgb(36 21 34 / 34%) 72%, rgb(36 21 34 / 48%) 100%); }
.menu-page .menu-hero__media img, .menu-page .menu-evening__media img { width: 100%; height: 100%; object-fit: cover; }
.menu-page .menu-hero__container { position: relative; z-index: 1; grid-area: 1 / 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; align-items: end; padding-block: 8rem 5.5rem; }
.menu-page .menu-hero__content { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.menu-page .menu-hero__content > * { min-width: 0; margin: 0; }
.menu-page .menu-hero h1 { max-width: 16ch; font-size: clamp(3.5rem, 6vw, 4.5rem); }
.menu-page .menu-hero__lead { max-width: 40ch; color: var(--color-warm-ivory); font-size: var(--text-lead); line-height: var(--leading-lead); }
.menu-page .menu-hero__actions, .menu-page .menu-reservation__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.menu-page .menu-reading__grid, .menu-page .menu-category__grid, .menu-page .menu-mains__grid, .menu-page .menu-season__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1.5rem; }
.menu-page .menu-reading__intro, .menu-page .menu-category__intro, .menu-page .menu-mains__intro, .menu-page .menu-season__intro { min-width: 0; grid-column: 1 / span 4; }
.menu-page .menu-reading__intro h2, .menu-page .menu-category__intro h2, .menu-page .menu-mains__intro h2, .menu-page .menu-season__intro h2 { max-width: 12ch; }
.menu-page .menu-reading__principles { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.menu-page .menu-reading__principle { min-width: 0; padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-border-copper); }
.menu-page .menu-reading__number, .menu-page .menu-season__card > span, .menu-page .menu-wine__directions span, .menu-page .menu-evening__steps span { display: block; margin-bottom: var(--space-3); color: var(--color-antique-copper); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); }
.menu-page .menu-reading__principle h3 { font-size: var(--text-h5); }
.menu-page .menu-reading__principle p { max-width: 28ch; }
.menu-page .menu-category--light { background: var(--color-warm-ivory); }
.menu-page .menu-category--moss { background: var(--color-moss-green); color: var(--color-warm-ivory); }
.menu-page .menu-category--moss .meta { color: var(--color-ivory-muted); }
.menu-page .menu-category__intro p:not(.meta) { max-width: 42ch; }
.menu-page .menu-category__note { color: var(--color-text-muted); font-size: var(--text-small); }
.menu-page .menu-category--moss .menu-category__note { color: var(--color-ivory-muted); }
.menu-page .menu-list { min-width: 0; }
.menu-page .menu-category__grid > .menu-list { grid-column: 5 / span 6; }
.menu-page .menu-list__item { min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border-copper); }
.menu-page .menu-list__item:last-of-type { border-bottom: 1px solid var(--color-border-copper); }
.menu-page .menu-list__item h3 { margin-bottom: var(--space-2); font-size: clamp(1.5rem, 2.1vw, 1.8rem); }
.menu-page .menu-list__item p { max-width: 36ch; margin-bottom: 0; }
.menu-page .menu-list--inverse .menu-list__item p, .menu-page .menu-list--inverse .menu-list__sharing { color: var(--color-ivory-muted); }
.menu-page .menu-list__sharing { margin-top: var(--space-4); max-width: 40ch; }
.menu-page .menu-mains { background: var(--color-warm-ivory); }
.menu-page .menu-mains__figure { grid-column: 8 / span 5; grid-row: 1 / span 2; min-width: 0; align-self: start; overflow: hidden; border-radius: 0 0 3rem 0; }
.menu-page .menu-mains__figure img { width: 100%; max-width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform var(--transition-slow); }
.menu-page .menu-mains__figure figcaption { padding-inline: var(--space-3); }
.menu-page .menu-mains__list { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-6); min-width: 0; }
.menu-page .menu-mains__list .menu-list__item { min-width: 0; }
.menu-page .menu-mains__list .menu-list__item p { max-width: 34ch; }
.menu-page .menu-season__cards { grid-column: 5 / span 8; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.menu-page .menu-season__card { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border-copper); background: var(--color-warm-ivory); }
.menu-page .menu-season__card > * { min-width: 0; }
.menu-page .menu-season__card h3 { font-size: var(--text-h5); }
.menu-page .menu-season__card p:not(.meta) { max-width: 31ch; }
.menu-page .menu-desserts__container { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.menu-page .menu-desserts__content { grid-column: 4 / span 6; min-width: 0; }
.menu-page .menu-desserts__content > p:not(.meta) { max-width: 42ch; }
.menu-page .menu-desserts__label { position: absolute; top: var(--space-7); left: 0; margin: 0; color: var(--color-antique-copper); font-size: var(--text-meta); font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; writing-mode: vertical-rl; }
.menu-page .menu-wine { background: var(--color-warm-ivory); }
.menu-page .menu-wine__container { width: min(100% - (var(--container-padding) * 2), 66.66rem); margin-inline: auto; }
.menu-page .menu-wine__intro { width: 40%; min-width: 0; }
.menu-page .menu-wine__intro p:not(.meta) { max-width: 42ch; }
.menu-page .menu-wine__directions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); }
.menu-page .menu-wine__directions article { min-width: 0; padding: var(--space-4) var(--space-5); border-inline-start: 1px solid var(--color-border-copper); }
.menu-page .menu-wine__directions article:last-child { border-inline-end: 1px solid var(--color-border-copper); }
.menu-page .menu-wine__directions h3 { font-size: var(--text-h5); }
.menu-page .menu-wine__directions p { max-width: 29ch; }
.menu-page .menu-drinks__title { max-width: 16ch; }
.menu-page .menu-drinks__bands { display: grid; grid-template-columns: minmax(0, 1fr); }
.menu-page .menu-drinks__band { min-width: 0; padding-block: var(--space-7); }
.menu-page .menu-drinks__band--cocktails { background: var(--color-deep-plum); color: var(--color-warm-ivory); }
.menu-page .menu-drinks__band--soft { background: var(--color-moss-green); color: var(--color-warm-ivory); }
.menu-page .menu-drinks__band--coffee { background: var(--color-ivory-surface); color: var(--color-plum-ink); }
.menu-page .menu-drinks__band .meta { color: var(--color-ivory-muted); }
.menu-page .menu-drinks__band--coffee .meta { color: var(--color-text-muted); }
.menu-page .menu-drinks__band-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.menu-page .menu-drinks__band-grid > div { min-width: 0; }
.menu-page .menu-drinks__band-grid > div:first-child { grid-column: 1 / span 4; }
.menu-page .menu-drinks__band-grid > div:last-child { grid-column: 5 / span 6; }
.menu-page .menu-drinks__band-grid h3 { font-size: var(--text-h3); }
.menu-page .menu-drinks__band-grid > div:last-child > p { max-width: 38ch; }
.menu-page .menu-drinks__band-grid ul { max-width: 28ch; }
.menu-page .menu-evening { position: relative; min-height: 38.75rem; display: grid; grid-template-columns: minmax(0, 1fr); background: var(--color-deep-plum); color: var(--color-warm-ivory); }
.menu-page .menu-evening__media, .menu-page .menu-evening__container { grid-column: 1; grid-row: 1; width: 100%; min-width: 0; }
.menu-page .menu-evening__media { overflow: hidden; }
.menu-page .menu-evening__container { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.menu-page .menu-evening__panel { grid-column: 1 / span 5; min-width: 0; padding: var(--space-6); background: rgb(36 21 34 / 90%); border: 1px solid var(--color-border-copper); }
.menu-page .menu-evening__lead { max-width: 39ch; font-size: var(--text-lead); }
.menu-page .menu-evening__steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
.menu-page .menu-evening__steps article { min-width: 0; padding: var(--space-4); background: rgb(22 14 22 / 38%); border: 1px solid rgb(168 120 85 / 50%); }
.menu-page .menu-evening__steps article:nth-child(2) { margin-inline-start: var(--space-3); }
.menu-page .menu-evening__steps h3 { font-size: var(--text-h5); }
.menu-page .menu-evening__steps p { max-width: 32ch; }
.menu-page .menu-reservation__content { width: 58.33%; min-width: 0; margin-inline: auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); }
.menu-page .menu-reservation__content > * { margin: 0; min-width: 0; }
.menu-page .menu-reservation__content p { max-width: 38ch; }
.menu-page .menu-reservation__actions { justify-content: center; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .menu-page .menu-hero__media img:hover, .menu-page .menu-evening__media img:hover, .menu-page .menu-mains__figure:hover img { transform: scale(1.03); } }
@media (max-width: 69.99rem) { .menu-page .menu-hero__content { grid-column: 1 / span 6; min-width: 0; } .menu-page .menu-mains__intro { grid-column: 1 / -1; } .menu-page .menu-mains__figure { grid-column: 1 / span 4; grid-row: 2; } .menu-page .menu-mains__list { grid-column: 5 / -1; grid-template-columns: minmax(0, 1fr); } .menu-page .menu-evening__panel { grid-column: 1 / span 6; } }
@media (max-width: 64.99rem) { .menu-page .menu-reading__grid, .menu-page .menu-category__grid, .menu-page .menu-season__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); } .menu-page .menu-reading__intro, .menu-page .menu-category__intro, .menu-page .menu-season__intro { grid-column: 1 / -1; } .menu-page .menu-reading__principles, .menu-page .menu-category__grid > .menu-list, .menu-page .menu-season__cards { grid-column: 1 / -1; } .menu-page .menu-reading__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .menu-page .menu-reading__principle:last-child { grid-column: 1 / span 2; } .menu-page .menu-season__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .menu-page .menu-season__card:last-child { grid-column: 1 / span 2; } }
@media (max-width: 56.24rem) { .menu-page .menu-drinks__band-grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); } .menu-page .menu-drinks__band-grid > div:first-child, .menu-page .menu-drinks__band-grid > div:last-child { grid-column: 1; } .menu-page .menu-evening { min-height: auto; grid-template-columns: minmax(0, 1fr); } .menu-page .menu-evening__media, .menu-page .menu-evening__container { grid-column: 1; grid-row: auto; } .menu-page .menu-evening__media { grid-row: 1; height: 28rem; } .menu-page .menu-evening__container { grid-row: 2; display: block; width: 100%; } .menu-page .menu-evening__panel { width: 100%; padding: var(--space-6); border: 0; } .menu-page .menu-evening__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } .menu-page .menu-evening__steps article:nth-child(2) { margin-inline-start: 0; } .menu-page .menu-reservation__content { width: 100%; } }
@media (max-width: 47.49rem) { .menu-page .menu-hero { min-height: 42.5rem; } .menu-page .menu-hero__media { height: 100%; } .menu-page .menu-hero__media::after { background: linear-gradient(0deg, rgb(36 21 34 / 94%), rgb(36 21 34 / 35%) 76%); } .menu-page .menu-hero__container { display: block; width: 100%; padding-top: 7rem; padding-bottom: var(--space-5); } .menu-page .menu-hero__content { gap: var(--space-4); } .menu-page .menu-hero h1 { font-size: clamp(2.75rem, 12vw, 3.5rem); line-height: 1.03; } .menu-page .menu-hero__lead { max-width: none; font-size: 1.0625rem; } .menu-page .menu-reading__grid, .menu-page .menu-category__grid, .menu-page .menu-mains__grid, .menu-page .menu-season__grid, .menu-page .menu-desserts__container, .menu-page .menu-evening__container { grid-template-columns: minmax(0, 1fr); } .menu-page .menu-reading__intro, .menu-page .menu-category__intro, .menu-page .menu-mains__intro, .menu-page .menu-season__intro, .menu-page .menu-category__grid > .menu-list, .menu-page .menu-mains__figure, .menu-page .menu-mains__list, .menu-page .menu-season__cards, .menu-page .menu-desserts__content { grid-column: 1; grid-row: auto; } .menu-page .menu-reading__principles, .menu-page .menu-season__cards, .menu-page .menu-mains__list, .menu-page .menu-evening__steps { grid-template-columns: minmax(0, 1fr); } .menu-page .menu-reading__principles { grid-column: 1; } .menu-page .menu-reading__principle:last-child, .menu-page .menu-season__card:last-child { grid-column: 1; } .menu-page .menu-reading__principle { padding-top: var(--space-4); padding-inline-start: 0; border-inline-start: 0; border-top: 1px solid var(--color-border-copper); } .menu-page .menu-mains__figure { margin-bottom: var(--space-3); border-radius: 0 0 2.5rem 0; } .menu-page .menu-desserts__label { display: none; } .menu-page .menu-wine__container { width: min(100% - (var(--container-padding-mobile) * 2), 66.66rem); } .menu-page .menu-wine__intro { width: 100%; } .menu-page .menu-wine__directions { grid-template-columns: minmax(0, 1fr); margin-top: var(--space-5); } .menu-page .menu-wine__directions article, .menu-page .menu-wine__directions article:last-child { padding: var(--space-4) 0; border-inline: 0; border-top: 1px solid var(--color-border-copper); } .menu-page .menu-wine__directions article:last-child { border-bottom: 1px solid var(--color-border-copper); } .menu-page .menu-drinks__band { padding-block: var(--space-6); } .menu-page .menu-evening__media { height: min(125vw, 31rem); } .menu-page .menu-evening__panel { padding: var(--space-6) var(--container-padding-mobile); } .menu-page .menu-reservation__content { align-items: flex-start; text-align: left; } .menu-page .menu-reservation__actions { width: 100%; flex-direction: column; align-items: stretch; } .menu-page .menu-reservation__actions > * { width: 100%; } }
