.casino-page {
  overflow: hidden;
}

.casino-page .section {
  position: relative;
}

.casino-page .lead {
  color: var(--color-charcoal-soft);
}

.casino-page .casino-section-number,
.casino-page .casino-hero__number,
.casino-page .casino-brief__number {
  display: block;
  color: var(--color-cobalt);
  font-family: var(--font-heading);
  font-size: clamp(4.5rem, 10vw, 9rem);
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: .8;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.casino-page .casino-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-6);
  align-items: center;
}

.casino-page .casino-hero__content,
.casino-page .casino-hero__media,
.casino-page .casino-scenography__copy,
.casino-page .casino-scenography__media,
.casino-page .casino-formats__intro,
.casino-page .casino-realisation__intro,
.casino-page .casino-realisation__media,
.casino-page .casino-process__intro,
.casino-page .casino-faq__intro,
.casino-page .casino-links__intro,
.casino-page .casino-brief__content {
  min-width: 0;
}

.casino-page .casino-hero__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.casino-page .casino-hero__content > * {
  margin: 0;
}

.casino-page .casino-hero__content h1 {
  max-width: 32rem;
}

.casino-page .casino-hero__content .lead {
  max-width: 34rem;
}

.casino-page .casino-hero__content .rule {
  margin-block: var(--space-2);
}

.casino-page .casino-hero__number {
  position: absolute;
  z-index: -1;
  top: 2rem;
  right: 1rem;
  color: var(--color-soft-silver);
}

.casino-page .casino-hero__format-link {
  font-weight: 600;
}

.casino-page .casino-hero__action {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-page .casino-hero__action .meta {
  margin: 0;
}

.casino-page .casino-hero__media {
  width: 100%;
  margin: 0 calc(var(--container-padding) * -1) 0 0;
}

.casino-page .casino-hero__media .media-frame {
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 0;
}

.casino-page .casino-hero__media img,
.casino-page .casino-scenography__media img,
.casino-page .casino-realisation__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.casino-page .casino-hero__media img { object-position: center; }

.casino-page .casino-principles__marker {
  margin-bottom: var(--space-6);
  color: var(--color-cobalt);
  font-family: var(--font-heading);
  font-size: clamp(4.5rem, 9vw, 8rem);
  font-weight: 600;
  letter-spacing: -0.08em;
  line-height: .8;
  font-variant-numeric: tabular-nums;
}

.casino-page .casino-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: var(--border-default);
  border-bottom: var(--border-default);
}

.casino-page .casino-principles__item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.casino-page .casino-principles__item > * { margin: 0; }
.casino-page .casino-principles__item + .casino-principles__item { border-left: var(--border-default); }
.casino-page .casino-principles__item h2 { font-size: var(--text-subsection); }
.casino-page .casino-principles__label { color: var(--color-muted-coral); font-size: var(--text-meta); font-weight: 600; letter-spacing: var(--tracking-meta); text-transform: uppercase; }

.casino-page .casino-scenography__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(22.5rem, 4fr);
  gap: clamp(2rem, 7vw, 8rem);
  align-items: start;
}

.casino-page .casino-scenography__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.casino-page .casino-scenography__copy > * { margin: 0; }
.casino-page .casino-scenography__copy .lead { max-width: 32.5rem; }
.casino-page .casino-scenography__copy .casino-section-number { margin-top: var(--space-2); }
.casino-page .casino-scenography__comparison { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-4); }
.casino-page .casino-scenography__comparison > div { min-width: 0; }
.casino-page .casino-scenography__comparison h3 { margin-bottom: var(--space-3); font-size: var(--text-subsection); }
.casino-page .casino-scenography__comparison p { max-width: 27.5rem; margin: 0; }
.casino-page .casino-scenography__media { width: 100%; margin: 0; }
.casino-page .casino-scenography__media .media-frame { width: 100%; aspect-ratio: 4 / 5; border-radius: 0; }
.casino-page .casino-scenography__media img { object-position: center; }
.casino-page .casino-scenography__media figcaption span,
.casino-page .casino-realisation__media figcaption span { display: inline-block; margin-top: var(--space-2); color: var(--color-charcoal-soft); font-size: .9em; font-weight: 400; letter-spacing: normal; line-height: 1.45; text-transform: none; }

.casino-page .casino-formats__intro,
.casino-page .casino-realisation__intro,
.casino-page .casino-process__intro,
.casino-page .casino-faq__intro,
.casino-page .casino-links__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.casino-page .casino-formats__intro > *,
.casino-page .casino-realisation__intro > *,
.casino-page .casino-process__intro > *,
.casino-page .casino-faq__intro > *,
.casino-page .casino-links__intro > * { margin: 0; }

.casino-page .casino-formats__intro { max-width: 33.75rem; margin-bottom: var(--space-8); }
.casino-page .casino-formats__intro .lead { max-width: 32.5rem; }
.casino-page .casino-formats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: var(--border-default); border-bottom: var(--border-default); }
.casino-page .casino-format { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
.casino-page .casino-format > * { margin: 0; }
.casino-page .casino-format + .casino-format { border-left: var(--border-default); }
.casino-page .casino-format p:not(.meta) { max-width: 24.375rem; }

.casino-page .casino-realisation__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.casino-page .casino-realisation__intro { grid-column: 1 / span 5; max-width: 35rem; }
.casino-page .casino-realisation__intro .lead { max-width: 33.75rem; }
.casino-page .casino-realisation__media { grid-column: 4 / span 9; width: calc(100% + var(--container-padding)); margin: var(--space-7) calc(var(--container-padding) * -1) 0 0; }
.casino-page .casino-realisation__media .media-frame { width: 100%; aspect-ratio: 3 / 2; border-radius: 0; }
.casino-page .casino-realisation__media img { object-position: center; }
.casino-page .casino-realisation__notes { display: grid; grid-column: 1 / span 11; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr); gap: calc(var(--space-5) * 2); margin-top: var(--space-5); }
.casino-page .casino-realisation__note { min-width: 0; max-width: 28.75rem; }
.casino-page .casino-realisation__note:nth-child(2) { justify-self: end; }
.casino-page .casino-realisation__note h3 { margin-bottom: var(--space-3); }
.casino-page .casino-realisation__note p { margin: 0; }

.casino-page .casino-process__intro { max-width: 33.75rem; margin-bottom: var(--space-8); }
.casino-page .casino-process__intro .lead { max-width: 33.75rem; }
.casino-page .casino-process__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: var(--border-default); border-bottom: var(--border-default); }
.casino-page .casino-process__step { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); }
.casino-page .casino-process__step + .casino-process__step { border-left: var(--border-default); }
.casino-page .casino-process__step > * { margin: 0; }
.casino-page .casino-process__step > span { color: var(--color-cobalt); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 600; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.casino-page .casino-process__step h3 { font-size: var(--text-subsection); }
.casino-page .casino-process__step p { max-width: 21.25rem; }

.casino-page .casino-faq__intro { max-width: 38.75rem; margin-bottom: var(--space-7); }
.casino-page .casino-faq__list { width: min(100%, 52.5rem); }
.casino-page .casino-faq__list details { margin: 0; border-top: var(--border-default); }
.casino-page .casino-faq__list details:last-child { border-bottom: var(--border-default); }
.casino-page .casino-faq__list summary { position: relative; min-height: 3.5rem; padding: var(--space-4) 3rem var(--space-4) 0; color: var(--color-charcoal); font-family: var(--font-heading); font-size: clamp(1.125rem, 1.5vw, 1.35rem); font-weight: 600; line-height: 1.2; list-style: none; }
.casino-page .casino-faq__list summary::-webkit-details-marker { display: none; }
.casino-page .casino-faq__list summary::after { position: absolute; top: 50%; right: .25rem; content: "+"; color: var(--color-cobalt); font-size: 1.8rem; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.casino-page .casino-faq__list details[open] summary::after { content: "−"; }
.casino-page .casino-faq__list details > div { max-width: 37.5rem; padding: 0 0 var(--space-5); }
.casino-page .casino-faq__list details > div p { margin: 0; }

.casino-page .casino-links__intro { max-width: 35rem; margin-bottom: var(--space-8); }
.casino-page .casino-links__intro .lead { max-width: 35rem; }
.casino-page .casino-links__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: var(--border-default); border-bottom: var(--border-default); }
.casino-page .casino-link-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); }
.casino-page .casino-link-card + .casino-link-card { border-left: var(--border-default); }
.casino-page .casino-link-card > span { color: var(--color-cobalt); font-size: var(--text-meta); font-weight: 600; letter-spacing: var(--tracking-meta); }
.casino-page .casino-link-card a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); color: var(--color-charcoal); font-family: var(--font-heading); font-size: var(--text-subsection); font-weight: 600; line-height: 1.15; text-decoration: none; background-image: linear-gradient(var(--color-cobalt), var(--color-cobalt)); background-position: 0 100%; background-repeat: no-repeat; background-size: 0 1px; transition: background-size var(--duration-base) var(--ease-out), color var(--duration-fast) var(--ease-out); }
.casino-page .casino-link-card a:hover { color: var(--color-cobalt); background-size: 100% 1px; }
.casino-page .casino-link-card a b { transition: transform var(--duration-fast) var(--ease-out); }
.casino-page .casino-link-card a:hover b { transform: translateX(4px); }
.casino-page .casino-link-card p { max-width: 18.75rem; margin: 0; color: var(--color-charcoal-soft); }

.casino-page .casino-brief { overflow: hidden; }
.casino-page .casino-brief__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); }
.casino-page .casino-brief__content { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); max-width: 38.75rem; }
.casino-page .casino-brief__content > * { margin: 0; }
.casino-page .casino-brief__label { color: var(--color-muted-coral); font-size: var(--text-meta); font-weight: 600; letter-spacing: var(--tracking-meta); line-height: var(--leading-meta); text-transform: uppercase; }
.casino-page .casino-brief__number { position: absolute; z-index: 0; top: 0; left: calc(100% + 7rem); color: var(--color-soft-silver); opacity: .35; }
.casino-page .casino-brief__content h2 { position: relative; z-index: 1; max-width: 38rem; }
.casino-page .casino-brief__content > p:not(.casino-brief__label):not(.casino-brief__contact):not(.casino-brief__cities) { max-width: 38rem; color: var(--color-soft-silver); font-size: var(--text-body-large); line-height: var(--leading-body-large); }
.casino-page .casino-brief__action { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.casino-page .casino-brief__action p { margin: 0; color: var(--color-soft-silver); }
.casino-page .casino-brief .button:hover { border-color: var(--color-white); background: var(--color-charcoal); }
.casino-page .casino-brief__contact { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); color: var(--color-soft-silver); }
.casino-page .casino-brief__contact a { color: var(--color-white); }
.casino-page .casino-brief__cities { color: var(--color-soft-silver); font-size: var(--text-meta); font-weight: 600; letter-spacing: var(--tracking-meta); text-transform: uppercase; }

.casino-page .casino-reveal--ready { opacity: 0; transform: translateY(1rem); transition: opacity 220ms ease-out, transform 220ms ease-out; }
.casino-page .casino-reveal--visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1100px) {
  .casino-page .casino-hero__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 4fr); gap: var(--space-5); }
  .casino-page .casino-hero__content h1 { font-size: clamp(3.1rem, 6vw, 4.5rem); }
  .casino-page .casino-formats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-page .casino-format:nth-child(3) { grid-column: 1 / -1; border-top: var(--border-default); border-left: 0; }
  .casino-page .casino-process__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-page .casino-process__step:nth-child(3), .casino-page .casino-process__step:nth-child(4) { border-top: var(--border-default); }
  .casino-page .casino-process__step:nth-child(3) { border-left: 0; }
  .casino-page .casino-links__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-page .casino-link-card:nth-child(3), .casino-page .casino-link-card:nth-child(4) { border-top: var(--border-default); }
  .casino-page .casino-link-card:nth-child(3) { border-left: 0; }
}

@media (max-width: 1023px) {
  .casino-page .casino-scenography__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); }
  .casino-page .casino-scenography__copy { grid-column: 1 / span 4; }
  .casino-page .casino-scenography__media { grid-column: 5 / span 4; }
  .casino-page .casino-realisation__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .casino-page .casino-realisation__intro { grid-column: 1 / -1; }
  .casino-page .casino-realisation__media { grid-column: 1 / -1; width: 100%; margin: var(--space-6) 0 0; }
  .casino-page .casino-realisation__notes { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .casino-page .casino-realisation__note:nth-child(2) { justify-self: auto; }
  .casino-page .casino-brief__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .casino-page .casino-hero__grid,
  .casino-page .casino-scenography__grid,
  .casino-page .casino-realisation__grid { grid-template-columns: minmax(0, 1fr); }
  .casino-page .casino-hero__content { gap: var(--space-4); }
  .casino-page .casino-hero__number,
  .casino-page .casino-section-number,
  .casino-page .casino-principles__marker,
  .casino-page .casino-brief__number { position: static; font-size: clamp(4.5rem, 23vw, 6rem); }
  .casino-page .casino-hero__number { order: 1; }
  .casino-page .casino-hero__content .eyebrow { order: 0; }
  .casino-page .casino-hero__content h1 { order: 2; font-size: 2.75rem; }
  .casino-page .casino-hero__content .rule { order: 3; }
  .casino-page .casino-hero__content .lead { order: 4; }
  .casino-page .casino-hero__format-link { order: 5; }
  .casino-page .casino-hero__action { order: 6; }
  .casino-page .casino-hero__action .button { width: 100%; min-height: 3rem; }
  .casino-page .casino-hero__media { width: calc(100% + (var(--container-padding) * 2)); margin: var(--space-5) calc(var(--container-padding) * -1) 0; }
  .casino-page .casino-hero__media .media-frame { min-height: 16.25rem; }
  .casino-page .casino-hero__media figcaption { margin-inline: var(--container-padding); }
  .casino-page .casino-principles__grid,
  .casino-page .casino-formats__grid,
  .casino-page .casino-process__grid,
  .casino-page .casino-links__grid,
  .casino-page .casino-scenography__comparison,
  .casino-page .casino-realisation__notes { grid-template-columns: minmax(0, 1fr); }
  .casino-page .casino-principles__item,
  .casino-page .casino-format,
  .casino-page .casino-process__step,
  .casino-page .casino-link-card { padding: var(--space-5) 0; }
  .casino-page .casino-principles__item + .casino-principles__item,
  .casino-page .casino-format + .casino-format,
  .casino-page .casino-process__step + .casino-process__step,
  .casino-page .casino-link-card + .casino-link-card { border-top: var(--border-default); border-left: 0; }
  .casino-page .casino-format:nth-child(3),
  .casino-page .casino-process__step:nth-child(3),
  .casino-page .casino-link-card:nth-child(3) { grid-column: auto; }
  .casino-page .casino-scenography__copy,
  .casino-page .casino-scenography__media,
  .casino-page .casino-realisation__intro,
  .casino-page .casino-realisation__media,
  .casino-page .casino-realisation__notes { grid-column: auto; }
  .casino-page .casino-scenography__media { width: calc(100% + (var(--container-padding) * 2)); margin: var(--space-5) calc(var(--container-padding) * -1) 0; }
  .casino-page .casino-scenography__media figcaption { margin-inline: var(--container-padding); }
  .casino-page .casino-realisation__media { width: calc(100% + (var(--container-padding) * 2)); margin: var(--space-5) calc(var(--container-padding) * -1) 0; }
  .casino-page .casino-realisation__media figcaption { margin-inline: var(--container-padding); }
  .casino-page .casino-realisation__notes { margin-top: var(--space-6); gap: var(--space-6); }
  .casino-page .casino-realisation__note + .casino-realisation__note { padding-top: var(--space-6); border-top: var(--border-default); }
  .casino-page .casino-process__step > span { font-size: 4.5rem; }
  .casino-page .casino-faq__intro { margin-bottom: var(--space-6); }
  .casino-page .casino-faq__list { width: 100%; }
  .casino-page .casino-brief__content { gap: var(--space-4); }
  .casino-page .casino-brief__action { width: 100%; align-items: stretch; }
  .casino-page .casino-brief__action .button { width: 100%; min-height: 3rem; }
  .casino-page .casino-brief__contact { flex-direction: column; gap: var(--space-2); }
}

@media (prefers-reduced-motion: reduce) {
  .casino-page .casino-reveal--ready { transform: none; }
  .casino-page .casino-link-card a b { transform: none !important; }
}
