.restaurant-dining-page {
  overflow: clip;
}

.restaurant-dining-page .text-link {
  text-decoration-thickness: 1px;
}

.rd-menu-opening {
  min-height: 35rem;
  padding-block: clamp(4rem, 9vw, 8rem);
}

.rd-menu-opening__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr);
  align-items: stretch;
  min-width: 0;
}

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

.rd-menu-opening__content {
  grid-column: 1 / 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.rd-menu-opening__content > :is(h1, p) {
  margin: 0;
}

.rd-menu-opening__title {
  max-width: 14ch;
  font-size: clamp(3.75rem, 7.5vw, 7rem);
  font-weight: 500;
  line-height: 0.9;
}

.rd-menu-opening__copper-rule {
  width: min(100%, 29rem);
  height: 2px;
  background: var(--color-burnt-copper);
}

.rd-menu-opening__deck {
  max-width: 54ch;
  color: var(--text-primary);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

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

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

.rd-menu-opening__notes {
  display: grid;
  width: min(100%, 42ch);
  min-width: 0;
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-color);
}

.rd-menu-opening__notes p {
  margin: 0;
}

.rd-menu-opening__notation {
  position: relative;
  grid-column: 3 / 4;
  min-height: 30rem;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.rd-menu-opening__mark {
  position: absolute;
  top: 36%;
  left: 18%;
  color: var(--color-burnt-copper);
  font-size: 1.5rem;
}

.rd-menu-opening__line {
  position: absolute;
  right: 0;
  left: 29%;
  height: 1px;
  background: var(--color-line-sand);
}

.rd-menu-opening__line--one { top: 19%; }
.rd-menu-opening__line--two { top: 50%; left: 9%; }
.rd-menu-opening__line--three { top: 77%; left: 41%; }

.rd-after-table__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 4vw, 4rem);
  row-gap: var(--space-6);
  align-items: start;
}

.rd-after-table__grid > * { min-width: 0; }

.rd-after-table__copy {
  grid-column: 1 / span 5;
  max-width: 35rem;
}

.rd-after-table__copy h2 { max-width: 15ch; }
.rd-after-table__copy p { max-width: 60ch; }

.rd-after-table__figure {
  grid-column: 7 / span 6;
  width: 100%;
  margin: 0;
}

.rd-after-table__figure .media-frame { width: 100%; }

.rd-after-table__note {
  grid-column: 1 / span 4;
  position: relative;
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--surface-warm);
}

.rd-after-table__note p {
  max-width: 36ch;
  margin: 0;
  color: var(--text-primary);
}

.rd-after-table__corner {
  width: 1.2rem;
  height: 1.2rem;
  border-top: 2px solid var(--color-burnt-copper);
  border-left: 2px solid var(--color-burnt-copper);
}

.rd-sequence__intro {
  width: min(100%, 54ch);
  margin-bottom: var(--space-8);
}

.rd-sequence__intro h2 { max-width: 16ch; }
.rd-sequence__intro p { max-width: 52ch; }

.rd-sequence__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: clamp(2rem, 5vw, 5rem);
}

.rd-sequence__steps > * { min-width: 0; }

.rd-sequence__step {
  position: relative;
  min-width: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-sand);
}

.rd-sequence__step:not(:last-child)::after {
  position: absolute;
  top: -1px;
  right: calc(clamp(2rem, 5vw, 5rem) / -2);
  width: 1px;
  height: 3rem;
  background: var(--color-eucalyptus);
  content: "";
}

.rd-sequence__number,
.rd-planning__number {
  display: block;
  margin-bottom: var(--space-4);
  color: var(--color-burnt-copper);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.1em;
}

.rd-sequence__step h3 {
  max-width: 16ch;
}

.rd-sequence__step p { max-width: 34ch; }

.rd-sequence__suit {
  position: absolute;
  top: var(--space-5);
  right: 0;
  color: var(--color-eucalyptus);
}

.rd-sequence__planning-note {
  display: grid;
  width: min(100%, 46ch);
  min-width: 0;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding: var(--space-5);
  background: var(--surface-page);
}

.rd-sequence__planning-note p { margin: 0; }

.rd-poker-anchor__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-width: 0;
}

.rd-poker-anchor__grid > * { min-width: 0; }

.rd-poker-anchor__content {
  grid-column: 2 / span 6;
  width: 100%;
}

.rd-poker-anchor__content h2 {
  max-width: 17ch;
  font-size: clamp(2.75rem, 5vw, 4.6rem);
}

.rd-poker-anchor__content p { max-width: 52ch; }

.rd-poker-anchor__links {
  display: grid;
  min-width: 0;
  margin-top: var(--space-6);
  border-top: 1px solid rgb(245 241 232 / 35%);
}

.rd-poker-anchor__links a {
  display: flex;
  min-width: 0;
  min-height: 3rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-bottom: 1px solid rgb(245 241 232 / 35%);
  color: var(--color-limestone-white);
  font-weight: 600;
  text-decoration: none;
}

.rd-poker-anchor__links a span { color: var(--color-pale-sand); }

.rd-poker-anchor__marker {
  grid-column: 11 / span 1;
  width: 1.4rem;
  height: 1.4rem;
  align-self: start;
  border-top: 2px solid var(--color-burnt-copper);
  border-right: 2px solid var(--color-burnt-copper);
}

.rd-material__top {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
}

.rd-material__top > * { min-width: 0; }

.rd-material__lead {
  grid-column: 1 / span 5;
  width: 100%;
}

.rd-material__lead h2 { max-width: 15ch; }
.rd-material__lead p { max-width: 52ch; }

.rd-material__figure {
  grid-column: 8 / span 5;
  width: 100%;
  margin: 0;
}

.rd-material__figure .media-frame { width: 100%; }

.rd-material__observations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.rd-material__observations > * {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-color);
}

.rd-material__observations h3 { max-width: 16ch; }
.rd-material__observations p { max-width: 32ch; }

.rd-planning__intro {
  width: min(100%, 52ch);
  margin-bottom: var(--space-8);
}

.rd-planning__intro h2 { max-width: 17ch; }
.rd-planning__intro p { max-width: 50ch; }

.rd-planning__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-6);
}

.rd-planning__principles > * { min-width: 0; }

.rd-planning__principles article {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  min-width: 0;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-color);
}

.rd-planning__number {
  margin: 0;
}

.rd-planning__principles h3 { max-width: 15ch; }
.rd-planning__principles p { max-width: 38ch; }

.rd-planning__reminder {
  display: grid;
  width: min(100%, 52rem);
  min-width: 0;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding: var(--space-5);
  background: var(--surface-warm);
}

.rd-planning__reminder p { max-width: 46ch; margin: 0; }

.rd-wide-scene__figure {
  width: 100%;
  margin: 0;
}

.rd-wide-scene__figure .media-frame { width: 100%; }

.rd-wide-scene__content {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 40rem);
  min-width: 0;
  gap: var(--space-4);
  margin-top: calc(var(--space-7) * -1);
  margin-left: calc((100% / 12) + var(--space-4));
  padding: var(--space-6);
  background: var(--surface-page);
}

.rd-wide-scene__content > :is(h2, p) { margin: 0; }
.rd-wide-scene__content h2 { max-width: 17ch; }
.rd-wide-scene__content > p:not(.rd-wide-scene__address):not(.rd-wide-scene__caption-copy) { max-width: 54ch; }

.rd-wide-scene__address {
  color: var(--text-secondary);
  font-size: var(--text-caption);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--leading-caption);
  text-transform: uppercase;
}

.rd-wide-scene__caption-copy {
  max-width: 35ch;
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-burnt-copper);
  color: var(--text-primary) !important;
}

.rd-enquiry-guide__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 5vw, 5rem);
  row-gap: var(--space-7);
}

.rd-enquiry-guide__grid > * { min-width: 0; }

.rd-enquiry-guide__copy { grid-column: 1 / span 5; }
.rd-enquiry-guide__copy h2 { max-width: 16ch; }
.rd-enquiry-guide__copy p { max-width: 52ch; }

.rd-enquiry-guide__list-wrap { grid-column: 7 / span 5; }

.rd-enquiry-guide__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--border-color);
  list-style: none;
}

.rd-enquiry-guide__list > * {
  min-width: 0;
  min-height: 3rem;
  padding: var(--space-3) var(--space-3) var(--space-3) 0;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-secondary);
}

.rd-enquiry-guide__list > *:nth-child(odd) { padding-right: var(--space-4); }

.rd-enquiry-guide__note {
  grid-column: 1 / span 8;
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  padding-left: var(--space-5);
  border-left: 2px solid var(--color-burnt-copper);
}

.rd-enquiry-guide__note h3,
.rd-enquiry-guide__note p { margin: 0; }
.rd-enquiry-guide__note p { max-width: 48ch; }

.rd-form-section__intro {
  width: min(100%, 52ch);
  margin-bottom: var(--space-7);
}

.rd-form-section__intro h2 { max-width: 16ch; }
.rd-form-section__intro p { max-width: 52ch; }

.rd-form-section__form-wrap {
  width: min(100%, 60rem);
  min-width: 0;
}

.rd-enquiry-form {
  display: grid;
  min-width: 0;
  gap: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--border-color);
}

.rd-enquiry-form__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-width: 0;
  gap: var(--space-5) var(--space-4);
}

.rd-enquiry-form__fields > * { min-width: 0; }

.rd-enquiry-form .field {
  grid-template-rows: auto minmax(3rem, auto) min-height: 1.45rem;
}

.rd-enquiry-form .field__error {
  min-height: 1.45rem;
  margin: 0;
}

.rd-enquiry-form input[aria-invalid="true"],
.rd-enquiry-form select[aria-invalid="true"],
.rd-enquiry-form textarea[aria-invalid="true"] {
  border-color: #8a3e2d;
}

.rd-enquiry-form__interests {
  display: grid;
  min-width: 0;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-5) 0;
  border: 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.rd-enquiry-form__interests legend {
  padding: 0;
  color: var(--text-primary);
  font-size: var(--text-meta);
  font-weight: 600;
}

.rd-enquiry-form__interests .field__hint,
.rd-enquiry-form__interests .field__error { margin: 0; }

.rd-enquiry-form__check-group {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.rd-enquiry-form__check-group > * { min-width: 0; }

.rd-enquiry-form__check-group label,
.rd-enquiry-form__acknowledgement label {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-2);
  color: var(--text-primary);
}

.rd-enquiry-form__message { min-width: 0; }

.rd-enquiry-form__acknowledgement {
  display: grid;
  min-width: 0;
  gap: var(--space-2);
}

.rd-enquiry-form__acknowledgement .field__error { min-height: 1.45rem; margin: 0; }

.rd-enquiry-form__privacy { margin: 0; max-width: 54ch; font-size: var(--text-meta); }

.rd-enquiry-form__summary {
  padding: var(--space-4);
  border-left: 2px solid #8a3e2d;
  background: var(--surface-warm);
  color: var(--text-primary);
}

.rd-enquiry-form__summary ul { margin: 0; }

.rd-enquiry-form__submit-area {
  display: grid;
  min-width: 0;
  justify-items: start;
  gap: var(--space-4);
}

.rd-enquiry-form__status {
  min-height: 1.6rem;
  color: var(--text-secondary);
}

.rd-enquiry-form__success {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}

.rd-enquiry-form__success > :is(h3, p) { margin: 0; }
.rd-enquiry-form__success p { max-width: 54ch; }

.rd-form-section__contact-line {
  margin-top: var(--space-5);
  font-size: var(--text-meta);
}

.rd-optional { color: var(--text-secondary); font-weight: 400; }

.rd-closing__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.rd-closing__content > :is(h2, p) { margin: 0; }
.rd-closing__content h2 { max-width: 17ch; }
.rd-closing__content p { max-width: 48ch; }

.rd-closing__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.rd-reveal {
  transition: opacity 550ms ease-out, clip-path 550ms ease-out;
}

.rd-reveal.is-pending {
  opacity: 0;
  clip-path: inset(0 0 8% 0);
}

.rd-reveal.is-visible {
  opacity: 1;
  clip-path: inset(0);
}

@media (max-width: 61.249rem) {
  .rd-menu-opening__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-6);
  }

  .rd-menu-opening__content { grid-column: 1 / 2; }
  .rd-menu-opening__notation { grid-column: 2 / 3; min-height: 24rem; }

  .rd-after-table__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .rd-after-table__copy,
  .rd-after-table__figure,
  .rd-after-table__note { grid-column: 1; }
  .rd-after-table__copy { max-width: 60ch; }
  .rd-after-table__note { width: min(100%, 36ch); }

  .rd-sequence__steps { gap: var(--space-5); }

  .rd-poker-anchor__content { grid-column: 1 / span 8; }
  .rd-poker-anchor__marker { display: none; }

  .rd-material__top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .rd-material__lead,
  .rd-material__figure { grid-column: auto; }

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

  .rd-material__observations > :last-child { grid-column: 1 / span 2; }

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

  .rd-planning__principles > :last-child { grid-column: 1 / span 2; }

  .rd-wide-scene__content {
    width: min(100%, 42rem);
    margin-left: var(--space-6);
  }

  .rd-enquiry-guide__copy { grid-column: 1 / span 6; }
  .rd-enquiry-guide__list-wrap { grid-column: 8 / span 5; }
}

@media (max-width: 56.249rem) {
  .rd-menu-opening { min-height: auto; }

  .rd-menu-opening__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .rd-menu-opening__content,
  .rd-menu-opening__notation { grid-column: 1; }

  .rd-menu-opening__notation {
    min-height: 3rem;
    border-bottom: 0;
  }

  .rd-menu-opening__mark { top: 0.35rem; left: 0; }
  .rd-menu-opening__line--one { top: 0.8rem; left: 2rem; }
  .rd-menu-opening__line--two,
  .rd-menu-opening__line--three { display: none; }

  .rd-sequence__steps {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .rd-sequence__step {
    padding: var(--space-5) 0 var(--space-5) var(--space-6);
    border-top: 0;
    border-left: 1px solid var(--color-line-sand);
  }

  .rd-sequence__step:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: -1px;
    width: 1px;
    height: var(--space-5);
  }

  .rd-sequence__number { margin-bottom: var(--space-3); }
  .rd-sequence__suit { top: var(--space-5); }

  .rd-material__top {
    grid-template-columns: 1fr;
  }

  .rd-material__lead,
  .rd-material__figure { grid-column: 1; }

  .rd-enquiry-guide__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .rd-enquiry-guide__copy,
  .rd-enquiry-guide__list-wrap,
  .rd-enquiry-guide__note { grid-column: 1; }
}

@media (max-width: 44.999rem) {
  .restaurant-dining-page .section { padding-block: clamp(3rem, 12vw, 4rem); }

  .rd-menu-opening__content { gap: var(--space-4); }
  .rd-menu-opening__title { font-size: clamp(3.1rem, 14vw, 4.5rem); line-height: 0.94; }
  .rd-menu-opening__deck { max-width: 34ch; }
  .rd-menu-opening__actions { width: 100%; }
  .rd-menu-opening__actions .button { width: 100%; }
  .rd-menu-opening__notes { width: min(100%, 34ch); }

  .rd-after-table__copy p,
  .rd-after-table__note p,
  .rd-sequence__step p,
  .rd-material__lead p,
  .rd-material__observations p,
  .rd-planning__principles p,
  .rd-wide-scene__content p,
  .rd-enquiry-guide__copy p,
  .rd-enquiry-guide__note p,
  .rd-form-section__intro p,
  .rd-closing__content p { max-width: 38ch; }

  .rd-after-table__copy h2,
  .rd-material__lead h2 { font-size: clamp(2.25rem, 10vw, 3.25rem); }

  .rd-after-table__note { width: 100%; }

  .rd-poker-anchor__grid { grid-template-columns: 1fr; }
  .rd-poker-anchor__content { grid-column: 1; }
  .rd-poker-anchor__content h2,
  .rd-closing__content h2 { font-size: clamp(2.5rem, 12vw, 3.75rem); }
  .rd-poker-anchor__links a { min-height: 3rem; }

  .rd-material__observations {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    margin-top: var(--space-6);
  }

  .rd-material__observations > :last-child { grid-column: 1; }

  .rd-planning__principles { grid-template-columns: 1fr; gap: var(--space-5); }
  .rd-planning__principles > :last-child { grid-column: 1; }

  .rd-planning__reminder { width: 100%; }

  .rd-wide-scene__figure .media-frame { aspect-ratio: 4 / 3; }
  .rd-wide-scene__content {
    width: 100%;
    margin-top: var(--space-5);
    margin-left: 0;
    padding: 0;
  }

  .rd-wide-scene__content h2 { font-size: clamp(2.2rem, 10vw, 3.2rem); }

  .rd-enquiry-guide__list { grid-template-columns: 1fr; }
  .rd-enquiry-guide__list > *:nth-child(odd) { padding-right: 0; }

  .rd-enquiry-form__fields { grid-template-columns: 1fr; }
  .rd-enquiry-form__check-group { flex-direction: column; align-items: stretch; }
  .rd-enquiry-form__check-group label { min-height: 3rem; align-items: center; }
  .rd-enquiry-form__submit-area .button { width: 100%; }

  .rd-closing__actions { width: 100%; flex-direction: column; }
  .rd-closing__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .rd-reveal,
  .rd-reveal.is-pending,
  .rd-reveal.is-visible {
    opacity: 1;
    clip-path: none;
    transition: none;
  }
}
