.casino-page {
  overflow: hidden;
}

.casino-page .eyebrow {
  color: var(--color-sea-blue);
}

.casino-hero {
  position: relative;
  display: grid;
  min-height: clamp(38.75rem, 58vw, 52.5rem);
  isolation: isolate;
  background: var(--color-sea-blue-deep);
}

.casino-hero__image,
.casino-hero__shade,
.casino-hero__inner {
  grid-area: 1 / 1;
}

.casino-hero__image {
  width: 100%;
  min-width: 0;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 55% 52%;
}

.casino-hero__shade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(9, 44, 63, 0.72) 0%, rgba(9, 44, 63, 0.52) 34%, rgba(9, 44, 63, 0.12) 64%, transparent 82%);
}

.casino-hero__inner {
  z-index: 2;
  display: grid;
  width: 100%;
  min-width: 0;
  align-items: end;
  padding-block: clamp(7rem, 15vw, 12rem) clamp(4rem, 8vw, 7rem);
}

.casino-hero__copy {
  display: flex;
  width: min(100%, 32.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  color: var(--color-white);
}

.casino-hero__copy > * { margin: 0; }
.casino-hero__copy h1 { color: var(--color-white); }
.casino-hero__eyebrow { color: var(--color-white) !important; }
.casino-hero__lead { max-width: 32rem; font-family: var(--font-serif); font-size: clamp(1.15rem, 1.8vw, 1.5rem); line-height: var(--leading-intro); }
.casino-hero__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.casino-hero__link { color: var(--color-white); text-decoration-color: var(--color-brass); }
.casino-hero__link:hover { color: var(--color-white); }

.casino-spirit__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: end; }
.casino-spirit__grid > * { min-width: 0; }
.casino-spirit__intro { max-width: 30rem; }
.casino-spirit__intro h2 { max-width: 25rem; }
.casino-spirit__markers { display: grid; min-width: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--color-brass); }
.casino-marker { min-width: 0; padding: var(--space-4) var(--space-3) 0; border-right: var(--border-subtle); }
.casino-marker:first-child { padding-left: 0; }
.casino-marker--last { border-right: 0; }
.casino-marker h3 { margin-bottom: var(--space-2); font-size: clamp(1.35rem, 2vw, 1.8rem); }
.casino-marker p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-small); }

.casino-experiences__heading { width: min(100%, 35rem); margin-bottom: var(--space-16); }
.casino-experiences__heading .intro { max-width: 34rem; }
.casino-experience { display: grid; min-width: 0; align-items: center; gap: clamp(2rem, 5vw, 6rem); margin-top: clamp(4.5rem, 10vw, 9.5rem); }
.casino-experience > * { min-width: 0; }
.casino-experience__media { position: relative; display: block; width: 100%; min-width: 0; margin: 0; text-decoration: none; }
.casino-experience__media img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.casino-experience__caption { position: absolute; right: var(--space-4); bottom: var(--space-4); display: block; max-width: calc(100% - 2rem); padding: var(--space-2) var(--space-3); background: rgba(9, 44, 63, 0.85); color: var(--color-white); font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; line-height: 1.3; opacity: 0; text-transform: uppercase; transform: translateY(4px); transition: opacity var(--transition-base), transform var(--transition-base); }
.casino-experience__media:hover .casino-experience__caption, .casino-experience__media:focus-visible .casino-experience__caption { opacity: 1; transform: translateY(0); }
.casino-experience__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.casino-experience__copy > * { margin: 0; }
.casino-experience__copy p, .casino-experience__copy .content-list { max-width: 34rem; }
.casino-experience__copy .content-list { padding-left: 1.25rem; }
.casino-experience__note { padding-left: var(--space-4); border-left: 1px solid var(--color-brass); color: var(--color-sea-blue); font-family: var(--font-serif); font-size: var(--text-intro); line-height: var(--leading-intro); }
.casino-experience--poker { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.casino-experience--poker .casino-experience__media { height: 39rem; }
.casino-experience--roulette { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.casino-experience--roulette .casino-experience__media { height: 31rem; border-radius: var(--radius-none); }
.casino-experience--blackjack { grid-template-columns: minmax(0, 8fr) minmax(17rem, 4fr); gap: 0; }
.casino-experience--blackjack .casino-experience__media { height: 31rem; }
.casino-experience--blackjack .casino-experience__copy { z-index: 1; margin-left: -3rem; padding: var(--space-12); border-radius: var(--radius-md); }
.casino-experience--blackjack .eyebrow { color: var(--color-terracotta-soft); }
.casino-experience--blackjack .text-link { color: var(--color-white); }

.casino-timeline { background: var(--color-sea-blue-deep); color: var(--color-white); }
.casino-timeline .eyebrow { color: var(--color-terracotta-soft); }
.casino-timeline h2, .casino-timeline h3 { color: var(--color-white); }
.casino-timeline__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-12); align-items: start; }
.casino-timeline__grid > * { min-width: 0; }
.casino-timeline__intro { max-width: 24.5rem; }
.casino-timeline__steps { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.casino-step { display: grid; min-width: 0; grid-template-columns: 1fr; gap: var(--space-4); padding: 0 var(--space-4); border-left: 1px solid rgba(255,255,255,.28); }
.casino-step > * { min-width: 0; }
.casino-step__number { color: var(--color-brass); font-family: var(--font-serif); font-size: 2rem; line-height: 1; }
.casino-step h3 { margin-bottom: var(--space-3); font-size: clamp(1.45rem, 2vw, 1.9rem); }
.casino-step p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-small); }
.casino-step--final { background: rgba(255,255,255,.05); }

.casino-gatherings__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-16); align-items: start; }
.casino-gatherings__grid > * { min-width: 0; }
.casino-gatherings__main { max-width: 38.75rem; }
.casino-contexts { display: flex; margin: var(--space-8) 0 0; padding: 0; flex-direction: column; gap: var(--space-4); list-style: none; counter-reset: contexts; }
.casino-contexts li { display: grid; min-width: 0;  gap: var(--space-3); }
.casino-contexts li::before { color: var(--color-brass); content: counter(contexts, decimal-leading-zero); counter-increment: contexts; font-family: var(--font-serif); font-size: 1.35rem; }
.casino-compose { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-8); border-radius: var(--radius-md); background: var(--color-marble); }
.casino-compose > * { margin: 0; }
.casino-compose .content-list { padding-left: 1.25rem; }
.casino-inspiration { display: flex; min-width: 0; margin-top: var(--space-8); flex-direction: column; }
.casino-inspiration > a { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2) var(--space-4); padding: var(--space-4) 0; border-top: var(--border-subtle); color: var(--color-sea-blue); text-decoration: none; }
.casino-inspiration > a > * { min-width: 0; }
.casino-inspiration a span { grid-column: 1; font-size: var(--text-sm); line-height: var(--leading-small); }
.casino-inspiration a b { grid-column: 2; grid-row: 1 / span 2; align-self: center; transition: transform var(--transition-fast); }
.casino-inspiration a:hover b { transform: translateX(2px); }

.casino-values__heading { width: min(100%, 38.75rem); margin-inline: auto; text-align: center; }
.casino-values__heading > p:last-child { margin-inline: auto; }
.casino-values__list { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-16); }
.casino-values__list article { min-width: 0; padding: 0 var(--space-8); border-left: 1px solid var(--color-brass); }
.casino-values__list article:first-child { padding-left: 0; border-left: 0; }
.casino-values__list article:last-child { padding-right: 0; }
.casino-values__list span { display: block; margin-bottom: var(--space-4); color: var(--color-brass); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.casino-values__list h3 { margin-bottom: var(--space-3); }
.casino-values__list p { margin: 0; max-width: 16.25rem; }

.casino-atmosphere { background: var(--color-sea-blue-deep); color: var(--color-white); }
.casino-atmosphere .eyebrow { color: var(--color-terracotta-soft); }
.casino-atmosphere h2, .casino-atmosphere h3 { color: var(--color-white); }
.casino-atmosphere__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: start; }
.casino-atmosphere__grid > * { min-width: 0; }
.casino-atmosphere__intro { max-width: 28rem; }
.casino-moments { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); }
.casino-moments article { width: min(100%, 30rem); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-brass); }
.casino-moments article:nth-child(2) { margin-left: clamp(0rem, 5vw, 4rem); }
.casino-moments article:nth-child(3) { margin-left: clamp(0rem, 10vw, 8rem); }
.casino-moments span { display: block; margin-bottom: var(--space-2); color: var(--color-terracotta-soft); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.casino-moments h3 { margin-bottom: var(--space-2); }
.casino-moments p { margin: 0; }

.casino-planning__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-12); align-items: start; }
.casino-planning__grid > * { min-width: 0; }
.casino-planning__intro { max-width: 31.25rem; }
.casino-planning__content { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(17.5rem, 1fr)); gap: var(--space-6); }
.casino-planning__content > * { min-width: 0; }
.casino-planning-card { padding: var(--space-6); border: var(--border-stone); border-radius: var(--radius-md); background: var(--color-marble); }
.casino-planning-card h3 { margin-bottom: var(--space-3); }
.casino-planning-card p { font-size: var(--text-sm); }
.casino-planning-card .content-list { margin-bottom: 0; }
.casino-planning__contact { grid-column: 1 / -1; padding-top: var(--space-4); border-top: var(--border-subtle); }
.casino-planning__contact h3 { margin-bottom: var(--space-3); }
.casino-planning__contact p { max-width: 35rem; }

.casino-request__grid { display: grid; min-width: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: center; }
.casino-request__grid > * { min-width: 0; }
.casino-request__intro { max-width: 28rem; }
.casino-request__panel { padding: var(--space-8); border-radius: var(--radius-xl); background: var(--color-marble-warm); }
.casino-request-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); }
.casino-form__heading { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.casino-form__heading > * { margin: 0; }
.casino-form__heading p { max-width: 31.25rem; font-size: var(--text-sm); }
.casino-form__fields { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.casino-form__fields > * { min-width: 0; }
.casino-form__field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.casino-form__field--full { grid-column: 1 / -1; }
.casino-form__field label, .casino-form__field legend { color: var(--color-sea-blue); font-size: var(--text-sm); font-weight: 700; line-height: 1.3; }
.casino-form__optional { color: var(--color-ink); font-size: var(--text-xs); font-weight: 400; }
.casino-form__error { min-height: 1.25rem; margin: 0; color: #8d3829; font-size: var(--text-xs); font-weight: 700; line-height: 1.3; }
.casino-form__checks { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); padding-top: var(--space-1); }
.casino-form__checks label, .casino-form__consent label { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-2); color: var(--color-ink); font-size: var(--text-sm); font-weight: 400; }
.casino-form__checks input, .casino-form__consent input { width: 1rem; min-width: 1rem; margin-top: .18rem; }
.casino-form__help { margin: 0; font-size: var(--text-xs); line-height: var(--leading-small); }
.casino-form__consent { padding-top: var(--space-2); }
.casino-form__submit { display: flex; align-items: flex-start; }
.casino-form__confirmation { padding: var(--space-6); border: 1px solid rgba(104,116,90,.55); border-radius: var(--radius-md); background: rgba(104,116,90,.12); color: var(--color-sea-blue-deep); font-weight: 700; }

.casino-clarification { padding: 0 0 var(--section-space); }
.casino-clarification__box { display: flex; width: min(100%, 42.5rem); min-width: 0; margin-inline: auto; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-8); border: var(--border-stone); border-left: 4px solid var(--color-olive); background: var(--color-marble-warm); }
.casino-clarification__box > * { margin: 0; }
.casino-clarification__box p { max-width: 35rem; }
.casino-clarification__box h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.05; }

@media (max-width: 68rem) {
  .casino-spirit__grid, .casino-timeline__grid, .casino-atmosphere__grid, .casino-request__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .casino-spirit__intro, .casino-timeline__intro, .casino-atmosphere__intro { max-width: 32rem; }
  .casino-timeline__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6) 0; }
  .casino-step:nth-child(3) { border-left: 0; }
  .casino-experience--blackjack { grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); }
  .casino-experience--blackjack .casino-experience__copy { margin-left: -2rem; padding: var(--space-8); }
}

@media (max-width: 63.9375rem) {
  .casino-gatherings__grid, .casino-planning__grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .casino-gatherings__aside { max-width: 36rem; }
  .casino-planning__content { max-width: 44rem; }
  .casino-request__intro { max-width: 32rem; }
}

@media (max-width: 60rem) {
  .casino-hero { min-height: 43rem; }
  .casino-spirit__markers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6) 0; }
  .casino-marker:nth-child(3) { border-right: 0; }
  .casino-marker:nth-child(4) { padding-left: 0; }
  .casino-experience { gap: var(--space-8); }
  .casino-experience--poker, .casino-experience--roulette { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-experience--poker .casino-experience__media, .casino-experience--roulette .casino-experience__media { height: 28rem; }
  .casino-experience--blackjack { grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr); }
}

@media (max-width: 47.9375rem) {
  .casino-hero { min-height: 41rem; }
  .casino-hero__image { object-position: 62% 50%; }
  .casino-hero__shade { background: linear-gradient(0deg, rgba(9,44,63,.86) 0%, rgba(9,44,63,.5) 48%, rgba(9,44,63,.08) 82%); }
  .casino-hero__inner { padding-block: 8rem var(--space-8); }
  .casino-hero__copy { width: 100%; gap: var(--space-3); }
  .casino-hero__lead { font-size: 1.15rem; }
  .casino-hero__actions { flex-direction: column; align-items: stretch; gap: var(--space-2); }
  .casino-hero__actions .button { width: 100%; }
  .casino-hero__link { justify-content: flex-start; }
  .casino-spirit__markers { grid-template-columns: 1fr; gap: 0; }
  .casino-marker, .casino-marker:first-child, .casino-marker:nth-child(4) { display: grid; grid-template-columns: minmax(8rem, .7fr) minmax(0, 1.3fr); gap: var(--space-3); padding: var(--space-4) 0; border-right: 0; border-bottom: var(--border-subtle); }
  .casino-marker--last { border-bottom: 0; }
  .casino-marker h3 { margin: 0; }
  .casino-experiences__heading { margin-bottom: var(--space-12); }
  .casino-experience, .casino-experience--poker, .casino-experience--roulette, .casino-experience--blackjack { grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-16); }
  .casino-experience--poker .casino-experience__media, .casino-experience--roulette .casino-experience__media, .casino-experience--blackjack .casino-experience__media { height: 25rem; }
  .casino-experience--roulette .casino-experience__media { order: -1; border-radius: var(--radius-md); }
  .casino-experience--blackjack .casino-experience__copy { margin-left: 0; padding: var(--space-6); }
  .casino-timeline__steps { grid-template-columns: 1fr; gap: 0; }
  .casino-step { grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-6) 0; border-top: 1px solid rgba(255,255,255,.28); border-left: 0; }
  .casino-step:first-child { border-top: 0; }
  .casino-step--final { padding-inline: 0; background: transparent; }
  .casino-values__heading { text-align: left; margin-inline: 0; }
  .casino-values__heading > p:last-child { margin-inline: 0; }
  .casino-values__list { grid-template-columns: 1fr; margin-top: var(--space-8); }
  .casino-values__list article, .casino-values__list article:first-child, .casino-values__list article:last-child { padding: var(--space-6) 0; border-top: var(--border-subtle); border-left: 0; }
  .casino-values__list article:first-child { border-top: 0; }
  .casino-values__list p { max-width: none; }
  .casino-moments article, .casino-moments article:nth-child(2), .casino-moments article:nth-child(3) { width: 100%; margin-left: 0; }
  .casino-planning__content { grid-template-columns: 1fr; }
  .casino-planning__contact { grid-column: 1; }
  .casino-request__panel { padding: var(--space-6); border-radius: var(--radius-lg); }
  .casino-form__fields, .casino-form__checks { grid-template-columns: 1fr; }
  .casino-form__field--full { grid-column: 1; }
  .casino-form__submit .button { width: 100%; }
  .casino-clarification__box { width: 100%; padding: var(--space-6); }
}

@media (prefers-reduced-motion: reduce) {
  .casino-experience__caption { transition: none; }
}
