.casino-page {
  overflow: hidden;
  background: var(--color-deep-ocean-navy);
}

.casino-page .casino-section {
  padding-block: var(--space-10);
}

.casino-page .casino-marker {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  color: var(--color-mist);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.casino-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  height: 100vh;
  isolation: isolate;
}

.casino-hero > * { grid-column: 1; grid-row: 1; min-width: 0; }

.casino-hero__image { width: 100%; height: 100vh; min-width: 0; object-fit: cover; object-position: 72% center; }
.casino-hero__overlay { background: linear-gradient(90deg, rgb(7 25 35 / 94%) 0%, rgb(7 25 35 / 73%) 43%, rgb(9 46 61 / 18%) 76%), linear-gradient(0deg, rgb(7 25 35 / 96%) 0%, transparent 58%); z-index: 1; }
.casino-hero__inner { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; padding-top: var(--space-8); padding-bottom: var(--space-8); gap: var(--space-6); }
.casino-breadcrumb { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; color: var(--color-mist); font-size: var(--text-label); }
.casino-breadcrumb a { min-height: var(--touch-target); display: inline-flex; align-items: center; }
.casino-hero__copy { display: flex; flex-direction: column;  min-width: 0; gap: var(--space-4); }
.casino-hero__copy > * { margin: 0; }
.casino-hero__copy h1 { max-width: 100%; }
.casino-hero__lead {  color: var(--color-pearl-white); font-size: var(--text-lead); line-height: var(--leading-lead); }
.casino-hero__note { display: grid; grid-template-columns: auto minmax(0, 1fr); width: min(100%, 25rem); min-width: 0; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-md); background: rgb(13 41 53 / 82%); backdrop-filter: blur(10px); }
.casino-hero__note p { margin: 0; color: var(--color-mist); font-size: var(--text-label); line-height: var(--leading-label); }

.casino-location { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(20rem, 4fr); gap: var(--space-6); align-items: start; }
.casino-location__narrative { grid-column: 1 / 2; min-width: 0; width: min(100%, 44.375rem); }
.casino-wave-rule { width: 100%; height: 1px; margin: 0 0 var(--space-5); background: linear-gradient(90deg, var(--color-burnished-copper), var(--color-border-subtle) 70%, transparent); }
.casino-location__check { grid-column: 3 / 4; min-width: 0; width: 100%; padding: var(--space-5); }
.casino-location__check > :last-child { margin-bottom: 0; }
.casino-location__quote { grid-column: 1 / 2; width: min(100%, 42rem); margin-top: var(--space-2); }

.casino-interior { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: start; }
.casino-interior__copy { grid-column: 1; min-width: 0; width: min(100%, 32.5rem); }
.casino-interior__lead { color: var(--color-mist); font-size: var(--text-lead); line-height: var(--leading-lead); }
.casino-interior__criteria { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); margin-top: var(--space-6); }
.casino-interior__criteria > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border-subtle); }
.casino-interior__criteria h3 { margin-top: var(--space-2); font-size: 1.45rem; }
.casino-interior__criteria p { margin-bottom: 0; font-size: var(--text-ui); }
.casino-interior__figure { grid-column: 2; min-width: 0; width: 100%; }
.casino-interior__image-wrap { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.casino-interior__image-wrap img { width: 100%; height: 100%; object-fit: cover; }


.casino-games__intro .rule { margin: 0 0 var(--space-5); }
.casino-games__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.casino-game-card { min-width: 0; min-height: 100%; }
.casino-game-card > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.casino-game-card__body { gap: var(--space-3); }
.casino-game-card__body > * { margin: 0; }
.casino-game-card__body h3 { font-size: var(--text-heading-sm); }
.casino-game-card__body .tag { margin-top: auto; align-self: flex-start; }
.casino-game-card__number { color: var(--color-burnished-copper); font-family: var(--font-heading); font-size: 3rem; line-height: 1; }

.casino-availability { background: var(--color-abyss-blue); }
.casino-availability__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(20rem, 4fr); gap: var(--space-6); }
.casino-availability__copy { grid-column: 1 / 2; min-width: 0; width: min(100%, 43.125rem); }
.casino-availability__list { grid-column: 3 / 4; min-width: 0; width: 100%; padding: var(--space-5); }
.casino-availability__list ol { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.casino-availability__list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; min-height: var(--touch-target); gap: var(--space-2); border-top: 1px solid var(--color-border-subtle); font-size: var(--text-ui); }
.casino-availability__list li span { color: var(--color-burnished-copper); font-size: var(--text-label); font-weight: 700; }
.casino-availability__source { grid-column: 1 / 2; min-width: 0; width: min(100%, 43.125rem); margin: 0; }
.casino-availability__source p { margin: 0; }

.casino-access { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 2fr) minmax(20rem, 4fr); gap: var(--space-6); align-items: start; }
.casino-access__main { grid-column: 1 / 2; min-width: 0; width: min(100%, 41.25rem); }
.casino-access__panels { grid-column: 3 / 4; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; width: 100%; }
.casino-access__panel { min-width: 0; width: 100%; padding: var(--space-5); }
.casino-access__panel > :last-child { margin-bottom: 0; }

.casino-responsibility__intro > p:last-child { color: var(--color-mist); font-size: var(--text-lead); line-height: var(--leading-lead); }
.casino-responsibility__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.casino-principle { min-width: 0; padding: var(--space-5); border-top: 1px solid var(--color-border); background: rgb(13 41 53 / 40%); }
.casino-principle h3 { margin-top: var(--space-3); font-size: 1.45rem; }
.casino-principle p { margin-bottom: 0; font-size: var(--text-ui); }

.casino-compare__intro { width: min(100%, 47.5rem); min-width: 0; }
.casino-compare__hint { margin-bottom: var(--space-2); color: var(--color-mist); font-size: var(--text-label); }
.casino-compare__scroll { width: 100%; min-width: 0; overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.casino-compare__scroll:focus { outline: 2px solid var(--color-focus-amber); outline-offset: 3px; }
.casino-compare__scroll table { min-width: 88.75rem; margin: 0; }
.casino-compare__scroll th { min-width: 8.125rem; background: var(--color-storm-grey); white-space: nowrap; }
.casino-compare__scroll th:first-child, .casino-compare__scroll td:first-child { min-width: 11.25rem; }
.casino-compare__scroll td { color: var(--color-mist); font-size: var(--text-label); }
.casino-compare__scroll tbody td[colspan] { padding: var(--space-6); color: var(--color-pearl-white); white-space: normal; }
.casino-compare__legend { width: min(100%, 56.25rem); margin-top: var(--space-5); }
.casino-compare__legend p { margin-bottom: var(--space-2); }
.casino-compare__legend ul { display: grid; gap: var(--space-2); }

.casino-faq { display: grid;  gap: var(--space-6); }

.casino-faq__list {  display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0;  border-top: 1px solid var(--color-border); }
.casino-faq__list details { min-width: 0; border-bottom: 1px solid var(--color-border); }
.casino-faq__list summary { display: flex; align-items: center; min-height: 3.25rem; padding: var(--space-3) var(--space-6) var(--space-3) 0; color: var(--color-pearl-white); font-size: var(--text-ui); font-weight: 700; cursor: pointer; list-style: none; }
.casino-faq__list summary::-webkit-details-marker { display: none; }
.casino-faq__list summary::after { content: '+'; flex: 0 0 auto; margin-left: auto; color: var(--color-turquoise); font-size: 1.5rem; line-height: 1; transition: transform var(--transition-base); }
.casino-faq__list details[open] summary::after { transform: rotate(45deg); }
.casino-faq__list details p { margin: 0; padding: 0 var(--space-6) var(--space-5) 0; color: var(--color-mist); }

.casino-cta { padding-block: var(--space-10); background: var(--color-abyss-blue); }
.casino-cta__inner { display: grid; }
.casino-cta__copy {  display: flex; flex-direction: column;  gap: var(--space-5); }
.casino-cta__copy > * { margin: 0; }
.casino-cta__copy p { color: var(--color-mist); }
.casino-cta__copy .button-group { gap: var(--space-3); }

@media (max-width: 67.5rem) {
  .casino-hero { min-height: 35rem; }
  .casino-hero__copy { width: min(100%, 52rem); }
  .casino-location, .casino-availability__grid { grid-template-columns: minmax(0, 1fr); }
  .casino-location__narrative, .casino-location__check, .casino-location__quote, .casino-availability__copy, .casino-availability__list, .casino-availability__source { grid-column: 1; width: min(100%, 100%); }
  .casino-location__narrative, .casino-availability__copy, .casino-availability__source { max-width: 43.75rem; }
  .casino-interior { grid-template-columns: minmax(0, 1fr); }
  .casino-interior__figure { grid-column: 1; grid-row: 1; }
  .casino-interior__copy { grid-column: 1; grid-row: 2; width: min(100%, 42.5rem); }
  .casino-games__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-games__grid > :nth-child(3) { grid-column: 1 / 2; }
  .casino-access { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-access__main { grid-column: 1 / 3; width: min(100%, 43.125rem); }
  .casino-access__panels { grid-column: 1 / 3; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-responsibility__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .casino-faq { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 45rem) {
  .casino-page .casino-section { padding-block: var(--space-8); }
  .casino-hero { min-height: 35rem; }
  .casino-hero__image { object-position: 66% center; }
  .casino-hero__overlay { background: linear-gradient(0deg, rgb(7 25 35 / 97%) 0%, rgb(7 25 35 / 82%) 52%, rgb(7 25 35 / 32%) 100%); }
  .casino-hero__inner { justify-content: flex-end; padding-top: var(--space-7); padding-bottom: var(--space-6); gap: var(--space-5); }
  .casino-hero__copy { width: 100%; gap: var(--space-3); }
  .casino-hero__lead { width: 100%; font-size: 1.125rem; line-height: 1.55; }
  .casino-hero__note { width: 100%; padding: var(--space-4); }
  .casino-games__grid, .casino-access__panels, .casino-responsibility__grid { grid-template-columns: minmax(0, 1fr); }
  .casino-games__grid > :nth-child(3) { grid-column: 1; }
  .casino-access { grid-template-columns: minmax(0, 1fr); }
  .casino-access__main, .casino-access__panels { grid-column: 1; }
  .casino-interior__figure { margin-right: calc(var(--container-gutter) * -1); margin-left: calc(var(--container-gutter) * -1); width: calc(100% + (var(--container-gutter) * 2)); }
  .casino-interior__image-wrap { border-radius: 0; }
  .casino-game-card__body, .casino-location__check, .casino-availability__list, .casino-access__panel { padding: var(--space-5); }
  .casino-faq__list { width: 100%; }
  .casino-faq__list summary { min-height: 3.5rem; padding-right: var(--space-3); font-size: 1rem; line-height: 1.4; }
  .casino-faq__list details p { padding-right: 0; }
  .casino-cta { padding-block: var(--space-8); }
  .casino-cta__inner { grid-template-columns: minmax(0, 1fr); }
  .casino-cta__copy { grid-column: 1; width: 100%; }
  .casino-cta__copy .button-group { flex-direction: column; align-items: stretch; }
  .casino-cta__copy .button { width: 100%; }
}

@media (hover: hover) {
  .casino-game-card:hover { border-color: var(--color-turquoise); transform: translateY(-2px); }
}
