.home-page { overflow: hidden; }
.home-page .page-section { position: relative; }
.home-page .section-code { font-variant-numeric: tabular-nums; }
.home-page h2 { margin-bottom: var(--space-3); }
.home-hero { padding-top: var(--space-12); }
.home-hero__grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-6); }
.home-hero__main { grid-column: span 5; min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.home-hero__intro { max-width: 65ch; }
.home-hero__intro .lead { margin-bottom: 0; }
.home-hero__figure { width: 100%; min-width: 0; margin: 0; }
.home-hero__figure .media-frame img { object-position: 48% 55%; }
.home-hero__route { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); padding-top: var(--space-4); border-top: 2px solid var(--color-teal-500); }
.home-hero__route > span { min-width: 0; color: var(--color-marine-800); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 600; }
.home-hero__route > p { grid-column: 1 / -1; max-width: 65ch; margin-bottom: 0; }
.home-hero__cards { grid-column: span 3; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); align-content: start; }
.home-zone-card { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: var(--surface-content); }
.home-zone-card .section-code { margin-bottom: 0; }
.home-zone-card h2 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.home-zone-card p { margin: 0; font-size: var(--text-small); line-height: var(--line-small); }
.home-zone-card .card__link { min-height: 2.75rem; margin-top: auto; }
.home-zone-card--casino .section-code i, .home-casino__code i, .home-guide-card .section-code i { display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: var(--space-1); border-radius: 50%; background: var(--color-amber-500); }
.home-zones__lead, .home-cabins__lead, .home-entertainment__lead, .home-services__lead, .home-guides__lead, .home-casino__lead { max-width: 65ch; }
.home-route { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-route__item { position: relative; min-width: 0; padding-top: var(--space-8); }
.home-route__item::before { content: ""; position: absolute; top: 0.75rem; left: 0; width: calc(100% + var(--space-6)); height: 2px; background: var(--color-teal-500); }
.home-route__item:last-child::before { width: 100%; }
.home-route__number { position: absolute; top: 0; left: 0; display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; background: var(--color-marine-800); color: var(--color-white); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; }
.home-route__item p { max-width: 50ch; font-size: 1rem; }
.home-route__item a { display: inline-flex; min-height: 2.75rem; align-items: center; font-family: var(--font-heading); font-size: var(--text-small); font-weight: 600; }
.home-cabin-grid, .home-resource-grid, .home-guides__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-8); }
.home-cabin-card, .home-resource-card, .home-guide-card { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: var(--surface-content); }
.home-cabin-card--active { border-top: 2px solid var(--color-teal-500); }
.home-cabin-card .section-code, .home-resource-card .section-code, .home-guide-card .section-code { margin: 0; }
.home-cabin-card h3, .home-resource-card h3, .home-guide-card h3 { margin: 0; font-size: 1.25rem; }
.home-cabin-card p, .home-resource-card p, .home-guide-card p { margin: 0; font-size: var(--text-small); line-height: var(--line-small); }
.home-cabin-card dl { margin: 0; }
.home-cabin-card dl div { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: var(--space-2); padding-top: var(--space-3); border-top: 1px solid var(--border-color); font-size: var(--text-small); }
.home-cabin-card dd { margin: 0; color: var(--color-steel-700); }
.home-cabin-card .card__link, .home-resource-card .card__link, .home-guide-card .card__link { min-height: 2.75rem; margin-top: auto; }
.home-cabins__callout, .home-services__callout, .home-casino__callout { width: min(100%, 47rem); margin-top: var(--space-8); margin-bottom: 0; }
.home-dining__grid, .home-casino__top, .home-navigation__grid, .home-checklist__panel { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-6); }
.home-dining__reading { grid-column: span 5; min-width: 0; }
.home-dining__reading > .lead { max-width: 66ch; }
.home-dining-record { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5) 0; border-top: 1px solid var(--border-color); }
.home-dining-record h3, .home-dining-record p { margin: 0; }
.home-dining-record p { max-width: 60ch; }
.home-dining-record a { display: inline-flex; min-height: 2.75rem; align-items: center; width: fit-content; font-family: var(--font-heading); font-size: var(--text-small); font-weight: 600; }
.home-dining-record .status-label { width: fit-content; }
.home-dining__media { grid-column: span 3; min-width: 0; margin: 0; align-self: start; }
.home-dining__media img { object-position: center; }
.home-resource-card__motif { width: 100%; height: 1.5rem; border-top: 1px solid var(--color-steel-300); border-bottom: 1px solid var(--color-steel-300); background: repeating-linear-gradient(90deg, transparent 0 1.4rem, var(--color-steel-300) 1.4rem 1.46rem); }
.home-resource-card__motif--route { border-top: 2px solid var(--color-teal-500); }
.home-casino__top { margin-top: var(--space-6); }
.home-casino__intro { grid-column: span 5; min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: 1px solid var(--border-color); border-top: 2px solid var(--color-marine-800); border-radius: var(--radius-panel); background: var(--surface-content); }
.home-casino__intro h3, .home-casino__intro p { margin: 0; }
.home-casino__intro p { max-width: 64ch; }
.home-casino__intro .card__link { min-height: 2.75rem; width: fit-content; }
.home-casino__media { grid-column: span 3; min-width: 0; margin: 0; }
.home-casino__media img { object-position: center; }
.home-game-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.home-game-card, .home-service-card { min-width: 0; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: var(--surface-content); }
.home-game-card .section-code, .home-service-card .section-code { margin: 0; }
.home-game-card h3, .home-game-card p, .home-service-card h3, .home-service-card p { margin: 0; }
.home-game-card p, .home-service-card p { font-size: var(--text-small); line-height: var(--line-small); }
.home-game-card .card__link, .home-service-card .card__link { min-height: 2.75rem; margin-top: auto; }
.home-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-service-card__line { height: 1.5rem; border-left: 2px solid var(--color-teal-500); background: repeating-linear-gradient(0deg, transparent 0 0.45rem, var(--color-steel-300) 0.45rem 0.5rem); }
.home-navigation__reading { grid-column: span 5; min-width: 0; }
.home-principle { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-5); border-top: 1px solid var(--border-color); }
.home-principle > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--color-marine-800); color: var(--color-marine-800); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 700; font-variant-numeric: tabular-nums; }
.home-principle h3, .home-principle p { margin: 0; }
.home-principle h3 { margin-bottom: var(--space-2); }
.home-principle p { max-width: 65ch; }
.home-principle .status-label { margin-bottom: var(--space-2); }
.home-principle a { display: inline-flex; min-height: 2.75rem; align-items: center; margin-top: var(--space-3); font-family: var(--font-heading); font-size: var(--text-small); font-weight: 600; }
.home-navigation__diagram { grid-column: span 3; min-width: 0; aspect-ratio: 3 / 4; align-self: start; position: sticky; top: var(--space-6); display: grid; align-content: end; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: repeating-linear-gradient(0deg, var(--surface-raised) 0 2.7rem, var(--color-steel-300) 2.7rem 2.78rem); }
.home-navigation__diagram::before, .home-navigation__diagram::after { content: ""; position: absolute; top: var(--space-5); bottom: var(--space-5); width: 2px; background: var(--color-teal-500); }
.home-navigation__diagram::before { left: 32%; }.home-navigation__diagram::after { right: 28%; }
.home-navigation__diagram span { position: relative; z-index: 1; width: fit-content; padding: var(--space-1) var(--space-2); background: var(--surface-content); color: var(--color-steel-700); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; }
.home-navigation__diagram--mobile { display: none; }
.home-guide-card > div { display: flex; flex-direction: column; gap: var(--space-2); margin-top: auto; }
.home-guide-card > div a { display: flex; align-items: center; min-height: 2.75rem; font-family: var(--font-heading); font-size: var(--text-small); font-weight: 600; }
.home-checklist__panel { padding: var(--space-8); border: 1px solid var(--border-color); border-radius: var(--radius-panel); background: var(--surface-content); }
.home-checklist__content { grid-column: span 5; min-width: 0; }
.home-checklist__list { display: flex; flex-direction: column; gap: var(--space-5); margin: var(--space-6) 0; padding: 0; list-style: none; }
.home-checklist__list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; }
.home-checklist__list > li > span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--color-marine-800); color: var(--color-marine-800); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 700; }
.home-checklist__list h3, .home-checklist__list p { margin: 0; }
.home-checklist__list h3 { margin-bottom: var(--space-2); }
.home-checklist__list .status-label { margin-bottom: var(--space-2); }
.home-checklist__closing { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 55ch; padding-top: var(--space-5); border-top: 1px solid var(--border-color); }
.home-checklist__closing p { margin: 0; }
.home-checklist__grid-art { grid-column: span 3; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto repeat(3, 1fr); gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-steel-300); background: var(--surface-raised); }
.home-checklist__grid-art span { grid-column: 1 / -1; color: var(--color-steel-700); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.08em; }
.home-checklist__grid-art b { min-width: 0; min-height: 3rem; border: 1px solid var(--color-steel-300); background: linear-gradient(135deg, transparent 48%, var(--color-teal-500) 49% 51%, transparent 52%); }
@media (max-width: 66.25rem) { .home-cabin-grid, .home-resource-grid, .home-guides__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 61.25rem) { .home-hero__grid { grid-template-columns: 1fr; }.home-hero__main, .home-hero__cards { grid-column: 1; }.home-hero__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }.home-zone-card { min-height: 100%; } }
@media (max-width: 60rem) { .home-casino__top { grid-template-columns: 1fr; }.home-casino__intro, .home-casino__media { grid-column: 1; }.home-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-game-card:last-child { grid-column: 1 / -1; }.home-casino__callout { width: 100%; } }
@media (max-width: 56.25rem) { .home-route { grid-template-columns: 1fr; gap: var(--space-5); }.home-route__item { padding: 0 0 0 3rem; }.home-route__item::before { top: 0; left: 0.75rem; width: 2px; height: calc(100% + var(--space-5)); }.home-route__item:last-child::before { height: 100%; }.home-route__number { top: 0; }.home-route__item p { max-width: 60ch; }.home-dining__grid, .home-navigation__grid { grid-template-columns: 1fr; }.home-dining__reading, .home-dining__media, .home-navigation__reading, .home-navigation__diagram { grid-column: 1; }.home-dining__media { margin-top: var(--space-4); }.home-navigation__diagram--desktop { display: none; }.home-navigation__diagram--mobile { display: grid; position: relative; top: auto; order: 0; aspect-ratio: 16 / 10; margin: var(--space-4) 0; }.home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-service-card:last-child { grid-column: 1 / -1; }.home-services__callout { width: 100%; }.home-checklist__panel { grid-template-columns: 1fr; }.home-checklist__content { grid-column: 1; }.home-checklist__grid-art { display: none; } }
@media (max-width: 45rem) { .home-hero { padding-top: var(--space-10); }.home-hero__grid { gap: var(--space-5); }.home-hero__main { gap: var(--space-5); }.home-hero__route { grid-template-columns: 1fr; gap: var(--space-2); }.home-hero__cards, .home-cabin-grid, .home-resource-grid, .home-guides__grid, .home-game-grid, .home-service-grid { grid-template-columns: 1fr; }.home-game-card:last-child, .home-service-card:last-child { grid-column: auto; }.home-zone-card, .home-cabin-card, .home-resource-card, .home-guide-card, .home-game-card, .home-service-card { padding: var(--space-4); }.home-cabin-card dl div { grid-template-columns: 1fr; gap: var(--space-1); }.home-dining-record { padding-block: var(--space-4); }.home-casino__intro { padding: var(--space-5); }.home-cabins__callout, .home-services__callout, .home-casino__callout { width: 100%; }.home-checklist__panel { padding: var(--space-5); }.home-checklist__closing .button { width: 100%; }.home-navigation__diagram { padding: var(--space-4); }.home-principle { grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); } }
@media (prefers-reduced-motion: reduce) { .home-page * { transition: none !important; } }