.home-page { overflow: clip; }
.home-page .home-hero { position: relative; min-height: 47.5rem; display: grid; align-items: end; isolation: isolate; background: var(--color-atlantic-navy); }
.home-hero__image { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(7,26,43,.96) 0%, rgba(7,26,43,.9) 38%, rgba(7,26,43,.3) 67%, rgba(13,57,64,.08) 100%), url('/assets/images/night-cruise-liner-blue-hour.webp') center / cover no-repeat; }
.home-hero__container {  padding-top: var(--space-10); padding-bottom: var(--space-9); }
.home-hero__content { width: min(100%, 42.5rem); display: flex; flex-direction: column; min-width: 0; gap: var(--space-5); }
.home-hero__content > * { min-width: 0; margin: 0; }
.home-hero__intro { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.home-hero .eyebrow { color: var(--color-copper-light); }
.home-hero h1 { max-width: 12ch; font-size: var(--text-display); }
.home-hero__lead { max-width: 58ch; }
.home-hero__lead p { margin: 0; }
.home-hero__lead { display: flex; flex-direction: column; gap: var(--space-3); }
.home-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.home-hero__scope { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); color: var(--color-pearl-mist); font-size: var(--text-micro); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); }
.home-hero__scope span::after { margin-left: var(--space-3); color: var(--color-sunset-copper); content: '•'; }
.home-hero__scope span:last-child::after { display: none; }
.home-page h2 { margin-bottom: 0; }
.home-map__heading { width: min(100%, 38.75rem); display: flex; flex-direction: column; gap: var(--space-4); margin-bottom: var(--space-7); }
.home-map__heading > * { min-width: 0; margin: 0; }
.home-map__layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr); gap: var(--space-6); align-items: start; }
.home-map__layout > * { min-width: 0; width: 100%; }
.home-map__figure { margin: 0; }
.home-map__figure img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center; }
.home-map__legend { display: flex; flex-direction: column; gap: var(--space-4); }
.home-map__legend > * { min-width: 0; width: 100%; }
.home-map__item { padding: var(--space-5); border-left: 1px solid var(--color-steel-border); background: rgba(13,57,64,.42); transition: border-color var(--transition-fast), background-color var(--transition-fast); }
.home-map__item h3, .home-map__item p { margin: 0; }
.home-map__item { display: flex; flex-direction: column; gap: var(--space-3); }
.home-map__item--casino { border-left-color: rgba(196,119,77,.6); background: rgba(84,37,53,.62); }
.home-map__item.is-highlighted { border-left-color: var(--color-copper-light); background: rgba(13,57,64,.85); }
.home-perspective { background: linear-gradient(180deg, rgba(13,57,64,.34), transparent); }
.home-perspective__heading { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 43rem); margin-bottom: var(--space-6); }
.home-perspective__heading > * { margin: 0; }
.home-perspective__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); align-items: stretch; }
.home-perspective__grid > * { min-width: 0; width: 100%; }
.home-perspective__compare { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-7); background: var(--color-deep-teal); border: 1px solid var(--color-steel-border); }
.home-perspective__compare > * { margin: 0; min-width: 0; }
.home-perspective__compare p { max-width: 54ch; }
.home-perspective__life { display: flex; flex-direction: column; gap: var(--space-4); }
.home-perspective__life > * { min-width: 0; width: 100%; margin: 0; }
.home-perspective__life .media-frame img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-perspective__life-copy { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-perspective__life-copy > * { margin: 0; }
.home-perspective__life-copy p { max-width: 36ch; }
.home-text-link { color: var(--color-copper-light); font-size: var(--text-small); font-weight: var(--weight-semibold); text-decoration: none; border-bottom: 1px solid rgba(224,160,120,.55); }
.home-text-link:hover { color: var(--color-warm-pearl); border-color: currentColor; }
.home-perspective__questions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-4); margin-top: var(--space-6); padding: var(--space-4) 0; border-block: 1px solid var(--color-steel-border); }
.home-perspective__questions > * { min-width: 0; width: 100%; margin: 0; color: var(--color-pearl-mist); }
.home-perspective__questions p + p { border-left: 1px solid var(--color-steel-border); padding-left: var(--space-4); }
.home-cabins__layout { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: var(--space-7); align-items: start; }
.home-cabins__layout > * { min-width: 0; width: 100%; }
.home-cabins__media { margin: 0; }
.home-cabins__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center; }
.home-cabins__content { display: flex; flex-direction: column; gap: var(--space-5); }
.home-cabins__content > * { margin: 0; min-width: 0; }
.home-cabins__lead { max-width: 50ch; font-size: var(--text-lead); line-height: var(--line-lead); }
.home-cabins__criteria { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-4); }
.home-cabins__criteria > * { min-width: 0; width: 100%; }
.home-cabins__criteria article { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--color-steel-border); }
.home-cabins__criteria h3, .home-cabins__criteria p { margin: 0; }
.home-cabins__criteria article > span { color: var(--color-copper-light); font-family: var(--font-mono); font-size: var(--text-small); }
.home-cabins__criteria p { max-width: 30ch; }
.home-dining { background: var(--color-warm-pearl); color: var(--color-atlantic-navy); }
.home-dining :is(h2,h3,p) { color: var(--color-atlantic-navy); }
.home-dining__top { display: grid; grid-template-columns: minmax(0,5fr) minmax(0,1fr) minmax(0,6fr); gap: var(--space-5); align-items: start; }
.home-dining__top > * { min-width: 0; }
.home-dining__intro { grid-column: 1; display: flex; flex-direction: column; gap: var(--space-4); }
.home-dining__intro > * { margin: 0; }
.home-dining__intro p { max-width: 56ch; }
.home-dining__feature { grid-column: 3; display: flex; flex-direction: column; gap: var(--space-5); }
.home-dining__feature > * { min-width: 0; width: 100%; margin: 0; }
.home-dining__feature img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-dining__feature > div:last-child { display: flex; flex-direction: column; gap: var(--space-3); }
.home-dining__feature h3, .home-dining__feature p { margin: 0; }
.home-dining__feature p { max-width: 56ch; }
.home-dining__notes { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-7); margin-top: var(--space-7); }
.home-dining__notes > * { min-width: 0; width: 100%; }
.home-dining__notes article { display: flex; flex-direction: column; gap: var(--space-3); border-top: 1px solid rgba(7,26,43,.22); padding-top: var(--space-4); }
.home-dining__notes h3, .home-dining__notes p { margin: 0; }
.home-dining__notes p { max-width: 38ch; }
.home-dining .technical-label { color: rgba(7,26,43,.62); }
.home-casino { background: linear-gradient(180deg, var(--color-atlantic-navy), rgba(84,37,53,.52)); }
.home-casino__top { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: var(--space-7); align-items: stretch; }
.home-casino__top > * { min-width: 0; width: 100%; }
.home-casino__intro { display: flex; flex-direction: column; gap: var(--space-5); padding: var(--space-7); border: 1px solid rgba(196,119,77,.46); background: var(--color-burgundy-wine); }
.home-casino__intro > * { margin: 0; }
.home-casino__intro p { max-width: 54ch; }
.home-casino__media { margin: 0; }
.home-casino__media img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; object-position: center; }
.home-casino__topics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.home-casino__topics > * { min-width: 0; width: 100%; }
.home-casino__topics article { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid rgba(196,119,77,.48); }
.home-casino__topics h3, .home-casino__topics p { margin: 0; }
.home-casino__topics p { max-width: 31ch; }
.home-casino__notice { max-width: 38.75rem; margin-top: var(--space-6); padding: var(--space-4) var(--space-5); border: 1px solid var(--color-copper-light); background: var(--color-deep-teal); }
.home-infrastructure__heading { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 37.5rem); margin-bottom: var(--space-7); }
.home-infrastructure__heading > * { margin: 0; }
.home-infrastructure__grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: var(--space-5); align-items: start; }
.home-infrastructure__grid > * { min-width: 0; width: 100%; }
.home-infrastructure__card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--color-steel-border); background: rgba(13,57,64,.56); }
.home-infrastructure__card h3, .home-infrastructure__card p { margin: 0; }
.home-infrastructure__card p { max-width: 38ch; }
.home-infrastructure__card--flow { grid-column: span 4; }
.home-infrastructure__card--spa { grid-column: span 8; background: linear-gradient(130deg, rgba(13,57,64,.92), rgba(7,26,43,.9)); }
.home-infrastructure__card--theatre { grid-column: span 7; }
.home-infrastructure__card--view { grid-column: span 5; background: rgba(5,18,29,.78); }
.home-infrastructure__card--theatre > span { color: var(--color-copper-light); font-family: var(--font-heading); font-size: 3rem; line-height: 1; }
.home-day__scene { position: relative; overflow: hidden; min-height: 39rem; border-radius: var(--radius-module); background: var(--color-deep-teal); }
.home-day__scene > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-day__scene::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,26,43,.28), rgba(7,26,43,.88)); content: ''; }
.home-day__overlay { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; min-height: 39rem; gap: var(--space-6); padding: var(--space-7); }
.home-day__overlay > * { min-width: 0; margin: 0; }
.home-day__overlay header { width: min(100%, 36.25rem); display: flex; flex-direction: column; gap: var(--space-4); }
.home-day__overlay header > * { margin: 0; }
.home-day__timeline { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--color-smoked-glass-border); background: var(--color-smoked-glass); }
.home-day__timeline > * { min-width: 0; width: 100%; }
.home-day__timeline article { display: flex; flex-direction: column; gap: var(--space-3); }
.home-day__timeline h3, .home-day__timeline p { margin: 0; }
.home-day__timeline p { max-width: 38ch; }
.home-day__timeline article > span { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--color-sunset-copper); color: var(--color-atlantic-navy); font-family: var(--font-mono); font-size: var(--text-micro); font-weight: var(--weight-semibold); }
.home-decks__heading { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 37.5rem); margin-bottom: var(--space-7); }
.home-decks__heading > * { margin: 0; }
.home-decks__links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-4); }
.home-decks__links > * { min-width: 0; width: 100%; }
.home-decks__link { position: relative; display: grid; grid-template-columns: 6.5rem minmax(0,1fr); gap: var(--space-2) var(--space-4); min-height: 8.5rem; padding: var(--space-5); border: 1px solid var(--color-steel-border); background: rgba(13,57,64,.42); color: var(--color-warm-pearl); text-decoration: none; }
.home-decks__link::before { position: absolute; right: var(--space-5); bottom: var(--space-4); left: var(--space-5); height: 1px; background: var(--color-sunset-copper); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-base); content: ''; }
.home-decks__link:hover { color: var(--color-warm-pearl); border-color: var(--color-copper-border); }
.home-decks__link:hover::before { transform: scaleX(1); }
.home-decks__link--primary { grid-column: 1 / -1; }
.home-decks__link--casino { background: rgba(84,37,53,.65); }
.home-decks__link span { grid-row: 1 / span 2; color: var(--color-polished-steel); font-family: var(--font-mono); font-size: var(--text-small); letter-spacing: var(--tracking-technical); text-transform: uppercase; }
.home-decks__link strong { min-width: 0; color: var(--color-warm-pearl); font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: var(--weight-medium); line-height: var(--line-card-title); }
.home-decks__link em { min-width: 0; max-width: 42ch; color: var(--color-pearl-mist); font-size: var(--text-small); font-style: normal; line-height: var(--line-small); }
.home-decks__note { max-width: 50rem; margin: var(--space-6) 0 0; padding-left: var(--space-4); border-left: 2px solid var(--color-sunset-copper); color: var(--color-pearl-mist); }
.home-final { border-top: 1px solid var(--color-steel-border); }
.home-final__content { width: min(100%, 38.75rem); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-5); padding-block: var(--space-7); text-align: center; }
.home-final__content > * { margin: 0; min-width: 0; }
.home-final__content p { max-width: 54ch; }
@media (max-width: 980px) { .home-page .home-hero { min-height: auto; display: block; padding-top: 0; } .home-hero__image { position: relative; height: 30rem; background: url('/assets/images/night-cruise-liner-blue-hour.webp') 70% center / cover no-repeat; } .home-hero__container { padding-top: var(--space-6); padding-bottom: var(--space-8); } .home-map__layout, .home-cabins__layout, .home-casino__top { grid-template-columns: minmax(0,1fr); } .home-map__legend { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); } .home-map__legend > * { height: 100%; } .home-cabins__media img { aspect-ratio: 16 / 9; object-position: center 55%; } .home-cabins__criteria { grid-template-columns: repeat(3,minmax(0,1fr)); } .home-dining__top { grid-template-columns: minmax(0,1fr); } .home-dining__intro, .home-dining__feature { grid-column: auto; } .home-dining__feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; } .home-dining__feature > div:last-child { padding-top: var(--space-3); } .home-casino__media img { min-height: 0; aspect-ratio: 4 / 3; } .home-infrastructure__card--flow, .home-infrastructure__card--spa, .home-infrastructure__card--theatre, .home-infrastructure__card--view { grid-column: span 6; } .home-day__timeline { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 899px) { .home-perspective__grid { grid-template-columns: minmax(0,1fr); } .home-perspective__compare p { max-width: 58ch; } .home-perspective__life { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--space-5); align-items: start; } .home-perspective__life-copy p { max-width: 48ch; } .home-day__overlay { padding: var(--space-5); } }
@media (max-width: 700px) { .home-map__legend, .home-cabins__criteria, .home-casino__topics, .home-day__timeline, .home-decks__links { grid-template-columns: minmax(0,1fr); } .home-map__legend > * { height: auto; } .home-perspective__life, .home-dining__feature, .home-dining__notes { grid-template-columns: minmax(0,1fr); } .home-perspective__questions { grid-template-columns: minmax(0,1fr); } .home-perspective__questions p + p { border-top: 1px solid var(--color-steel-border); border-left: 0; padding-top: var(--space-3); padding-left: 0; } .home-cabins__criteria p, .home-casino__topics p { max-width: none; } .home-infrastructure__grid { grid-template-columns: minmax(0,1fr); } .home-infrastructure__card--flow, .home-infrastructure__card--spa, .home-infrastructure__card--theatre, .home-infrastructure__card--view { grid-column: auto; } .home-day__scene, .home-day__overlay { min-height: auto; } .home-day__scene { display: flex; flex-direction: column; border-radius: 0; } .home-day__scene > img { position: relative; height: auto; aspect-ratio: 16 / 9; object-fit: cover; } .home-day__scene::after { display: none; } .home-day__overlay { background: var(--color-atlantic-navy); } .home-day__timeline { padding: 0; border: 0; background: transparent; } .home-day__timeline article { position: relative; padding-left: 3.25rem; padding-bottom: var(--space-5); border-left: 1px solid var(--color-steel-border); } .home-day__timeline article:last-child { padding-bottom: 0; } .home-day__timeline article > span { position: absolute; top: 0; left: -0.875rem; } .home-decks__link--primary { grid-column: auto; } }
@media (max-width: 599px) { .home-hero__image { height: clamp(20.625rem, 100vw, 24.375rem); background-position: 72% center; } .home-hero__container { padding-top: var(--space-5); padding-bottom: var(--space-7); } .home-hero__content { gap: var(--space-4); } .home-hero h1 { max-width: 11ch; font-size: clamp(2.625rem, 12vw, 3rem); } .home-hero__actions { flex-direction: column; align-items: stretch; } .home-hero__actions > * { width: 100%; min-height: 3rem; } .home-hero__scope { gap: var(--space-2); } .home-hero__scope span::after { margin-left: var(--space-2); } .home-map__heading, .home-perspective__heading, .home-infrastructure__heading, .home-decks__heading { margin-bottom: var(--space-5); } .home-perspective__compare, .home-casino__intro { padding: var(--space-5); } .home-cabins__layout { gap: var(--space-5); } .home-dining__notes { gap: var(--space-5); margin-top: var(--space-5); } .home-casino__topics { gap: var(--space-4); } .home-casino__notice { margin-top: var(--space-5); } .home-day__overlay { padding: var(--space-5) var(--space-4); } .home-day__overlay header { gap: var(--space-3); } .home-decks__link { grid-template-columns: 5.25rem minmax(0,1fr); min-height: 0; padding: var(--space-4); } .home-decks__link::before { right: var(--space-4); left: var(--space-4); } .home-decks__link strong { font-size: 1.35rem; } .home-final__content { padding-block: var(--space-5); } .home-final__content .button-primary { width: min(100%, 22.5rem); min-height: 3rem; } }
@media (prefers-reduced-motion: reduce) { .home-decks__link::before { transition: none; } }