.card-lounge-page {
  overflow: clip;
}

.card-lounge-page .cl-arrival__grid,
.card-lounge-page .cl-room__top,
.card-lounge-page .cl-room__top > *,
.card-lounge-page .cl-annotations > *,
.card-lounge-page .cl-journey__steps > *,
.card-lounge-page .cl-code__layout > *,
.card-lounge-page .cl-code__grid > *,
.card-lounge-page .cl-after__content > *,
.card-lounge-page .cl-detail__grid > *,
.card-lounge-page .cl-faq__layout > *,
.card-lounge-page .cl-location__grid > *,
.card-lounge-page .cl-closing__grid > * {
  min-width: 0;
}

.card-lounge-page .cl-text-action,
.card-lounge-page .cl-next__action {
  display: inline-flex;
  width: fit-content;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-cobalt);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.card-lounge-page .cl-text-action span,
.card-lounge-page .cl-next__action span {
  font-size: 1.15rem;
  transition: transform var(--transition-fast);
}

.card-lounge-page .cl-text-action:hover span,
.card-lounge-page .cl-next__row:hover .cl-next__action span { transform: translateX(4px); }

.card-lounge-page .cl-arrival { padding-block: var(--space-10) var(--space-9); }
.card-lounge-page .cl-arrival__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: end; }
.card-lounge-page .cl-arrival__copy { grid-column: 1; grid-row: 1; width: 100%; max-width: 42rem; align-self: center; }
.card-lounge-page .cl-arrival__copy h1 { max-width: 11ch; margin-block-end: 0; font-size: clamp(4rem, 8vw, 7.5rem); }
.card-lounge-page .cl-arrival__figure { grid-column: 2; grid-row: 1 / span 2; width: 100%; margin: 0 calc((100vw - min(100vw - (var(--gutter) * 2), 100rem)) / -2) 0 0; }
.card-lounge-page .cl-arrival__image { width: 100%; aspect-ratio: 3 / 2; }
.card-lounge-page .cl-arrival__image img { object-position: 58% center; }
.card-lounge-page .cl-arrival__figure figcaption { max-width: 36rem; margin-inline-start: 0; font-size: var(--text-label); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.card-lounge-page .cl-arrival__intro { grid-column: 1; grid-row: 2; display: flex; flex-direction: column; gap: var(--space-5); width: 100%; max-width: 42rem; }
.card-lounge-page .cl-arrival__intro p { margin: 0; }
.card-lounge-page .cl-arrival__actions { width: 100%; }
.card-lounge-page .cl-arrival__pull { max-width: 33rem; padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--color-mandarin); font-family: var(--font-heading); font-size: clamp(1.45rem, 2.5vw, 2rem); font-style: italic; line-height: 1.08; }

.card-lounge-page .cl-journey__heading { width: 100%; max-width: 40rem; }
.card-lounge-page .cl-journey__steps { position: relative; display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; margin-top: var(--space-8); }
.card-lounge-page .cl-journey__steps::before { position: absolute; top: 1.25rem; right: 0; left: 0; height: 1px; background: var(--color-border); content: ""; }
.card-lounge-page .cl-journey__step { position: relative; display: flex; flex-direction: column; gap: var(--space-3); width: 100%; max-width: 34rem; padding: var(--space-5) 0 0; }
.card-lounge-page .cl-journey__step > * { margin: 0; }
.card-lounge-page .cl-journey__step--two { margin-top: var(--space-7); padding: var(--space-5); background: var(--color-terrazzo); }
.card-lounge-page .cl-journey__step--three { max-width: none; padding: var(--space-6); }
.card-lounge-page .cl-step-number { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; background: var(--color-limestone); color: var(--color-cobalt); font-size: var(--text-label); font-weight: 700; letter-spacing: .1em; }
.card-lounge-page .cl-journey__step--three .cl-step-number { background: var(--color-mandarin); color: var(--color-ink); }
.card-lounge-page .cl-journey__step h3 { font-size: clamp(1.8rem, 2.6vw, 2.4rem); }
.card-lounge-page .cl-journey__step a { color: inherit; text-decoration-color: var(--color-mandarin); }

.card-lounge-page .cl-room__top { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-6); align-items: start; }
.card-lounge-page .cl-room__heading { width: 100%; max-width: 38rem; padding-top: var(--space-5); }
.card-lounge-page .cl-room__figure { width: 100%; margin: 0; }
.card-lounge-page .cl-room__image { width: 100%; aspect-ratio: 3 / 2; }
.card-lounge-page .cl-room__image img { object-position: center center; }
.card-lounge-page .cl-caption-toggle { padding: 0; color: var(--color-slate); font-size: var(--text-label); font-weight: 700; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.card-lounge-page .cl-caption-toggle:hover { color: var(--color-cobalt); }
.card-lounge-page .cl-room__figure figcaption span { display: block; max-width: 42rem; margin-top: var(--space-2); }
.card-lounge-page .cl-annotations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.card-lounge-page .cl-annotation { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; max-width: 34rem; padding: var(--space-5); border-top: 1px solid var(--color-border); }
.card-lounge-page .cl-annotation > * { margin: 0; }
.card-lounge-page .cl-annotation--light { max-width: none; border: 0; }
.card-lounge-page .cl-annotation h3 { font-size: clamp(1.65rem, 2.3vw, 2.2rem); }
.card-lounge-page .cl-diagram { display: block; width: 100%; height: 1.25rem; border-top: 1px solid var(--color-cobalt); border-bottom: 1px solid var(--color-cobalt); background: linear-gradient(90deg, var(--color-cobalt) 0 22%, transparent 22% 31%, var(--color-gumleaf) 31% 68%, transparent 68% 77%, var(--color-cobalt) 77%); }

.card-lounge-page .cl-code__layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--space-7); align-items: start; }
.card-lounge-page .cl-code__heading { width: 100%; max-width: 20rem; }
.card-lounge-page .cl-code__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); width: 100%; }
.card-lounge-page .cl-principle { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; min-height: 17rem; padding: var(--space-5); border-top: 1px solid var(--color-steel); border-bottom: 1px solid var(--color-steel); transition: border-color var(--transition-fast); }
.card-lounge-page .cl-principle > * { margin: 0; }
.card-lounge-page .cl-principle:hover { border-color: var(--color-cobalt); }
.card-lounge-page .cl-principle .label { color: var(--color-cobalt); }
.card-lounge-page .cl-principle h3 { font-size: clamp(1.7rem, 2.3vw, 2.2rem); }
.card-lounge-page .cl-principle--linen { background: var(--color-linen); }
.card-lounge-page .cl-principle--felt { background: var(--color-gumleaf); color: var(--color-linen); border-color: var(--color-gumleaf); }
.card-lounge-page .cl-principle--felt .label { color: var(--color-limestone); }
.card-lounge-page .cl-principle--terrazzo { background: var(--color-terrazzo); }

.card-lounge-page .cl-after { padding-top: 0; }
.card-lounge-page .cl-after__figure { width: 100%; margin: 0; }
.card-lounge-page .cl-after__image { width: 100%; aspect-ratio: 3 / 1; border-radius: 0; }
.card-lounge-page .cl-after__image img { object-position: center center; }
.card-lounge-page .cl-after__figure figcaption { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; }
.card-lounge-page .cl-after__content { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); gap: var(--space-5); align-items: start; padding-top: var(--space-8); }
.card-lounge-page .cl-after__main { width: 100%; max-width: 44rem; }
.card-lounge-page .cl-after__main h2 { font-size: clamp(2.2rem, 4.5vw, 4.25rem); }
.card-lounge-page .cl-after__note { display: flex; flex-direction: column; gap: var(--space-3); width: 100%; max-width: 28rem; min-height: 16rem; padding: var(--space-5); }
.card-lounge-page .cl-after__note > * { margin: 0; }
.card-lounge-page .cl-after__note--dining { background: var(--color-linen); border: 1px solid var(--color-border); }
.card-lounge-page .cl-after__note--social { background: rgb(23 71 166 / 12%); color: var(--color-ink); box-shadow: var(--shadow-layered); }
.card-lounge-page .cl-after__note h3 { font-size: clamp(1.65rem, 2.1vw, 2rem); }

.card-lounge-page .cl-next__heading { width: 100%; max-width: 36rem; }
.card-lounge-page .cl-next__rows { width: 100%; margin-top: var(--space-7); border-top: 1px solid var(--color-border); }
.card-lounge-page .cl-next__row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); gap: var(--space-5); align-items: center; width: 100%; min-width: 0; padding-block: var(--space-5); border-bottom: 1px solid var(--color-border); color: var(--color-ink); text-decoration: none; transition: background-color var(--transition-fast), padding-inline var(--transition-fast); }
.card-lounge-page .cl-next__row:hover { padding-inline: var(--space-3); background: rgb(255 253 252 / 55%); color: var(--color-ink); }
.card-lounge-page .cl-next__label { width: 100%; font-family: var(--font-heading); font-size: clamp(1.85rem, 3vw, 2.7rem); font-weight: 600; line-height: 1; }
.card-lounge-page .cl-next__description { width: 100%; max-width: 34rem; color: var(--color-slate); line-height: 1.6; }
.card-lounge-page .cl-next__action { justify-self: end; }

.card-lounge-page .cl-detail__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.card-lounge-page .cl-detail__figure { width: 100%; margin: 0; }
.card-lounge-page .cl-detail__image { width: 100%; aspect-ratio: 4 / 5; }
.card-lounge-page .cl-detail__image img { object-position: center; }
.card-lounge-page .cl-detail__copy { width: 100%; max-width: 36rem; }
.card-lounge-page .cl-detail__copy blockquote { max-width: 26rem; margin-top: var(--space-6); }

.card-lounge-page .cl-faq__layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--space-7); align-items: start; }
.card-lounge-page .cl-faq__heading { width: 100%; max-width: 20rem; }
.card-lounge-page .cl-faq__list { width: 100%; max-width: 58rem; }
.card-lounge-page .cl-faq__item { width: 100%; border-top: 1px solid var(--color-border); }
.card-lounge-page .cl-faq__item:last-child { border-bottom: 1px solid var(--color-border); }
.card-lounge-page .cl-faq__item h3 { margin: 0; }
.card-lounge-page .cl-faq__item h3 button { display: flex; width: 100%; min-height: 4rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; color: var(--color-ink); font-family: var(--font-heading); font-size: clamp(1.55rem, 2.5vw, 2.15rem); font-weight: 600; line-height: 1.05; text-align: left; }
.card-lounge-page .cl-faq__item h3 button span { flex: 0 0 auto; color: var(--color-cobalt); font-family: var(--font-body); font-size: 1.6rem; font-weight: 400; }
.card-lounge-page .cl-faq__answer { width: 100%; max-width: 48rem; padding: 0 0 var(--space-5); }
.card-lounge-page .cl-faq__answer p { margin: 0; }

.card-lounge-page .cl-location__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.card-lounge-page .cl-location__statement { width: 100%; max-width: 40rem; }
.card-lounge-page .cl-location__reference { margin-bottom: 0; }
.card-lounge-page .cl-location__action { display: flex; flex-direction: column; gap: var(--space-4); width: 100%; max-width: 28rem; margin-top: var(--space-4); padding: var(--space-6); border-left: 1px solid var(--color-steel); background: var(--color-terrazzo); }
.card-lounge-page .cl-location__action > * { margin: 0; }
.card-lounge-page .cl-location__action h3 { font-size: clamp(1.9rem, 2.7vw, 2.5rem); }
.card-lounge-page .cl-location__action .button { width: 100%; }

.card-lounge-page .cl-closing { position: relative; padding-block: var(--space-10); overflow: hidden; }
.card-lounge-page .cl-closing__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-height: 27rem; align-items: center; }
.card-lounge-page .cl-closing__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--space-5); width: 100%; max-width: 44rem; }
.card-lounge-page .cl-closing__content > * { margin: 0; }
.card-lounge-page .cl-closing__content h2 { max-width: 11ch; font-size: clamp(3rem, 6vw, 5.8rem); }
.card-lounge-page .cl-closing__content p { max-width: 34rem; }
.card-lounge-page .cl-closing__content .button { width: fit-content; }
.card-lounge-page .cl-closing__plane { width: 100%; height: 100%; min-height: 23rem; background: linear-gradient(135deg, rgb(23 71 166 / 80%), rgb(23 71 166 / 22%)); border-left: 1px solid rgb(255 253 252 / 30%); }

.card-lounge-page .cl-reveal { opacity: 0; clip-path: inset(0 0 8% 0); transform: translateY(18px); transition: opacity 560ms ease-out, clip-path 560ms ease-out, transform 560ms ease-out; }
.card-lounge-page .cl-reveal.is-visible { opacity: 1; clip-path: inset(0); transform: translateY(0); }

@media (max-width: 1100px) {
  .card-lounge-page .cl-room__top { grid-template-columns: 1fr; gap: var(--space-5); }
  .card-lounge-page .cl-room__heading { max-width: 38rem; padding-top: 0; }
}

@media (max-width: 1020px) {
  .card-lounge-page .cl-arrival__grid { grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); }
  .card-lounge-page .cl-after__content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-lounge-page .cl-after__main { grid-column: 1 / -1; max-width: 44rem; }
  .card-lounge-page .cl-after__note { max-width: none; }
}

@media (max-width: 960px) {
  .card-lounge-page .cl-journey__steps { grid-template-columns: 1fr; gap: var(--space-5); padding-left: var(--space-5); }
  .card-lounge-page .cl-journey__steps::before { top: 0; bottom: 0; left: .75rem; width: 1px; height: auto; }
  .card-lounge-page .cl-journey__step,
  .card-lounge-page .cl-journey__step--three { max-width: 34rem; padding: var(--space-5); background: var(--color-limestone); }
  .card-lounge-page .cl-journey__step--two { margin-top: 0; background: var(--color-linen); }
  .card-lounge-page .cl-journey__step--three { max-width: 34rem; background: var(--color-gumleaf); }
}

@media (max-width: 920px) {
  .card-lounge-page .cl-next__row { grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); }
  .card-lounge-page .cl-next__action { grid-column: 2; justify-self: start; }
}

@media (max-width: 900px) {
  .card-lounge-page .cl-arrival { padding-block: var(--space-8); }
  .card-lounge-page .cl-arrival__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .card-lounge-page .cl-arrival__copy { grid-column: 1; grid-row: 1; max-width: 34rem; }
  .card-lounge-page .cl-arrival__copy h1 { font-size: clamp(3rem, 13vw, 4.2rem); }
  .card-lounge-page .cl-arrival__figure { grid-column: 1; grid-row: 2; width: 100vw; margin-inline: calc(var(--gutter) * -1); }
  .card-lounge-page .cl-arrival__image { aspect-ratio: 4 / 5; }
  .card-lounge-page .cl-arrival__image img { object-position: 60% center; }
  .card-lounge-page .cl-arrival__figure figcaption { width: calc(100% - (var(--gutter) * 2)); margin-inline: auto; }
  .card-lounge-page .cl-arrival__intro { grid-column: 1; grid-row: 3; max-width: 34rem; }
  .card-lounge-page .cl-arrival__actions { flex-direction: column; align-items: stretch; gap: var(--space-3); }
  .card-lounge-page .cl-arrival__actions > * { width: 100%; }
  .card-lounge-page .cl-code__layout,
  .card-lounge-page .cl-detail__grid,
  .card-lounge-page .cl-closing__grid { grid-template-columns: 1fr; }
  .card-lounge-page .cl-code__heading,
  .card-lounge-page .cl-detail__copy { max-width: 36rem; }
  .card-lounge-page .cl-detail__figure { order: 1; }
  .card-lounge-page .cl-detail__copy { order: 2; }
  .card-lounge-page .cl-closing { padding-block: var(--space-8); border-top: 4px solid var(--color-cobalt); }
  .card-lounge-page .cl-closing__grid { min-height: 0; }
  .card-lounge-page .cl-closing__plane { display: none; }
  .card-lounge-page .cl-closing__content .button { width: 100%; }
}

@media (max-width: 880px) {
  .card-lounge-page .cl-code__grid { grid-template-columns: 1fr; }
  .card-lounge-page .cl-principle { min-height: 0; }
}

@media (max-width: 860px) {
  .card-lounge-page .cl-faq__layout { grid-template-columns: 1fr; gap: var(--space-5); }
  .card-lounge-page .cl-faq__heading { max-width: 34rem; }
}

@media (max-width: 840px) {
  .card-lounge-page .cl-location__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .card-lounge-page .cl-location__action { max-width: 34rem; margin-top: 0; border-top: 1px solid var(--color-steel); border-left: 0; }
}

@media (max-width: 820px) {
  .card-lounge-page .cl-annotations { grid-template-columns: 1fr; }
  .card-lounge-page .cl-annotation,
  .card-lounge-page .cl-annotation--light { max-width: 34rem; }
  .card-lounge-page .cl-room__figure { width: 100vw; margin-inline: calc(var(--gutter) * -1); }
  .card-lounge-page .cl-room__figure figcaption { width: calc(100% - (var(--gutter) * 2)); margin-inline: auto; }
}

@media (max-width: 720px) {
  .card-lounge-page .cl-after__image { aspect-ratio: 16 / 9; }
  .card-lounge-page .cl-after__image img { object-position: 53% center; }
  .card-lounge-page .cl-after__content { grid-template-columns: 1fr; padding-top: var(--space-7); }
  .card-lounge-page .cl-after__main { grid-column: 1; }
}

@media (max-width: 600px) {
  .card-lounge-page .cl-arrival__pull { font-size: 1.5rem; }
  .card-lounge-page .cl-journey__steps { margin-top: var(--space-6); }
  .card-lounge-page .cl-journey__step,
  .card-lounge-page .cl-journey__step--three { padding: var(--space-4); }
  .card-lounge-page .cl-room__heading h2,
  .card-lounge-page .cl-code__heading h2,
  .card-lounge-page .cl-detail__copy h2,
  .card-lounge-page .cl-location__statement h2 { font-size: clamp(2rem, 9vw, 2.4rem); }
  .card-lounge-page .cl-next__row { grid-template-columns: 1fr; gap: var(--space-3); }
  .card-lounge-page .cl-next__action { grid-column: 1; width: 100%; justify-self: stretch; }
  .card-lounge-page .cl-next__label { font-size: 2rem; }
  .card-lounge-page .cl-detail__grid { gap: var(--space-5); }
  .card-lounge-page .cl-detail__copy blockquote { margin-top: var(--space-5); font-size: 1.9rem; }
  .card-lounge-page .cl-faq__item h3 button { min-height: 2.75rem; font-size: 1.55rem; }
  .card-lounge-page .cl-location__action { padding: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .card-lounge-page .cl-reveal { opacity: 1; clip-path: none; transform: none; }
}
