.home-page { overflow: hidden; }
.home-page .section { padding-block: clamp(5rem, 8vw, 7rem); }
.home-page figure { margin: 0; }
.home-page img { width: 100%; max-width: 100%; }
.home-page .panel, .home-page .notice { min-width: 0; }
.home-page .button { clip-path: var(--clip-panel); }

.home-lead__grid, .home-reading__grid, .home-review__grid, .home-cabins__grid, .home-life__grid, .home-casino__grid, .home-routes__grid, .home-faq__grid, .home-contact__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }
.home-lead__image { grid-column: 1 / span 7; width: 100%; min-width: 0; align-self: stretch; position: relative; clip-path: var(--clip-panel); background: var(--color-surface); }
.home-lead__image img { height: 100%; min-height: 34rem; object-fit: cover; }
.home-lead__image figcaption, .home-review__image figcaption, .home-cabins__image figcaption, .home-life__image figcaption, .home-casino__image figcaption, .home-routes__image figcaption { margin: 0; padding: var(--space-3) var(--space-4); background: var(--color-void-elevated); color: var(--color-text-secondary); font-family: var(--font-heading); font-size: var(--text-meta); letter-spacing: .1em; line-height: 1.35; }
.home-lead__panel { grid-column: 8 / span 5; width: 100%; min-width: 0; display: flex; align-items: center; }
.home-lead__content { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-lead__content > * { min-width: 0; margin: 0; }
.home-lead__content .display-title { max-width: 12ch; }
.home-lead__content .lead { max-width: 48ch; }
.home-lead__actions { display: flex; width: 100%; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.home-lead__actions > * { min-width: 0; }

.home-map__wrap { padding: var(--space-6); }
.home-map__heading { width: 100%; max-width: 58ch; margin-bottom: var(--space-7); }
.home-map__heading .lead { max-width: 58ch; }
.home-map__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.home-map__card { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-map__card > * { min-width: 0; margin: 0; }
.home-map__card:nth-child(1), .home-map__card:nth-child(2), .home-map__card:nth-child(3) { grid-column: span 4; }
.home-map__card:nth-child(4) { grid-column: span 5; }
.home-map__card:nth-child(5) { grid-column: span 4; }
.home-map__card:nth-child(6) { grid-column: span 3; }
.home-map__card ul { width: 100%; margin: 0; padding-left: 1.25rem; color: var(--color-text-secondary); columns: 2; }
.home-map__links { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-2); }

.home-reading__heading { grid-column: 1 / span 5; width: 100%; min-width: 0; }
.home-reading__intro { grid-column: 7 / span 6; width: 100%; max-width: 62ch; min-width: 0; align-self: end; }
.home-reading__panel { width: 100%; min-width: 0; }
.home-reading__panel--cabin { grid-column: 1 / span 4; }
.home-reading__panel--deck { grid-column: 5 / span 8; }
.home-reading__panel--notes { grid-column: 3 / span 6; }
.home-reading__diagram { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--space-5); }
.home-reading__diagram span { min-width: 0; padding: var(--space-2); border-top: 2px solid var(--color-bio-signal); background: var(--color-void-elevated); color: var(--color-text-secondary); font-family: var(--font-heading); font-size: var(--text-meta); overflow-wrap: anywhere; }

.home-review__content { grid-column: 1 / span 5; width: 100%; min-width: 0; align-self: center; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-review__content > * { margin: 0; min-width: 0; }
.home-review__content > p { max-width: 50ch; }
.home-review__image { grid-column: 6 / span 7; width: 100%; min-width: 0; clip-path: var(--clip-panel); }
.home-review__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-review__lenses { display: grid; width: 100%; min-width: 0; gap: var(--space-3); }
.home-review__lenses > div { display: grid; grid-template-columns: minmax(7rem, .8fr) minmax(0, 1.6fr); gap: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-line); }
.home-review__lenses strong { font-family: var(--font-heading); font-size: var(--text-label); letter-spacing: .08em; text-transform: uppercase; }
.home-review__lenses span { color: var(--color-text-secondary); }

.home-cabins__premise { grid-column: 1 / span 7; width: 100%; min-width: 0; }
.home-cabins__premise .lead { max-width: 56ch; }
.home-cabins__image { grid-column: 8 / span 5; width: 100%; min-width: 0; clip-path: var(--clip-panel); }
.home-cabins__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-cabins__criteria { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; }
.home-cabins__criteria > * { width: 100%; min-width: 0; }
.home-cabins__note { grid-column: 1 / span 7; width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-cabins__note > * { margin: 0; }
.home-cabins__note p { max-width: 48ch; }

.home-life__intro { grid-column: 1 / span 5; width: 100%; min-width: 0; }
.home-life__intro .lead { max-width: 58ch; }
.home-life__image { grid-column: 6 / span 7; width: 100%; min-width: 0; clip-path: var(--clip-panel); }
.home-life__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-life__records { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; }
.home-life__records > * { width: 100%; min-width: 0; }
.home-life__records > :nth-child(1), .home-life__records > :nth-child(2), .home-life__records > :nth-child(4), .home-life__records > :nth-child(5) { grid-column: span 3; }
.home-life__records > :nth-child(3) { grid-column: span 6; }

.home-casino__scope { grid-column: 1 / span 5; width: 100%; min-width: 0; align-self: center; }
.home-casino__scope h2, .home-casino__scope p { max-width: 56ch; }
.home-casino__image { grid-column: 6 / span 7; width: 100%; min-width: 0; clip-path: var(--clip-panel); }
.home-casino__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-casino__games { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); width: 100%; min-width: 0; }
.home-casino__games > * { width: 100%; min-width: 0; }
.home-casino__access { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; }
.home-casino__responsible { grid-column: 8 / span 5; width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-casino__responsible > * { margin: 0; }
.home-casino__responsible p { max-width: 54ch; }

.home-routes__image { grid-column: 1 / span 7; width: 100%; min-width: 0; clip-path: var(--clip-panel); }
.home-routes__image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.home-routes__context { grid-column: 8 / span 5; width: 100%; min-width: 0; align-self: end; }
.home-routes__context p { max-width: 52ch; }
.home-routes__note { grid-column: 1 / span 7; width: 100%; min-width: 0; }
.home-routes__action { grid-column: 9 / span 4; width: 100%; min-width: 0; align-self: center; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-routes__action > * { margin: 0; }
.home-routes__action p { max-width: 32ch; }

.home-faq__intro { grid-column: 1 / span 5; width: 100%; min-width: 0; }
.home-faq__intro .lead { max-width: 54ch; }
.home-faq__stack { grid-column: 6 / span 7; width: 100%; min-width: 0; }
.home-faq__stack details { width: 100%; min-width: 0; }
.home-faq__stack p { max-width: 52ch; }
.home-faq__stack .button { margin-top: var(--space-2); }

.home-contact__intro { grid-column: 1 / span 5; width: 100%; min-width: 0; }
.home-contact__intro p { max-width: 50ch; }
.home-contact__details { grid-column: 8 / span 5; width: 100%; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-contact__details > * { margin: 0; }
.home-contact__rows { display: grid; width: 100%; min-width: 0; gap: 0; }
.home-contact__rows > div { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: var(--space-4); padding: var(--space-3) 0; border-top: 1px solid var(--color-line); }
.home-contact__rows span { color: var(--color-text-secondary); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-contact__rows p { margin: 0; }

@media (max-width: 959px) {
.home-lead__grid, .home-reading__grid, .home-review__grid, .home-cabins__grid, .home-life__grid, .home-casino__grid, .home-routes__grid, .home-faq__grid, .home-contact__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-lead__panel { grid-column: 1 / -1; grid-row: 1; }
.home-lead__image { grid-column: 1 / -1; grid-row: 2; }
.home-lead__image img { min-height: 0; aspect-ratio: 16 / 9; }
.home-map__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-map__card:nth-child(1), .home-map__card:nth-child(2), .home-map__card:nth-child(3), .home-map__card:nth-child(5), .home-map__card:nth-child(6) { grid-column: span 4; }
.home-map__card:nth-child(4) { grid-column: 1 / -1; }
.home-reading__heading, .home-reading__intro, .home-reading__panel--cabin, .home-reading__panel--deck, .home-reading__panel--notes { grid-column: 1 / -1; }
.home-reading__intro { max-width: 62ch; }
.home-review__content, .home-review__image { grid-column: 1 / -1; }
.home-review__content { grid-row: 1; }
.home-review__image { grid-row: 2; }
.home-cabins__premise, .home-cabins__image, .home-cabins__note { grid-column: 1 / -1; }
.home-cabins__criteria { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-life__intro, .home-life__image { grid-column: 1 / -1; }
.home-life__records { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-life__records > :nth-child(1), .home-life__records > :nth-child(2), .home-life__records > :nth-child(4), .home-life__records > :nth-child(5) { grid-column: span 4; }
.home-life__records > :nth-child(3) { grid-column: 1 / -1; }
.home-casino__scope, .home-casino__image, .home-casino__access, .home-casino__responsible { grid-column: 1 / -1; }
.home-casino__games { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.home-casino__games > :nth-child(1), .home-casino__games > :nth-child(2) { grid-column: span 4; }
.home-casino__games > :nth-child(3) { grid-column: 1 / -1; }
.home-routes__context, .home-routes__image, .home-routes__note, .home-routes__action { grid-column: 1 / -1; }
.home-routes__context { grid-row: 1; }
.home-routes__image { grid-row: 2; }
.home-faq__intro, .home-faq__stack, .home-contact__intro, .home-contact__details { grid-column: 1 / -1; }
}

@media (max-width: 639px) {
.home-page .section { padding-block: clamp(3.5rem, 12vw, 4.5rem); }
.home-lead__grid, .home-reading__grid, .home-review__grid, .home-cabins__grid, .home-life__grid, .home-casino__grid, .home-routes__grid, .home-faq__grid, .home-contact__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.home-lead__panel, .home-lead__image, .home-reading__heading, .home-reading__intro, .home-reading__panel--cabin, .home-reading__panel--deck, .home-reading__panel--notes, .home-review__content, .home-review__image, .home-cabins__premise, .home-cabins__image, .home-cabins__note, .home-life__intro, .home-life__image, .home-casino__scope, .home-casino__image, .home-casino__access, .home-casino__responsible, .home-routes__context, .home-routes__image, .home-routes__note, .home-routes__action, .home-faq__intro, .home-faq__stack, .home-contact__intro, .home-contact__details { grid-column: 1; }
.home-lead__content .display-title { font-size: clamp(2.25rem, 11vw, 3.25rem); max-width: none; }
.home-lead__content .lead, .home-map__heading, .home-map__heading .lead, .home-reading__intro, .home-review__content > p, .home-cabins__premise .lead, .home-life__intro .lead, .home-casino__scope h2, .home-casino__scope p, .home-routes__context p, .home-faq__intro .lead, .home-contact__intro p { max-width: none; }
.home-lead__actions { flex-direction: column; }
.home-lead__actions .button, .home-routes__action .button { width: 100%; }
.home-map__wrap { padding: 0; background-image: none; }
.home-map__grid, .home-cabins__criteria, .home-life__records, .home-casino__games { grid-template-columns: minmax(0, 1fr); }
.home-map__card:nth-child(n), .home-life__records > :nth-child(n), .home-casino__games > :nth-child(n) { grid-column: 1; }
.home-map__card ul { columns: 1; }
.home-reading__diagram { grid-template-columns: minmax(0, 1fr); }
.home-review__lenses > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
.home-contact__rows > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
}

@media (prefers-reduced-motion: no-preference) {
.home-map__card, .home-life__records .panel, .home-cabins__criteria .panel { transition: background-color var(--transition-base), border-color var(--transition-base); }
.home-map__card:hover, .home-life__records .panel:hover { background: var(--color-surface-raised); }
.home-cabins__criteria .panel:hover { border-top-color: var(--color-bio-signal); }
}
