.casino-lounge {
  background: var(--color-ink);
  overflow: hidden;
}

.casino-lounge .eyebrow { margin-bottom: var(--space-4); }
.casino-lounge .lead { color: var(--color-cream-muted); }

.cl-hero { position: relative; min-height: 44rem; display: grid; isolation: isolate; background: var(--color-black-plum); }
.cl-hero__image, .cl-hero__shade, .cl-hero__container { grid-area: 1 / 1; }
.cl-hero__image { width: 100%; height: 100%; min-width: 0; object-fit: cover; object-position: 72% center; }
.cl-hero__shade { z-index: 1; background: linear-gradient(90deg, rgb(18 16 17 / 92%) 0%, rgb(18 16 17 / 52%) 53%, rgb(18 16 17 / 16%) 100%); }
.cl-hero__container { z-index: 2; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; padding-block: var(--space-9); }
.cl-hero__content { grid-column: 1 / span 5; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.cl-hero__content > * { min-width: 0; margin: 0; }
.cl-hero__content .display { max-width: 9.5ch; }
.cl-hero__content .lead { max-width: 35rem; }
.cl-hero__actions { display: flex; min-width: 0; }
.cl-hero__note { max-width: 28.75rem; padding-top: var(--space-4); border-top: 1px solid var(--color-border); color: var(--color-cream-muted); font-size: var(--text-meta); line-height: var(--leading-meta); }

.cl-transition { background: var(--color-black-plum); }
.cl-transition__intro { width: min(100%, 33.75rem); min-width: 0; }
.cl-transition__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.cl-stage { position: relative; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.cl-stage::before { position: absolute; top: -1px; left: 0; width: 2.25rem; height: 1px; background: var(--color-brass-light); content: ""; transition: width var(--transition-slow), background-color var(--transition-slow); }
.cl-stage:hover::before { width: 100%; }
.cl-stage__number, .cl-stage__place { color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; line-height: var(--leading-micro); }
.cl-stage__copy { min-width: 0; max-width: 21rem; }
.cl-stage__copy h3 { margin-bottom: var(--space-3); }
.cl-stage__copy p { margin-bottom: var(--space-4); }

.cl-space { background: linear-gradient(180deg, var(--color-black-plum), var(--color-ink)); }
.cl-space__intro { width: min(100%, 36.875rem); min-width: 0; }
.cl-space__figure { position: relative; width: calc(83.333% - var(--space-4)); height: 32.5rem; margin: var(--space-8) 0 var(--space-6) auto; }
.cl-space__figure::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgb(18 16 17 / 52%) 100%); content: ""; pointer-events: none; }
.cl-space__marker { position: absolute; z-index: 1; display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-2) var(--space-3); border: 1px solid rgb(177 138 82 / 75%); border-radius: var(--radius-subtle); background: rgb(18 16 17 / 72%); color: var(--color-warm-cream); font-size: var(--text-micro); letter-spacing: .08em; text-transform: uppercase; transition: border-color var(--transition-slow), background-color var(--transition-slow); }
.cl-space__marker span { color: var(--color-brass-light); }
.cl-space__marker--lounge { left: 7%; bottom: 14%; }
.cl-space__marker--tables { right: 8%; top: 18%; }
.cl-space__marker:hover, .cl-space__marker[aria-pressed="true"] { border-color: var(--color-brass-light); background: rgb(51 32 47 / 90%); }
.cl-space__zones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-left: 16.667%; }
.cl-zone { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); padding-top: var(--space-5); border-top: 1px solid var(--color-border-muted); }
.cl-zone > span, .cl-space__below .eyebrow { color: var(--color-brass-light); }
.cl-zone h3 { margin-bottom: var(--space-3); }
.cl-zone p { max-width: 25rem; margin-bottom: 0; }
.cl-space__below { display: grid; grid-template-columns: 5fr 1fr 3fr; gap: var(--space-6); margin-top: var(--space-8); }
.cl-space__below > article { min-width: 0; }
.cl-space__below > article:first-child { grid-column: 1; }
.cl-space__below > article:last-child { grid-column: 3; }
.cl-space__below h3 { margin-bottom: var(--space-3); }
.cl-space__below p { max-width: 31rem; }
.cl-space__below > article:last-child p:not(.eyebrow) { max-width: 18rem; }

.cl-activities { background: var(--color-wine-shadow); }
.cl-activities__intro { width: min(100%, 37.5rem); min-width: 0; }
.cl-activities__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); align-items: start; }
.cl-poker { grid-column: 1 / span 7; min-width: 0; }
.cl-poker .media-frame { height: 25rem; margin-bottom: var(--space-6); }
.cl-poker .media-frame img { transition: transform var(--transition-slow); }
.cl-poker:hover .media-frame img { transform: scale(1.03); }
.cl-poker__copy { width: min(100%, 26.25rem); min-width: 0; }
.cl-poker__copy h3, .cl-roulette h3, .cl-blackjack h3 { font-size: clamp(2rem, 3vw, 2.5rem); }
.cl-roulette { grid-column: 9 / span 4; min-width: 0; position: relative; padding: var(--space-6) 0 var(--space-6) var(--space-6); border-left: 1px solid var(--color-border); }
.cl-roulette__ring { width: 5rem; height: 5rem; margin-bottom: var(--space-5); border: 1px solid var(--color-brass-light); border-radius: 50%; }
.cl-roulette__ring::after { display: block; width: 2.25rem; height: 2.25rem; margin: 1.3125rem; border: 1px solid var(--color-aged-brass); border-radius: 50%; content: ""; }
.cl-roulette p, .cl-blackjack p { max-width: 22.5rem; }
.cl-blackjack { grid-column: 9 / span 4; min-width: 0; margin-top: calc(var(--space-5) * -1); padding: var(--space-6); background: var(--color-deep-plum); border: 1px solid var(--color-border-muted); }
.cl-blackjack__number { display: block; margin-bottom: var(--space-5); color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.cl-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); color: var(--color-warm-cream); font-size: var(--text-meta); font-weight: 600; text-decoration: none; }
.cl-text-link span { color: var(--color-brass-light); transition: transform var(--transition-fast); }
.cl-text-link:hover span { transform: translateX(4px); }
.cl-activities__note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); margin: var(--space-8) 0 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border); }
.cl-activities__note span { color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.cl-activities__note p { max-width: 42rem; margin: 0; color: var(--color-cream-muted); }

.cl-light { background: var(--color-ink); }
.cl-light__top { display: grid; grid-template-columns: 4fr 1fr 7fr; gap: var(--space-6); align-items: center; }
.cl-light__top > div, .cl-light__figure { min-width: 0; }
.cl-light__top > div { grid-column: 1; }
.cl-light__figure { grid-column: 3; height: 23rem; margin: 0; }
.cl-light__figure figcaption { position: absolute; z-index: 1; right: var(--space-4); bottom: var(--space-3); margin: 0; color: var(--color-warm-cream); }
.cl-observations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.cl-observations > article { min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border-muted); }
.cl-observations span { display: block; margin-bottom: var(--space-4); color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.cl-observations h3 { margin-bottom: var(--space-3); }
.cl-observations p { margin-bottom: 0; }

.cl-conversation { background: var(--color-black-plum); }
.cl-conversation__intro { width: min(100%, 35rem); min-width: 0; }
.cl-conversation__grid { display: grid; grid-template-columns: 7fr 1fr 4fr; gap: var(--space-6); margin-top: var(--space-8); align-items: start; }
.cl-conversation__main { grid-column: 1; min-width: 0; max-width: 32.5rem; }
.cl-conversation__main blockquote { margin-bottom: var(--space-6); }
.cl-conversation__side { grid-column: 3; min-width: 0; padding: var(--space-6); background: var(--color-deep-plum); border-top: 1px solid var(--color-aged-brass); }
.cl-conversation__side > span { display: block; margin-bottom: var(--space-5); color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.cl-conversation__side p { max-width: 22.5rem; margin-bottom: 0; }
.cl-presence-rule { width: min(100%, 26.25rem); margin: var(--space-8) 0 0; padding: var(--space-4) var(--space-5); border: 1px solid var(--color-aged-brass); color: var(--color-warm-cream); font-family: var(--font-heading); font-size: var(--text-lead); line-height: var(--leading-lead); }

.cl-offline { color: var(--color-ink); }
.cl-offline .eyebrow { color: #76582f; }
.cl-offline__intro { width: min(100%, 32.5rem); min-width: 0; margin-inline: auto; text-align: center; }
.cl-offline__intro .eyebrow { justify-content: center; }
.cl-offline__intro p { color: #4b4140; }
.cl-boundaries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.cl-boundaries > article { min-width: 0; padding: var(--space-5) var(--space-5) 0; border-left: 1px solid rgb(177 138 82 / 80%); }
.cl-boundaries span { display: block; margin-bottom: var(--space-4); color: #76582f; font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); line-height: .9; }
.cl-boundaries h3 { margin-bottom: var(--space-3); }
.cl-boundaries p { margin-bottom: 0; color: #4b4140; }

.cl-pathways { background: var(--color-ink); }
.cl-pathways__intro { width: min(100%, 34.375rem); min-width: 0; }
.cl-pathways__list { margin-top: var(--space-8); border-top: 1px solid var(--color-border); }
.cl-pathway { display: grid; grid-template-columns: 1fr 5fr 4fr 2fr; gap: var(--space-4); align-items: center; min-width: 0; padding: var(--space-5) 0; border-bottom: 1px solid var(--color-border-muted); color: var(--color-warm-cream); text-decoration: none; transition: border-color var(--transition-slow); }
.cl-pathway > * { min-width: 0; }
.cl-pathway:hover { border-color: var(--color-brass-light); }
.cl-pathway__number { color: var(--color-brass-light); font-size: var(--text-micro); font-weight: 700; letter-spacing: .14em; }
.cl-pathway__name { font-family: var(--font-heading); font-size: clamp(2.25rem, 4vw, 3.5rem); letter-spacing: -.03em; line-height: .95; transition: transform var(--transition-fast); }
.cl-pathway:hover .cl-pathway__name { transform: translateX(4px); }
.cl-pathway__description { max-width: 21.25rem; color: var(--color-cream-muted); font-size: var(--text-meta); line-height: var(--leading-meta); }
.cl-pathway__arrow { justify-self: end; color: var(--color-brass-light); font-size: 1.5rem; }
.cl-pathways__closing { width: min(100%, 32.5rem); margin: var(--space-6) 0 0; color: var(--color-cream-muted); }

.cl-reservation { background: var(--color-ink); padding-top: 0; }
.cl-reservation__panel { min-height: 22.5rem; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; padding: var(--space-8); background: var(--color-black-plum); border: 1px solid var(--color-aged-brass); }
.cl-reservation__copy { grid-column: 1 / span 6; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.cl-reservation__copy > * { margin: 0; min-width: 0; }
.cl-reservation__copy h2 { max-width: 37.5rem; }
.cl-reservation__copy p:not(.eyebrow) { max-width: 32.5rem; color: var(--color-cream-muted); }
.cl-reservation__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }

@media (max-width: 67.49rem) {
  .cl-hero { min-height: 43rem; }
  .cl-hero__container { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-hero__content { grid-column: 1 / span 6; }
  .cl-space__figure { width: 100%; margin-left: 0; }
  .cl-space__zones { margin-left: 0; }
  .cl-space__below { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-space__below > article:first-child { grid-column: 1 / span 5; }
  .cl-space__below > article:last-child { grid-column: 6 / span 3; }
  .cl-activities__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-poker { grid-column: 1 / span 8; }
  .cl-roulette { grid-column: 1 / span 4; padding-left: 0; border-left: 0; }
  .cl-blackjack { grid-column: 5 / span 4; margin-top: 0; }
  .cl-light__top { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-light__top > div { grid-column: 1 / span 8; }
  .cl-light__figure { grid-column: 1 / span 8; }
  .cl-observations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl-conversation__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-conversation__main { grid-column: 1 / span 8; }
  .cl-conversation__side { grid-column: 1 / span 5; }
  .cl-reservation__panel { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-reservation__copy { grid-column: 1 / span 6; }
}

@media (max-width: 61.24rem) {
  .cl-transition__stages { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .cl-stage:nth-child(1), .cl-stage:nth-child(2) { grid-column: span 4; }
  .cl-stage:nth-child(3) { grid-column: 1 / span 4; }
}

@media (max-width: 56.24rem) {
  .cl-pathway { grid-template-columns: 1fr 4fr 3fr; }
  .cl-pathway__arrow { display: none; }
}

@media (max-width: 52.49rem) {
  .cl-boundaries { grid-template-columns: 1fr; gap: 0; }
  .cl-boundaries > article { display: grid; grid-template-columns: 5rem minmax(0, 1fr); column-gap: var(--space-4); padding: var(--space-5) 0; border-bottom: 1px solid rgb(177 138 82 / 60%); border-left: 0; }
  .cl-boundaries span { grid-row: span 2; margin: 0; }
  .cl-boundaries h3 { margin-bottom: var(--space-2); }
}

@media (max-width: 47.99rem) {
  .cl-hero { min-height: 40rem; }
  .cl-hero__image { object-position: center; }
  .cl-hero__shade { background: linear-gradient(0deg, rgb(18 16 17 / 96%) 0%, rgb(18 16 17 / 74%) 48%, rgb(18 16 17 / 20%) 100%); }
  .cl-hero__container { display: flex; align-items: end; padding-block: var(--space-6); }
  .cl-hero__content { width: 100%; }
  .cl-hero__content .display { max-width: 9ch; }
  .cl-hero__content .lead { max-width: 100%; font-size: 1.125rem; }
  .cl-hero__actions { width: 100%; }
  .cl-hero__actions .button { width: 100%; min-height: 3rem; }
  .cl-transition__stages { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); }
  .cl-stage, .cl-stage:nth-child(1), .cl-stage:nth-child(2), .cl-stage:nth-child(3) { grid-column: 1; padding-block: var(--space-5); border-top: 0; border-left: 1px solid var(--color-border); }
  .cl-stage::before { top: 0; left: -1px; width: 1px; height: 2.25rem; }
  .cl-stage:hover::before { width: 1px; height: 100%; }
  .cl-space__figure { height: auto; aspect-ratio: 4 / 5; margin-top: var(--space-6); }
  .cl-space__marker { pointer-events: none; font-size: .625rem; }
  .cl-space__marker--lounge { left: 5%; bottom: 10%; }
  .cl-space__marker--tables { right: 4%; top: 14%; }
  .cl-space__zones { grid-template-columns: 1fr; gap: 0; }
  .cl-zone { padding-block: var(--space-5); }
  .cl-space__below { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); }
  .cl-space__below > article:first-child, .cl-space__below > article:last-child { grid-column: 1; }
  .cl-space__below > article:last-child p:not(.eyebrow) { max-width: 100%; }
  .cl-activities__grid { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); }
  .cl-poker, .cl-roulette, .cl-blackjack { grid-column: 1; }
  .cl-poker .media-frame { height: auto; aspect-ratio: 4 / 3; margin-bottom: var(--space-5); }
  .cl-roulette { padding: var(--space-5) 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
  .cl-blackjack { padding: var(--space-5); }
  .cl-activities__note { margin-top: var(--space-6); }
  .cl-light__top { grid-template-columns: 1fr; gap: var(--space-6); }
  .cl-light__top > div, .cl-light__figure { grid-column: 1; }
  .cl-light__figure { height: auto; aspect-ratio: 4 / 5; }
  .cl-observations { grid-template-columns: 1fr; gap: 0; margin-top: var(--space-6); }
  .cl-observations > article { padding-block: var(--space-5); }
  .cl-conversation__grid { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-6); }
  .cl-conversation__main, .cl-conversation__side { grid-column: 1; }
  .cl-conversation__side { width: 100%; }
  .cl-presence-rule { width: 100%; margin-top: var(--space-6); }
  .cl-offline__intro { width: 100%; }
  .cl-boundaries { margin-top: var(--space-6); }
  .cl-pathways__list { margin-top: var(--space-6); }
  .cl-pathway { grid-template-columns: 1fr; gap: var(--space-2); padding-block: var(--space-5); }
  .cl-pathway__name { font-size: clamp(2.125rem, 10vw, 2.5rem); }
  .cl-pathway__description { max-width: 100%; }
  .cl-reservation__panel { min-height: 18.75rem; display: block; padding: var(--space-6); }
  .cl-reservation__copy { width: 100%; }
  .cl-reservation__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .cl-reservation__actions .button, .cl-reservation__actions .cl-text-link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cl-poker:hover .media-frame img, .cl-pathway:hover .cl-pathway__name, .cl-text-link:hover span { transform: none; }
}
