.home-page { overflow: clip; }
.home-page .route-marker { margin: 0; }
.home-page .route-marker::before { box-shadow: 0 0 0 4px var(--surface-base); }
.home-hero { position: relative; min-height: 43.75rem; color: var(--color-white); background: var(--color-deep-navy); isolation: isolate; }
.home-hero__media, .home-hero__overlay { position: absolute; inset: 0; }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__overlay { z-index: 1; background: linear-gradient(90deg, rgba(23,54,74,.87) 0%, rgba(23,54,74,.64) 38%, rgba(23,54,74,.12) 72%); }
.home-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 36rem; align-items: center; }
.home-hero__copy { grid-column: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); width: min(100%, 40rem); }
.home-hero__copy > * { margin: 0; }
.home-hero :is(h1, .lead, .route-marker) { color: var(--color-white); }
.home-hero .lead { width: min(100%, 38rem); }
.home-hero .eyebrow { color: var(--color-sea-foam); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; min-width: 0; }
.home-hero__actions > * { min-width: 0; }
.home-hero__route-link { color: var(--color-white); }
.home-hero__teasers { position: relative; z-index: 3; display: grid; grid-template-columns: 1.05fr .95fr 1fr 1.1fr; gap: var(--space-3); margin-top: -4.5rem; }
.hero-teaser { min-width: 0; min-height: 12rem; display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-card); color: var(--color-deep-navy); text-decoration: none; box-shadow: var(--shadow-floating); transition: transform var(--transition-fast); }
.hero-teaser:hover { color: var(--color-deep-navy); transform: translateY(-2px); }
.hero-teaser span { color: var(--color-sea-blue); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.hero-teaser strong { font-family: var(--font-heading); font-size: var(--text-section); line-height: 1.25; }
.hero-teaser small { font-size: var(--text-small); line-height: var(--leading-small); }
.hero-teaser--light { background: var(--surface-light); }.hero-teaser--sand { background: var(--surface-sand); }.hero-teaser--foam { background: var(--surface-foam); }.hero-teaser--dark { background: var(--surface-dark); color: var(--color-white); }.hero-teaser--dark:hover { color: var(--color-white); }.hero-teaser--dark span { color: var(--color-sunset-orange); }
.home-boarding__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.home-boarding__figure { grid-column: 1 / span 5; min-width: 0; }.home-boarding__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.home-boarding__main { grid-column: 6 / -1; min-width: 0; width: min(100%, 42.5rem); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }.home-boarding__main > * { margin: 0; }
.home-boarding__cabin { grid-column: 2 / span 4; min-width: 0; margin: 0; }.home-boarding__walk { grid-column: 7 / span 5; min-width: 0; width: min(100%, 31.25rem); }
.home-morning__copy { width: min(100%, 46.25rem); margin-inline: auto; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-6); }.home-morning__copy > * { margin: 0; }.home-morning__entry { min-width: 0; }.home-morning__entry + .home-morning__entry { border-top: 1px solid var(--color-border-navy); padding-top: var(--space-6); }.home-morning__entry blockquote { margin-bottom: 0; }
.home-deck { padding-top: var(--space-10); }.home-deck > .container { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-6); }.home-deck__intro { grid-column: 1 / span 5; min-width: 0; width: min(100%, 26rem); }.home-deck__figure { grid-column: 6 / -1; min-width: 0; margin: 0; overflow: hidden; }.home-deck__figure img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform var(--transition-base); }.home-deck__figure:hover img { transform: scale(1.02); }.home-deck__spots { grid-column: 1 / -1; display: grid; grid-template-columns: 5fr 3.5fr 3.5fr; gap: var(--space-4); align-items: stretch; }.home-deck__spot { min-width: 0; }.home-deck__spot--main { padding: var(--space-5) 0; width: min(100%, 26.25rem); }.home-deck__tip { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-4); align-items: center; border-top: 1px solid var(--color-border); padding-top: var(--space-5); }.home-deck__tip > * { min-width: 0; margin: 0; }.home-deck__tip span, .home-reading__grid span { color: var(--color-sunset-orange); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-afternoon__grid { display: grid; grid-template-columns: 7fr 1fr 4fr; gap: var(--space-4); }.home-afternoon__main { grid-column: 1; min-width: 0; width: min(100%, 38.75rem); }.home-afternoon__notes { grid-column: 3; display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }.home-afternoon__notes article { min-width: 0; border-top: 1px solid var(--color-border); padding-top: var(--space-4); }
.home-evening .route-marker::before { box-shadow: 0 0 0 4px var(--surface-dark); }.home-evening__grid { display: grid; grid-template-columns: 5fr 1fr 6fr; gap: var(--space-4); align-items: start; }.home-evening__copy { grid-column: 1; min-width: 0; width: min(100%, 35rem); display: flex; flex-direction: column; gap: var(--space-5); }.home-evening__copy > * { margin: 0; }.home-evening__figure { grid-column: 3; min-width: 0; margin: var(--space-7) 0 0; }.home-evening__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }.home-evening__steps { display: flex; flex-direction: column; gap: var(--space-5); }.home-evening__steps article { min-width: 0; border-top: 1px solid rgba(220,235,228,.35); padding-top: var(--space-4); }.home-evening__steps a { color: var(--color-sea-foam); text-decoration-color: var(--color-sunset-orange); }
.home-casino__grid { display: grid; grid-template-columns: 6fr 1fr 5fr; gap: var(--space-4); align-items: start; }.home-casino__copy { grid-column: 1; min-width: 0; width: min(100%, 37.5rem); display: flex; flex-direction: column; gap: var(--space-5); }.home-casino__copy > * { margin: 0; }.home-casino__figure { grid-column: 3; min-width: 0; margin: var(--space-7) 0 0; }.home-casino__figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }.home-casino__support { display: grid; grid-template-columns: 2fr 1fr; gap: var(--space-4); align-items: start; }.home-casino__support > * { min-width: 0; }.home-casino__responsible { width: min(100%, 42.5rem); }
.home-practical__intro { width: min(100%, 38.75rem); }.home-practical__tips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin: var(--space-6) 0; }.home-practical__tips > * { min-width: 0; }.home-practical__tips article:last-child { padding: var(--space-5) 0; }
.home-faq__content { width: min(100%, 53.25rem); margin-inline: auto; }.home-faq__intro { width: min(100%, 40rem); }.home-faq__list { display: flex; flex-direction: column; gap: var(--space-3); }.home-faq__list details { min-width: 0; margin: 0; border: 1px solid var(--color-border-navy); border-radius: var(--radius-panel); padding: 0 var(--space-5) var(--space-3); }.home-faq__list summary { min-height: 3.5rem; }.home-faq__list details p { width: min(100%, 42.5rem); }
.home-reading h2 { width: min(100%, 38.75rem); }.home-reading__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: var(--space-6) 0; }.home-reading__grid article { min-width: 0; padding: 0 var(--space-5); border-left: 1px solid var(--color-border); }.home-reading__grid article:first-child { padding-left: 0; border-left: 0; }.home-reading__grid h3 { font-size: var(--text-section); }
.home-closing__inner { width: min(100%, 66.67rem); margin-inline: auto; display: grid; grid-template-columns: 7fr 3fr; gap: var(--space-6); align-items: center; }.home-closing__inner > * { min-width: 0; }.home-closing__inner h2 { width: min(100%, 33.75rem); }.home-closing__inner p { width: min(100%, 33.75rem); }.home-closing__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }.home-closing__actions .text-link { color: var(--color-white); }
@media (max-width: 1119px) { .home-hero { min-height: auto; padding-bottom: var(--space-8); }.home-hero__inner { min-height: 38.75rem; }.home-hero__teasers { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: -3rem; }.home-deck > .container { grid-template-columns: 1fr; }.home-deck__intro, .home-deck__figure, .home-deck__spots, .home-deck__tip { grid-column: 1; }.home-deck__intro { width: min(100%, 38rem); }.home-deck__spots { grid-template-columns: 1fr 1fr; }.home-deck__spot--main { grid-column: 1 / -1; }.home-evening__grid, .home-casino__grid { grid-template-columns: 1fr; }.home-evening__figure, .home-evening__copy, .home-casino__figure, .home-casino__copy { grid-column: 1; width: min(100%, 42.5rem); }.home-evening__figure, .home-casino__figure { margin: 0; }.home-evening__figure { order: -1; }.home-casino__figure { order: -1; } }
@media (max-width: 1023px) { .home-boarding__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-boarding__figure { grid-column: 1 / -1; }.home-boarding__figure img { aspect-ratio: 3 / 2; }.home-boarding__main { grid-column: 1; }.home-boarding__cabin { grid-column: 2; }.home-boarding__walk { grid-column: 1 / -1; }.home-reading__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); }.home-reading__grid article:nth-child(3) { padding-left: 0; border-left: 0; } }
@media (max-width: 959px) { .home-afternoon__grid { grid-template-columns: 1fr; }.home-afternoon__main, .home-afternoon__notes { grid-column: 1; }.home-afternoon__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-practical__tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }.home-practical__tips article:last-child { grid-column: 1 / -1; }.home-closing__inner { grid-template-columns: 1fr; width: min(100%, 45rem); }.home-closing__actions { width: min(100%, 20rem); } }
@media (max-width: 767px) { .home-hero { display: flex; flex-direction: column; padding-bottom: 0; background: var(--surface-base); }.home-hero__media { position: relative; inset: auto; order: 0; width: 100%; height: auto; }.home-hero__media img { aspect-ratio: 4 / 5; max-height: 62vh; width: 100%; object-fit: cover; }.home-hero__overlay { display: none; }.home-hero__inner { order: 1; display: block; min-height: auto; padding-top: var(--space-7); padding-bottom: var(--space-6); }.home-hero__copy { width: 100%; color: var(--color-deep-navy); }.home-hero :is(h1, .lead, .route-marker) { color: var(--color-deep-navy); }.home-hero .eyebrow { color: var(--color-sea-blue); }.home-hero__route-link { color: var(--color-sea-blue); }.home-hero__teasers { order: 2; display: grid; grid-template-columns: 1fr; gap: var(--space-3); margin-top: 0; padding-bottom: var(--space-8); }.hero-teaser { min-height: 0; }.home-boarding__grid { grid-template-columns: 1fr; gap: var(--space-5); border-left: 1px solid var(--color-sea-blue); padding-left: var(--space-4); }.home-boarding__figure, .home-boarding__main, .home-boarding__cabin, .home-boarding__walk { grid-column: 1; width: 100%; }.home-boarding__figure img { aspect-ratio: 4 / 5; }.home-morning__copy { width: 100%; }.home-deck__figure img, .home-evening__figure img, .home-casino__figure img { aspect-ratio: 4 / 5; }.home-deck__spots, .home-practical__tips, .home-afternoon__notes, .home-casino__support { grid-template-columns: 1fr; }.home-deck__tip { grid-template-columns: 1fr; gap: var(--space-3); }.home-deck__spot--main { width: 100%; }.home-afternoon__notes { display: flex; }.home-evening__copy, .home-casino__copy { width: 100%; }.home-faq__content { width: 100%; }.home-faq__list details { padding-inline: var(--space-4); }.home-reading__grid { grid-template-columns: 1fr; gap: 0; }.home-reading__grid article, .home-reading__grid article:nth-child(3) { padding: var(--space-5) 0; border-left: 0; border-top: 1px solid var(--color-border); }.home-reading__grid article:first-child { border-top: 0; }.home-closing__actions { width: 100%; }.home-closing__actions .button { width: 100%; } }
