.casino-guide-page {
  padding-bottom: var(--space-9);
}

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

.cg-lead {
  padding-top: var(--space-7) !important;
  border-top: var(--rule-double);
  border-bottom: var(--rule-double);
}

.cg-lead__grid,
.cg-room__grid,
.cg-hours__grid,
.cg-poker__grid,
.cg-roulette__grid,
.cg-blackjack__grid,
.cg-responsible__grid,
.cg-editorial-note__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.cg-lead__editorial { grid-column: 1 / span 8; min-width: 0; }
.cg-lead__verify { grid-column: 10 / span 3; min-width: 0; align-self: end; margin-bottom: 0; }
.cg-lead__meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); min-width: 0; margin-bottom: var(--space-4); }
.cg-lead__meta > * { min-width: 0; margin: 0; }
.cg-lead__editorial .hero-title { max-width: 52rem; }
.cg-lead__editorial .standfirst { max-width: 42rem; }

.cg-room__figure { grid-column: 1 / span 7; min-width: 0; margin: 0; }
.cg-room__image { aspect-ratio: 3 / 2; }
.cg-room__dispatch { grid-column: 8 / span 5; min-width: 0; }
.cg-room__observe { grid-column: 8 / span 5; min-width: 0; max-width: 17rem; padding: var(--space-4); border-top: 2px solid var(--color-burgundy); border-bottom: var(--border-subtle); background: var(--surface-raised); }
.cg-room__observe > :last-child { margin-bottom: 0; }
.cg-room__observe ol { margin-bottom: 0; }

.cg-hours__lead { grid-column: 1 / span 8; min-width: 0; max-width: 42rem; }
.cg-hours__stamp { grid-column: 10 / span 2; min-width: 0; align-self: start; }
.cg-hours__ledger { grid-column: 1 / span 10; min-width: 0; padding: var(--space-5); border-top: 2px solid var(--color-burgundy); border-bottom: var(--border-subtle); background: var(--surface-raised); }
.cg-hours__ledger > :last-child { margin-bottom: 0; }
.cg-hours__ledger .fact-list > div { grid-template-columns: minmax(11rem, .8fr) minmax(0, 1.8fr); }
.cg-hours__service-note { margin-top: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--color-burgundy); color: var(--color-soot-muted); }

.cg-game { border-bottom: var(--border-subtle); }
.cg-poker__figure { grid-column: 1 / span 4; min-width: 0; margin: 0; }
.cg-poker__image { aspect-ratio: 4 / 3; }
.cg-poker__article { grid-column: 1 / span 8; min-width: 0; margin-top: var(--space-2); }
.cg-poker__panel { grid-column: 10 / span 3; min-width: 0; align-self: end; max-width: 20rem; padding: var(--space-4); border-top: 2px solid var(--color-burgundy); border-bottom: var(--border-subtle); background: var(--surface-raised); }
.cg-poker__panel > :last-child { margin-bottom: 0; }
.cg-poker__panel ol { margin-bottom: var(--space-4); }
.cg-poker__questions { margin: 0; padding: var(--space-3); }

.cg-roulette__head { grid-column: 1 / span 12; min-width: 0; }
.cg-roulette__head > * { min-width: 0; }
.cg-roulette__figure { grid-column: 1 / span 5; min-width: 0; margin: 0; }
.cg-roulette__image { aspect-ratio: 1; }
.cg-roulette__article { grid-column: 6 / span 7; min-width: 0; }
.cg-game__lead { margin-bottom: var(--space-4); font-weight: 700; }
.cg-roulette__callout { max-width: 28rem; margin-top: var(--space-5); }
.cg-roulette__callout .archive-label { margin-bottom: var(--space-2); }
.cg-roulette__callout p { font-size: var(--text-intro); }

.cg-blackjack__figure { grid-column: 1 / span 4; min-width: 0; margin: 0; }
.cg-blackjack__image { aspect-ratio: 4 / 5; }
.cg-blackjack__article { grid-column: 5 / span 5; min-width: 0; }
.cg-blackjack__ledger { grid-column: 10 / span 3; min-width: 0; max-width: 21rem; padding: var(--space-4); border-top: 2px solid var(--color-burgundy); border-bottom: var(--border-subtle); background: var(--surface-raised); }
.cg-blackjack__ledger > :last-child { margin-bottom: 0; }
.cg-blackjack__pause { margin-top: var(--space-4); margin-bottom: 0; padding: var(--space-3); }
.cg-blackjack__pause blockquote { font-size: clamp(1.2rem, 2vw, 1.5rem); }

@media (min-width: 60rem) {
  .cg-room__dispatch p:not(.archive-label, .meta) { max-width: 22rem; }
  .cg-poker__article,
  .cg-roulette__article,
  .cg-blackjack__article { column-count: 3; column-gap: var(--space-5); column-rule: 1px solid var(--color-rule); column-fill: auto; }
  .cg-poker__article > *,
  .cg-roulette__article > *,
  .cg-blackjack__article > * { break-inside: avoid; }
  .cg-poker__article > :is(h2, .archive-label),
  .cg-roulette__article > .cg-game__lead,
  .cg-blackjack__article > :is(h2, .archive-label) { column-span: all; }
  .cg-poker__article .drop-cap,
  .cg-blackjack__article .drop-cap { column-span: all; max-width: 42rem; }
  .cg-roulette__callout { column-span: all; }
}

.cg-etiquette__head { max-width: 42rem; margin-inline: auto; text-align: center; }
.cg-etiquette__ledger { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-5); min-width: 0; }
.cg-etiquette__group { display: grid; grid-template-columns: 1fr; gap: var(--space-4); min-width: 0; }
.cg-etiquette__group + .cg-etiquette__group { padding-left: var(--space-5); border-left: var(--border-subtle); }
.cg-etiquette__group article { min-width: 0; padding-bottom: var(--space-4); border-bottom: var(--border-subtle); }
.cg-etiquette__group article > :last-child { margin-bottom: 0; }
.cg-ordinal { margin-bottom: var(--space-1); color: var(--color-burgundy); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; }
.cg-etiquette__close { max-width: 38rem; margin-inline: auto; text-align: center; }

.cg-responsible { padding-block: var(--space-8) !important; }
.cg-responsible__lead { grid-column: 1 / span 7; min-width: 0; max-width: 42rem; }
.cg-responsible__lead .intro { margin-bottom: 0; }
.cg-responsible__label { grid-column: 9 / span 3; min-width: 0; align-self: start; color: var(--color-ink-reversed); }
.cg-responsible__actions { grid-column: 1 / span 11; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-2); }
.cg-responsible__actions > article { min-width: 0; max-width: 24rem; }
.cg-responsible__actions > article > :last-child { margin-bottom: 0; }
.cg-responsible__pause { grid-column: 1 / span 7; min-width: 0; max-width: 34rem; margin: 0; padding: var(--space-5); border-left: 3px solid var(--color-burgundy); background: var(--surface-raised); color: var(--color-soot); }
.cg-responsible__pause > :last-child { margin-bottom: 0; }
.cg-responsible__pause h3 { color: var(--color-soot); }

.cg-reference__head { max-width: 46rem; }
.cg-reference__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; min-width: 0; border-top: var(--border-subtle); border-bottom: var(--border-subtle); }
.cg-reference__groups > article { min-width: 0; padding: var(--space-5); }
.cg-reference__groups > article + article { border-left: var(--border-subtle); }
.cg-reference__groups > article > :last-child { margin-bottom: 0; }
.cg-reference__reminder { max-width: 46rem; margin-top: var(--space-5); padding-bottom: var(--space-2); border-bottom: 2px solid var(--color-burgundy); color: var(--color-burgundy-dark); font-weight: 700; }

.cg-editorial-note { padding-block: var(--space-7) !important; }
.cg-editorial-note__copy { grid-column: 3 / span 8; min-width: 0; max-width: 38rem; margin-inline: auto; }
.cg-editorial-note__copy > :last-child { margin-bottom: 0; }

@media (max-width: 64.9375rem) {
  .cg-blackjack__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .cg-blackjack__article { grid-column: 5 / span 8; }
  .cg-blackjack__ledger { grid-column: 5 / span 8; max-width: 21rem; }
}

@media (max-width: 59.9375rem) {
  .casino-guide-page section { padding-block: var(--space-7); }
  .cg-lead__grid,
  .cg-room__grid,
  .cg-hours__grid,
  .cg-poker__grid,
  .cg-roulette__grid,
  .cg-blackjack__grid,
  .cg-responsible__grid,
  .cg-editorial-note__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
  .cg-lead__editorial, .cg-lead__verify, .cg-room__figure, .cg-room__dispatch, .cg-room__observe, .cg-hours__lead, .cg-hours__ledger, .cg-poker__figure, .cg-poker__article, .cg-poker__panel, .cg-roulette__head, .cg-roulette__figure, .cg-roulette__article, .cg-blackjack__figure, .cg-blackjack__article, .cg-blackjack__ledger, .cg-responsible__lead, .cg-responsible__label, .cg-responsible__actions, .cg-responsible__pause, .cg-editorial-note__copy { grid-column: 1 / -1; }
  .cg-lead__verify, .cg-room__observe, .cg-poker__panel, .cg-blackjack__ledger { max-width: none; }
  .cg-hours__stamp { display: none; }
  .cg-room__figure { order: 1; }
  .cg-room__dispatch { order: 2; }
  .cg-room__observe { order: 3; }
  .cg-poker__figure { order: 1; }
  .cg-poker__article { order: 2; }
  .cg-poker__panel { order: 3; }
  .cg-roulette__head { order: 1; }
  .cg-roulette__figure { order: 2; }
  .cg-roulette__article { order: 3; }
  .cg-blackjack__figure { order: 1; }
  .cg-blackjack__article { order: 2; }
  .cg-blackjack__ledger { order: 3; }
  .cg-responsible__actions { grid-template-columns: 1fr; gap: var(--space-5); }
  .cg-responsible__actions > article { max-width: 42rem; }
  .cg-responsible__label { margin: 0; }
  .cg-editorial-note__copy { margin-inline: 0; }
}

@media (max-width: 51.1875rem) {
  .cg-reference__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cg-reference__groups > article:nth-child(3) { grid-column: 1 / -1; border-top: var(--border-subtle); border-left: 0; }
}

@media (max-width: 47.4375rem) {
  .casino-guide-page section { padding-block: var(--space-6); }
  .cg-lead { padding-top: var(--space-6) !important; }
  .cg-lead__editorial .hero-title { font-size: clamp(2.5rem, 11vw, 3.625rem); }
  .cg-hours__ledger { padding: var(--space-4); }
  .cg-hours__ledger .fact-list > div { grid-template-columns: 1fr; gap: var(--space-1); }
  .cg-etiquette__ledger { grid-template-columns: 1fr; gap: var(--space-4); }
  .cg-etiquette__group + .cg-etiquette__group { padding-left: 0; border-left: 0; }
  .cg-etiquette__close { text-align: left; }
  .cg-responsible { padding-inline: 0; }
  .cg-responsible__grid { padding-inline: var(--space-4); }
  .cg-responsible__pause { padding: var(--space-4); }
  .cg-reference__groups { grid-template-columns: 1fr; }
  .cg-reference__groups > article + article { border-top: var(--border-subtle); border-left: 0; }
  .cg-reference__groups > article:nth-child(3) { grid-column: auto; }
  .cg-reference__groups > article { padding: var(--space-4); }
}
