.casino-page {
  overflow: clip;
}

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

.casino-page .button {
  min-height: 3rem;
}

.casino-hero {
  padding-block-start: var(--space-7) !important;
  background: var(--color-black);
}

.casino-hero__grid,
.casino-briefing__grid,
.casino-ledger__grid,
.casino-rules__grid,
.casino-cashier__grid,
.casino-bridge__grid,
.casino-support__grid,
.casino-visit__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.casino-hero__copy,
.casino-hero__media,
.casino-briefing__intro,
.casino-fact,
.casino-ledger__rail,
.casino-ledger__list,
.casino-rules__intro,
.casino-rule-panel,
.casino-rules__support,
.casino-cashier__content,
.casino-cashier__media,
.casino-bridge__copy,
.casino-hours,
.casino-bridge__actions,
.casino-support__lead,
.casino-support__side,
.casino-visit__details,
.casino-visit__actions {
  min-width: 0;
  width: 100%;
}

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

.casino-hero__copy > * {
  margin: 0;
  min-width: 0;
}

.casino-hero h1 {
  max-width: 10ch;
  font-size: clamp(2.5rem, 9vw, 4rem);
}

.casino-hero__lead {
  max-width: 42ch;
  font-size: var(--text-18);
  line-height: var(--leading-emphasis);
}

.casino-hero__metadata {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-block: var(--border-default);
  color: var(--color-concrete);
  font-size: var(--text-14);
  line-height: var(--leading-utility);
}

.casino-hero__compliance {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 4px minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-3);
  border: var(--border-default);
  background: var(--color-cast-iron);
  color: var(--color-chalk);
  font-size: var(--text-14);
  line-height: var(--leading-utility);
}

.casino-hero__compliance::before {
  grid-row: 1 / span 2;
  background: var(--color-cobalt);
  content: "";
}

.casino-hero__compliance strong,
.casino-hero__compliance span {
  grid-column: 2;
}

.casino-hero__compliance strong {
  font-family: var(--font-heading);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.casino-hero__actions,
.casino-bridge__buttons,
.casino-visit__actions {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
}

.casino-hero__media,
.casino-cashier__media {
  margin: 0;
  border: var(--border-default);
  background: var(--color-charcoal);
  overflow: hidden;
}

.casino-hero__media {
  aspect-ratio: 4 / 3;
}

.casino-hero__media img,
.casino-cashier__media img,
.casino-motion__figure > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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

.casino-briefing {
  background: var(--color-charcoal);
}

.casino-briefing__grid {
  gap: var(--space-4);
}

.casino-briefing__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.casino-briefing__intro > * {
  margin: 0;
}

.casino-fact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  background: var(--color-cast-iron);
}

.casino-fact > * {
  margin: 0;
}

.casino-fact--live {
  border-left: var(--border-lime);
}

.casino-fact--info {
  border-left: 3px solid var(--color-cobalt);
}

.casino-ledger {
  background: var(--color-black);
}

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

.casino-ledger__rail > *,
.casino-ledger__list > * {
  margin: 0;
}

.casino-ledger__rail p:not(.section-index) {
  max-width: 38ch;
}

.casino-game {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(2.5rem, 3.5rem) minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-5);
  border-top: var(--border-default);
}

.casino-game__marker {
  color: var(--color-cobalt);
  font-family: var(--font-heading);
  font-size: var(--text-24);
  font-weight: 800;
  line-height: 1;
}

.casino-game__marker--poker {
  color: var(--color-lime);
}

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

.casino-game__content > * {
  margin: 0;
}

.casino-game__content p:last-child {
  max-width: 58ch;
}

.casino-ledger__links {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding-top: var(--space-2);
}

.casino-motion {
  padding-block: 0 !important;
}

.casino-motion__figure {
  position: relative;
  display: grid;
  min-width: 0;
  margin: 0;
  background: var(--color-charcoal);
}

.casino-motion__figure > img {
  aspect-ratio: 4 / 3;
  object-position: 62% center;
}

.casino-motion__caption {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin: 0;
  padding: var(--space-5) var(--gutter);
  border-top: 3px solid var(--color-cobalt);
  background: var(--color-charcoal);
}

.casino-motion__caption > * {
  margin: 0;
}

.casino-motion__caption p:not(.section-index) {
  max-width: 46ch;
}

.casino-motion__caption h3 {
  margin-top: var(--space-2);
}

.casino-rules {
  background: var(--color-slate);
}

.casino-rules__intro,
.casino-rule-panel,
.casino-rules__support {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-rules__intro > *,
.casino-rule-panel > *,
.casino-rules__support > * {
  margin: 0;
}

.casino-rule-panel {
  padding: var(--space-4);
  border: var(--border-default);
  background: var(--color-charcoal);
}

.casino-rule-panel--amber {
  border-top: var(--border-amber);
}

.casino-rule-panel--lime {
  border-left: var(--border-lime);
}

.casino-rule-panel--cobalt {
  border-left: 3px solid var(--color-cobalt);
}

.casino-rule-panel--amber p:last-child {
  max-width: 56ch;
}

.casino-rules__support {
  gap: var(--space-4);
}

.casino-cashier {
  background: var(--color-black);
}

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

.casino-cashier__content > * {
  margin: 0;
}

.casino-cashier__lead {
  max-width: 52ch;
}

.casino-payout {
  display: flex;
  min-width: 0;
  max-width: 40ch;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--border-default);
  border-top: var(--border-amber);
  background: var(--color-cast-iron);
}

.casino-payout > * {
  margin: 0;
}

.casino-cashier__media {
  aspect-ratio: 4 / 3;
}

.casino-cashier__media img {
  object-position: 70% center;
}

.casino-bridge {
  background: var(--color-slate);
}

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

.casino-bridge__copy > *,
.casino-bridge__actions > * {
  margin: 0;
}

.casino-bridge__copy p:not(.section-index) {
  max-width: 60ch;
}

.casino-hours {
  display: grid;
  gap: var(--space-3);
}

.casino-hours__row {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  padding: var(--space-4);
  border: var(--border-default);
  background: var(--color-charcoal);
}

.casino-hours__row span {
  font-family: var(--font-heading);
  font-size: var(--text-14);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.casino-hours__row--grill {
  border-left: var(--border-amber);
}

.casino-hours__row--floor {
  border-left: var(--border-lime);
}

.casino-bridge__actions > div:first-child {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.casino-bridge__actions > div:first-child > * {
  margin: 0;
}

.casino-bridge__actions p {
  max-width: 46ch;
}

.casino-registration {
  background: var(--color-carbon);
}

.casino-registration__panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-carbon);
}

.casino-registration__intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-registration__intro > * {
  margin: 0;
}

.casino-registration__intro p:not(.section-index) {
  max-width: 50ch;
}

.casino-form {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

.casino-form > * {
  min-width: 0;
}

.casino-form__full {
  grid-column: 1 / -1;
}

.casino-form__checks,
.casino-form__submit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-check {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
  margin: 0;
  padding: var(--space-3);
  border: var(--border-default);
  background: var(--color-cast-iron);
  color: var(--color-chalk);
  font-family: var(--font-body);
  font-size: var(--text-14);
  font-weight: 400;
  letter-spacing: 0;
  line-height: var(--leading-utility);
  text-transform: none;
}

.casino-check input {
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  min-height: 1.25rem;
  margin-top: 0.125rem;
  accent-color: var(--color-lime);
}

.casino-form__submit .field-note {
  max-width: 58ch;
}

.casino-registration__routes {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  border-top: var(--border-default);
}

.casino-registration__routes a {
  padding-block: var(--space-3);
  border-bottom: var(--border-default);
  font-size: var(--text-14);
  line-height: var(--leading-utility);
}

.casino-support {
  border-top: var(--border-lime);
  background: var(--color-black);
}

.casino-support__lead,
.casino-support__side,
.casino-help,
.casino-compliance {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-support__lead > *,
.casino-support__side > *,
.casino-help > *,
.casino-compliance > * {
  margin: 0;
}

.casino-support__lead p:not(.section-index) {
  max-width: 58ch;
}

.casino-support__side {
  gap: var(--space-4);
}

.casino-help {
  padding: var(--space-4);
  border: var(--border-default);
  border-left: 3px solid var(--color-cobalt);
  background: var(--color-cast-iron);
}

.casino-help__phone {
  color: var(--color-chalk);
  font-family: var(--font-heading);
  font-size: var(--text-32);
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
}

.casino-compliance {
  padding: var(--space-4);
  border: var(--border-default);
  background: var(--color-charcoal);
  font-size: var(--text-14);
  line-height: var(--leading-utility);
}

.casino-visit {
  border-top: var(--border-amber);
  background: var(--color-cast-iron);
}

.casino-visit__details,
.casino-visit__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.casino-visit__details > *,
.casino-visit__actions > * {
  margin: 0;
}

.casino-visit__details > p:not(.section-index):not(.meta) {
  max-width: 44ch;
  font-size: var(--text-18);
}

.casino-visit__hours {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  padding-block: var(--space-3);
  border-block: var(--border-default);
}

.casino-visit__hours span {
  color: var(--color-concrete);
  font-family: var(--font-heading);
  font-size: var(--text-14);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.casino-visit__hours strong {
  margin-bottom: var(--space-2);
}

.casino-visit__actions p {
  max-width: 44ch;
}

@media (min-width: 47.5rem) {
  .casino-page section {
    padding-block: var(--space-9);
  }

  .casino-hero__actions {
    flex-direction: row;
    align-items: center;
  }

  .casino-hero__actions > * {
    flex: 0 1 auto;
  }

  .casino-briefing__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .casino-briefing__intro {
    grid-column: 1 / -1;
  }

  .casino-fact {
    grid-column: span 4;
  }

  .casino-fact:last-child {
    grid-column: 1 / -1;
  }

  .casino-rules__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .casino-rules__intro {
    grid-column: 1 / -1;
  }

  .casino-rule-panel--amber {
    grid-column: span 5;
  }

  .casino-rules__support {
    grid-column: span 3;
  }

  .casino-cashier__grid,
  .casino-bridge__grid,
  .casino-support__grid,
  .casino-visit__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .casino-cashier__content,
  .casino-bridge__copy,
  .casino-support__lead,
  .casino-visit__details {
    grid-column: span 5;
  }

  .casino-cashier__media,
  .casino-hours,
  .casino-support__side,
  .casino-visit__actions {
    grid-column: span 3;
  }

  .casino-bridge__actions {
    grid-column: 1 / -1;
  }

  .casino-hours__row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .casino-registration__panel {
    padding: var(--space-6);
  }

  .casino-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .casino-visit__hours {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .casino-visit__hours strong {
    margin-bottom: 0;
  }
}

@media (min-width: 51.25rem) {
  .casino-visit__grid {
    align-items: end;
  }
}

@media (min-width: 55rem) {
  .casino-motion__figure > img {
    aspect-ratio: 16 / 9;
  }

  .casino-motion__caption {
    position: absolute;
    bottom: 0;
    left: max(var(--gutter), calc((100% - var(--container-max)) / 2));
    width: min(42%, 38.75rem);
    padding: var(--space-5);
    border: var(--border-default);
    border-left: 3px solid var(--color-cobalt);
    background: rgba(22, 25, 30, 0.96);
  }
}

@media (min-width: 56.25rem) {
  .casino-ledger__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
  }

  .casino-ledger__rail {
    grid-column: 1 / span 3;
  }

  .casino-ledger__list {
    grid-column: 4 / span 7;
  }
}

@media (min-width: 57.5rem) {
  .casino-support__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .casino-support__lead {
    grid-column: 1 / span 6;
  }

  .casino-support__side {
    grid-column: 8 / span 5;
  }
}

@media (min-width: 60rem) {
  .casino-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
    gap: var(--space-6);
  }

  .casino-hero__copy {
    grid-column: 1 / span 5;
  }

  .casino-hero__media {
    grid-column: 7 / span 6;
    aspect-ratio: 16 / 9;
  }

  .casino-briefing__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }

  .casino-briefing__intro,
  .casino-fact,
  .casino-fact:last-child {
    grid-column: span 3;
  }
}

@media (min-width: 64rem) {
  .casino-rules__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }

  .casino-rules__intro {
    grid-column: 1 / span 4;
  }

  .casino-rule-panel--amber {
    grid-column: 5 / span 4;
  }

  .casino-rules__support {
    grid-column: 9 / span 4;
  }

  .casino-cashier__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: center;
  }

  .casino-cashier__content {
    grid-column: 1 / span 6;
  }

  .casino-cashier__media {
    grid-column: 8 / span 5;
  }
}

@media (min-width: 75rem) {
  .casino-bridge__grid,
  .casino-visit__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }

  .casino-bridge__copy {
    grid-column: 1 / span 5;
  }

  .casino-hours {
    grid-column: 7 / span 6;
  }

  .casino-bridge__actions {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: end;
    gap: var(--space-6);
    padding-top: var(--space-5);
    border-top: var(--border-default);
  }

  .casino-bridge__buttons {
    align-items: flex-start;
  }

  .casino-visit__details {
    grid-column: 1 / span 6;
  }

  .casino-visit__actions {
    grid-column: 8 / span 5;
  }

  .casino-registration__panel {
    width: min(100%, 51.75rem);
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .casino-page * {
    transition: none !important;
  }
}
