main.rpe-page {
  overflow: hidden;
}

.rpe-page .rpe-hero__grid,
.rpe-page .rpe-evening__grid,
.rpe-page .rpe-host__grid,
.rpe-page .rpe-table__grid,
.rpe-page .rpe-occasions__grid,
.rpe-page .rpe-plan__row,
.rpe-page .rpe-fit__grid,
.rpe-page .rpe-consult__grid {
  display: grid;
  min-width: 0;
}

.rpe-page .rpe-hero__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.rpe-page .rpe-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  max-width: 31.25rem;
  gap: var(--space-5);
}

.rpe-page .rpe-hero__copy > :is(h1, p) {
  margin: 0;
}

.rpe-page .rpe-hero__copy .offline-badge {
  background: rgba(111, 143, 130, 0.14);
}

.rpe-page .rpe-hero__media,
.rpe-page .rpe-evening__media,
.rpe-page .rpe-table__media {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.rpe-page .rpe-hero__media {
  aspect-ratio: 4 / 3;
}

.rpe-page .rpe-hero__media img,
.rpe-page .rpe-evening__media img,
.rpe-page .rpe-table__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rpe-page .rpe-hero__media img { object-position: 58% center; }

.rpe-page .rpe-hero__below {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-6);
}

.rpe-page .rpe-hero__below .arrow-mark { min-width: 0; }

.rpe-page .rpe-facts { margin-top: var(--space-6); }
.rpe-page .rpe-facts .home-facts__inner { justify-content: center; }
.rpe-page .rpe-facts .home-facts__item { width: auto; }
.rpe-page .rpe-facts__label {
  color: var(--color-champagne);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rpe-page .rpe-evening__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: start;
}

.rpe-page .rpe-evening__intro {
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
}

.rpe-page .rpe-evening__media { aspect-ratio: 16 / 9; }
.rpe-page .rpe-evening__media img { object-position: 50% center; }

.rpe-page .rpe-sequence {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  margin: var(--space-6) 0 0;
  padding: 0;
}

.rpe-page .rpe-sequence__item {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid rgba(28, 37, 34, 0.18);
}

.rpe-page .rpe-sequence__number,
.rpe-page .rpe-plan__number {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--color-champagne);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.14em;
}

.rpe-page .rpe-sequence__copy { max-width: 26.25rem; }
.rpe-page .rpe-sequence__copy h3 { margin-bottom: var(--space-2); }
.rpe-page .rpe-sequence__copy p { margin-bottom: var(--space-3); }

.rpe-page .rpe-host__grid {
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: start;
}

.rpe-page .rpe-host__narrative {
  width: 100%;
  min-width: 0;
  max-width: 40rem;
}

.rpe-page .rpe-host__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid rgba(28, 37, 34, 0.14);
  background: var(--color-pale-sage);
}

.rpe-page .rpe-host__principle {
  min-width: 0;
  padding-block: var(--space-4);
  border-top: 1px solid rgba(28, 37, 34, 0.16);
}

.rpe-page .rpe-host__principle:first-child {
  padding-top: 0;
  border-top: 0;
}

.rpe-page .rpe-host__principle:last-child { padding-bottom: 0; }
.rpe-page .rpe-host__principle h3 { margin-bottom: var(--space-2); }
.rpe-page .rpe-host__principle p { max-width: 28rem; }
.rpe-page .rpe-host__links { margin-top: var(--space-3); }

.rpe-page .rpe-table__grid {
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-6);
  align-items: start;
}

.rpe-page .rpe-table__intro {
  width: 100%;
  min-width: 0;
  max-width: 27rem;
}

.rpe-page .rpe-table__right {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 3fr);
  gap: var(--space-5);
  min-width: 0;
}

.rpe-page .rpe-table__media { aspect-ratio: 3 / 2; }
.rpe-page .rpe-table__media img { object-position: 60% center; }
.rpe-page .rpe-table__caption {
  margin-top: var(--space-3);
  color: var(--color-softened-slate);
  font-size: var(--text-small);
  line-height: var(--lh-small);
}

.rpe-page .rpe-table__details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
  gap: var(--space-6);
}

.rpe-page .rpe-table__detail { min-width: 0; }
.rpe-page .rpe-table__detail h3 { margin-bottom: var(--space-2); }
.rpe-page .rpe-table__detail p { max-width: 20rem; margin-bottom: var(--space-3); }

.rpe-page .rpe-occasions__intro {
  width: 100%;
  min-width: 0;
  max-width: 38.75rem;
}

.rpe-page .rpe-occasions__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.rpe-page .rpe-occasion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  min-height: 15rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.rpe-page .rpe-occasion:nth-child(1),
.rpe-page .rpe-occasion:nth-child(4) { background: var(--color-pale-sage); }
.rpe-page .rpe-occasion:nth-child(2) { background: var(--color-mist-blue); }
.rpe-page .rpe-occasion:nth-child(3) { background: var(--color-porcelain); }
.rpe-page .rpe-occasion h3 { margin-bottom: var(--space-3); }
.rpe-page .rpe-occasion p { max-width: 23.75rem; }
.rpe-page .rpe-occasion .arrow-mark { margin-top: auto; padding-top: var(--space-3); }

@media (hover: hover) and (pointer: fine) {
  .rpe-page .rpe-occasion:hover {
    box-shadow: var(--shadow-card);
    transform: translateY(-2px);
  }
}

.rpe-page .rpe-plan__header {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  margin-inline: auto;
  text-align: center;
}

.rpe-page .rpe-plan__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none !important;
}

.rpe-page .rpe-plan__row {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 3.5fr) minmax(0, 7fr);
  gap: var(--space-4);
  align-items: start;
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.rpe-page .rpe-plan__row > * { min-width: 0; }
.rpe-page .rpe-plan__number { margin: 0; }
.rpe-page .rpe-plan__row h3 { margin: 0; }
.rpe-page .rpe-plan__body { max-width: 35rem; }
.rpe-page .rpe-plan__body p { margin-bottom: var(--space-3); }

.rpe-page .rpe-fit__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.rpe-page .rpe-fit__narrative {
  width: 100%;
  min-width: 0;
  max-width: 28.75rem;
}

.rpe-page .rpe-fit__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-6);
  border: 1px solid rgba(28, 37, 34, 0.15);
  border-radius: var(--radius-lg);
  background: var(--color-pale-sage);
}

.rpe-page .rpe-fit__item {
  min-width: 0;
  padding-block: var(--space-4);
  border-top: 1px solid rgba(28, 37, 34, 0.16);
}

.rpe-page .rpe-fit__item:first-child { padding-top: 0; border-top: 0; }
.rpe-page .rpe-fit__item:last-child { padding-bottom: 0; }
.rpe-page .rpe-fit__item h3 { margin-bottom: var(--space-2); }
.rpe-page .rpe-fit__item p { max-width: 33.75rem; margin-bottom: var(--space-3); }

.rpe-page .rpe-consult__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.rpe-page .rpe-consult__intro {
  width: 100%;
  min-width: 0;
  max-width: 27.5rem;
}

.rpe-page .rpe-consult__form-panel {
  width: 100%;
  min-width: 0;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  background: var(--color-porcelain);
}

.rpe-page .rpe-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.rpe-page .rpe-form > * { min-width: 0; }
.rpe-page .rpe-form__required { margin: 0; font-size: var(--text-small); }
.rpe-page .rpe-form__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.rpe-page .rpe-form__pair > * { min-width: 0; }
.rpe-page .rpe-form .field { margin: 0; }
.rpe-page .rpe-form .field label span { color: var(--color-terracotta); }
.rpe-page .rpe-form__error {
  min-height: 1.25rem;
  margin: 0;
  color: #8c3e2a;
  font-size: var(--text-small);
  line-height: 1.35;
}

.rpe-page .rpe-form [aria-invalid="true"] { border-color: #8c3e2a; }
.rpe-page .rpe-form__submit { justify-self: start; }
.rpe-page .rpe-form__helper { max-width: 32.5rem; margin: 0; font-size: var(--text-small); }
.rpe-page .rpe-form__status {
  margin: 0;
  padding: var(--space-3);
  border: 1px solid var(--color-champagne);
  border-radius: var(--radius-sm);
  color: var(--color-botanical-ink);
  font-size: var(--text-small);
  line-height: var(--lh-small);
}
.rpe-page .rpe-form__status--success { background: var(--color-pale-sage); }

.rpe-page .rpe-closing__inner {
  width: 100%;
  min-width: 0;
  max-width: 42.5rem;
  margin-inline: auto;
  text-align: center;
}

.rpe-page .rpe-closing__inner h2 { font-size: clamp(2rem, 3.4vw, 2.5rem); }
.rpe-page .rpe-closing__inner p { max-width: 38rem; margin-inline: auto; }
.rpe-page .rpe-closing__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.rpe-page .rpe-closing__links > * { min-width: 0; }
.rpe-page .rpe-closing__separator {
  width: 0.25rem;
  height: 0.25rem;
  align-self: center;
  border-radius: var(--radius-pill);
  background: var(--color-champagne);
}

@media (max-width: 980px) {
  .rpe-page .rpe-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .rpe-page .rpe-hero__copy { max-width: 31.25rem; }
  .rpe-page .rpe-hero__media { max-width: 52rem; }
}

@media (max-width: 920px) {
  .rpe-page .rpe-table__grid { grid-template-columns: minmax(0, 1fr); }
  .rpe-page .rpe-table__intro { max-width: 31.25rem; }
  .rpe-page .rpe-table__right { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}

@media (max-width: 900px) {
  .rpe-page .rpe-evening__grid { grid-template-columns: minmax(0, 1fr); }
  .rpe-page .rpe-evening__intro { max-width: 38.75rem; }
  .rpe-page .rpe-evening__media { max-width: 52rem; }
  .rpe-page .rpe-sequence { gap: var(--space-4); }
}

@media (max-width: 860px) {
  .rpe-page .rpe-plan__row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }
  .rpe-page .rpe-plan__number { margin-bottom: var(--space-1); }
  .rpe-page .rpe-plan__body { max-width: none; }
}

@media (max-width: 820px) {
  .rpe-page .rpe-host__grid,
  .rpe-page .rpe-fit__grid,
  .rpe-page .rpe-consult__grid { grid-template-columns: minmax(0, 1fr); }

  .rpe-page .rpe-host__narrative,
  .rpe-page .rpe-fit__narrative,
  .rpe-page .rpe-consult__intro { max-width: 40rem; }

  .rpe-page .rpe-consult__form-panel { max-width: 42.5rem; }
}

@media (max-width: 700px) {
  .rpe-page .rpe-occasions__grid { grid-template-columns: minmax(0, 1fr); }
  .rpe-page .rpe-occasion { min-height: 0; }
}

@media (max-width: 560px) {
  .rpe-page .rpe-hero__copy { gap: var(--space-4); }
  .rpe-page .rpe-hero__media { min-height: 17.5rem; }
  .rpe-page .rpe-hero__below { align-items: stretch; flex-direction: column; }
  .rpe-page .rpe-hero__below .button { width: 100%; }
  .rpe-page .rpe-facts { margin-inline: calc(var(--gutter) * -1); }
  .rpe-page .rpe-facts .home-facts__inner { justify-content: flex-start; }
  .rpe-page .rpe-facts .home-facts__item { width: 14.5rem; white-space: normal; }
  .rpe-page .rpe-evening__media { min-height: 13.125rem; }
  .rpe-page .rpe-host__panel,
  .rpe-page .rpe-fit__panel,
  .rpe-page .rpe-consult__form-panel { padding: var(--space-5); }
  .rpe-page .rpe-table__right { grid-template-columns: minmax(0, 1fr); }
  .rpe-page .rpe-table__details { gap: var(--space-5); }
  .rpe-page .rpe-table__detail p { max-width: none; }
  .rpe-page .rpe-occasion { padding: var(--space-4); }
  .rpe-page .rpe-form__pair { grid-template-columns: minmax(0, 1fr); }
  .rpe-page .rpe-form__submit { width: 100%; }
  .rpe-page .rpe-closing__links { align-items: stretch; flex-direction: column; }
  .rpe-page .rpe-closing__links .arrow-mark { min-height: 2.75rem; justify-content: flex-start; }
  .rpe-page .rpe-closing__separator { display: none; }
}
