.casino-lounge-page { overflow: hidden; }

.lounge-hero { position: relative; min-height: 42.5rem; max-width: var(--container-wide-max); margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; }
.lounge-hero__image, .lounge-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.lounge-hero__image { object-fit: cover; object-position: center; }
.lounge-hero__shade { z-index: 1; background: linear-gradient(90deg, rgba(36,16,22,.8) 0%, rgba(58,16,28,.48) 50%, rgba(36,16,22,.18) 100%), linear-gradient(0deg, rgba(36,16,22,.92) 0%, rgba(36,16,22,.16) 65%); }
.lounge-hero__content { z-index: 2; width: min(100% - (var(--gutter) * 2), var(--container-wide-max)); margin: 0 auto; padding: var(--space-10) 0 var(--space-8); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.lounge-hero__content > * { min-width: 0; margin: 0; }
.lounge-hero h1 { width: min(100%, 37rem); font-size: clamp(3.5rem, 6.2vw, 5.5rem); }
.lounge-hero__lead { width: min(100%, 31.25rem); font-size: var(--text-lead); line-height: var(--leading-lead); }
.lounge-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); width: 100%; }
.lounge-hero__actions > * { min-width: 0; }
.lounge-hero__note { width: min(100%, 27.5rem); padding-top: var(--space-4); border-top: var(--border-brass); color: var(--color-wine-muted); font-size: var(--text-small); line-height: var(--leading-small); }

.lounge-ritual__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-8); }
.lounge-ritual__intro, .lounge-ritual__steps, .lounge-ritual__intro > *, .lounge-ritual__steps > * { min-width: 0; }
.lounge-ritual__intro .lead { max-width: 38.75rem; }
.lounge-ritual__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: var(--space-5); }
.ritual-step { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; }
.ritual-step__number { color: var(--color-burgundy); font-family: var(--font-heading); font-size: 3rem; line-height: 1; }
.ritual-step h3 { font-size: var(--text-h4); }
.ritual-step p { max-width: 20rem; }

.lounge-plan__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--space-7) var(--space-8); }
.lounge-plan__intro { min-width: 0; }
.lounge-plan__intro p { max-width: 32.5rem; }
.lounge-plan__diagram-wrap { min-width: 0; overflow-x: auto; padding-bottom: var(--space-2); scrollbar-color: var(--color-muted-brass) var(--color-dark-cherry); }
.lounge-plan__diagram { position: relative; min-width: 42.5rem; height: 29rem; border: var(--border-brass); background: rgba(36,16,22,.2); }
.plan-axis { position: absolute; top: 1.5rem; left: 2rem; color: var(--color-wine-muted); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; }
.plan-axis::after { content: ""; display: inline-block; width: 7rem; height: 1px; margin-left: var(--space-3); vertical-align: middle; background: var(--color-muted-brass); }
.plan-marker { position: absolute; min-width: 8.5rem; min-height: 2.75rem; padding: var(--space-2) var(--space-3); border: var(--border-brass); border-radius: var(--radius-sm); background: var(--color-dark-cherry); color: var(--color-cream); font-size: var(--text-small); font-weight: 700; transition: background-color var(--transition-fast), color var(--transition-fast), outline-color var(--transition-fast); }
.plan-marker:hover, .plan-marker:focus-visible, .plan-marker.is-active { background: var(--color-muted-brass); color: var(--color-ink); }
.plan-marker--salon { top: 7rem; left: 4rem; }
.plan-marker--card { bottom: 5rem; left: 12rem; }
.plan-marker--roulette { top: 9rem; right: 7rem; border-radius: 50%; width: 9rem; height: 9rem; }
.plan-marker--blackjack { right: 2.5rem; bottom: 3.5rem; }
.plan-seating { position: absolute; right: 15rem; bottom: 3rem; width: 13rem; padding: var(--space-3); border-top: var(--border-thin); border-bottom: var(--border-thin); color: var(--color-wine-muted); font-size: var(--text-meta); letter-spacing: .12em; text-align: center; }
.plan-circle { position: absolute; top: 5rem; right: 4.5rem; width: 16rem; height: 16rem; border: 1px solid var(--color-muted-brass); border-radius: 50%; opacity: .55; }
.lounge-plan__legend { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); padding: 0; margin: 0; list-style: none; }
.lounge-plan__legend li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: var(--border-thin); transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.lounge-plan__legend li.is-active { border-color: var(--color-candlelight); background: rgba(216,169,106,.08); }
.lounge-plan__legend li > span { color: var(--color-muted-brass); font-size: var(--text-meta); font-weight: 700; }
.lounge-plan__legend h3 { margin-bottom: var(--space-2); font-size: var(--text-h4); }
.lounge-plan__legend p { max-width: 15rem; font-size: var(--text-small); }

.poker-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; gap: var(--space-8); }
.poker-feature__copy, .poker-feature__media { min-width: 0; width: 100%; }
.poker-feature__copy { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.poker-feature__copy > * { min-width: 0; margin: 0; }
.poker-feature__copy h2 { max-width: 31.25rem; }
.poker-feature__block { padding-top: var(--space-5); border-top: var(--border-thin); }
.poker-feature__block:first-of-type { padding-top: 0; border-top: 0; }
.poker-feature__block p { max-width: 22.5rem; }
.poker-feature__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; }

.roulette-feature__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 7fr); align-items: center; gap: var(--space-6); }
.roulette-feature__copy { grid-column: 1 / 3; min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.roulette-feature__copy > * { min-width: 0; margin: 0; }
.roulette-feature__copy h2 { max-width: 27.5rem; }
.roulette-feature__main { max-width: 27.5rem; }
.roulette-feature__note { max-width: 24.375rem; padding: var(--space-5); border: var(--border-thin); }
.roulette-feature__note h3 { margin-bottom: var(--space-3); }
.roulette-feature__note p { font-size: var(--text-small); }
.roulette-feature__caption { max-width: 21.25rem; color: var(--color-wine-muted); font-size: var(--text-small); }
.roulette-feature__media { grid-column: 3; width: 100%; min-width: 0; margin: 0 -4rem 0 0; overflow: hidden; border-radius: 50%; box-shadow: var(--shadow-soft); }
.roulette-feature__media img { width: 100%; aspect-ratio: 1; object-fit: cover; }

.blackjack-feature__intro { width: 100%; }
.blackjack-feature__intro h2, .blackjack-feature__intro p { max-width: 31.25rem; }
.blackjack-feature__scene { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: var(--space-7); }
.blackjack-feature__media { grid-column: 1; grid-row: 1; width: 100%; min-width: 0; margin: 0; }
.blackjack-feature__media img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.blackjack-feature__details { z-index: 1; grid-column: 1; grid-row: 1; align-self: end; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; padding: var(--space-6); background: rgba(36,16,22,.88); }
.blackjack-feature__details article { min-width: 0; }
.blackjack-feature__details h3 { margin-bottom: var(--space-3); font-size: var(--text-h4); }
.blackjack-feature__details p { max-width: 18.75rem; margin: 0; font-size: var(--text-small); }

.lounge-materials__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-8); }
.lounge-materials__intro, .lounge-materials__entries { min-width: 0; }
.lounge-materials__intro .lead { max-width: 36.25rem; }
.lounge-materials__entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7) var(--space-6); }
.lounge-materials__entries article { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.lounge-materials__entries article > span { color: var(--color-burgundy); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; }
.lounge-materials__entries h3 { margin-bottom: var(--space-3); }
.lounge-materials__entries p { max-width: 15.625rem; }

.lounge-scenarios__intro { width: min(100%, 35rem); }
.lounge-scenarios__list { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 5fr); align-items: end; gap: var(--space-6); margin-top: var(--space-8); }
.lounge-scenarios__list article { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-5); border-top: var(--border-thin); }
.lounge-scenarios__list article > span { color: var(--color-muted-brass); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.lounge-scenarios__list article:nth-child(2) { border-color: var(--color-muted-brass); }
.lounge-scenarios__list h3 { font-size: var(--text-h4); }
.lounge-scenarios__list p { max-width: 18.75rem; }

.lounge-disclosure { background: var(--color-canvas-night); }
.lounge-disclosure__panel { width: min(100%, 53.333rem); min-width: 0; margin-inline: auto; padding: clamp(var(--space-7), 6vw, var(--space-9)); border: var(--border-brass); background: var(--color-walnut); text-align: center; }
.lounge-disclosure__panel .eyebrow { margin-bottom: var(--space-4); }
.lounge-disclosure__panel h2 { max-width: 36.25rem; margin-inline: auto; }
.lounge-disclosure__panel p { max-width: 36.25rem; margin: 0 auto; }

.lounge-cta { position: relative; overflow: hidden; text-align: center; }
.lounge-cta__arc { position: absolute; top: -16rem; left: 50%; width: 34rem; height: 34rem; border: 1px solid var(--color-muted-brass); border-radius: 50%; opacity: .45; transform: translateX(-50%); }
.lounge-cta__content { position: relative; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); width: min(100% - (var(--gutter) * 2), 40rem); margin-inline: auto; padding-block: var(--space-10); }
.lounge-cta__content > * { min-width: 0; margin: 0; }
.lounge-cta__content h2 { max-width: 31.25rem; }
.lounge-cta__content > p:not(.lounge-cta__contact) { max-width: 31.25rem; }
.lounge-cta__question { min-height: 2.75rem; display: inline-flex; align-items: center; }
.lounge-cta__contact { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); color: var(--color-wine-muted); font-size: var(--text-small); }

@media (max-width: 61.25rem) {
  .lounge-hero { min-height: 40rem; }
  .lounge-hero__shade { background: linear-gradient(0deg, rgba(36,16,22,.95) 0%, rgba(36,16,22,.7) 38%, rgba(36,16,22,.15) 76%); }
  .lounge-hero__content { padding-top: var(--space-9); }
  .lounge-ritual__grid, .lounge-plan__grid, .lounge-materials__grid { grid-template-columns: minmax(0, 1fr); }
  .lounge-ritual__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lounge-ritual__steps .ritual-step:first-child { grid-column: 1 / -1; }
  .lounge-plan__legend { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .poker-feature { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
  .poker-feature__media { order: 2; }
  .roulette-feature__grid { grid-template-columns: minmax(0, 1fr); }
  .roulette-feature__copy, .roulette-feature__media { grid-column: 1; }
  .roulette-feature__media { width: 70%; margin: 0 0 0 auto; }
  .blackjack-feature__details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blackjack-feature__details article:last-child { grid-column: 1 / -1; }
  .lounge-materials__entries { gap: var(--space-6); }
  .lounge-scenarios__list { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .lounge-scenarios__list article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 58.75rem) {
  .blackjack-feature__details { position: static; grid-column: 1; grid-row: 2; background: transparent; padding: var(--space-6) 0 0; }
  .blackjack-feature__details article { padding-top: var(--space-4); border-top: var(--border-thin); }
}

@media (max-width: 56.25rem) {
  .lounge-ritual__steps { grid-template-columns: minmax(0, 1fr); }
  .lounge-ritual__steps .ritual-step:first-child { grid-column: auto; }
  .ritual-step { grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); }
  .ritual-step p { max-width: 26rem; }
}

@media (max-width: 39.9375rem) {
  .lounge-hero { min-height: 38.75rem; }
  .lounge-hero__content { padding: var(--space-9) 0 var(--space-5); gap: var(--space-4); }
  .lounge-hero h1 { font-size: clamp(2.25rem, 11vw, 2.75rem); }
  .lounge-hero__lead { font-size: var(--text-body); line-height: var(--leading-body); }
  .lounge-hero__actions { flex-direction: column; }
  .lounge-hero__actions > * { width: 100%; }
  .lounge-hero__note { font-size: .8125rem; }
  .lounge-ritual__grid, .lounge-plan__grid, .poker-feature, .lounge-materials__grid { gap: var(--space-6); }
  .lounge-plan__diagram-wrap { margin-right: calc(var(--gutter) * -1); }
  .lounge-plan__legend { grid-template-columns: minmax(0, 1fr); }
  .lounge-plan__legend li { min-height: 2.75rem; }
  .poker-feature__copy { gap: var(--space-4); }
  .poker-feature__media img { aspect-ratio: 4 / 5; }
  .roulette-feature__media { width: 118vw; max-width: none; margin-left: 0; transform: translateX(5vw); }
  .blackjack-feature__media img { aspect-ratio: 4 / 5; object-position: center; }
  .blackjack-feature__details { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .blackjack-feature__details article:last-child { grid-column: auto; }
  .lounge-materials__entries { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .lounge-materials__entries article { grid-template-columns: 2.75rem minmax(0, 1fr); }
  .lounge-materials__entries p { max-width: none; }
  .lounge-scenarios__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin-top: var(--space-7); }
  .lounge-scenarios__list article, .lounge-scenarios__list article:last-child { grid-column: auto; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); }
  .lounge-scenarios__list p { max-width: none; }
  .lounge-disclosure__panel { padding: var(--space-5); }
  .lounge-cta__content { width: min(100% - (var(--gutter) * 2), 40rem); padding-block: var(--space-9); }
  .lounge-cta__arc { width: 25rem; height: 25rem; top: -12rem; }
  .lounge-cta__contact { flex-direction: column; gap: var(--space-2); }
  .lounge-cta__contact span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .plan-marker, .lounge-plan__legend li { transition: none; }
}
