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

.card-lounge-page, .card-lounge-page * { overflow-wrap: anywhere; }
.card-lounge-page a:focus-visible, .card-lounge-page button:focus-visible { outline: 3px solid var(--color-focus-ring); outline-offset: 3px; }

.cl-hero { position: relative; min-height: clamp(47.5rem, 58vw, 53.75rem); display: flex; align-items: flex-end; isolation: isolate; background: var(--color-void-onyx); }
.cl-hero__image, .cl-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.cl-hero__image { object-fit: cover; object-position: center right; z-index: -2; }
.cl-hero__scrim { z-index: -1; background: linear-gradient(90deg, rgba(7,5,13,.9) 0%, rgba(16,9,31,.78) 42%, rgba(7,5,13,.22) 68%), linear-gradient(0deg, rgba(7,5,13,.7), transparent 54%); }
.cl-hero__inner { width: min(100% - (var(--gutter) * 2), var(--container-max)); padding-block: var(--space-10) var(--space-8); }
.cl-hero__copy { width: min(100%, 50ch); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.cl-hero__copy > * { margin: 0; min-width: 0; }
.cl-hero__lead { font-size: var(--text-lead); line-height: var(--line-body); }
.cl-hero__actions { width: 100%; }
.cl-hero__note { color: var(--color-lilac-muted); font-size: var(--text-utility); }

.cl-room__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.cl-room__intro { width: min(100%, 56ch); grid-column: 1; }
.cl-room__image { grid-column: 2; width: calc(100% + var(--space-5)); min-width: 0; margin: 0; aspect-ratio: 3 / 4; }
.cl-room__image img { object-position: center; }
.cl-room__observations { grid-column: 1; width: 100%; display: flex; flex-direction: column; gap: var(--space-5); }
.cl-observation { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-hairline); }
.cl-observation__number { font-family: var(--font-heading); font-weight: 700; color: var(--color-signal-cyan); }
.cl-observation--fuchsia .cl-observation__number { color: var(--color-neon-fuchsia); }
.cl-observation--yellow .cl-observation__number { color: var(--color-electric-yellow); }
.cl-observation__body { width: min(100%, 40ch); }
.cl-observation__body h3, .cl-observation__body p { margin: 0; }
.cl-observation__body p { margin-top: var(--space-2); }

.cl-felt__wrap { width: min(100% - (var(--gutter) * 2), var(--container-content)); }
.cl-felt__heading { width: min(100%, 40ch); }
.cl-felt__composition { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.cl-felt__image { grid-column: 4 / 13; grid-row: 1 / 3; width: 100%; margin: 0; }
.cl-felt__panel { width: 100%; display: flex; flex-direction: column; gap: var(--space-3); }
.cl-felt__panel > * { margin: 0; }
.cl-felt__panel--one { grid-column: 1 / 5; grid-row: 1; align-self: start; }
.cl-felt__panel--two { grid-column: 1 / 5; grid-row: 2; align-self: end; }
.cl-felt__panel--three { grid-column: 9 / 13; grid-row: 2; align-self: end; transform: translateY(28%); }
.cl-felt__panel .eyebrow { color: var(--color-lilac-muted); }

.cl-offline { position: relative; background: var(--color-void-onyx); isolation: isolate; }
.cl-offline__wrap { width: min(100% - (var(--gutter) * 2), var(--container-reading)); }
.cl-offline__heading { width: min(100%, 58ch); margin-inline: auto; text-align: center; }
.cl-offline__heading .section-marker { justify-content: center; }
.cl-offline__lines { width: min(100%, 62ch); margin-inline: auto; display: flex; flex-direction: column; }
.cl-editorial-line { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: var(--space-3); padding-block: var(--space-5); border-top: var(--border-hairline); }
.cl-editorial-line > span { font-family: var(--font-heading); font-size: var(--text-utility); font-weight: 700; color: var(--color-signal-cyan); }
.cl-editorial-line--fuchsia > span { color: var(--color-neon-fuchsia); }
.cl-editorial-line--yellow > span { color: var(--color-electric-yellow); }
.cl-editorial-line h3, .cl-editorial-line p { margin: 0; }
.cl-editorial-line p { margin-top: var(--space-2); }

.cl-formats__wrap { width: min(100% - (var(--gutter) * 2), var(--container-content)); }
.cl-formats__intro { width: min(100%, 60ch); }
.cl-formats__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); align-items: stretch; }
.cl-format { width: 100%; min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.cl-format > * { margin: 0; }
.cl-format--feature { grid-column: 1 / 8; grid-row: 1 / 3; }
.cl-format--guided { grid-column: 8 / 13; grid-row: 1; }
.cl-format--private { grid-column: 8 / 13; grid-row: 2; }
.cl-format:hover { border-color: var(--color-hairline-strong); box-shadow: var(--shadow-panel), var(--shadow-glow-cyan); }

.cl-holdem { background: linear-gradient(120deg, rgba(39,22,65,.62), rgba(7,5,13,.88)); }
.cl-holdem__heading { width: min(100%, 10ch); }
.cl-holdem__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: stretch; }
.cl-holdem__copy { grid-column: 1 / 8; width: 100%; display: flex; flex-direction: column; gap: var(--space-5); }
.cl-holdem__copy > * { margin: 0; }
.cl-holdem__narrative { width: min(100%, 52ch); font-size: var(--text-lead); }
.cl-holdem__support { width: min(100%, 40ch); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.cl-holdem__support > * { margin: 0; }
.cl-holdem__note { width: min(100%, 46ch); padding-top: var(--space-4); border-top: var(--border-hairline); color: var(--color-bright-white); font-family: var(--font-heading); font-style: italic; }
.cl-holdem__scene { grid-column: 8 / 13; width: 100%; min-width: 0; min-height: 22rem; overflow: hidden; position: relative; background: linear-gradient(145deg, #07050d, #25163f 52%, #10091f); }
.cl-holdem__scene::before { position: absolute; inset: 18% 0 0; background: repeating-linear-gradient(90deg, transparent 0 12%, rgba(57,231,245,.17) 12.4% 13%), linear-gradient(180deg, transparent, rgba(255,44,156,.22)); content: ""; transform: perspective(24rem) rotateX(64deg) scale(1.45); transform-origin: bottom; }
.cl-holdem__scene span { position: absolute; height: 2px; background: var(--color-electric-yellow); box-shadow: 0 0 16px rgba(244,232,74,.55); }
.cl-holdem__scene span:nth-child(1) { width: 42%; top: 28%; left: 16%; }
.cl-holdem__scene span:nth-child(2) { width: 58%; top: 52%; right: 0; background: var(--color-signal-cyan); }
.cl-holdem__scene span:nth-child(3) { width: 30%; bottom: 18%; left: 26%; background: var(--color-neon-fuchsia); }

.cl-code { position: relative; isolation: isolate; }
.cl-code__intro { width: min(100%, 58ch); margin-inline: auto; text-align: center; }
.cl-code__intro .section-marker { justify-content: center; }
.cl-code__list { width: min(100%, 47.5rem); margin-inline: auto; display: flex; flex-direction: column; }
.cl-code-row { display: grid; grid-template-columns: 4rem 11.25rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5) 0; border-top: var(--border-hairline); }
.cl-code-row__number { color: var(--color-signal-cyan); font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: 700; }
.cl-code-row--fuchsia .cl-code-row__number { color: var(--color-neon-fuchsia); }
.cl-code-row--yellow .cl-code-row__number { color: var(--color-electric-yellow); }
.cl-code-row h3, .cl-code-row p { margin: 0; }

.cl-private__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-7); align-items: start; }
.cl-private__content { grid-column: 1 / 7; width: 100%; }
.cl-private__lead { width: min(100%, 52ch); }
.cl-private__image { grid-column: 7 / 13; width: 100%; margin: 0; align-self: stretch; min-height: 100%; }
.cl-private__image img { object-position: center right; }
.cl-private__cues { display: flex; flex-direction: column; gap: var(--space-4); width: 100%; }
.cl-private-cue { padding: var(--space-4) 0 0 var(--space-5); border-top: var(--border-hairline); border-left: 2px solid var(--color-neon-fuchsia); width: min(100%, 38ch); }
.cl-private-cue--cyan { border-left-color: var(--color-signal-cyan); }
.cl-private-cue--yellow { border-left-color: var(--color-electric-yellow); }
.cl-private-cue h3 { margin-bottom: var(--space-2); }
.cl-private-cue p { margin-bottom: var(--space-3); }

.cl-fragment { position: relative; background: var(--color-void-onyx); }
.cl-fragment__figure { margin: 0; position: relative; }
.cl-fragment__image { aspect-ratio: 16 / 9; }
.cl-fragment__scene { position: absolute; inset: 0; background: radial-gradient(circle at 70% 32%, rgba(255,120,200,.48), transparent 7%), radial-gradient(circle at 48% 42%, rgba(57,231,245,.24), transparent 15%), linear-gradient(120deg, #07050d 8%, rgba(16,9,31,.3) 48%, #25163f 100%); }
.cl-fragment__scene::after { position: absolute; inset: 52% 0 0; background: repeating-linear-gradient(90deg, rgba(255,249,255,.12) 0 1px, transparent 1px 9rem), linear-gradient(180deg, transparent, rgba(7,5,13,.72)); content: ""; }
.cl-fragment__caption { position: absolute; left: max(var(--gutter), calc((100vw - var(--container-max)) / 2)); bottom: var(--space-7); width: min(100% - (var(--gutter) * 2), 48ch); padding: var(--space-5); margin: 0; border: var(--border-hairline); border-radius: var(--radius-panel); background: rgba(7,5,13,.82); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.cl-fragment__caption > * { margin: 0; }
.cl-fragment__caption h2 { font-size: var(--text-section); }

.cl-enquiry { position: relative; isolation: isolate; background: linear-gradient(180deg, var(--color-midnight-violet), var(--color-void-onyx)); }
.cl-enquiry__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: end; }
.cl-enquiry__copy { grid-column: 1 / 8; width: min(100%, 50ch); }
.cl-enquiry__copy p:last-child { margin-bottom: 0; }
.cl-enquiry__actions { grid-column: 8 / 13; width: 100%; display: flex; flex-direction: column; gap: var(--space-3); align-items: stretch; }
.cl-enquiry__actions > * { width: 100%; min-width: 0; }

[data-cl-reveal] { opacity: 0; transform: translateY(.75rem); transition: opacity 700ms ease, transform 700ms ease; }
[data-cl-reveal].is-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 62.5rem) {
  .cl-felt__image { grid-column: 1 / 13; grid-row: 1; }
  .cl-felt__panel--one { grid-column: 1 / 5; grid-row: 2; }
  .cl-felt__panel--two { grid-column: 5 / 9; grid-row: 2; }
  .cl-felt__panel--three { grid-column: 9 / 13; grid-row: 2; transform: none; }
}

@media (max-width: 61.25rem) {
  .cl-room__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-room__intro { grid-column: 1 / 3; }
  .cl-room__image { grid-column: 1 / 3; width: 100%; aspect-ratio: 4 / 3; }
  .cl-room__observations { grid-column: 1 / 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  .cl-observation { grid-template-columns: 1fr; }
  .cl-observation__body { width: 100%; }
  .cl-private__grid { grid-template-columns: 1fr; }
  .cl-private__image { grid-column: 1; grid-row: 1; }
  .cl-private__content { grid-column: 1; grid-row: 2; }
  .cl-private__cues { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cl-private-cue { width: 100%; }
}

@media (max-width: 57.5rem) {
  .cl-holdem__heading { width: min(100%, 14ch); }
  .cl-holdem__grid { grid-template-columns: 1fr; }
  .cl-holdem__scene { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 16 / 9; }
  .cl-holdem__copy { grid-column: 1; grid-row: 2; }
}

@media (max-width: 56.25rem) {
  .cl-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-format--feature { grid-column: 1 / 3; grid-row: 1; }
  .cl-format--guided { grid-column: 1; grid-row: 2; }
  .cl-format--private { grid-column: 2; grid-row: 2; }
}

@media (max-width: 55rem) {
  .cl-code-row { grid-template-columns: 4rem minmax(0, 1fr); }
  .cl-code-row h3 { grid-column: 2; }
  .cl-code-row p { grid-column: 2; }
}

@media (max-width: 51.25rem) {
  .cl-hero { min-height: 78svh; align-items: flex-end; }
  .cl-hero__scrim { background: linear-gradient(180deg, rgba(7,5,13,.12) 0%, rgba(7,5,13,.26) 32%, rgba(7,5,13,.93) 67%, rgba(7,5,13,.97)); }
  .cl-hero__inner { padding-block: var(--space-9) var(--space-6); }
  .cl-hero__copy { width: 100%; gap: var(--space-3); }
  .cl-hero__lead { font-size: var(--text-body); }
  .cl-room__grid, .cl-room__observations { grid-template-columns: 1fr; }
  .cl-room__intro, .cl-room__image, .cl-room__observations { grid-column: 1; }
  .cl-room__image { aspect-ratio: 4 / 3; }
  .cl-observation { grid-template-columns: 2.25rem minmax(0, 1fr); }
  .cl-felt__composition { grid-template-columns: 1fr; }
  .cl-felt__image, .cl-felt__panel--one, .cl-felt__panel--two, .cl-felt__panel--three { grid-column: 1; grid-row: auto; }
  .cl-felt__panel { padding: var(--space-5); }
  .cl-editorial-line { grid-template-columns: 1fr; gap: var(--space-2); }
  .cl-editorial-line > span { width: max-content; }
  .cl-formats__grid { grid-template-columns: 1fr; }
  .cl-format--feature, .cl-format--guided, .cl-format--private { grid-column: 1; grid-row: auto; }
  .cl-private__cues { grid-template-columns: 1fr; }
  .cl-private-cue { width: 100%; }
  .cl-enquiry__panel { grid-template-columns: 1fr; }
  .cl-enquiry__copy, .cl-enquiry__actions { grid-column: 1; width: 100%; }
  .cl-enquiry__actions { flex-direction: row; }
  .cl-enquiry__actions > * { flex: 1 1 0; }
}

@media (max-width: 47.5rem) {
  .cl-fragment__caption { position: static; width: min(100% - (var(--gutter) * 2), var(--container-max)); margin: var(--space-5) auto 0; background: var(--color-violet-panel-solid); }
}

@media (max-width: 40rem) {
  .cl-formats__intro, .cl-holdem__heading, .cl-felt__heading { width: 100%; }
  .cl-code-row { grid-template-columns: 1fr; gap: var(--space-2); }
  .cl-code-row h3, .cl-code-row p { grid-column: 1; }
  .cl-code-row__number { font-size: var(--text-utility); }
}

@media (max-width: 35rem) {
  .cl-enquiry__actions { flex-direction: column; }
  .cl-enquiry__actions > * { flex: 1 1 auto; }
}

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