.restaurace-page {
  overflow: hidden;
}

.restaurace-page .section {
  position: relative;
}

.restaurant-hero {
  position: relative;
  display: grid;
  min-height: clamp(47.5rem, 58vw, 53.75rem);
  overflow: hidden;
  background: var(--color-deep-plum);
  color: var(--color-warm-ivory);
  isolation: isolate;
}

.restaurant-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 0;
  z-index: -2;
}

.restaurant-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%);
  transition: background var(--transition-slow);
}

.restaurant-hero:hover .restaurant-hero__media::after {
  background: linear-gradient(90deg, rgb(36 21 34 / 84%) 0%, rgb(36 21 34 / 66%) 39%, rgb(36 21 34 / 28%) 72%, rgb(36 21 34 / 43%) 100%);
}

.restaurant-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.restaurant-hero__container {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
  padding-block: 10rem var(--space-10);
}

.restaurant-hero__content {
  grid-column: 1 / span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.restaurant-hero__content > * {
  min-width: 0;
  margin: 0;
}

.restaurant-hero__meta {
  color: var(--color-ivory-muted);
}

.restaurant-hero h1 {
  max-width: 21ch;
  font-size: clamp(4rem, 6.2vw, 5.25rem);
}

.restaurant-hero__lead {
  max-width: 49ch;
  padding: var(--space-5);
  border-inline-start: 1px solid var(--color-border-copper);
  background: rgb(36 21 34 / 52%);
  color: var(--color-warm-ivory);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

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

.restaurant-hero__actions > *,
.restaurant-final__actions > * {
  min-width: 0;
}

.restaurant-hero__menu-link {
  color: var(--color-warm-ivory);
  font-size: var(--text-small);
  font-weight: 700;
  text-underline-offset: 0.28em;
}

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

.restaurant-layers__intro,
.restaurant-layers__list,
.restaurant-feature__copy,
.restaurant-feature__aside,
.restaurant-meet__content,
.restaurant-discover__heading,
.restaurant-discover__blocks,
.restaurant-enjoy__copy,
.restaurant-rhythm__intro,
.restaurant-rhythm__chapters,
.restaurant-occasions__intro,
.restaurant-paths__heading {
  min-width: 0;
}

.restaurant-layers__intro h2 {
  max-width: 17ch;
}

.restaurant-layers__intro .lead {
  max-width: 50ch;
}

.restaurant-layers__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.layer-item {
  position: relative;
  min-width: 0;
  padding: var(--space-5) 0 0;
  border-top: 1px solid var(--color-border-copper);
}

.layer-item--offset {
  margin-top: var(--space-7);
}

.layer-item__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-antique-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.layer-item h3 {
  max-width: 14ch;
  font-size: clamp(1.75rem, 2.3vw, 2.25rem);
}

.layer-item p:not(.layer-item__vertical) {
  max-width: 40ch;
}

.layer-item__vertical {
  position: absolute;
  top: var(--space-5);
  right: 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;
}

.layer-item--entertainment {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 0;
  background: var(--color-moss-green);
  color: var(--color-warm-ivory);
}

.layer-item--entertainment > * {
  min-width: 0;
  margin: 0;
}

.layer-item--entertainment p:not(.layer-item__vertical) {
  max-width: 58ch;
}

.layer-item__links,
.restaurant-program-panel__links,
.restaurant-rhythm__links {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.layer-item__links a,
.restaurant-program-panel__links a,
.restaurant-rhythm__links a {
  font-size: var(--text-small);
  font-weight: 700;
}

.restaurant-feature__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 4fr) minmax(0, 2fr);
  gap: var(--space-5);
  align-items: start;
}

.restaurant-feature__copy {
  grid-column: 1 / span 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-7);
}

.restaurant-feature__copy > * {
  min-width: 0;
  margin: 0;
}

.restaurant-feature__word {
  color: rgb(168 120 85 / 58%);
  font-family: var(--font-heading);
  font-size: clamp(4rem, 8vw, 7.25rem);
  font-weight: 500;
  letter-spacing: -0.05em;
  line-height: 0.82;
}

.restaurant-feature__copy h2,
.restaurant-meet__content h2,
.restaurant-discover__heading h2,
.restaurant-enjoy__copy h2 {
  max-width: 14ch;
}

.restaurant-feature__copy p:not(.restaurant-feature__word):not(.meta) {
  max-width: 53ch;
}

.restaurant-feature__image {
  grid-column: 3 / span 1;
  min-width: 0;
  margin: var(--space-8) 0 0;
}

.restaurant-feature__image img,
.restaurant-meet__image img,
.restaurant-discover__image img,
.restaurant-enjoy__image img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.restaurant-feature__image {
  overflow: hidden;
}

.restaurant-feature__image:hover img,
.restaurant-meet__image:hover img,
.restaurant-discover__image:hover img,
.restaurant-enjoy__image:hover img {
  transform: scale(1.03);
}

.restaurant-feature__image--kitchen img {
  aspect-ratio: 4 / 5;
}

.restaurant-feature__image figcaption,
.restaurant-meet__image figcaption,
.restaurant-discover__image figcaption,
.restaurant-enjoy__image figcaption {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.restaurant-feature__aside {
  grid-column: 4 / span 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-11);
}

.restaurant-feature__aside > * {
  min-width: 0;
  margin: 0;
}

.restaurant-feature__aside h3,
.restaurant-feature__aside p {
  max-width: 35ch;
}

.restaurant-text-link {
  display: inline-block;
  min-height: 2.75rem;
  color: inherit;
  font-size: var(--text-small);
  font-weight: 700;
  line-height: 2.75rem;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

.restaurant-meet__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr);
  gap: var(--space-5);
  align-items: start;
}

.restaurant-meet__image {
  grid-column: 1 / span 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.restaurant-meet__image img {
  aspect-ratio: 3 / 4;
}

.restaurant-meet__content {
  grid-column: 3 / span 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.restaurant-meet__content > * {
  min-width: 0;
  margin: 0;
}

.restaurant-meet__scenarios {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-top: var(--space-3);
}

.restaurant-scenario {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5) 0 0;
  border-top: 1px solid var(--color-border-copper);
}

.restaurant-scenario > * {
  min-width: 0;
  margin: 0;
}

.restaurant-scenario p {
  max-width: 37ch;
}

.restaurant-scenario--moss {
  width: calc(100% - var(--space-7));
  margin-left: var(--space-7);
  padding: var(--space-5);
  border: 0;
  background: var(--color-moss-green);
  color: var(--color-warm-ivory);
}

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

.restaurant-discover__heading {
  grid-column: 1 / span 1;
  padding-top: var(--space-6);
}

.restaurant-discover__image {
  grid-column: 2 / span 1;
  grid-row: 1 / span 2;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.restaurant-discover__image img {
  aspect-ratio: 4 / 5;
}

.restaurant-discover__blocks {
  grid-column: 1 / span 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.restaurant-material {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--color-ivory-surface);
}

.restaurant-material > * {
  min-width: 0;
  margin: 0;
}

.restaurant-material p:not(.meta) {
  max-width: 40ch;
}

.restaurant-material--dark {
  background: var(--color-deep-plum);
  color: var(--color-warm-ivory);
}

.restaurant-material--overlay {
  width: calc(100% + var(--space-7));
  background: rgb(36 21 34 / 93%);
  color: var(--color-warm-ivory);
}

.restaurant-enjoy__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr);
  gap: var(--space-5);
  align-items: start;
}

.restaurant-enjoy__copy {
  grid-column: 1 / span 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding-top: var(--space-6);
}

.restaurant-enjoy__copy > * {
  min-width: 0;
  margin: 0;
}

.restaurant-enjoy__copy p:not(.restaurant-feature__word):not(.meta) {
  max-width: 43ch;
}

.restaurant-enjoy__image {
  grid-column: 3 / span 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
}

.restaurant-enjoy__image img {
  aspect-ratio: 4 / 5;
}

.restaurant-program-panel {
  grid-column: 1 / span 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-6);
  padding: var(--space-6);
  border-top: 1px solid var(--color-border-copper);
  background: var(--color-moss-green);
  color: var(--color-warm-ivory);
}

.restaurant-program-panel > * {
  min-width: 0;
  margin: 0;
}

.restaurant-program-panel p {
  max-width: 54ch;
}

.restaurant-rhythm {
  overflow: hidden;
}

.restaurant-rhythm::before {
  position: absolute;
  inset: auto -10% -30% auto;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgb(168 120 85 / 24%);
  border-radius: 50%;
  content: "";
  opacity: 0.45;
}

.restaurant-rhythm__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.restaurant-rhythm__intro {
  grid-column: 1 / span 5;
}

.restaurant-rhythm__intro h2,
.restaurant-rhythm__intro .lead {
  max-width: 18ch;
}

.restaurant-rhythm__chapters {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.restaurant-rhythm__chapter {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 17rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-copper);
}

.restaurant-rhythm__chapter > * {
  min-width: 0;
  margin: 0;
}

.restaurant-rhythm__chapter span {
  color: var(--color-antique-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.restaurant-rhythm__chapter p {
  max-width: 34ch;
  color: var(--color-ivory-muted);
}

.restaurant-occasions__intro {
  width: min(100%, 32rem);
}

.restaurant-occasions__intro h2 {
  max-width: 17ch;
}

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

.restaurant-occasion {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 22rem;
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  background: var(--color-warm-ivory);
  text-decoration: none;
  transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base);
}

.restaurant-occasion > * {
  min-width: 0;
  margin: 0;
}

.restaurant-occasion h3 {
  max-width: 13ch;
}

.restaurant-occasion p:not(.meta) {
  max-width: 34ch;
}

.restaurant-occasion span {
  margin-top: auto;
  font-size: var(--text-small);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--color-antique-copper);
  text-underline-offset: 0.28em;
}

.restaurant-occasion:hover {
  border-color: var(--color-antique-copper);
  color: var(--color-plum-ink);
  transform: translateY(-3px);
}

.restaurant-occasion--surface {
  background: var(--color-ivory-surface);
}

.restaurant-occasion--moss {
  border-color: var(--color-moss-green);
  background: var(--color-moss-green);
  color: var(--color-warm-ivory);
}

.restaurant-occasion--moss .meta {
  color: var(--color-ivory-muted);
}

.restaurant-occasion--moss:hover {
  border-color: var(--color-antique-copper);
  color: var(--color-warm-ivory);
}

.restaurant-paths__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.restaurant-paths__heading {
  grid-column: 1 / span 5;
}

.restaurant-paths__heading h2 {
  max-width: 16ch;
}

.restaurant-paths__links {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.restaurant-path {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-copper);
  color: var(--color-warm-ivory);
  text-decoration: none;
}

.restaurant-path > * {
  min-width: 0;
  margin: 0;
}

.restaurant-path > span {
  color: var(--color-antique-copper);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
}

.restaurant-path p {
  max-width: 30ch;
  color: var(--color-ivory-muted);
}

.restaurant-path strong {
  padding-bottom: var(--space-1);
  border-bottom: 1px solid var(--color-antique-copper);
  font-size: var(--text-small);
  transition: padding-inline-end var(--transition-base);
}

.restaurant-path:hover {
  color: var(--color-warm-ivory);
}

.restaurant-path:hover strong {
  padding-inline-end: var(--space-4);
}

.restaurant-final {
  background: var(--color-warm-ivory);
}

.restaurant-final__panel {
  display: flex;
  width: min(100%, 40rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  margin-inline: auto;
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  border: 1px solid var(--color-border-copper);
  background: var(--color-ivory-surface);
}

.restaurant-final__panel > * {
  min-width: 0;
  margin: 0;
}

.restaurant-final__panel h2 {
  max-width: 15ch;
}

.restaurant-final__panel > p:not(.meta) {
  max-width: 48ch;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 500ms ease-out, transform 500ms ease-out;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 61.24rem) {
  .restaurant-hero {
    min-height: 48rem;
  }

  .restaurant-hero__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .restaurant-hero__content {
    grid-column: 1 / span 6;
  }

  .restaurant-layers__grid {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }

  .restaurant-layers__intro {
    width: min(100%, 38rem);
  }

  .restaurant-feature__grid,
  .restaurant-meet__grid,
  .restaurant-discover__grid,
  .restaurant-enjoy__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .restaurant-feature__copy {
    grid-column: 1 / span 5;
    padding-top: 0;
  }

  .restaurant-feature__image {
    grid-column: 6 / span 3;
    margin-top: var(--space-7);
  }

  .restaurant-feature__aside {
    grid-column: 1 / span 5;
    padding-top: 0;
  }

  .restaurant-meet__image {
    grid-column: 1 / span 3;
  }

  .restaurant-meet__content {
    grid-column: 4 / span 5;
  }

  .restaurant-discover__heading,
  .restaurant-discover__blocks {
    grid-column: 1 / span 4;
  }

  .restaurant-discover__image {
    grid-column: 5 / span 4;
  }

  .restaurant-enjoy__copy {
    grid-column: 1 / span 4;
    padding-top: 0;
  }

  .restaurant-enjoy__image {
    grid-column: 5 / span 4;
  }

  .restaurant-program-panel {
    grid-column: 1 / span 6;
  }

  .restaurant-rhythm__grid,
  .restaurant-paths__container {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .restaurant-rhythm__intro,
  .restaurant-paths__heading {
    grid-column: 1 / span 5;
  }

  .restaurant-rhythm__chapters {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurant-rhythm__chapter:last-child {
    grid-column: 1 / -1;
  }

  .restaurant-paths__links {
    grid-column: 1 / -1;
  }
}

@media (max-width: 59.99rem) {
  .restaurant-feature__grid,
  .restaurant-meet__grid,
  .restaurant-discover__grid,
  .restaurant-enjoy__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .restaurant-feature__copy,
  .restaurant-feature__image,
  .restaurant-feature__aside,
  .restaurant-meet__image,
  .restaurant-meet__content,
  .restaurant-discover__heading,
  .restaurant-discover__image,
  .restaurant-discover__blocks,
  .restaurant-enjoy__copy,
  .restaurant-enjoy__image,
  .restaurant-program-panel {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
    margin: 0;
    padding-top: 0;
  }

  .restaurant-feature__image,
  .restaurant-meet__image,
  .restaurant-discover__image,
  .restaurant-enjoy__image {
    max-width: 34rem;
  }

  .restaurant-feature__aside {
    padding: var(--space-5);
    border-left: 1px solid var(--color-border-copper);
  }

  .restaurant-meet__grid,
  .restaurant-enjoy__grid {
    display: flex;
    flex-direction: column;
  }

  .restaurant-meet__image,
  .restaurant-enjoy__image {
    order: 2;
  }

  .restaurant-meet__content,
  .restaurant-enjoy__copy {
    order: 1;
  }

  .restaurant-program-panel {
    order: 3;
  }

  .restaurant-discover__blocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurant-material--overlay {
    width: 100%;
  }

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

  .restaurant-occasion:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 57.49rem) {
  .restaurant-layers__list {
    grid-template-columns: 1fr;
  }

  .layer-item--offset {
    margin-top: 0;
  }

  .layer-item--entertainment {
    grid-column: 1;
  }
}

@media (max-width: 53.74rem) {
  .restaurant-rhythm__grid,
  .restaurant-paths__container {
    grid-template-columns: 1fr;
  }

  .restaurant-rhythm__intro,
  .restaurant-paths__heading,
  .restaurant-rhythm__chapters,
  .restaurant-paths__links {
    grid-column: 1;
  }

  .restaurant-rhythm__chapters,
  .restaurant-paths__links {
    grid-template-columns: 1fr;
  }

  .restaurant-rhythm__chapter:last-child {
    grid-column: 1;
  }

  .restaurant-rhythm__chapter {
    min-height: 0;
  }
}

@media (max-width: 42.49rem) {
  .restaurant-hero {
    min-height: auto;
  }

  .restaurant-hero__media {
    min-height: 43rem;
  }

  .restaurant-hero__container {
    grid-template-columns: 1fr;
    min-height: 43rem;
    padding-block: 8.5rem var(--space-7);
  }

  .restaurant-hero__content {
    grid-column: 1;
    align-self: end;
  }

  .restaurant-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.75rem, 12vw, 3.5rem);
    line-height: 0.96;
  }

  .restaurant-hero__lead {
    max-width: 100%;
    padding: var(--space-4);
    font-size: 1.0625rem;
    line-height: 1.65;
  }

  .restaurant-hero__actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .restaurant-hero__actions .button {
    width: max-content;
  }

  .restaurant-layers__intro h2,
  .restaurant-feature__copy h2,
  .restaurant-meet__content h2,
  .restaurant-discover__heading h2,
  .restaurant-enjoy__copy h2,
  .restaurant-rhythm__intro h2,
  .restaurant-paths__heading h2,
  .restaurant-final__panel h2 {
    max-width: 100%;
    font-size: clamp(2.2rem, 10vw, 2.75rem);
  }

  .layer-item__vertical {
    position: static;
    margin-bottom: var(--space-3);
    writing-mode: horizontal-tb;
  }

  .restaurant-feature__word {
    max-width: 100%;
    font-size: clamp(3rem, 14vw, 3.4rem);
    overflow-wrap: anywhere;
  }

  .restaurant-feature__image,
  .restaurant-meet__image,
  .restaurant-discover__image,
  .restaurant-enjoy__image {
    max-width: 100%;
  }

  .restaurant-feature__image--kitchen img,
  .restaurant-discover__image img,
  .restaurant-enjoy__image img {
    aspect-ratio: 4 / 5;
  }

  .restaurant-meet__image img {
    aspect-ratio: 3 / 4;
  }

  .restaurant-scenario--moss {
    width: 100%;
    margin-left: 0;
  }

  .restaurant-discover__blocks,
  .restaurant-occasions__cards {
    grid-template-columns: 1fr;
  }

  .restaurant-occasion:last-child {
    grid-column: 1;
  }

  .restaurant-occasion {
    min-height: 0;
  }

  .restaurant-program-panel {
    padding: var(--space-5);
  }

  .restaurant-final__panel {
    width: 100%;
    padding: var(--space-5);
  }

  .restaurant-final__actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .restaurant-final__actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
