.menu-page {
  overflow: hidden;
}

.menu-page .eyebrow {
  margin-bottom: var(--space-3);
}

.menu-page__text-action {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: currentColor;
  font-size: var(--text-utility);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.menu-hero {
  padding-block: var(--space-8) var(--section-space);
}

.menu-hero__layout {
  display: grid;
  grid-template-columns: minmax(24.375rem, 5fr) minmax(38.75rem, 7fr);
  align-items: center;
  gap: var(--space-7);
  width: min(100% - var(--gutter), calc((100% - var(--container-max)) / 2 + var(--container-max)));
  margin-left: max(var(--gutter), calc((100% - var(--container-max)) / 2));
}

.menu-hero__copy,
.menu-hero__media,
.menu-ingredients__intro,
.menu-ingredients__image,
.menu-ingredients__units,
.menu-seafood__media,
.menu-seafood__copy,
.menu-mains__intro,
.menu-mains__pathways,
.menu-mains__note,
.menu-dessert__media,
.menu-dessert__copy,
.menu-process__heading,
.menu-process__media,
.menu-process__stage,
.menu-process__stages,
.menu-room__media,
.menu-room__overlay,
.menu-room__unit,
.menu-signature__heading,
.menu-signature__unit,
.menu-casino__copy,
.menu-casino__arc,
.menu-continue__heading,
.menu-continue__tile {
  min-width: 0;
}

.menu-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 42.5rem;
}

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

.menu-hero__copy h1 {
  max-width: 12ch;
  font-size: clamp(3.5rem, 6vw, 5.5rem);
}

.menu-hero__copy .lead {
  max-width: 62ch;
}

.menu-hero__copy > p:not(.lead):not(.eyebrow) {
  max-width: 62ch;
}

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

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

.menu-hero__media {
  width: 100%;
  margin: 0;
}

.menu-hero__media img {
  aspect-ratio: 4 / 3;
  object-position: right center;
}

.menu-ingredients__intro {
  width: 50%;
  max-width: 42.5rem;
}

.menu-ingredients__intro p:last-child {
  max-width: 66ch;
}

.menu-ingredients__image {
  width: 100%;
  margin: var(--space-7) 0 0;
}

.menu-ingredients__image img {
  aspect-ratio: 3 / 2;
  object-position: center;
}

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

.menu-ingredient-unit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-steel-line);
  color: inherit;
  text-decoration: none;
}

.menu-ingredient-unit > * {
  min-width: 0;
  margin: 0;
}

.menu-ingredient-unit:hover h3,
.menu-ingredient-unit:focus-visible h3 {
  color: var(--colour-soft-flax);
}

.menu-ingredient-unit h3,
.menu-ingredient-unit p {
  max-width: 50ch;
}

.menu-ingredient-unit__number {
  color: var(--colour-harbour-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.menu-ingredient-unit:last-child .menu-ingredient-unit__number {
  color: var(--colour-burnt-mandarin);
}

.menu-seafood__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: start;
  gap: var(--space-7);
}

.menu-seafood__media {
  width: 100%;
  margin: 0;
}

.menu-seafood__media img {
  aspect-ratio: 4 / 3;
  object-position: center;
}

.menu-seafood__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.menu-seafood__copy .lead {
  max-width: 55ch;
}

.menu-seafood__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}

.menu-detail-panel {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--colour-steel-line);
}

.menu-detail-panel h3,
.menu-detail-panel p {
  max-width: 55ch;
}

.menu-detail-panel p:last-child {
  margin-bottom: 0;
}

.menu-mains__intro {
  width: 58.333%;
  max-width: 43rem;
}

.menu-mains__intro p:last-child {
  max-width: 62ch;
}

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

.menu-pathway {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-6);
  border-top: 1px solid var(--colour-steel-line);
}

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

.menu-pathway p:not(.meta) {
  max-width: 54ch;
}

.menu-pathway--fire {
  background: var(--colour-deep-graphite);
}

.menu-pathway--vegetable {
  background: var(--colour-fern);
}

.menu-mains__note {
  width: 50%;
  max-width: 40rem;
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-steel-line);
}

.menu-mains__note p {
  max-width: 60ch;
  margin-bottom: 0;
}

.menu-dessert__layout {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
  align-items: center;
  gap: var(--space-7);
  width: min(100% - var(--gutter), calc((100% - var(--container-max)) / 2 + var(--container-max)));
}

.menu-dessert__media {
  width: 100%;
  margin: 0;
}

.menu-dessert__media img {
  aspect-ratio: 4 / 3;
  object-position: left center;
}

.menu-dessert__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

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

.menu-dessert__copy .lead {
  max-width: 52ch;
}

.menu-dessert__units {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
}

.menu-dessert-unit {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--colour-steel-line);
}

.menu-dessert-unit p:not(.meta),
.menu-dessert-unit h3 {
  max-width: 48ch;
}

.menu-dessert-unit p:last-child {
  margin-bottom: 0;
}

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

.menu-process__heading p:last-child {
  max-width: 56ch;
  margin-inline: auto;
}

.menu-process__layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);
  align-items: start;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

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

.menu-process__media {
  width: 100%;
  margin: 0;
}

.menu-process__media img {
  aspect-ratio: 3 / 2;
  object-position: right center;
}

.menu-process__stage {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

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

.menu-process__stage p:not(.meta) {
  max-width: 52ch;
}

.menu-process__stages {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.menu-process__stage--two {
  padding: var(--space-5);
  background: var(--colour-soft-flax);
  color: var(--colour-deep-graphite);
}

.menu-process__stage--two h3 {
  color: var(--colour-deep-graphite);
}

.menu-process__stage--two .meta {
  color: var(--colour-harbour-blue);
}

.menu-process__stage--three {
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-steel-line);
}

.menu-room {
  padding-top: 0;
}

.menu-room__scene {
  position: relative;
  min-width: 0;
}

.menu-room__media {
  width: 100%;
  margin: 0;
}

.menu-room__media img {
  aspect-ratio: 3 / 2;
  object-position: center;
}

.menu-room__overlay {
  position: absolute;
  top: 50%;
  left: max(var(--gutter), calc((100% - var(--container-max)) / 2));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: min(35rem, 44vw);
  transform: translateY(-50%);
  padding: var(--space-6);
  background: var(--colour-smoked-glass);
  box-shadow: var(--shadow-floating);
}

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

.menu-room__overlay .lead {
  max-width: 56ch;
}

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

.menu-room__unit {
  min-width: 0;
  padding: var(--space-5);
  background: var(--colour-graphite-stone);
}

.menu-room__unit p:not(.meta),
.menu-room__unit h3 {
  max-width: 60ch;
}

.menu-room__unit p:last-child {
  margin-bottom: 0;
}

.menu-signature__heading {
  width: 66.667%;
  max-width: 37.5rem;
  margin-inline: auto;
  text-align: center;
}

.menu-signature__heading .lead {
  max-width: 60ch;
  margin-inline: auto;
}

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

.menu-signature__unit {
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-steel-line);
}

.menu-signature__unit > span {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--colour-harbour-blue);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.menu-signature__unit p,
.menu-signature__unit h3 {
  max-width: 46ch;
}

.menu-signature__unit p:last-child {
  margin-bottom: 0;
}

.menu-signature__action {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: var(--space-7);
}

.menu-casino {
  position: relative;
  padding-block: var(--section-space);
}

.menu-casino__layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 8fr) minmax(0, 2fr);
  align-items: stretch;
}

.menu-casino__copy {
  grid-column: 2;
  width: 100%;
  max-width: 38.75rem;
}

.menu-casino__copy > p:not(.eyebrow) {
  max-width: 62ch;
}

.menu-casino__arc {
  grid-column: 3;
  align-self: center;
  min-height: 13rem;
  border-top: 1px solid var(--colour-steel-line);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: translateX(-20%);
}

.menu-casino__fact {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--colour-graphite-stone);
}

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

.menu-casino__fact p:not(.muted) {
  max-width: 62ch;
}

.menu-continue__heading {
  width: 58.333%;
  max-width: 42.5rem;
}

.menu-continue__heading .lead {
  max-width: 64ch;
}

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

.menu-continue__tile {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-steel-line);
}

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

.menu-continue__tile p {
  max-width: 46ch;
}

.menu-continue__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
}

@media (max-width: 65rem) {
  .menu-process__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-process__media {
    max-width: 52rem;
  }

  .menu-process__layout > .menu-process__stage,
  .menu-process__stages {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .menu-process__layout > .menu-process__stage {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-process__stages {
    grid-column: 1;
  }
}

@media (max-width: 60rem) {
  .menu-ingredients__units {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-ingredients__units > :last-child {
    grid-column: 1 / span 2;
    width: calc(50% - (var(--space-6) / 2));
  }

  .menu-seafood__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-seafood__copy {
    max-width: 42.5rem;
  }

  .menu-seafood__details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }
}

@media (max-width: 56.25rem) {
  .menu-hero {
    padding-top: var(--space-6);
  }

  .menu-hero__layout,
  .menu-dessert__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
    width: min(100% - (var(--gutter) * 2), var(--container-max));
    margin-inline: auto;
  }

  .menu-hero__media {
    grid-row: 1;
  }

  .menu-hero__copy {
    grid-row: 2;
    max-width: 100%;
  }

  .menu-hero__copy h1 {
    max-width: 14ch;
  }

  .menu-dessert__copy {
    max-width: 42.5rem;
  }

  .menu-mains__pathways {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-mains__note {
    width: 66.667%;
  }

  .menu-room__overlay {
    position: static;
    width: min(100% - (var(--gutter) * 2), var(--container-max));
    margin: var(--space-6) auto 0;
    transform: none;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }

  .menu-room__overlay .eyebrow {
    color: var(--colour-mist-flax);
  }

  .menu-room__units {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-signature__units {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-signature__units > :last-child {
    grid-column: 1 / span 2;
    width: calc(50% - (var(--space-6) / 2));
  }

  .menu-continue__tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-continue__tiles > :last-child {
    grid-column: 1 / span 2;
    width: calc(50% - (var(--space-6) / 2));
  }
}

@media (max-width: 47.5rem) {
  .menu-casino__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-casino__copy {
    grid-column: 1;
    width: 83.333%;
    margin-inline: auto;
  }

  .menu-casino__arc {
    display: none;
  }
}

@media (max-width: 45rem) {
  .menu-hero,
  .menu-dessert {
    padding-block: var(--section-space);
  }

  .menu-hero__layout,
  .menu-dessert__layout {
    gap: var(--space-5);
  }

  .menu-hero__media img,
  .menu-dessert__media img {
    aspect-ratio: 4 / 3;
  }

  .menu-hero__copy h1 {
    font-size: clamp(2.625rem, 12vw, 3.5rem);
  }

  .menu-hero__actions,
  .menu-hero__actions .button {
    width: 100%;
  }

  .menu-hero__actions .menu-page__text-action {
    width: 100%;
  }

  .menu-ingredients__intro,
  .menu-mains__intro,
  .menu-mains__note,
  .menu-continue__heading,
  .menu-signature__heading,
  .menu-casino__copy {
    width: 100%;
    max-width: none;
  }

  .menu-ingredients__units,
  .menu-seafood__details,
  .menu-signature__units,
  .menu-continue__tiles,
  .menu-room__units {
    grid-template-columns: minmax(0, 1fr);
  }

  .menu-ingredients__units > :last-child,
  .menu-signature__units > :last-child,
  .menu-continue__tiles > :last-child {
    grid-column: auto;
    width: 100%;
  }

  .menu-ingredients__image {
    margin-top: var(--space-6);
  }

  .menu-seafood__copy,
  .menu-dessert__copy {
    max-width: none;
  }

  .menu-detail-panel,
  .menu-dessert-unit {
    padding: var(--space-5);
    background: rgba(255, 255, 255, 0.12);
  }

  .menu-pathway {
    padding: var(--space-5);
  }

  .menu-process__heading {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  .menu-process__heading p:last-child {
    margin-inline: 0;
  }

  .menu-process__layout,
  .menu-process__layout > .menu-process__stage,
  .menu-process__stages {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .menu-process__stage--two {
    padding: var(--space-5);
  }

  .menu-room__media {
    width: min(100% - (var(--gutter) * 2), var(--container-max));
    margin-inline: auto;
  }

  .menu-room__media img {
    aspect-ratio: 3 / 2;
    object-position: center;
  }

  .menu-room__overlay {
    width: min(100% - (var(--gutter) * 2), var(--container-max));
  }

  .menu-room__units {
    padding-top: var(--space-6);
  }

  .menu-signature__heading {
    text-align: left;
  }

  .menu-signature__heading .lead {
    margin-inline: 0;
  }

  .menu-signature__action,
  .menu-signature__action .button,
  .menu-continue__tile .button {
    width: 100%;
  }

  .menu-casino {
    padding-block: var(--section-space-compact);
  }

  .menu-casino::before {
    display: block;
    width: 5rem;
    height: 1px;
    margin: 0 0 var(--space-5) var(--gutter);
    background: var(--colour-steel-line);
    content: "";
  }

  .menu-casino__fact {
    padding: var(--space-5);
  }
}

@media (hover: hover) and (pointer: fine) {
  .menu-ingredient-unit:hover {
    border-top-color: var(--colour-soft-flax);
  }
}
