.casino-guide-page { overflow: hidden; }
.casino-guide-page .section { position: relative; }
.casino-guide-page h2 { margin-bottom: var(--space-4); }
.casino-hero { position: relative; padding-block: clamp(5rem, 9vw, 7rem); background: var(--color-sunny-yellow); overflow: hidden; }
.casino-hero::before { position: absolute; inset: -7rem auto auto -7rem; width: 18rem; aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(var(--color-paper) 0 10deg, transparent 10deg 20deg); content: ""; opacity: .65; pointer-events: none; }
.casino-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: center; }
.casino-hero__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.casino-hero__copy > * { min-width: 0; margin: 0; }
.casino-hero__eyebrow { padding: var(--space-1) var(--space-3); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); background: var(--color-sky-blue); color: var(--color-dark-brown); }
.casino-hero__title { max-width: 32ch; font-size: clamp(3rem, 6.3vw, 5.5rem); }
.casino-hero__lead { max-width: 60ch; }
.casino-hero__button { width: fit-content; }
.casino-hero__note { max-width: 17.5rem; padding: var(--space-3) var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); background: var(--color-paper); box-shadow: var(--shadow-sticker); font-size: var(--text-sm); line-height: var(--leading-small); transform: rotate(-1deg); }
.casino-hero__media { width: 100%; min-width: 0; margin: 0; aspect-ratio: 16 / 9; border-width: var(--border-strong-width); }
.casino-location__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.casino-location__intro { grid-column: span 8; min-width: 0; max-width: 70ch; }
.casino-location__notice { display: flex; grid-column: span 4; min-width: 0; gap: var(--space-3); padding: var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-sky-blue); }
.casino-location__notice p { margin: 0; font-size: var(--text-sm); line-height: var(--leading-small); }
.casino-compass { flex: 0 0 1.5rem; font-size: 1.8rem; line-height: 1; }
.casino-route { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); padding-top: var(--space-5); border-top: var(--border-width) solid var(--color-sky-blue); }
.casino-route__item { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; }
.casino-route__number { display: grid; width: 3rem; height: 3rem; place-items: center; border: var(--border-width) solid var(--color-dark-brown); border-radius: 50%; background: var(--color-sunny-yellow); font-weight: 700; }
.casino-route__item h3, .casino-route__item p { margin: 0; }
.casino-route__item h3 { margin-bottom: var(--space-2); }
.casino-evening__title { max-width: 22ch; }
.casino-evening__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-6); align-items: start; }
.casino-evening__lead { min-width: 0; max-width: 54ch; }
.casino-evening__highlight { padding: var(--space-4); border-inline-start: var(--border-strong-width) solid var(--color-orange); background: var(--color-paper); font-family: var(--font-heading); font-size: var(--text-lead); }
.casino-evening__scene { position: relative; min-width: 0; padding: var(--space-7); border: var(--border-strong-width) solid var(--color-dark-brown); border-radius: var(--radius-arch); background: var(--color-white); }
.casino-evening__scene p { max-width: 40ch; }
.casino-evening__scene p:last-child { margin-bottom: 0; }
.casino-evening__scene .star { position: absolute; top: var(--space-4); right: var(--space-5); font-size: 2rem; }
.casino-evening__comfort { max-width: 65ch; margin-top: var(--space-5); padding: var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); background: var(--color-paper); }
.casino-poker__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.casino-poker__heading { grid-column: span 7; min-width: 0; }
.casino-poker__heading h2 { max-width: 18ch; }
.casino-poker__media { grid-column: span 5; width: 100%; min-width: 0; margin: 0; border-width: var(--border-strong-width); }
.casino-poker__blocks { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.casino-poker__block { min-width: 0; padding: var(--space-5); border-top: var(--border-strong-width) solid var(--color-dark-brown); background: var(--color-paper); }
.casino-poker__block--muted { border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-paper-deep); }
.casino-poker__block--sticker { background: transparent; }
.casino-poker__block h3 { margin-top: var(--space-3); }
.casino-poker__block p:last-child { margin-bottom: 0; }
.casino-block-number { color: var(--color-orange); font-family: var(--font-heading); font-size: 2rem; font-weight: 800; }
.casino-roulette__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.casino-roulette__heading { grid-column: 1 / -1; min-width: 0; }
.casino-roulette__media { grid-column: span 6; width: 100%; min-width: 0; margin: 0; border-width: var(--border-strong-width); }
.casino-roulette__content { grid-column: span 6; min-width: 0; }
.casino-roulette__intro { max-width: 48ch; font-size: var(--text-lead); line-height: var(--leading-lead); }
.casino-roulette__intro span { display: inline-block; padding-inline: .25em; border-bottom: 2px solid var(--color-orange); font-weight: 700; }
.casino-steps { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.casino-steps li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); }
.casino-steps li:nth-child(1) { background: var(--color-sunny-yellow); }
.casino-steps li:nth-child(3) { background: var(--color-sky-blue); }
.casino-steps li > span { display: grid; width: 3rem; height: 3rem; place-items: center; border: var(--border-width) solid var(--color-dark-brown); border-radius: 50%; background: var(--color-white); font-weight: 700; }
.casino-steps h3, .casino-steps p { margin: 0; }
.casino-steps h3 { margin-bottom: var(--space-2); }
.casino-blackjack__intro { max-width: 62ch; }
.casino-blackjack__board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.casino-blackjack__item { min-width: 0; padding: var(--space-5); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-paper); }
.casino-blackjack__item--yellow { background: var(--color-sunny-yellow); }
.casino-blackjack__item--blue { background: var(--color-sky-blue); }
.casino-blackjack__item p:last-child { margin-bottom: 0; }
.casino-blackjack__item .badge { margin-top: var(--space-3); }
.casino-blackjack__footnote { margin: var(--space-5) 0 0; padding: var(--space-3) var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); font-size: var(--text-sm); line-height: var(--leading-small); }
.casino-etiquette__intro { max-width: 66ch; }
.casino-etiquette__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-5); }
.casino-rule { display: grid; grid-column: span 2; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-4); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-white); transition: transform var(--transition-fast); }
.casino-rule:nth-child(4), .casino-rule:nth-child(5) { grid-column: span 3; }
.casino-rule:hover { transform: translateY(-2px); }
.casino-rule > span { color: var(--color-orange); font-family: var(--font-heading); font-size: 1.8rem; font-weight: 800; line-height: 1; }
.casino-rule h3, .casino-rule p { margin: 0; }
.casino-rule h3 { margin-bottom: var(--space-2); }
.casino-rule--yellow { background: var(--color-sunny-yellow); }
.casino-rule--muted { background: var(--color-paper-deep); }
.casino-rule--deep { background: var(--color-sea-deep); color: var(--color-paper); }
.casino-rule--deep h3, .casino-rule--deep > span { color: var(--color-paper); }
.casino-hours__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.casino-hours__title { grid-column: 1 / -1; }
.casino-hours__fact { grid-column: span 5; min-width: 0; padding: var(--space-5); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-sky-blue); }
.casino-hours__fact p:last-child { margin-bottom: 0; }
.casino-hours__sources { display: flex; grid-column: span 7; min-width: 0; flex-direction: column; gap: var(--space-3); }
.casino-hours__sources > article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-bottom: var(--space-3); border-bottom: var(--border-width) solid var(--color-dark-brown); }
.casino-hours__sources span { color: var(--color-orange); font-weight: 700; }
.casino-hours__sources h3, .casino-hours__sources p { margin: 0; }
.casino-hours__sources h3 { margin-bottom: var(--space-1); }
.casino-timeline { grid-column: 1 / -1; min-width: 0; padding: var(--space-5); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-white); }
.casino-timeline > p { max-width: 54ch; }
.casino-timeline ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.casino-timeline li { min-width: 0; padding-top: var(--space-3); border-top: var(--border-strong-width) wavy var(--color-sky-blue); font-weight: 700; }
.casino-responsible__intro { max-width: 62ch; }
.casino-responsible__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.casino-responsible__grid article { position: relative; min-width: 0; padding: var(--space-5) var(--space-5) var(--space-5) 5rem; border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-white); }
.casino-responsible__grid article > span { position: absolute; top: var(--space-5); left: var(--space-5); color: var(--color-orange); font-family: var(--font-heading); font-size: 2rem; font-weight: 800; line-height: 1; }
.casino-responsible__grid article p:last-child { margin-bottom: 0; }
.casino-responsible__blue { background: var(--color-sky-blue) !important; }
.casino-responsible__muted { background: var(--color-paper-deep) !important; }
.casino-responsible__callout { max-width: 42ch; margin: var(--space-6) auto 0; padding: var(--space-5); border: var(--border-strong-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-orange); color: var(--color-paper); font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 700; line-height: var(--leading-lead); text-align: center; }
.casino-checklist__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.casino-checklist__list { grid-column: span 7; min-width: 0; }
.casino-checklist__list ol { display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.casino-checklist__list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding: var(--space-3); border-bottom: var(--border-width) solid var(--color-dark-brown); }
.casino-checklist__list li > span { width: 1.5rem; height: 1.5rem; margin-top: .25rem; border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-sm); background: var(--color-sunny-yellow); }
.casino-checklist__list h3, .casino-checklist__list p { margin: 0; }
.casino-checklist__list h3 { margin-bottom: var(--space-1); }
.casino-reading { display: flex; grid-column: 9 / span 4; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border: var(--border-strong-width) solid var(--color-dark-brown); border-radius: var(--radius-lg); background: var(--color-white); }
.casino-reading > * { min-width: 0; margin: 0; }
.casino-reading h2 { font-size: var(--text-card-title); }
.casino-reading p { max-width: 52ch; }
.casino-reading a { width: 100%; min-height: 2.75rem; padding: var(--space-3); border: var(--border-width) solid var(--color-dark-brown); border-radius: var(--radius-md); background: var(--color-sky-blue); font-weight: 700; }
.casino-reading a:last-child { background: transparent; }
.casino-reading a:hover { color: var(--color-dark-brown); background: var(--color-sunny-yellow); }
@media (max-width: 61.25rem) { .casino-hero__grid { grid-template-columns: 1fr; } .casino-hero__media { max-height: 32rem; } }
@media (max-width: 60rem) { .casino-poker__heading { grid-column: 1 / -1; } .casino-poker__media { grid-column: 1 / -1; max-width: 45rem; } .casino-poker__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); } .casino-poker__block:last-child { grid-column: 1 / -1; } }
@media (max-width: 56.25rem) { .casino-evening__grid { grid-template-columns: 1fr; } .casino-evening__scene { max-width: 100%; } .casino-roulette__media, .casino-roulette__content { grid-column: 1 / -1; } .casino-roulette__media { max-width: 38rem; } .casino-checklist__list, .casino-reading { grid-column: 1 / -1; } .casino-reading { max-width: 42rem; } }
@media (max-width: 53.75rem) { .casino-location__intro, .casino-location__notice { grid-column: 1 / -1; } .casino-route { grid-template-columns: 1fr; } .casino-hours__fact, .casino-hours__sources { grid-column: 1 / -1; } .casino-hours__sources { flex-direction: row; } .casino-hours__sources > article { flex: 1 1 0; } }
@media (max-width: 48.75rem) { .casino-blackjack__board { grid-template-columns: 1fr; } }
@media (max-width: 47.5rem) { .casino-responsible__grid { grid-template-columns: 1fr; } }
@media (max-width: 42.5rem) { .casino-hours__sources { flex-direction: column; } .casino-timeline ol { grid-template-columns: 1fr; } }
@media (max-width: 38.75rem) { .casino-etiquette__grid { grid-template-columns: 1fr; } .casino-rule, .casino-rule:nth-child(4), .casino-rule:nth-child(5) { grid-column: 1; } }
@media (max-width: 42rem) { .casino-hero { padding-block: var(--space-7); } .casino-hero__grid { gap: var(--space-5); } .casino-hero__title { font-size: clamp(2.625rem, 12vw, 3.75rem); } .casino-hero__button { width: 100%; } .casino-hero__note { max-width: 100%; transform: none; } .casino-hero__media { aspect-ratio: 16 / 10; } .casino-evening__scene { padding: var(--space-5); } .casino-poker__blocks { grid-template-columns: 1fr; } .casino-poker__block:last-child { grid-column: 1; } .casino-route__item, .casino-steps li { grid-template-columns: 2.75rem minmax(0, 1fr); } .casino-rule { grid-template-columns: 3rem minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .casino-rule:hover { transform: none; } }
