#casino-nights-page {
  overflow: clip;
}

#casino-nights-page .container {
  width: min(calc(100% - (var(--container-gutter) * 2)), var(--container-max));
}

#casino-nights-page .cn-media-frame {
  width: 100%;
  overflow: hidden;
  border: var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--surface-muted);
}

#casino-nights-page .cn-media-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--transition-base);
}

#casino-nights-page .cn-media-frame:hover img { transform: scale(1.025); }

#casino-nights-page .cn-hero { padding-top: var(--space-9); }
#casino-nights-page .cn-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-6); align-items: start; }
#casino-nights-page .cn-hero__copy { min-width: 0; max-width: 38.75rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
#casino-nights-page .cn-hero__copy > * { margin: 0; }
#casino-nights-page .cn-hero h1 { max-width: 25ch; font-size: clamp(3.2rem, 6.1vw, 5.6rem); }
#casino-nights-page .cn-hero .lead { max-width: 54ch; }
#casino-nights-page .cn-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
#casino-nights-page .cn-hero__actions > * { min-width: 0; }
#casino-nights-page .cn-hero__route { display: flex; flex-wrap: wrap; gap: var(--space-2); color: var(--color-slate-muted); font-size: var(--text-label); font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
#casino-nights-page .cn-hero__route span { display: flex; align-items: center; gap: var(--space-2); }
#casino-nights-page .cn-hero__route span:not(:last-child)::after { width: 1.5rem; height: 1px; background: var(--color-saffron); content: ""; }
#casino-nights-page .cn-hero__support { max-width: 47ch; color: var(--color-slate-muted); }
#casino-nights-page .cn-hero__media { position: relative; min-width: 0; margin: var(--space-8) 0 0; }
#casino-nights-page .cn-hero__media .cn-media-frame { aspect-ratio: 4 / 5; }
#casino-nights-page .cn-hero__caption { position: absolute; bottom: var(--space-5); left: calc(var(--space-5) * -1); width: min(16rem, calc(100% - var(--space-5))); margin: 0; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-glass); box-shadow: var(--shadow-card); }

#casino-nights-page .cn-section-intro { width: min(42%, 36rem); min-width: 0; }
#casino-nights-page .cn-section-intro .lead { max-width: 58ch; }
#casino-nights-page .cn-dramaturgy__modules { display: flex; align-items: flex-start; gap: var(--space-5); margin-top: var(--space-8); }
#casino-nights-page .cn-stage { min-width: 0; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5); border-top: 2px solid var(--color-saffron); }
#casino-nights-page .cn-stage--one { flex: 0 1 30%; }
#casino-nights-page .cn-stage--two { flex: 0 1 34%; margin-top: var(--space-6); background: var(--color-pale-oak); }
#casino-nights-page .cn-stage--three { flex: 0 1 30%; background: linear-gradient(90deg, rgba(23,111,104,.16) 0 14%, transparent 14%); }
#casino-nights-page .cn-stage__number { color: var(--color-saffron); font-size: var(--text-meta); font-weight: 650; }
#casino-nights-page .cn-stage__content { min-width: 0; }
#casino-nights-page .cn-stage__content h3 { font-size: clamp(1.5rem, 2vw, 2rem); }
#casino-nights-page .cn-stage__content p { max-width: 36ch; }

#casino-nights-page .cn-lounge__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--space-6); align-items: start; }
#casino-nights-page .cn-lounge__media { min-width: 0; margin: 0; }
#casino-nights-page .cn-lounge__media .cn-media-frame { aspect-ratio: 3 / 4; }
#casino-nights-page .cn-lounge__content { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
#casino-nights-page .cn-lounge__main { display: flex; flex-direction: column; gap: var(--space-4); }
#casino-nights-page .cn-lounge__main > * { margin: 0; }
#casino-nights-page .cn-lounge__main p:last-child { max-width: 52ch; }
#casino-nights-page .cn-materials { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-5); border-left: 2px solid var(--color-saffron); }
#casino-nights-page .cn-materials > * { margin: 0; }
#casino-nights-page .cn-materials p { max-width: 34ch; }
#casino-nights-page .cn-materials__markers { display: flex; flex-wrap: wrap; gap: var(--space-2); }
#casino-nights-page .cn-materials__markers span { padding: var(--space-1) var(--space-2); border: var(--border-subtle); border-radius: var(--radius-xs); font-size: var(--text-label); letter-spacing: .08em; text-transform: uppercase; }
#casino-nights-page .cn-location { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-radius: var(--radius-md); }
#casino-nights-page .cn-location > * { margin: 0; }
#casino-nights-page .cn-location p { max-width: 34ch; }

#casino-nights-page .cn-tables__intro { width: min(55%, 43rem); min-width: 0; }
#casino-nights-page .cn-tables__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--space-5); align-items: start; margin-top: var(--space-8); }
#casino-nights-page .cn-table-card { min-width: 0; border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); overflow: hidden; transition: transform var(--transition-base); }
#casino-nights-page .cn-table-card:hover { transform: translateY(-3px); }
#casino-nights-page .cn-table-card--roulette { margin-top: var(--space-7); background: var(--color-stone); }
#casino-nights-page .cn-table-card--blackjack { margin-top: var(--space-5); border-right: 4px solid var(--color-aquamarine); }
#casino-nights-page .cn-table-card__media { width: 100%; overflow: hidden; }
#casino-nights-page .cn-table-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
#casino-nights-page .cn-table-card:hover .cn-table-card__media img { transform: scale(1.025); }
#casino-nights-page .cn-table-card--poker .cn-table-card__media { aspect-ratio: 16 / 10; }
#casino-nights-page .cn-table-card--roulette .cn-table-card__media { aspect-ratio: 1; }
#casino-nights-page .cn-table-card--blackjack .cn-table-card__media { aspect-ratio: 4 / 5; }
#casino-nights-page .cn-table-card__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; padding: var(--space-5); }
#casino-nights-page .cn-table-card__body > * { margin: 0; }
#casino-nights-page .cn-table-card__body p { max-width: 34ch; }
#casino-nights-page .cn-card-number { color: var(--color-slate-muted); font-size: var(--text-label); font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
#casino-nights-page .cn-tables__closing { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-4); width: min(58%, 44rem); min-width: 0; margin-top: var(--space-8); padding-top: var(--space-5); border-top: 2px solid var(--color-saffron); }
#casino-nights-page .cn-tables__closing p { max-width: 58ch; margin: 0; font-family: var(--font-heading); font-size: var(--text-lead); line-height: var(--leading-lead); }

#casino-nights-page .cn-occasion-intro { width: min(42%, 36rem); min-width: 0; }
#casino-nights-page .cn-occasion-intro .lead { max-width: 54ch; }
#casino-nights-page .cn-occasions__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); align-items: start; margin-top: var(--space-7); }
#casino-nights-page .cn-occasion { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
#casino-nights-page .cn-occasion > * { margin: 0; }
#casino-nights-page .cn-occasion p:not(.eyebrow) { max-width: 44ch; }
#casino-nights-page .cn-occasion--company { background: var(--color-pale-oak); }
#casino-nights-page .cn-occasion--private { border: var(--border-subtle); border-top: 4px solid var(--color-raspberry); background: var(--surface-raised); }
#casino-nights-page .cn-occasions__side { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); margin-top: var(--space-6); }
#casino-nights-page .cn-team-link { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-aquamarine); }
#casino-nights-page .cn-team-link > * { margin: 0; }
#casino-nights-page .cn-team-link p { max-width: 36ch; }

#casino-nights-page .cn-process__intro { width: min(42%, 36rem); min-width: 0; }
#casino-nights-page .cn-process__intro .lead { max-width: 52ch; }
#casino-nights-page .cn-process__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-6); align-items: start; margin-top: var(--space-8); }
#casino-nights-page .cn-process__list { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
#casino-nights-page .cn-process-step { min-width: 0; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: var(--border-subtle); }
#casino-nights-page .cn-process-step > span { color: var(--color-saffron); font-size: var(--text-meta); font-weight: 650; }
#casino-nights-page .cn-process-step > div { min-width: 0; }
#casino-nights-page .cn-process-step p { max-width: 42ch; }
#casino-nights-page .cn-process-step:nth-child(2) { border-left: 2px solid var(--color-aquamarine); padding-left: var(--space-3); }
#casino-nights-page .cn-process__media { position: relative; min-width: 0; margin: var(--space-8) 0 0; }
#casino-nights-page .cn-process__media .cn-media-frame { aspect-ratio: 3 / 2; }
#casino-nights-page .cn-planning-note { width: min(15rem, 75%); margin: calc(var(--space-5) * -1) 0 0 auto; padding: var(--space-4); border: var(--border-subtle); border-radius: var(--radius-md); background: var(--surface-raised); box-shadow: var(--shadow-card); color: var(--color-slate-muted); font-family: var(--font-heading); }

#casino-nights-page .cn-experience__intro { width: min(50%, 40rem); min-width: 0; margin-inline: auto; text-align: center; }
#casino-nights-page .cn-experience__intro .lead { max-width: 48ch; margin-inline: auto; }
#casino-nights-page .cn-experience__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
#casino-nights-page .cn-experience-card { min-width: 0; padding: var(--space-5) 0; border-top: var(--border-subtle); border-bottom: var(--border-subtle); }
#casino-nights-page .cn-experience-card > span { display: block; margin-bottom: var(--space-4); color: var(--color-slate-muted); font-size: var(--text-label); font-weight: 650; letter-spacing: .12em; }
#casino-nights-page .cn-experience-card:nth-child(2) { border-top-color: var(--color-aquamarine); }
#casino-nights-page .cn-experience-card:nth-child(3) { border-bottom: 2px solid var(--color-raspberry); }
#casino-nights-page .cn-experience-card p { max-width: 34ch; }

#casino-nights-page .cn-faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
#casino-nights-page .cn-faq__intro { min-width: 0; }
#casino-nights-page .cn-faq__intro .lead { max-width: 40ch; }
#casino-nights-page .cn-faq__list { min-width: 0; }
#casino-nights-page .cn-faq-item { border-top: var(--border-subtle); }
#casino-nights-page .cn-faq-item:last-child { border-bottom: var(--border-subtle); }
#casino-nights-page .cn-faq-item h3 { margin: 0; font-family: var(--font-body); font-size: 1rem; letter-spacing: 0; line-height: var(--leading-body); }
#casino-nights-page .cn-faq-item button { display: flex; width: 100%; min-width: 0; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-slate); font-weight: 650; text-align: left; }
#casino-nights-page .cn-faq-item button span { position: relative; flex: 0 0 1rem; width: 1rem; height: 1rem; }
#casino-nights-page .cn-faq-item button span::before, #casino-nights-page .cn-faq-item button span::after { position: absolute; top: 50%; left: 0; width: 1rem; height: 1.5px; background: var(--color-aquamarine); content: ""; transition: transform var(--transition-fast); }
#casino-nights-page .cn-faq-item button span::after { transform: rotate(90deg); }
#casino-nights-page .cn-faq-item button[aria-expanded="true"] span::after { transform: rotate(0); }
#casino-nights-page .cn-faq-answer { padding: 0 0 var(--space-5); }
#casino-nights-page .cn-faq-answer p { max-width: 56ch; margin: 0; }

#casino-nights-page .cn-briefing__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
#casino-nights-page .cn-briefing__intro { min-width: 0; }
#casino-nights-page .cn-briefing__intro .lead { max-width: 44ch; }
#casino-nights-page .cn-required-note { padding-bottom: var(--space-3); border-bottom: 2px solid var(--color-raspberry); color: var(--color-slate-muted); font-size: var(--text-meta); }
#casino-nights-page .cn-form { min-width: 0; padding: var(--space-6); border: var(--border-subtle); border-left: 4px solid var(--color-saffron); border-radius: var(--radius-lg); background: var(--surface-raised); }
#casino-nights-page .cn-form fieldset { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin: 0 0 var(--space-6); }
#casino-nights-page .cn-form__hint { max-width: 50ch; margin: 0; color: var(--color-slate-muted); font-size: var(--text-meta); }
#casino-nights-page .cn-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
#casino-nights-page .cn-form__grid > div, #casino-nights-page .cn-form__full { min-width: 0; }
#casino-nights-page .cn-form__full { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--space-2); }
#casino-nights-page .cn-form input, #casino-nights-page .cn-form select { min-height: 3.25rem; }
#casino-nights-page .cn-form textarea { min-height: 9rem; }
#casino-nights-page .cn-field-error { min-height: 1.25rem; margin: var(--space-1) 0 0; color: var(--color-raspberry-deep); font-size: var(--text-meta); line-height: var(--leading-meta); }
#casino-nights-page .cn-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
#casino-nights-page .cn-check-grid label, #casino-nights-page .cn-privacy { display: flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-2); margin: 0; font-weight: 400; }
#casino-nights-page .cn-check-grid input, #casino-nights-page .cn-privacy input { width: 1.125rem; min-width: 1.125rem; }
#casino-nights-page .cn-form__submit { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
#casino-nights-page .cn-privacy { align-items: flex-start; min-height: 0; font-size: var(--text-meta); line-height: var(--leading-meta); }
#casino-nights-page .cn-privacy input { margin-top: .15rem; }
#casino-nights-page .cn-form__legal { max-width: 60ch; margin: 0; color: var(--color-slate-muted); font-size: var(--text-meta); line-height: var(--leading-meta); }
#casino-nights-page .cn-form__success { margin-bottom: var(--space-5); padding: var(--space-4); border: 1px solid var(--color-aquamarine); background: rgba(21,154,145,.1); }

#casino-nights-page .cn-closing { position: relative; background: var(--color-slate); }
#casino-nights-page .cn-closing::after { position: absolute; top: var(--space-7); right: 8%; width: 18%; height: 1px; background: var(--color-stone); content: ""; }
#casino-nights-page .cn-closing__content { width: min(66.66%, 58rem); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding-block: var(--space-9); color: var(--color-alabaster); }
#casino-nights-page .cn-closing__content > * { margin: 0; }
#casino-nights-page .cn-closing h2 { color: var(--color-alabaster); font-size: clamp(3rem, 5.4vw, 5.5rem); }
#casino-nights-page .cn-closing h2 span { color: var(--color-saffron); }
#casino-nights-page .cn-closing .eyebrow, #casino-nights-page .cn-closing p { color: rgba(245,242,234,.8); }
#casino-nights-page .cn-closing p { max-width: 50ch; }
#casino-nights-page .cn-closing__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
#casino-nights-page .cn-closing__actions .text-link { color: var(--color-alabaster); }

@media (max-width: 68.6875rem) {
  #casino-nights-page .cn-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  #casino-nights-page .cn-hero__media { margin-top: var(--space-6); }
  #casino-nights-page .cn-dramaturgy__modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #casino-nights-page .cn-stage { width: 100%; }
  #casino-nights-page .cn-stage--one, #casino-nights-page .cn-stage--two, #casino-nights-page .cn-stage--three { flex: none; margin-top: 0; }
  #casino-nights-page .cn-stage--three { grid-column: 1 / -1; }
  #casino-nights-page .cn-lounge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #casino-nights-page .cn-tables__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #casino-nights-page .cn-table-card--roulette, #casino-nights-page .cn-table-card--blackjack { margin-top: 0; }
  #casino-nights-page .cn-table-card--blackjack { grid-column: 1 / -1; width: calc(50% - var(--space-3)); }
  #casino-nights-page .cn-occasion-intro, #casino-nights-page .cn-process__intro, #casino-nights-page .cn-section-intro { width: min(55%, 36rem); }
  #casino-nights-page .cn-process__grid { grid-template-columns: 1fr; }
  #casino-nights-page .cn-process__media { width: min(70%, 42rem); margin: 0; order: -1; }
  #casino-nights-page .cn-faq__grid, #casino-nights-page .cn-briefing__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  #casino-nights-page .cn-closing__content { width: min(83.33%, 58rem); }
}

@media (max-width: 56.1875rem) {
  #casino-nights-page .cn-hero__grid, #casino-nights-page .cn-lounge__grid { grid-template-columns: 1fr; }
  #casino-nights-page .cn-hero__media { width: min(70%, 38rem); margin: 0 0 0 auto; }
  #casino-nights-page .cn-lounge__media { width: min(75%, 40rem); }
  #casino-nights-page .cn-occasions__grid { grid-template-columns: 1fr; }
  #casino-nights-page .cn-occasions__side { margin-top: 0; }
  #casino-nights-page .cn-occasion--private { width: min(70%, 40rem); }
  #casino-nights-page .cn-team-link { width: min(70%, 40rem); }
  #casino-nights-page .cn-experience__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #casino-nights-page .cn-experience-card:nth-child(3) { grid-column: 1 / -1; width: calc(50% - var(--space-3)); }
}

@media (max-width: 44.9375rem) {
  #casino-nights-page .cn-hero { padding-top: var(--space-8); }
  #casino-nights-page .cn-hero__grid, #casino-nights-page .cn-lounge__grid, #casino-nights-page .cn-tables__grid, #casino-nights-page .cn-occasions__grid, #casino-nights-page .cn-process__grid, #casino-nights-page .cn-experience__grid, #casino-nights-page .cn-faq__grid, #casino-nights-page .cn-briefing__grid { grid-template-columns: 1fr; }
  #casino-nights-page .cn-hero__copy { gap: var(--space-4); max-width: none; }
  #casino-nights-page .cn-hero h1 { max-width: 17ch; font-size: clamp(2.625rem, 11vw, 3.625rem); }
  #casino-nights-page .cn-hero__actions { width: 100%; align-items: stretch; }
  #casino-nights-page .cn-hero__actions > * { width: 100%; }
  #casino-nights-page .cn-hero__media, #casino-nights-page .cn-lounge__media, #casino-nights-page .cn-process__media, #casino-nights-page .cn-occasion--private, #casino-nights-page .cn-team-link, #casino-nights-page .cn-table-card--blackjack, #casino-nights-page .cn-experience-card:nth-child(3) { width: 100%; margin: 0; }
  #casino-nights-page .cn-hero__caption { position: static; width: 100%; margin: var(--space-3) 0 0; box-shadow: none; }
  #casino-nights-page .cn-section-intro, #casino-nights-page .cn-tables__intro, #casino-nights-page .cn-occasion-intro, #casino-nights-page .cn-process__intro, #casino-nights-page .cn-experience__intro, #casino-nights-page .cn-closing__content { width: 100%; }
  #casino-nights-page .cn-dramaturgy__modules { grid-template-columns: 1fr; gap: var(--space-4); margin-top: var(--space-6); }
  #casino-nights-page .cn-stage--three { grid-column: auto; }
  #casino-nights-page .cn-stage { padding: var(--space-4); }
  #casino-nights-page .cn-lounge__content { gap: var(--space-4); }
  #casino-nights-page .cn-tables__grid { gap: var(--space-5); margin-top: var(--space-6); }
  #casino-nights-page .cn-table-card--blackjack { grid-column: auto; }
  #casino-nights-page .cn-tables__closing { width: 100%; flex-direction: column; align-items: flex-start; }
  #casino-nights-page .cn-occasion { padding: var(--space-5); }
  #casino-nights-page .cn-process__media { order: -1; }
  #casino-nights-page .cn-planning-note { width: 100%; margin: var(--space-3) 0 0; box-shadow: none; }
  #casino-nights-page .cn-experience__intro { text-align: center; }
  #casino-nights-page .cn-experience-card:nth-child(3) { grid-column: auto; }
  #casino-nights-page .cn-experience-card p { max-width: none; }
  #casino-nights-page .cn-form { padding: var(--space-4); }
  #casino-nights-page .cn-form__grid, #casino-nights-page .cn-check-grid { grid-template-columns: 1fr; }
  #casino-nights-page .cn-closing__content { padding-block: var(--space-8); }
  #casino-nights-page .cn-closing h2 { font-size: clamp(2.625rem, 12vw, 3rem); }
  #casino-nights-page .cn-closing__actions { width: 100%; align-items: stretch; }
  #casino-nights-page .cn-closing__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #casino-nights-page .cn-media-frame img, #casino-nights-page .cn-table-card, #casino-nights-page .cn-table-card__media img { transition: none; }
  #casino-nights-page .cn-media-frame:hover img, #casino-nights-page .cn-table-card:hover, #casino-nights-page .cn-table-card:hover .cn-table-card__media img { transform: none; }
}
