.home-page {
  overflow: clip;
}

.home-page a:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-offset);
}

.home-hero {
  padding-block: var(--space-6) var(--space-8);
  background: var(--color-midnight);
}

.home-hero__grid,
.home-index__grid,
.home-stay__grid,
.home-dining__grid,
.home-entertainment__top,
.home-facilities__top,
.home-casino__top,
.home-poker__grid,
.home-guides__grid {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
}

.home-hero__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: stretch;
}

.home-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-4);
  padding: clamp(1.5rem, 4vw, 3rem);
  background: var(--color-midnight);
  color: var(--color-porcelain);
}

.home-hero__copy > * { margin: 0; }
.home-hero__copy .eyebrow { color: var(--color-pale-steel); }
.home-hero__copy .display-title { color: var(--color-paper); font-size: clamp(3rem, 6.2vw, 4rem); }
.home-hero__standfirst { max-width: 43ch; color: var(--color-porcelain); font-size: var(--text-standfirst); line-height: 1.45; }
.home-hero__status { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-2); padding-top: var(--space-4); border-top: 1px solid rgb(185 203 209 / 60%); }
.home-hero__status > * { margin: 0; }
.home-hero__status p:not(.technical-label) { font-size: var(--text-caption); line-height: var(--line-caption); }
.home-hero__status a { width: fit-content; color: var(--color-paper); font-size: var(--text-nav); font-weight: 700; }
.home-hero__media { min-width: 0; min-height: 34rem; border-radius: 0; }
.home-hero__media img { object-position: 70% center; }
.home-hero__media figcaption { padding: var(--space-3) var(--space-4); background: var(--color-paper); color: var(--color-slate); font-size: var(--text-caption); line-height: var(--line-caption); }

.home-index__intro { width: min(100%, 66ch); margin-bottom: var(--space-6); }
.home-index__intro > :last-child { margin-bottom: 0; }
.home-index__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); align-items: stretch; }
.home-route-stack,
.home-life-index { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-route { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: var(--border-subtle); border-top: 3px solid var(--color-marine-teal); background: var(--color-paper); color: var(--color-ink); text-decoration: none; }
.home-route > * { margin: 0; }
.home-route h3 { font-family: var(--font-heading); font-size: var(--text-card-title); line-height: 1.05; }
.home-route p { color: var(--color-slate); font-size: 0.9375rem; line-height: 1.5; }
.home-route__number { color: var(--color-midnight); font-family: var(--font-heading); font-size: 4.5rem; font-weight: 700; line-height: .8; font-variant-numeric: tabular-nums; }
.home-route__arrow { margin-top: auto; color: var(--color-deep-teal); font-size: var(--text-nav); font-weight: 700; }
.home-route:hover h3,
.home-route:focus-visible h3 { text-decoration: underline; text-decoration-color: var(--color-marine-teal); text-decoration-thickness: 2px; text-underline-offset: .16em; }
.home-route:hover .home-route__arrow { transform: translateX(4px); }
.home-specialist-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-5); background: var(--color-midnight); color: var(--color-porcelain); }
.home-specialist-strip > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-right: 1px solid rgb(185 203 209 / 35%); }
.home-specialist-strip > div:last-child { border-right: 0; }
.home-specialist-strip > div::before { width: .5rem; height: .5rem; background: var(--color-coral); content: ""; }
.home-specialist-strip p,
.home-specialist-strip .technical-label { margin: 0; }
.home-specialist-strip p { font-size: var(--text-caption); line-height: var(--line-caption); }
.home-specialist-strip a { color: var(--color-porcelain); font-size: var(--text-nav); font-weight: 700; }
.home-specialist-strip__plain { color: var(--color-pale-steel); font-size: var(--text-caption); }

.home-stay__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
.home-stay__copy { width: min(100%, 68ch); }
.home-stay__media { grid-column: 2; grid-row: 1 / span 2; aspect-ratio: 3 / 2; }
.home-stay__media img { object-position: center; }
.home-stay__media figcaption,
.home-dining__media figcaption,
.home-entertainment__media figcaption,
.home-facilities__media figcaption,
.home-casino__media figcaption { padding: var(--space-3); background: var(--color-paper); color: var(--color-slate); font-size: var(--text-caption); line-height: var(--line-caption); }
.home-stay__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; grid-column: 1; gap: var(--space-3); }
.home-stay__facts > div { min-width: 0; padding: var(--space-4); border-top: 1px solid var(--color-marine-teal); background: rgb(255 255 255 / 45%); }
.home-stay__facts p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }
.home-stay__note { grid-column: 1; padding: var(--space-4); border-left: 3px solid var(--color-coral); background: var(--color-paper); }
.home-stay__note p { width: min(100%, 68ch); margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }

.home-dining__intro { width: min(100%, 68ch); }
.home-dining__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; }
.home-dining__media { aspect-ratio: 4 / 3; }
.home-dining__field { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); padding: var(--space-5); background: var(--color-pale-steel); }
.home-dining__modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-4); }
.home-dining__modules > div { min-width: 0; padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-line-steel); }
.home-dining__modules h3 { font-family: var(--font-heading); font-size: var(--text-card-title); }
.home-dining__modules p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }
.home-dining__check { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: auto; padding: var(--space-4); background: var(--color-midnight); color: var(--color-porcelain); }
.home-dining__check > * { margin: 0; }
.home-dining__check .technical-label { color: var(--color-pale-steel); }
.home-dining__check p { font-size: var(--text-caption); line-height: var(--line-caption); }
.home-dining__check a { width: fit-content; color: var(--color-porcelain); font-size: var(--text-nav); font-weight: 700; }

.home-entertainment__top { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; }
.home-entertainment__top > div { width: min(100%, 70ch); }
.home-entertainment__media { aspect-ratio: 3 / 2; }
.home-entertainment__routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-6); }
.home-entertainment__routes > div { min-width: 0; padding: var(--space-5); border-top: 3px solid var(--color-marine-teal); background: var(--color-paper); }
.home-entertainment__routes > div:nth-child(2) { transform: translateY(-1rem); }
.home-entertainment__routes p { margin-bottom: 0; font-size: .9375rem; }
.home-entertainment__note { width: min(100%, 70ch); margin-top: var(--space-4); padding: var(--space-4); border: var(--border-subtle); background: var(--color-paper); }
.home-entertainment__note p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }

.home-facilities__top { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.home-facilities__media { aspect-ratio: 3 / 2; }
.home-facilities__top > div { width: min(100%, 68ch); }
.home-facilities__blocks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-6); }
.home-facilities__blocks > div { min-width: 0; padding: var(--space-5); border-top: 3px solid var(--color-marine-teal); background: var(--color-pale-steel); }
.home-facilities__blocks h3 { font-family: var(--font-heading); font-size: var(--text-card-title); }
.home-facilities__blocks p { margin-bottom: 0; font-size: .9375rem; }
.home-facilities__note { width: min(100%, 42rem); margin-top: var(--space-5); padding: var(--space-4); border-left: 3px solid var(--color-coral); background: var(--color-pale-steel); }
.home-facilities__note p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }

.home-casino__top { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: stretch; }
.home-casino__panel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); background: var(--color-midnight); color: var(--color-porcelain); }
.home-casino__panel > * { margin: 0; }
.home-casino__panel h2 { color: var(--color-paper); }
.home-casino__panel .eyebrow { color: var(--color-pale-steel); }
.home-casino__caveat { padding: var(--space-4); border-left: 3px solid var(--color-coral); background: rgb(255 255 255 / 8%); }
.home-casino__caveat p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }
.home-casino__media { aspect-ratio: 4 / 3; }
.home-casino__media figcaption span { display: block; margin-bottom: var(--space-1); color: var(--color-coral); font-weight: 700; }
.home-casino__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-6); padding: var(--space-5); background: var(--color-pale-steel); }
.home-casino__facts > div { min-width: 0; }
.home-casino__facts h3 { font-family: var(--font-heading); font-size: var(--text-card-title); }
.home-casino__facts p { margin-bottom: 0; font-size: .9375rem; }
.home-casino__links { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-4) 0 0; font-size: var(--text-caption); }
.home-casino__links a { font-weight: 700; }

.home-poker__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.home-poker__copy { width: min(100%, 70ch); }
.home-poker__rail { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: 1px; padding: 1px; background: var(--color-line-steel); }
.home-poker__rail > p { grid-column: 1 / -1; margin: 0; padding: var(--space-3) var(--space-4); background: var(--color-pale-steel); }
.home-poker__rail > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding: var(--space-4); background: var(--color-paper); font-size: var(--text-caption); line-height: var(--line-caption); }
.home-poker__rail strong { color: var(--color-midnight); }
.home-poker__path { grid-column: 1; width: min(100%, 70ch); padding: var(--space-4); border: var(--border-subtle); background: var(--color-paper); }
.home-poker__path p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }

.home-table-games__intro { width: min(100%, 68ch); }
.home-table-games__caveat { margin-top: var(--space-5); padding: var(--space-4); border-left: 3px solid var(--color-coral); background: var(--color-pale-steel); }
.home-table-games__caveat p { width: min(100%, 75ch); margin: 0; }
.home-table-games__modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; gap: var(--space-5); margin-top: var(--space-5); }
.home-table-games__modules article { min-width: 0; padding: var(--space-5); border: var(--border-subtle); background: var(--color-paper); }
.home-table-games__modules p { margin-bottom: 0; }
.home-table-games__link { margin-top: var(--space-4); margin-bottom: 0; font-size: var(--text-caption); font-weight: 700; }

.home-guides__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
.home-guides__copy { width: min(100%, 70ch); }
.home-guides__note { margin-top: var(--space-5); padding: var(--space-4); border-top: 2px solid var(--color-marine-teal); background: var(--color-pale-steel); }
.home-guides__note p { margin: 0; font-size: var(--text-caption); line-height: var(--line-caption); }
.home-guides__routes { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.home-guides__routes a { display: grid; grid-template-columns: minmax(3rem, auto) minmax(0, 1fr); min-width: 0; gap: var(--space-4); padding: var(--space-5); border: var(--border-subtle); background: var(--color-paper); color: var(--color-ink); text-decoration: none; }
.home-guides__routes a:hover h3,
.home-guides__routes a:focus-visible h3 { text-decoration: underline; text-decoration-color: var(--color-marine-teal); text-decoration-thickness: 2px; text-underline-offset: .16em; }
.home-guides__routes > a > span { color: var(--color-deep-teal); font-family: var(--font-heading); font-size: 2.5rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.home-guides__routes div { min-width: 0; }
.home-guides__routes p { margin-bottom: var(--space-3); font-size: var(--text-caption); }
.home-guides__routes h3 { font-family: var(--font-heading); font-size: var(--text-card-title); }
.home-guides__routes p:last-child { margin-bottom: 0; color: var(--color-slate); font-size: .9375rem; line-height: 1.5; }

@media (max-width: 63.75rem) {
  .home-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-hero__media { min-height: 29rem; }
  .home-index__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-route--lead { grid-row: span 2; }
  .home-life-index { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-dining__grid { grid-template-columns: 1fr; }
  .home-dining__modules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-dining__modules > div:last-child { grid-column: 1 / -1; }
  .home-entertainment__top,
  .home-facilities__top { grid-template-columns: 1fr; }
  .home-entertainment__media,
  .home-facilities__media { grid-row: 1; }
  .home-entertainment__top > div,
  .home-facilities__top > div { width: min(100%, 70ch); }
  .home-casino__top { grid-template-columns: 1fr; }
  .home-casino__panel { grid-row: 1; }
  .home-poker__grid,
  .home-guides__grid { grid-template-columns: 1fr; }
  .home-poker__path { grid-column: auto; }
}

@media (max-width: 58.75rem) {
  .home-stay__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-stay__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; }
  .home-stay__facts > div:last-child { grid-column: 1 / -1; }
  .home-stay__note { grid-column: 1 / -1; }
  .home-entertainment__routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-entertainment__routes > div:nth-child(2) { transform: none; }
  .home-entertainment__routes > div:last-child { grid-column: 1 / -1; }
  .home-facilities__blocks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-facilities__blocks > div:last-child { grid-column: 1 / -1; }
  .home-casino__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-casino__facts > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.5rem) {
  .home-hero { padding-block: var(--space-5) var(--space-6); }
  .home-hero__grid,
  .home-index__grid,
  .home-stay__grid,
  .home-dining__grid,
  .home-entertainment__top,
  .home-facilities__top,
  .home-casino__top,
  .home-poker__grid,
  .home-guides__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-hero__copy { padding: var(--space-5); }
  .home-hero__copy .display-title { font-size: 2.25rem; }
  .home-hero__media { min-height: 0; aspect-ratio: 4 / 3; }
  .home-hero__media img { object-position: 66% center; }
  .home-index__intro { margin-bottom: var(--space-5); }
  .home-route--lead { grid-row: auto; }
  .home-route-stack,
  .home-life-index { display: flex; grid-column: auto; }
  .home-route { padding: var(--space-5); }
  .home-specialist-strip { grid-template-columns: 1fr; }
  .home-specialist-strip > div { border-right: 0; border-bottom: 1px solid rgb(185 203 209 / 35%); }
  .home-specialist-strip > div:last-child { border-bottom: 0; }
  .home-stay__media { grid-column: auto; grid-row: auto; aspect-ratio: 4 / 3; }
  .home-stay__facts,
  .home-dining__modules,
  .home-entertainment__routes,
  .home-facilities__blocks,
  .home-casino__facts,
  .home-table-games__modules { grid-template-columns: 1fr; }
  .home-stay__facts { grid-column: auto; gap: 0; background: transparent; }
  .home-stay__facts > div,
  .home-stay__facts > div:last-child { grid-column: auto; padding: var(--space-4) 0; border-top: 1px solid var(--color-line-steel); background: transparent; }
  .home-stay__note { grid-column: auto; }
  .home-dining__field { padding: var(--space-4); }
  .home-dining__modules > div:last-child,
  .home-entertainment__routes > div:last-child,
  .home-facilities__blocks > div:last-child,
  .home-casino__facts > div:last-child { grid-column: auto; }
  .home-entertainment__routes { gap: var(--space-3); margin-top: var(--space-5); }
  .home-entertainment__routes > div,
  .home-facilities__blocks > div { padding: var(--space-4); }
  .home-facilities__blocks { gap: 0; margin-top: var(--space-5); }
  .home-facilities__blocks > div { border-top: 1px solid var(--color-line-steel); background: transparent; }
  .home-casino__panel { padding: var(--space-5); }
  .home-casino__facts { gap: 0; padding: var(--space-4); }
  .home-casino__facts > div { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-line-steel); }
  .home-casino__facts > div:last-child { border-bottom: 0; }
  .home-poker__rail { grid-template-columns: 1fr; }
  .home-poker__path { grid-column: auto; }
  .home-table-games__modules { gap: var(--space-4); }
  .home-guides__routes a { padding: var(--space-4); }
}

@media (prefers-reduced-motion: no-preference) {
  .home-route__arrow { transition: transform var(--transition-fast); }
}
