.card-room-page {
  overflow: hidden;
}

.card-room-page .section {
  padding-block: var(--space-14);
}

.cr-hero {
  padding-block-start: var(--space-14);
}

.cr-hero__grid,
.cr-reasons__grid,
.cr-dining__grid,
.cr-paths__grid,
.cr-gathering__grid,
.cr-note__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.cr-hero__copy,
.cr-reasons__header,
.cr-reasons__list,
.cr-formats__intro,
.cr-dining__copy,
.cr-paths__intro,
.cr-planning__intro,
.cr-gathering__copy,
.cr-invitation__content,
.cr-note__intro,
.cr-note__list {
  min-width: 0;
}

.cr-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 34rem;
}

.cr-hero__copy :is(h1, p) {
  margin: 0;
}

.cr-hero__intro {
  max-width: 35rem;
  font-size: var(--text-18);
  line-height: 1.55;
}

.cr-hero__action {
  min-height: 2.75rem;
}

.cr-hero__media {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.cr-hero__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 55% center;
}

.cr-hero__ten {
  position: absolute;
  z-index: 1;
  right: var(--space-3);
  top: var(--space-3);
  color: var(--color-eucalyptus);
  font-family: var(--font-serif);
  font-size: var(--text-96);
  font-weight: var(--weight-semibold);
  line-height: 0.85;
  opacity: 0.13;
  pointer-events: none;
}

.cr-hero__glance {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  border-top: var(--border-width) solid var(--color-border);
}

.cr-hero__glance > p {
  display: grid;
  grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.3fr);
  gap: var(--space-3);
  margin: 0;
  padding-block: var(--space-4);
  border-bottom: var(--border-width) solid var(--color-border);
  color: var(--color-text);
  font-size: var(--text-14);
  line-height: 1.43;
}

.cr-hero__glance strong {
  color: var(--color-eucalyptus);
}

.cr-reasons__header {
  max-width: 42rem;
}

.cr-reasons__header p:last-child {
  max-width: 39rem;
}

.cr-reasons__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 42rem;
}

.cr-reason {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-6);
  border-top: var(--border-width) solid var(--color-border);
}

.cr-reason:last-child {
  border-bottom: var(--border-width) solid var(--color-border);
}

.cr-rank,
.cr-path__number,
.cr-check__number,
.cr-note__number {
  margin: 0;
  color: var(--color-muted-cobalt);
  font-size: var(--text-14);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  line-height: 1.2;
}

.cr-reason__body {
  min-width: 0;
}

.cr-reason__body h3 {
  font-size: var(--text-24);
}

.cr-reason__pull {
  color: var(--color-eucalyptus);
  font-family: var(--font-serif);
  font-size: var(--text-18);
  font-style: italic;
}

.cr-reason__caption {
  color: var(--color-muted-cobalt);
  font-size: var(--text-14);
  font-weight: var(--weight-medium);
}

.cr-reasons__motif {
  display: none;
}

.cr-formats {
  position: relative;
}

.cr-formats__intro {
  max-width: 39rem;
  margin-bottom: var(--space-8);
}

.cr-formats__intro p:last-child {
  max-width: 38rem;
}

.cr-formats__cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5, 1.5rem);
}

.cr-format-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-sandstone);
}

.cr-format-card :is(h3, p) {
  margin: 0;
}

.cr-format-card h3 {
  font-size: var(--text-32);
}

.cr-format-card__best {
  font-size: var(--text-14);
  line-height: 1.43;
}

.cr-format-card--private {
  border-color: var(--color-muted-cobalt);
  background: color-mix(in srgb, var(--color-muted-cobalt) 13%, var(--color-warm-ivory));
}

.cr-format-card__action {
  margin-top: auto;
  min-height: 2.75rem;
}

.cr-format-card__action:hover {
  border-color: var(--color-muted-cobalt);
  background: transparent;
  color: var(--color-muted-cobalt);
}

.cr-dining__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 38rem;
}

.cr-dining__copy :is(h2, p) {
  margin: 0;
}

.cr-dining__media {
  width: 100%;
  min-width: 0;
}

.cr-dining__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.cr-dining__media figcaption {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  background: var(--color-warm-ivory);
  color: var(--color-text);
  font-size: var(--text-14);
  line-height: 1.43;
}

.cr-dining__media figcaption span,
.cr-gathering__media figcaption span {
  color: var(--color-eucalyptus);
  font-size: var(--text-12);
  font-weight: var(--weight-bold);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.cr-text-action {
  color: var(--color-burnt-apricot);
  font-weight: var(--weight-bold);
}

.cr-paths {
  background: var(--color-eucalyptus);
  color: var(--color-soft-white);
}

.cr-paths :is(h2, h3, .eyebrow) {
  color: var(--color-soft-white);
}

.cr-paths .eyebrow {
  color: var(--color-sandstone);
}

.cr-paths a {
  color: var(--color-soft-white);
}

.cr-paths a:hover {
  color: var(--color-burnt-apricot);
}

.cr-paths__intro {
  max-width: 40rem;
}

.cr-paths__items {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
}

.cr-path {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: var(--border-strong-width) solid var(--color-line-sand);
}

.cr-path :is(h3, p) {
  margin: 0;
}

.cr-path h3 {
  font-size: var(--text-24);
}

.cr-path__number {
  color: var(--color-sandstone);
}

.cr-planning__intro {
  max-width: 42rem;
  margin-inline: auto;
  text-align: center;
}

.cr-planning__intro p:last-child {
  text-align: left;
}

.cr-planning__checklist {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-8);
}

.cr-planning__rail {
  display: none;
}

.cr-check {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: var(--space-4);
  padding-top: var(--space-6);
  border-top: var(--border-strong-width) solid var(--color-line-sand);
}

.cr-check :is(h3, p) {
  margin: 0;
}

.cr-check h3 {
  font-size: var(--text-24);
}

.cr-gathering__copy {
  max-width: 38rem;
}

.cr-gathering__media {
  width: 100%;
  min-width: 0;
}

.cr-gathering__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
}

.cr-gathering__media figcaption {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding-top: var(--space-3);
  font-size: var(--text-14);
  line-height: 1.43;
}

.cr-gathering__pull {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  background: var(--color-sandstone);
}

.cr-gathering__pull p {
  margin: 0;
  color: var(--color-eucalyptus);
  font-family: var(--font-serif);
  font-size: clamp(1.625rem, 4vw, var(--text-32));
  font-weight: var(--weight-semibold);
  line-height: 1.05;
}

.cr-gathering__pull span {
  max-width: 42rem;
}

.cr-invitation {
  background: var(--color-eucalyptus);
  color: var(--color-soft-white);
}

.cr-invitation :is(h2, .eyebrow) {
  color: var(--color-soft-white);
}

.cr-invitation .eyebrow {
  color: var(--color-sandstone);
}

.cr-invitation__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-6);
  max-width: 42rem;
}

.cr-invitation__content :is(h2, p) {
  margin: 0;
}

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

.cr-invitation__actions > a {
  width: 100%;
  min-height: 2.75rem;
}

.cr-invitation__secondary {
  border-color: var(--color-soft-white);
  background: transparent;
  color: var(--color-soft-white);
}

.cr-invitation__secondary:hover {
  border-color: var(--color-sandstone);
  background: var(--color-sandstone);
  color: var(--color-terrazzo-ink);
}

.cr-note__intro {
  max-width: 40rem;
}

.cr-note__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cr-note__item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-6);
  border-top: var(--border-width) solid var(--color-border);
}

.cr-note__item:last-child {
  border-bottom: var(--border-width) solid var(--color-border);
}

.cr-note__item h3 {
  margin-bottom: var(--space-2);
  font-size: var(--text-24);
}

.cr-note__item p {
  margin: 0;
}

@media (min-width: 45rem) {
  .card-room-page .section {
    padding-block: var(--space-20);
  }

  .cr-hero__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-6);
    align-items: center;
  }

  .cr-hero__copy {
    grid-column: 1 / span 4;
    width: 100%;
  }

  .cr-hero__media {
    grid-column: 5 / span 4;
    width: 100%;
  }

  .cr-hero__media img {
    aspect-ratio: 16 / 10;
  }

  .cr-hero__glance > p {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .cr-reasons__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .cr-reasons__header {
    grid-column: 1 / span 2;
  }

  .cr-reasons__list {
    grid-column: 3 / span 6;
    width: 100%;
  }

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

  .cr-format-card:nth-child(3) {
    grid-column: 1 / span 2;
  }

  .cr-dining__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-6);
    align-items: start;
  }

  .cr-dining__copy {
    grid-column: 1 / span 4;
    width: 100%;
  }

  .cr-dining__media {
    grid-column: 5 / span 4;
    width: 100%;
  }

  .cr-paths__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .cr-paths__intro {
    grid-column: 1 / span 4;
  }

  .cr-paths__items {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .cr-path:nth-child(3) {
    grid-column: 1 / -1;
  }

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

  .cr-gathering__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
    align-items: start;
  }

  .cr-gathering__copy {
    grid-column: 1 / span 3;
    width: 100%;
  }

  .cr-gathering__media {
    grid-column: 4 / span 5;
    width: 100%;
  }

  .cr-gathering__media img {
    aspect-ratio: 3 / 2;
  }

  .cr-note__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: var(--space-8) var(--space-6);
  }

  .cr-note__intro {
    grid-column: 1 / -1;
  }

  .cr-note__list {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-6);
  }

  .cr-note__item:last-child {
    border-bottom: 0;
  }
}

@media (min-width: 64rem) {
  .cr-hero__grid,
  .cr-reasons__grid,
  .cr-dining__grid,
  .cr-paths__grid,
  .cr-gathering__grid,
  .cr-note__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 1.25rem;
  }

  .cr-hero__grid {
    align-items: center;
  }

  .cr-hero__copy {
    grid-column: 1 / span 5;
  }

  .cr-hero__media {
    grid-column: 7 / span 6;
  }

  .cr-hero__media img {
    aspect-ratio: 16 / 10;
    object-position: center;
  }

  .cr-hero__glance {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cr-hero__glance > p {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
    padding-inline: var(--space-3);
    border-bottom: 0;
    border-right: var(--border-width) solid var(--color-border);
  }

  .cr-hero__glance > p:first-child {
    padding-inline-start: 0;
  }

  .cr-hero__glance > p:last-child {
    padding-inline-end: 0;
    border-right: 0;
  }

  .cr-reasons__header {
    grid-column: 1 / span 2;
  }

  .cr-reasons__list {
    grid-column: 3 / span 7;
    max-width: none;
  }

  .cr-reasons__motif {
    display: block;
    grid-column: 10 / span 3;
    align-self: stretch;
    color: var(--color-eucalyptus);
    font-family: var(--font-serif);
    font-size: clamp(6rem, 12vw, 10rem);
    font-weight: var(--weight-semibold);
    line-height: 0.85;
    opacity: 0.1;
    text-align: right;
  }

  .cr-formats__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .cr-format-card:nth-child(3) {
    grid-column: auto;
  }

  .cr-dining__grid {
    align-items: start;
  }

  .cr-dining__copy {
    grid-column: 1 / span 5;
  }

  .cr-dining__media {
    grid-column: 8 / span 5;
    margin-top: var(--space-10);
  }

  .cr-paths__intro {
    grid-column: 1 / span 5;
  }

  .cr-paths__items {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .cr-path:nth-child(3) {
    grid-column: auto;
  }

  .cr-planning__checklist {
    grid-template-columns: 2fr repeat(3, minmax(0, 3.333fr));
    gap: var(--space-6);
  }

  .cr-planning__rail {
    display: block;
    min-width: 0;
    color: var(--color-muted-cobalt);
    font-family: var(--font-serif);
    font-size: var(--text-96);
    font-weight: var(--weight-semibold);
    line-height: 0.85;
    opacity: 0.55;
  }

  .cr-gathering__copy {
    grid-column: 1 / span 4;
  }

  .cr-gathering__media {
    grid-column: 6 / span 7;
  }

  .cr-gathering__pull {
    grid-column: 1 / -1;
  }

  .cr-invitation__content {
    align-items: center;
    margin-inline: auto;
    text-align: center;
  }

  .cr-invitation__actions {
    flex-direction: row;
    justify-content: center;
    width: auto;
  }

  .cr-invitation__actions > a {
    width: auto;
  }

  .cr-note__intro {
    grid-column: 1 / span 5;
  }

  .cr-note__list {
    grid-column: 7 / span 6;
    display: flex;
  }

  .cr-note__item:last-child {
    border-bottom: var(--border-width) solid var(--color-border);
  }
}

@media (min-width: 75rem) {
  .cr-hero {
    padding-block-start: var(--space-28);
  }

  .cr-hero__copy {
    gap: var(--space-6);
  }

  .cr-hero__intro {
    max-width: 33rem;
  }
}

@media (max-width: 44.9375rem) {
  .cr-hero__copy h1 {
    font-size: clamp(2.375rem, 11vw, 2.75rem);
    line-height: 1.05;
  }

  .cr-hero__action {
    width: 100%;
  }

  .cr-invitation__content h2 {
    font-size: var(--text-32);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .cr-format-card,
  .cr-hero__media img,
  .cr-dining__media img,
  .cr-gathering__media img {
    transition: border-color 180ms ease, transform 180ms ease;
  }

  .cr-format-card:hover {
    border-color: var(--color-eucalyptus);
  }

  .cr-hero__media:hover img,
  .cr-dining__media:hover img,
  .cr-gathering__media:hover img {
    transform: translateY(-2px);
  }
}
