.la-carte-page {
  overflow: hidden;
}

.la-carte-page .container {
  width: min(calc(100% - 4rem), 80rem);
}

.la-carte-hero__grid,
.la-carte-starters__grid,
.la-carte-mains__top,
.la-carte-desserts__grid,
.la-carte-cocktails__top,
.la-carte-poker__top {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.la-carte-hero {
  padding-block-start: clamp(3.5rem, 7vw, 6rem);
}

.la-carte-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.la-carte-hero__copy h1 {
  max-width: 19ch;
}

.la-carte-hero__copy .lead,
.la-carte-hero__copy > p:not(.eyebrow):not(.la-carte-hero__support) {
  max-width: 64ch;
}

.la-carte-hero__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
  box-shadow: var(--shadow-soft);
}

.la-carte-hero__media img {
  width: 100%;
  height: clamp(31rem, 49vw, 43rem);
  object-fit: cover;
}

.la-carte-hero__actions,
.la-carte-conclusion__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

.la-carte-hero__actions > *,
.la-carte-conclusion__actions > * {
  min-width: 0;
}

.la-carte-hero__support {
  max-width: 62ch;
  font-size: 1rem;
}

.la-carte-season__intro {
  width: min(100%, 34rem);
}

.la-carte-season__intro p:not(.eyebrow) {
  max-width: 58ch;
}

.la-carte-season__cards,
.la-carte-poker__guarantees,
.la-carte-visit__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.la-carte-season__cards {
  margin-top: var(--space-7);
}

.la-carte-season__card {
  min-width: 0;
  padding: var(--space-5);
  border-top: 1px solid var(--color-seringa-green);
  background: var(--color-linen);
}

.la-carte-season__card p {
  max-width: 52ch;
}

.la-carte-season__card--botanical {
  border-color: var(--color-seringa-green);
}

.la-carte-season__card--warm {
  background: color-mix(in srgb, var(--color-natural-linen) 68%, var(--color-linen));
}

.la-carte-starters__intro {
  grid-column: 1 / span 4;
  min-width: 0;
}

.la-carte-starters__intro p {
  max-width: 60ch;
}

.la-carte-starters__media {
  grid-column: 5 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.la-carte-starters__media img {
  width: 100%;
  height: 34rem;
  object-fit: cover;
}

.la-carte-starters__cards {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  grid-column: 10 / span 3;
}

.la-carte-starters__cards > * {
  min-width: 0;
}

.la-carte-starters__card {
  padding-block-end: var(--space-5);
  border-bottom: 1px solid var(--color-border);
}

.la-carte-starters__card p {
  max-width: 42ch;
}

.la-carte-starters__conversation {
  width: min(100%, 52rem);
  min-width: 0;
  margin-top: var(--space-7);
  padding: var(--space-5);
  border-left: 3px solid var(--color-peach-coral);
  background: var(--color-linen);
}

.la-carte-starters__conversation p {
  max-width: 68ch;
}

.la-carte-mains__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.la-carte-mains__copy p {
  max-width: 66ch;
}

.la-carte-mains__media {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
  box-shadow: var(--shadow-soft);
}

.la-carte-mains__media img {
  width: 100%;
  height: 21rem;
  object-fit: cover;
}

.la-carte-mains__lines {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin-top: var(--space-7);
  border-top: 1px solid var(--color-border);
}

.la-carte-mains__line {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(10rem, 3fr) minmax(0, 5fr) minmax(2rem, 1fr);
  gap: var(--space-5);
  align-items: start;
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--color-border);
}

.la-carte-mains__line > * {
  min-width: 0;
}

.la-carte-mains__line h3,
.la-carte-mains__line p {
  margin: 0;
}

.la-carte-mains__line p {
  max-width: 55ch;
}

.la-carte-mains__line span {
  color: var(--color-seringa-green);
  text-align: right;
}

.la-carte-garden__panorama {
  position: relative;
  min-width: 0;
}

.la-carte-garden__panorama figure {
  margin: 0;
}

.la-carte-garden__panorama img {
  width: 100%;
  height: 32.5rem;
  object-fit: cover;
}

.la-carte-garden__overlay {
  position: absolute;
  top: var(--space-6);
  left: var(--space-6);
  width: min(31rem, 36%);
  min-width: 0;
  padding: var(--space-5);
  background: rgb(245 240 231 / 92%);
}

.la-carte-garden__overlay p:not(.eyebrow) {
  max-width: 50ch;
}

.la-carte-garden__below {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.la-carte-garden__below > div {
  min-width: 0;
}

.la-carte-garden__below > div:first-child {
  grid-column: 1 / span 5;
}

.la-carte-garden__below > div:last-child {
  grid-column: 7 / span 4;
}

.la-carte-garden__below p {
  max-width: 54ch;
}

.la-carte-desserts__intro {
  grid-column: 1 / span 4;
  min-width: 0;
}

.la-carte-desserts__intro p {
  max-width: 60ch;
}

.la-carte-desserts__media {
  grid-column: 5 / span 4;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.la-carte-desserts__media img {
  width: 100%;
  height: 34rem;
  object-fit: cover;
}

.la-carte-desserts__cards {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  grid-column: 9 / span 4;
}

.la-carte-desserts__cards > * {
  min-width: 0;
  padding: var(--space-5);
  background: var(--color-linen);
}

.la-carte-desserts__cards > article:last-child {
  background: var(--color-natural-linen);
}

.la-carte-desserts__cards p {
  max-width: 46ch;
}

.la-carte-desserts__closing {
  width: min(100%, 52rem);
  margin-top: var(--space-7);
  color: var(--color-deep-plum);
  font-family: var(--font-heading);
  font-size: var(--text-intro);
  font-style: italic;
  line-height: 1.4;
}

.la-carte-cocktails__copy {
  grid-column: 1 / span 5;
  min-width: 0;
}

.la-carte-cocktails__copy p {
  max-width: 62ch;
}

.la-carte-cocktails__media {
  grid-column: 8 / span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.la-carte-cocktails__media img {
  width: 100%;
  height: 22rem;
  object-fit: cover;
}

.la-carte-cocktails__cards {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.la-carte-cocktails__cards > * {
  min-width: 0;
  padding: var(--space-5);
  border-top: 1px solid var(--color-seringa-green);
}

.la-carte-cocktails__cards p {
  max-width: 46ch;
}

.la-carte-cocktails__cards > article:nth-child(2) {
  background: var(--color-natural-linen);
}

.la-carte-cocktails__callout {
  background: var(--color-celadon);
}

.la-carte-cocktails__callout h3,
.la-carte-cocktails__callout p {
  color: var(--color-deep-plum);
}

.la-carte-cocktails__callout .button {
  margin-top: var(--space-2);
}

.la-carte-cocktails__link {
  margin-top: var(--space-4);
  margin-bottom: 0;
  font-size: 1rem;
}

.la-carte-poker {
  position: relative;
}

.la-carte-poker__top {
  align-items: stretch;
}

.la-carte-poker__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  align-self: center;
}

.la-carte-poker__copy p {
  max-width: 58ch;
}

.la-carte-poker__media {
  grid-column: 7 / span 6;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.la-carte-poker__media img {
  width: 100%;
  height: 34rem;
  object-fit: cover;
}

.la-carte-poker__guarantees {
  margin-top: var(--space-7);
}

.la-carte-poker__guarantee {
  position: relative;
  min-width: 0;
  padding: var(--space-5);
  border-top: 1px solid rgb(155 200 194 / 75%);
  background: rgb(245 240 231 / 5%);
}

.la-carte-poker__guarantee:nth-child(2) {
  background: rgb(245 240 231 / 9%);
}

.la-carte-poker__guarantee p {
  max-width: 46ch;
}

.la-carte-poker__corner {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: var(--space-4);
  border-top: 1px solid var(--color-celadon);
  border-left: 1px solid var(--color-celadon);
  opacity: 0;
}

.la-carte-poker.is-decorated .la-carte-poker__corner {
  animation: la-carte-corner 300ms ease forwards;
}

.la-carte-poker__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-5);
}

.la-carte-poker__actions > * {
  min-width: 0;
}

.la-carte-poker__actions .button {
  width: 100%;
}

.la-carte-visit__heading {
  width: min(100%, 42rem);
}

.la-carte-visit__heading p:not(.eyebrow) {
  max-width: 60ch;
}

.la-carte-visit__cards {
  margin-top: var(--space-7);
}

.la-carte-visit__card {
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  background: var(--color-linen);
}

.la-carte-visit__card > span {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-seringa-green);
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
}

.la-carte-visit__card p {
  max-width: 48ch;
}

.la-carte-visit__card--warm {
  background: var(--color-natural-linen);
}

.la-carte-visit__card--celadon {
  border-color: var(--color-celadon);
  background: var(--color-celadon);
}

.la-carte-visit__card--celadon h3,
.la-carte-visit__card--celadon p,
.la-carte-visit__card--celadon > span {
  color: var(--color-deep-plum);
}

.la-carte-visit__note {
  width: min(100%, 40rem);
  min-width: 0;
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.la-carte-visit__note p {
  max-width: 60ch;
}

.la-carte-conclusion__copy {
  width: min(100%, 43rem);
  min-width: 0;
}

.la-carte-conclusion__copy p {
  max-width: 58ch;
}

.la-carte-conclusion__paths {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-style: italic;
}

@keyframes la-carte-corner {
  from {
    opacity: 0;
    transform: scale(0.6);
    transform-origin: top left;
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1020px) {
  .la-carte-starters__grid,
  .la-carte-poker__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-starters__media,
  .la-carte-poker__media {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .la-carte-starters__intro,
  .la-carte-poker__copy {
    grid-column: 1 / span 1;
    grid-row: 2;
  }

  .la-carte-starters__cards {
    grid-column: 2 / span 1;
    grid-row: 2;
  }

  .la-carte-poker__media img,
  .la-carte-starters__media img {
    height: 28rem;
  }

  .la-carte-poker__guarantees {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-poker__guarantee:last-child {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 1000px) {
  .la-carte-cocktails__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-cocktails__media {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .la-carte-cocktails__copy {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 980px) {
  .la-carte-hero__grid {
    grid-template-columns: 1fr;
  }

  .la-carte-hero__media {
    grid-column: 1;
    grid-row: 1;
  }

  .la-carte-hero__copy {
    grid-column: 1;
    grid-row: 2;
  }

  .la-carte-hero__media img {
    height: min(64vw, 34rem);
  }
}

@media (max-width: 940px) {
  .la-carte-desserts__grid {
    grid-template-columns: 1fr;
  }

  .la-carte-desserts__media {
    grid-column: 1;
    grid-row: 1;
  }

  .la-carte-desserts__intro {
    grid-column: 1;
    grid-row: 2;
  }

  .la-carte-desserts__cards {
    grid-column: 1;
    grid-row: 3;
  }

  .la-carte-desserts__media img {
    height: min(90vw, 36rem);
  }
}

@media (max-width: 920px) {
  .la-carte-mains__top {
    grid-template-columns: 1fr;
  }

  .la-carte-mains__media {
    grid-column: 1;
    grid-row: 1;
  }

  .la-carte-mains__copy {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 900px) {
  .la-carte-season__cards,
  .la-carte-visit__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-season__card:last-child,
  .la-carte-visit__card:last-child {
    grid-column: 1 / span 2;
  }
}

@media (max-width: 850px) {
  .la-carte-garden__overlay {
    position: static;
    width: 100%;
    padding: var(--space-5) 0 0;
    background: transparent;
  }

  .la-carte-garden__below {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .la-carte-garden__below > div:first-child,
  .la-carte-garden__below > div:last-child {
    grid-column: auto;
  }
}

@media (max-width: 767px) {
  .la-carte-page .container {
    width: min(calc(100% - 2.5rem), 80rem);
  }

  .la-carte-hero__grid,
  .la-carte-starters__grid,
  .la-carte-mains__top,
  .la-carte-desserts__grid,
  .la-carte-cocktails__top,
  .la-carte-poker__top {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .la-carte-hero__copy,
  .la-carte-hero__media,
  .la-carte-starters__intro,
  .la-carte-starters__media,
  .la-carte-starters__cards,
  .la-carte-mains__copy,
  .la-carte-mains__media,
  .la-carte-desserts__intro,
  .la-carte-desserts__media,
  .la-carte-desserts__cards,
  .la-carte-cocktails__copy,
  .la-carte-cocktails__media,
  .la-carte-poker__copy,
  .la-carte-poker__media {
    grid-column: 1 / -1;
  }

  .la-carte-hero__copy h1 {
    max-width: 18ch;
  }

  .la-carte-hero__media img {
    height: clamp(18.75rem, 92vw, 22.5rem);
  }

  .la-carte-hero__actions,
  .la-carte-conclusion__actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .la-carte-hero__actions .button,
  .la-carte-conclusion__actions .button {
    width: 100%;
    min-height: 2.75rem;
  }

  .la-carte-season__cards,
  .la-carte-poker__guarantees,
  .la-carte-visit__cards,
  .la-carte-cocktails__cards {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .la-carte-season__card:last-child,
  .la-carte-visit__card:last-child,
  .la-carte-poker__guarantee:last-child {
    grid-column: 1;
  }

  .la-carte-season__card {
    padding-inline: 0;
    border-top: 1px solid var(--color-border);
    background: transparent;
  }

  .la-carte-starters__media,
  .la-carte-poker__media,
  .la-carte-desserts__media,
  .la-carte-cocktails__media {
    grid-row: auto;
  }

  .la-carte-starters__media img,
  .la-carte-poker__media img {
    height: clamp(19rem, 105vw, 27rem);
  }

  .la-carte-starters__intro,
  .la-carte-starters__cards,
  .la-carte-poker__copy {
    grid-row: auto;
  }

  .la-carte-starters__cards {
    gap: var(--space-4);
  }

  .la-carte-mains__media img,
  .la-carte-cocktails__media img {
    height: clamp(16rem, 64vw, 20rem);
  }

  .la-carte-mains__line {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .la-carte-mains__line span {
    display: none;
  }

  .la-carte-garden__panorama img {
    height: 20rem;
  }

  .la-carte-garden__below {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .la-carte-garden__below > div:first-child,
  .la-carte-garden__below > div:last-child {
    grid-column: 1;
  }

  .la-carte-desserts__media img {
    height: clamp(22rem, 118vw, 30rem);
  }

  .la-carte-desserts__cards > * {
    padding: var(--space-5) 0;
    border-top: 1px solid var(--color-border);
    background: transparent;
  }

  .la-carte-desserts__cards > article:last-child {
    background: transparent;
  }

  .la-carte-cocktails__cards > * {
    padding-inline: 0;
  }

  .la-carte-poker__guarantee {
    padding-inline: 0;
    background: transparent;
  }

  .la-carte-poker__guarantee:nth-child(2) {
    background: transparent;
  }

  .la-carte-poker__actions {
    align-items: stretch;
  }

  .la-carte-poker__actions .button {
    min-height: 2.75rem;
  }

  .la-carte-visit__card {
    padding: var(--space-5);
  }
}

@media (prefers-reduced-motion: reduce) {
  .la-carte-poker.is-decorated .la-carte-poker__corner {
    animation: none;
    opacity: 1;
  }
}
