.city-casino-page { overflow: hidden; }
.city-casino-page__hero { padding-block: var(--space-7) var(--space-9); background: var(--color-graphite); }
.city-casino-page__hero-container { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.city-casino-page__hero-media { grid-column: 1 / -1; grid-row: 1; width: 100%; min-width: 0; margin: 0; overflow: hidden; background: var(--color-navy); }
.city-casino-page__hero-media::after { position: absolute; inset: 0; background: rgba(17, 22, 26, .34); content: ""; pointer-events: none; }
.city-casino-page__hero-media img { width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.city-casino-page__hero-panel { z-index: 1; grid-column: 1 / span 5; grid-row: 1; align-self: end; min-width: 440px; margin: var(--space-6); padding: var(--space-6); background: rgba(17, 22, 26, .90); }
.city-casino-page__hero-panel > :last-child { margin-block-end: 0; }
.city-casino-page__hero-panel .lead { max-width: 38rem; }
.city-casino-page__hero-actions { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.city-casino-page__hero-note { max-width: 34rem; margin: 0; padding-inline-start: var(--space-4); border-inline-start: 1px solid var(--color-map-line); color: var(--color-limestone-muted); font-size: var(--text-sm); line-height: var(--leading-sm); }
.city-casino-page__hero-route { position: absolute; z-index: 2; right: var(--space-5); bottom: var(--space-5); left: var(--space-5); display: flex; justify-content: space-between; align-items: center; border-top: 1px solid rgba(241, 235, 221, .42); pointer-events: none; }
.city-casino-page__hero-route span { width: .5rem; height: .5rem; margin-top: -.3rem; border: 1px solid var(--color-limestone); border-radius: 50%; background: var(--color-graphite); }
.city-casino-page__hero-route span:first-child { border-color: var(--color-copper); background: var(--color-copper); }
.city-casino-page__reading-intro { width: 41.666%; min-width: 0; }
.city-casino-page__reading-intro .lead { max-width: 38rem; }
.city-casino-page__reading-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-7); }
.city-casino-page__reading-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5) 0 0; border-top: 1px solid var(--color-map-line); }
.city-casino-page__reading-card > :last-child { margin-block-end: 0; }
.city-casino-page__card-number { margin: 0 0 var(--space-5); color: var(--color-copper); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.city-casino-page__cities-intro { width: 41.666%; min-width: 0; }
.city-casino-page__cities-intro .lead { max-width: 35rem; }
.city-casino-page__city-route { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; margin-top: var(--space-8); padding-top: var(--space-5); }
.city-casino-page__city-route::before { position: absolute; top: 0; right: 4%; left: 4%; height: 1px; background: var(--color-map-line); content: ""; }
.city-casino-page__route-stop { position: relative; display: flex; flex-direction: column; min-width: 0; gap: var(--space-2); padding-top: var(--space-4); color: var(--color-limestone); text-decoration: none; }
.city-casino-page__route-stop:nth-child(even) { transform: translateY(var(--space-7)); }
.city-casino-page__route-dot { position: absolute; top: calc(var(--space-4) * -1 - 5px); left: 0; width: .625rem; height: .625rem; border: 1px solid var(--color-map-line); border-radius: 50%; background: var(--color-navy); transition: background-color var(--transition-fast), border-color var(--transition-fast); }
.city-casino-page__route-stop strong { font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 600; line-height: var(--leading-lead); }
.city-casino-page__route-stop > span:last-child { font-size: var(--text-sm); line-height: var(--leading-sm); }
.city-casino-page__route-stop:hover .city-casino-page__route-dot, .city-casino-page__route-stop:focus-visible .city-casino-page__route-dot { border-color: var(--color-copper); background: var(--color-copper); }
.city-casino-page__scenarios-intro { width: 50%; min-width: 0; }
.city-casino-page__scenarios-intro .lead { max-width: 41rem; }
.city-casino-page__scenario-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-7); }
.city-casino-page__scenario-card { display: flex; grid-column: span 4; flex-direction: column; min-width: 0; min-height: 100%; padding: var(--space-5); border: 1px solid rgba(17, 22, 26, .16); background: var(--color-limestone); color: var(--color-ink); }
.city-casino-page__scenario-card--wide { grid-column: span 6; }
.city-casino-page__scenario-card > :last-child { margin-block-end: 0; }
.city-casino-page__scenario-card a { display: inline-flex; align-items: center; width: fit-content; min-height: 2.75rem; margin-top: auto; padding-top: var(--space-4); font-size: var(--text-sm); font-weight: 700; }
.city-casino-page__culture-meta { color: var(--color-urban-green); }
.city-casino-page__planning-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.city-casino-page__planning-intro { grid-column: span 4; min-width: 0; }
.city-casino-page__planning-intro .lead { max-width: 30rem; }
.city-casino-page__steps { grid-column: 6 / span 7; display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); margin: 0; padding: 0 0 0 var(--space-6); border-inline-start: 1px solid var(--color-map-line); list-style: none; }
.city-casino-page__steps > li { position: relative; min-width: 0; }
.city-casino-page__steps > li::before { position: absolute; top: .5rem; left: calc(var(--space-6) * -1 - 5px); width: .625rem; height: .625rem; border: 1px solid var(--color-copper); border-radius: 50%; background: var(--color-navy); content: ""; }
.city-casino-page__steps > li > div { min-width: 0; max-width: 35rem; }
.city-casino-page__steps span { display: block; margin-bottom: var(--space-2); color: var(--color-copper); font-size: var(--text-xs); font-weight: 700; letter-spacing: .08em; }
.city-casino-page__steps h3 { margin-bottom: var(--space-2); }
.city-casino-page__steps p { margin-bottom: 0; }
.city-casino-page__interlude-figure { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); min-width: 0; margin: 0; overflow: hidden; }
.city-casino-page__interlude-figure img { grid-column: 1 / -1; grid-row: 1; width: 100%; max-width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform var(--transition-base); }
.city-casino-page__interlude-figure::after { z-index: 1; grid-column: 1 / -1; grid-row: 1; background: rgba(17, 22, 26, .30); content: ""; pointer-events: none; }
.city-casino-page__interlude-figure blockquote { z-index: 2; grid-column: 1 / span 4; grid-row: 1; align-self: end; min-width: 360px; margin: var(--space-6); padding: var(--space-5); border: 0; background: rgba(17, 22, 26, .91); font-size: clamp(1.5rem, 2.4vw, 2rem); }
.city-casino-page__interlude-figure figcaption { z-index: 2; grid-column: 1 / span 4; grid-row: 1; align-self: end; margin: 0 var(--space-6) calc(var(--space-6) + 100% - 1px); }
.city-casino-page__interlude-figure:hover img { transform: scale(1.02); }
.city-casino-page__checklist-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.city-casino-page__checklist-intro { grid-column: span 6; min-width: 0; }
.city-casino-page__checklist-intro .lead { max-width: 39rem; }
.city-casino-page__checklist-list { grid-column: span 8; display: flex; flex-direction: column; min-width: 0; gap: 0; margin: var(--space-7) 0 0; }
.city-casino-page__checklist-list > div { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: 1px solid rgba(17, 22, 26, .16); }
.city-casino-page__checklist-list dt { min-width: 0; color: #596067; letter-spacing: .08em; text-transform: uppercase; }
.city-casino-page__checklist-list dd { min-width: 0; max-width: 32.5rem; margin: 0; }
.city-casino-page__checklist-list--accent { border-inline-start: 2px solid var(--color-copper); padding-inline-start: var(--space-4); }
.city-casino-page__atlas-margin { grid-column: 10 / span 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: end; min-width: 0; gap: var(--space-3); padding-bottom: var(--space-8); color: #596067; font-size: var(--text-xs); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.city-casino-page__atlas-margin i { width: 100%; height: 1px; background: var(--color-map-line); }
.city-casino-page__adults-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.city-casino-page__adults-layout > header { grid-column: span 4; min-width: 0; }
.city-casino-page__adults-panels { grid-column: span 8; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.city-casino-page__adults-panels article { display: flex; flex-direction: column; min-width: 0; padding: var(--space-5); border: 1px solid var(--color-border); }
.city-casino-page__adults-panels article > :last-child { margin-block-end: 0; }
.city-casino-page__further-intro { width: 50%; min-width: 0; }
.city-casino-page__further-intro .lead { max-width: 35rem; }
.city-casino-page__further-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-7); }
.city-casino-page__further-card { display: flex; flex-direction: column; min-width: 0; min-height: 16rem; padding: var(--space-5); border: 1px solid var(--color-border); color: var(--color-limestone); text-decoration: none; transition: border-color var(--transition-base), transform var(--transition-base); }
.city-casino-page__further-card > :last-child { margin-block-end: 0; }
.city-casino-page__further-card strong { margin-top: auto; padding-top: var(--space-4); color: var(--color-copper); font-size: var(--text-sm); letter-spacing: .08em; text-transform: uppercase; }
.city-casino-page__further-card:hover { border-color: var(--color-copper); color: var(--color-limestone); transform: translateY(-2px); }
.city-casino-page__further-card--green .meta { color: var(--color-urban-green); }
.city-casino-page__further-card--split { gap: var(--space-3); }
.city-casino-page__further-card--split a { display: inline-flex; align-items: center; min-height: 2.5rem; width: fit-content; color: var(--color-limestone); font-size: var(--text-sm); font-weight: 700; }
.city-casino-page__closing-container { position: relative; min-height: 20rem; padding-block: var(--space-8); }
.city-casino-page__closing-content { position: relative; z-index: 1; width: 50%; min-width: 0; }
.city-casino-page__closing-content p:not(.eyebrow) { max-width: 39rem; }
.city-casino-page__closing-route { position: absolute; top: 50%; right: 0; width: 42%; border-top: 1px solid var(--color-copper); }
.city-casino-page__closing-route::after { position: absolute; top: -4px; right: 14%; width: 7px; height: 7px; border-radius: 50%; background: var(--color-copper); content: ""; }

@media (max-width: 980px) {
  .city-casino-page__city-route { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 0; padding-left: var(--space-5); border-inline-start: 1px solid var(--color-map-line); gap: var(--space-6) var(--space-5); }
  .city-casino-page__city-route::before { display: none; }
  .city-casino-page__route-stop, .city-casino-page__route-stop:nth-child(even) { min-height: 11rem; padding-top: 0; transform: none; }
  .city-casino-page__route-dot { top: .3rem; left: calc(var(--space-5) * -1 - 5px); }
}
@media (max-width: 900px) {
  .city-casino-page__hero { padding-block: var(--space-6) var(--space-8); }
  .city-casino-page__hero-container { display: flex; flex-direction: column; gap: 0; }
  .city-casino-page__hero-media { width: 100%; }
  .city-casino-page__hero-media::after { display: none; }
  .city-casino-page__hero-media img { aspect-ratio: 4 / 3; }
  .city-casino-page__hero-panel { width: 100%; min-width: 0; margin: 0; padding: var(--space-6) var(--space-5); }
  .city-casino-page__hero-route { right: var(--space-5); bottom: auto; left: var(--space-5); transform: translateY(-1px); }
  .city-casino-page__hero-route span:not(:first-child) { display: none; }
  .city-casino-page__reading-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-casino-page__reading-card:last-child { grid-column: 1 / -1; }
  .city-casino-page__scenario-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .city-casino-page__scenario-card, .city-casino-page__scenario-card--wide { grid-column: span 4; }
  .city-casino-page__planning-layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .city-casino-page__planning-intro { grid-column: 1 / -1; }
  .city-casino-page__steps { grid-column: 1 / -1; }
  .city-casino-page__checklist-layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .city-casino-page__checklist-intro { grid-column: 1 / -1; }
  .city-casino-page__checklist-list { grid-column: span 8; }
  .city-casino-page__atlas-margin { display: none; }
  .city-casino-page__adults-layout { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .city-casino-page__adults-layout > header, .city-casino-page__adults-panels { grid-column: 1 / -1; }
  .city-casino-page__further-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-casino-page__further-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .city-casino-page__reading-intro, .city-casino-page__cities-intro, .city-casino-page__scenarios-intro, .city-casino-page__further-intro { width: 100%; }
  .city-casino-page__interlude-figure { display: flex; flex-direction: column; }
  .city-casino-page__interlude-figure img { width: 100%; aspect-ratio: 4 / 3; }
  .city-casino-page__interlude-figure::after { display: none; }
  .city-casino-page__interlude-figure blockquote { width: 100%; min-width: 0; margin: 0; padding: var(--space-5); font-size: var(--text-section); }
  .city-casino-page__interlude-figure figcaption { order: 2; margin: var(--space-3) 0 0; }
  .city-casino-page__interlude-figure blockquote { order: 3; margin-top: var(--space-2); }
  .city-casino-page__adults-panels { grid-template-columns: 1fr; }
  .city-casino-page__closing-content { width: 100%; }
  .city-casino-page__closing-route { width: 28%; }
}
@media (max-width: 640px) {
  .city-casino-page__hero-panel { padding: var(--space-5) var(--space-4); }
  .city-casino-page__hero-panel h1 { font-size: 2.5rem; line-height: 1.1; }
  .city-casino-page__hero-panel .lead { font-size: 1.125rem; line-height: 1.55; }
  .city-casino-page__reading-grid, .city-casino-page__scenario-grid, .city-casino-page__further-grid { grid-template-columns: 1fr; }
  .city-casino-page__reading-card:last-child, .city-casino-page__scenario-card, .city-casino-page__scenario-card--wide, .city-casino-page__further-card:last-child { grid-column: 1; }
  .city-casino-page__city-route { grid-template-columns: 1fr; gap: var(--space-5); }
  .city-casino-page__route-stop, .city-casino-page__route-stop:nth-child(even) { min-height: 0; }
  .city-casino-page__scenario-card { padding: var(--space-5); }
  .city-casino-page__steps { padding-left: var(--space-5); }
  .city-casino-page__steps > li::before { left: calc(var(--space-5) * -1 - 5px); }
  .city-casino-page__checklist-list > div { grid-template-columns: 1fr; gap: var(--space-2); }
  .city-casino-page__checklist-list dd { max-width: none; }
  .city-casino-page__further-card { min-height: 10rem; }
  .city-casino-page__closing-container { min-height: 0; padding-block: var(--space-7); }
  .city-casino-page__closing-route { display: none; }
}
@media (hover: none) { .city-casino-page__interlude-figure:hover img, .city-casino-page__further-card:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) { .city-casino-page__interlude-figure img, .city-casino-page__further-card { transition: none; } }
