.menu-page {
  background: var(--color-warm-ivory);
}

.menu-page section[id] {
  scroll-margin-top: 7rem;
}

.menu-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-14) var(--space-20);
}

.menu-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.menu-hero__copy {
  grid-column: 1 / 2;
  position: relative;
  z-index: 1;
  min-width: 0;
}

.menu-hero__lead {
  max-width: 38rem;
  font-size: var(--text-18);
  line-height: 1.55;
}

.menu-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: var(--space-4);
}

.menu-hero__actions > * {
  min-width: 0;
}

.menu-hero__secondary-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: var(--weight-bold);
}

.menu-hero__media {
  grid-column: 3 / 4;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.menu-hero__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center;
}

.menu-hero__numeral {
  position: absolute;
  z-index: 0;
  top: -1.8rem;
  left: 18%;
  color: var(--color-sandstone);
  font-family: var(--font-sans);
  font-size: clamp(7rem, 17vw, 13rem);
  font-weight: var(--weight-bold);
  line-height: 0.8;
  opacity: 0.42;
  pointer-events: none;
}

.menu-index {
  border-block: var(--border-width) solid var(--color-line-sand);
}

.menu-index__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 10fr);
  gap: var(--space-4) var(--space-8);
  align-items: start;
}

.menu-index__intro,
.menu-index__note,
.menu-index__nav {
  min-width: 0;
}

.menu-index__intro p:not(.eyebrow) {
  max-width: 32rem;
}

.menu-index__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-2) var(--space-4);
}

.menu-index__nav a {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  min-height: 2.75rem;
  gap: var(--space-2);
  border-bottom: var(--border-width) solid var(--color-line-sand);
  color: var(--color-eucalyptus);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  text-decoration: none;
}

.menu-index__nav a span {
  color: var(--color-muted-cobalt);
  font-variant-numeric: tabular-nums;
}

.menu-index__nav a:hover,
.menu-index__nav a.is-active {
  border-bottom: var(--border-strong-width) solid var(--color-eucalyptus);
  color: var(--color-muted-cobalt);
}

.menu-index__note {
  grid-column: 1 / -1;
  max-width: 34rem;
  margin: 0;
  color: var(--color-eucalyptus);
  font-size: var(--text-14);
}

.menu-sharing .container,
.menu-dessert .container {
  position: relative;
}

.menu-sharing__heading {
  width: min(100%, 42.5rem);
}

.menu-sharing__heading > :last-child,
.menu-grill__copy > :last-child,
.menu-drinks__intro > :last-child,
.menu-best__intro > :last-child,
.menu-care__panel > :last-child,
.menu-dessert__intro > :last-child,
.menu-spaces__intro > :last-child,
.menu-closing__copy > :last-child {
  margin-bottom: 0;
}

.menu-sharing__rail {
  position: absolute;
  top: 1rem;
  right: var(--page-gutter);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 18rem;
  min-width: 0;
  color: var(--color-eucalyptus);
}

.menu-sharing__rail span {
  color: var(--color-sandstone);
  font-size: var(--text-96);
  font-weight: var(--weight-bold);
  line-height: 0.8;
  opacity: 0.58;
}

.menu-sharing__rail small {
  margin-top: var(--space-2);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.menu-sharing__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.menu-info-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-line-sand);
}

.menu-info-card > * {
  min-width: 0;
  margin: 0;
}

.menu-info-card--sand { background: var(--color-sandstone); }
.menu-info-card--ivory { background: var(--color-warm-ivory); }
.menu-info-card--image { padding: 0; background: var(--color-warm-ivory); }

.menu-info-card--image > img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 2;
  object-fit: cover;
  object-position: center 58%;
}

.menu-info-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
}

.menu-info-card__body > * { margin: 0; }

.menu-sequence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-eucalyptus);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
}

.menu-sequence b { color: var(--color-burnt-apricot); }

.menu-grill {
  background: var(--color-sandstone);
}

.menu-grill__top {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  align-items: center;
}

.menu-grill__copy {
  grid-column: 1 / 2;
  min-width: 0;
}

.menu-grill__lead {
  max-width: 35rem;
  font-size: var(--text-18);
}

.menu-grill__rule {
  width: 5rem;
  height: var(--border-strong-width);
  margin-block: var(--space-6);
  background: var(--color-eucalyptus);
}

.menu-grill__media {
  grid-column: 3 / 4;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.menu-grill__media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
}

.menu-grill__notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.menu-note-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-line-sand);
}

.menu-note-card > * { min-width: 0; margin: 0; }
.menu-note-card--sand { background: color-mix(in srgb, var(--color-warm-ivory) 50%, transparent); }
.menu-note-card--ivory { background: var(--color-warm-ivory); }

.menu-note-card__marker {
  color: var(--color-muted-cobalt);
  font-size: var(--text-24);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}

.menu-note-card__marker span {
  font-size: var(--text-12);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.menu-drinks {
  background: var(--color-warm-ivory);
}

.menu-drinks__intro {
  width: min(100%, 45rem);
  margin-inline: auto;
  text-align: center;
}

.menu-drinks__intro p:not(.eyebrow) {
  margin-inline: auto;
  max-width: 41rem;
}

.menu-drinks__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.menu-drink-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-line-sand);
  border-top: var(--border-strong-width) solid var(--color-eucalyptus);
  background: var(--color-sandstone);
}

.menu-drink-card > * { min-width: 0; margin: 0; }

.menu-drink-card__rank {
  color: var(--color-muted-cobalt);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}

.menu-best__intro {
  width: min(100%, 42.5rem);
}

.menu-best__subtitle {
  color: var(--color-eucalyptus);
  font-family: var(--font-serif);
  font-size: var(--text-24);
  font-style: italic;
  line-height: 1.2;
}

.menu-best__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: var(--space-10) 0 0;
  padding: 0;
  list-style: none;
}

.menu-best__list li {
  display: grid;
  grid-template-columns: 10rem minmax(0, 1fr) 10rem;
  min-width: 0;
  padding-block: var(--space-6);
  border-top: var(--border-width) solid var(--color-line-sand);
}

.menu-best__list li > * { min-width: 0; }

.menu-best__rank {
  grid-column: 1;
  color: var(--color-muted-cobalt);
  font-size: var(--text-24);
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}

.menu-best__list li > div {
  grid-column: 2;
  width: min(100%, 42.5rem);
}

.menu-best__list h3 { margin-bottom: var(--space-2); font-family: var(--font-sans); font-size: var(--text-18); letter-spacing: 0; }
.menu-best__list p { margin-bottom: 0; }
.menu-best__item--final { border-bottom: var(--border-width) solid var(--color-line-sand); }
.menu-best__item--final .menu-best__rank { color: var(--color-burnt-apricot); }

.menu-care {
  background: var(--color-sandstone);
}

.menu-care__panel {
  width: min(100%, 43.75rem);
  margin-inline: auto;
}

.menu-care__details {
  margin-top: var(--space-8);
  border-top: var(--border-width) solid var(--color-line-sand);
}

.menu-care__details summary {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding-block: var(--space-3);
  color: var(--color-eucalyptus);
  font-weight: var(--weight-bold);
  cursor: pointer;
}

.menu-care__details summary::marker { color: var(--color-burnt-apricot); }
.menu-care__details p { margin: var(--space-4) 0 0; }

.menu-dessert__intro {
  width: min(100%, 31rem);
}

.menu-dessert__numeral {
  position: absolute;
  top: 0;
  right: 9%;
  color: var(--color-sandstone);
  font-size: clamp(8rem, 16vw, 13rem);
  font-weight: var(--weight-bold);
  line-height: 0.8;
  opacity: 0.55;
  pointer-events: none;
}

.menu-dessert__cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.menu-dessert-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-line-sand);
}

.menu-dessert-card > * { min-width: 0; margin: 0; }
.menu-dessert-card--ivory { background: var(--color-warm-ivory); }
.menu-dessert-card--sand { background: var(--color-sandstone); }
.menu-dessert-card__rank { color: var(--color-muted-cobalt); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }

.menu-spaces__intro {
  width: min(100%, 45rem);
  margin-inline: auto;
  text-align: center;
}

.menu-spaces__intro p:not(.eyebrow) { margin-inline: auto; max-width: 42rem; }

.menu-spaces__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-10);
}

.menu-space-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-8);
  border: var(--border-width) solid var(--color-line-sand);
  border-top: var(--border-strong-width) solid var(--color-eucalyptus);
}

.menu-space-card > * { min-width: 0; margin: 0; }
.menu-space-card--lounge { background: var(--color-warm-ivory); }
.menu-space-card--room { border-top-color: var(--color-muted-cobalt); background: var(--color-sandstone); }
.menu-space-card--plan { border-top-color: var(--color-burnt-apricot); background: var(--color-warm-ivory); }

.menu-space-card__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-3);
  margin-top: auto;
}

.menu-space-card__links a,
.menu-space-card > a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
}

.menu-closing {
  overflow: hidden;
  padding-block: var(--space-20);
  background: var(--color-eucalyptus);
  color: var(--color-soft-white);
}

.menu-closing__layout {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 2fr) minmax(0, 3fr);
}

.menu-closing__copy {
  grid-column: 1 / 2;
  position: relative;
  z-index: 1;
  min-width: 0;
}

.menu-closing .eyebrow,
.menu-closing h2 { color: var(--color-soft-white); }

.menu-closing__copy > p:not(.eyebrow):not(.menu-closing__line) { max-width: 41rem; }

.menu-closing__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: var(--space-4);
}

.menu-closing__actions > * { min-width: 0; }

.menu-closing__actions > a:not(.button) {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-soft-white);
}

.menu-closing__line {
  margin-top: var(--space-8);
  padding-top: var(--space-4);
  border-top: 1px solid color-mix(in srgb, var(--color-soft-white) 45%, transparent);
  color: var(--color-soft-white);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.menu-closing__numeral {
  grid-column: 3 / 4;
  align-self: center;
  color: var(--color-soft-white);
  font-size: clamp(9rem, 20vw, 16rem);
  font-weight: var(--weight-bold);
  line-height: 0.8;
  opacity: 0.17;
  text-align: right;
  pointer-events: none;
}

@media (max-width: 63.9375rem) {
  .menu-hero__grid,
  .menu-grill__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .menu-hero__copy,
  .menu-grill__copy { grid-column: 1; }
  .menu-hero__media,
  .menu-grill__media { grid-column: 2; }
  .menu-hero__numeral { left: 6%; }

  .menu-index__layout { grid-template-columns: 1fr; gap: var(--space-4); }
  .menu-index__nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .menu-index__note { grid-column: 1; }

  .menu-sharing__rail { display: none; }
  .menu-sharing__heading { width: min(100%, 42.5rem); }
  .menu-sharing__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-sharing__cards > :nth-child(3) { grid-column: 1 / -1; }

  .menu-grill__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-drinks__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-drinks__cards > :nth-child(3) { grid-column: 1 / -1; }

  .menu-best__list li { grid-template-columns: 3.25rem minmax(0, 1fr); }
  .menu-best__rank { grid-column: 1; }
  .menu-best__list li > div { grid-column: 2; }

  .menu-dessert__numeral { display: none; }
  .menu-spaces__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-spaces__cards > :nth-child(3) { grid-column: 1 / -1; }

  .menu-closing__layout { grid-template-columns: 1fr; }
  .menu-closing__copy { grid-column: 1; }
  .menu-closing__numeral { display: none; }
}

@media (max-width: 44.9375rem) {
  .menu-hero { padding-block: var(--space-10); }
  .menu-hero__grid,
  .menu-grill__top { grid-template-columns: 1fr; gap: var(--space-6); }
  .menu-hero__copy,
  .menu-grill__copy,
  .menu-hero__media,
  .menu-grill__media { grid-column: 1; }
  .menu-hero__numeral { display: none; }
  .menu-hero__lead,
  .menu-grill__lead { font-size: var(--text-16); }
  .menu-hero__media img { aspect-ratio: 4 / 5; object-position: center; }
  .menu-grill__media img { aspect-ratio: 4 / 5; object-position: center; }
  .menu-hero__actions { flex-direction: column; align-items: flex-start; }

  .menu-index__nav {
    display: flex;
    width: calc(100% + var(--page-gutter));
    overflow-x: auto;
    padding-right: var(--page-gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .menu-index__nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 0 var(--space-4);
    border: var(--border-width) solid var(--color-line-sand);
    border-radius: var(--radius-pill);
    background: var(--color-warm-ivory);
    white-space: nowrap;
  }

  .menu-index__nav a.is-active { border: var(--border-strong-width) solid var(--color-eucalyptus); }

  .menu-sharing__cards,
  .menu-grill__notes,
  .menu-drinks__cards,
  .menu-dessert__cards,
  .menu-spaces__cards { grid-template-columns: 1fr; gap: var(--space-4); }
  .menu-sharing__cards > :nth-child(3),
  .menu-drinks__cards > :nth-child(3),
  .menu-spaces__cards > :nth-child(3) { grid-column: 1; }

  .menu-info-card,
  .menu-note-card,
  .menu-drink-card,
  .menu-dessert-card,
  .menu-space-card { padding: var(--space-6); }

  .menu-info-card--image { padding: 0; }
  .menu-info-card__body { padding: var(--space-6); }
  .menu-info-card--image > img { aspect-ratio: 3 / 2; }

  .menu-drinks__intro,
  .menu-spaces__intro { width: 100%; text-align: left; }
  .menu-drinks__intro .eyebrow,
  .menu-spaces__intro .eyebrow { text-align: left; }
  .menu-drinks__intro h2,
  .menu-spaces__intro h2 { text-align: center; }
  .menu-drinks__intro p:not(.eyebrow),
  .menu-spaces__intro p:not(.eyebrow) { margin-inline: 0; max-width: none; }

  .menu-best__list { margin-top: var(--space-8); }
  .menu-best__list li { grid-template-columns: 1fr; gap: var(--space-2); padding-block: var(--space-4); }
  .menu-best__rank { grid-column: 1; }
  .menu-best__list li > div { grid-column: 1; width: 100%; }
  .menu-best__list h3 { font-size: var(--text-18); }

  .menu-care__panel { width: 100%; }
  .menu-care { padding-block: var(--space-10); }

  .menu-closing { padding-block: var(--space-10); }
  .menu-closing__actions { flex-direction: column; align-items: stretch; gap: var(--space-3); }
  .menu-closing__actions .button { width: 100%; }
  .menu-closing__actions > a:not(.button) { width: 100%; }
}

@media (min-width: 75rem) {
  .menu-hero { padding-block: var(--space-28); }
  .menu-closing { padding-block: var(--space-28); }
}
