.home-page {
  overflow: clip;
}

.home-page .home-hero {
  position: relative;
  display: grid;
  min-height: 47.5rem;
  color: var(--color-smoked-white);
  background: var(--color-deep-atlantic);
}

.home-page .home-hero__image,
.home-page .home-hero__image::after {
  position: absolute;
  inset: 0;
}

.home-page .home-hero__image {
  overflow: hidden;
}

.home-page .home-hero__image::after {
  background: linear-gradient(90deg, rgba(7, 25, 35, 0.9) 0%, rgba(7, 25, 35, 0.77) 38%, rgba(7, 25, 35, 0.25) 70%, rgba(7, 25, 35, 0.12) 100%);
  content: "";
}

.home-page .home-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-page .home-hero__course {
  position: absolute;
  z-index: 1;
  right: 6%;
  bottom: 20%;
  width: 38%;
  height: 16%;
  border-top: 1px dashed rgba(85, 196, 181, 0.78);
  border-radius: 50%;
  transform: rotate(-15deg);
  animation: home-route-flow 10s linear infinite;
}

.home-page .home-hero__copy {
  z-index: 2;
  display: flex;
  width: min(100% - 4rem, 77.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: var(--space-5);
  margin-inline: auto;
  padding-block: var(--space-10);
}

.home-page .home-hero__copy > * { min-width: 0; margin: 0; }
.home-page .home-hero__copy h1 { max-width: 42.5rem; }
.home-page .home-hero__copy .lead { max-width: 42.5rem; }
.home-page .home-hero__copy > p:not(.lead):not(.home-hero__topics) { max-width: 39rem; color: var(--color-polished-steel); }
.home-page .home-hero__topics { max-width: 42.5rem; color: var(--color-burnished-metal); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; line-height: var(--leading-label); }
.home-page .home-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); }
.home-page .home-hero__actions > * { min-width: 0; }

.home-page .home-deck__intro { display: flex; max-width: 45rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-deck__intro > * { min-width: 0; margin: 0; }
.home-page .home-deck__route { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 2rem minmax(0, 1fr); gap: var(--space-6) var(--space-5); margin-top: var(--space-8); }
.home-page .home-deck__route::before { position: absolute; top: 0; bottom: 0; left: calc(50% - 0.5px); width: 1px; background: var(--color-burnished-metal); content: ""; }
.home-page .home-deck__stop { position: relative; width: 100%; min-width: 0; padding: var(--space-5); border-top: var(--border-metal); }
.home-page .home-deck__stop > * { min-width: 0; }
.home-page .home-deck__stop--one,.home-page .home-deck__stop--three,.home-page .home-deck__stop--five { grid-column: 1; text-align: right; }
.home-page .home-deck__stop--two,.home-page .home-deck__stop--four { grid-column: 3; }
.home-page .home-deck__stop::after { position: absolute; top: calc(var(--space-5) + 0.25rem); width: 0.75rem; height: 0.75rem; border: 2px solid var(--color-ocean-jade); border-radius: 50%; background: var(--color-sandstone-cream); content: ""; }
.home-page .home-deck__stop--one::after,.home-page .home-deck__stop--three::after,.home-page .home-deck__stop--five::after { right: calc(-1 * (var(--space-5) + 2.375rem)); }
.home-page .home-deck__stop--two::after,.home-page .home-deck__stop--four::after { left: calc(-1 * (var(--space-5) + 2.375rem)); }
.home-page .home-deck__number { display: block; color: var(--color-burnished-metal); font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.12em; }
.home-page .home-deck__hint { min-height: 2.75rem; border-bottom: 1px solid var(--color-ocean-jade); color: var(--color-abyss-blue); font-size: var(--text-sm); font-weight: 700; text-align: inherit; }
.home-page .home-deck__extra { color: var(--color-storm-grey); }

.home-page .home-perspectives__heading { display: flex; max-width: 40.625rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-perspectives__heading > * { min-width: 0; margin: 0; }
.home-page .home-perspectives__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-perspective { display: flex; min-width: 0; min-height: 20rem; flex-direction: column; align-items: flex-start; gap: var(--space-4); border: 1px solid var(--color-border-dark); border-radius: var(--radius-sm); padding: var(--space-6); color: var(--color-smoked-white); text-decoration: none; transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base); }
.home-page .home-perspective > * { min-width: 0; margin: 0; }
.home-page .home-perspective h3 { max-width: 18rem; }
.home-page .home-perspective p { max-width: 18.75rem; color: var(--color-polished-steel); }
.home-page .home-perspective > span:last-child { margin-top: auto; color: var(--color-ocean-jade-light); font-size: var(--text-sm); font-weight: 700; }
.home-page .home-perspective b { display: inline-block; margin-left: var(--space-2); transition: transform var(--transition-fast); }
.home-page .home-perspective__number { color: var(--color-burnished-metal); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.home-page .home-perspective--ships { background: #102e3c; }
.home-page .home-perspective--cabins { background: #d9ccb6; color: var(--color-deep-atlantic); }
.home-page .home-perspective--cabins p { color: var(--color-abyss-blue); }
.home-page .home-perspective--dining { background: #202c30; }
.home-page .home-perspective--life { background: var(--color-smoked-glass); }
.home-page .home-perspective:hover { border-color: var(--color-ocean-jade); transform: translateY(-2px); }
.home-page .home-perspective:hover b { transform: translateX(2px); }
.home-page .home-perspective:focus-visible { outline: none; box-shadow: var(--focus-ring); }

.home-page .home-cabin__layout { display: grid; grid-template-columns: minmax(26.25rem, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: center; }
.home-page .home-cabin__layout > * { min-width: 0; }
.home-page .home-cabin__copy { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-cabin__copy > * { min-width: 0; margin: 0; }
.home-page .home-cabin__copy .lead { max-width: 35rem; }
.home-page .home-cabin__copy h3 { margin-top: var(--space-2); }
.home-page .home-cabin__list { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding-inline-start: 1.35em; }
.home-page .home-cabin__list li { min-width: 0; }
.home-page .home-cabin__media { width: 100%; min-width: 0; overflow: hidden; border-radius: var(--radius-sm); box-shadow: var(--shadow-deep); }
.home-page .home-cabin__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform var(--transition-slow); }
.home-page .home-cabin__media:hover img { transform: scale(1.02); }
.home-page .home-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); color: var(--color-ocean-jade); font-size: var(--text-sm); font-weight: 700; text-decoration: none; }
.home-page .home-text-link span { font-size: 1.25rem; transition: transform var(--transition-fast); }
.home-page .home-text-link:hover span { transform: translateX(2px); }
.home-page .home-text-link--light { color: var(--color-ocean-jade-light); }

.home-page .home-dining__media { width: 100%; min-width: 0; overflow: hidden; margin: 0; border-radius: var(--radius-sm); }
.home-page .home-dining__media img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; }
.home-page .home-dining__intro { display: flex; max-width: 38.75rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-7); }
.home-page .home-dining__intro > * { min-width: 0; margin: 0; }
.home-page .home-dining__segments { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--space-7); }
.home-page .home-dining__segments > article { min-width: 0; padding: 0 var(--space-5); border-inline-start: 1px solid rgba(233, 221, 200, .3); }
.home-page .home-dining__segments > article:first-child { padding-left: 0; border-inline-start: 0; }
.home-page .home-dining__segments h3 { max-width: 20rem; }
.home-page .home-dining__segments p { max-width: 21.25rem; color: var(--color-polished-steel); }

.home-page .home-entertainment__heading { display: flex; max-width: 38.75rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-entertainment__heading > * { min-width: 0; margin: 0; }
.home-page .home-entertainment__route { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-entertainment__route::before { position: absolute; top: 1.25rem; right: 5%; left: 5%; height: 1px; background: rgba(154, 128, 104, .8); content: ""; }
.home-page .home-entertainment__route > article { z-index: 1; min-width: 0; }
.home-page .home-entertainment__route h3 { margin-top: var(--space-4); font-size: 1.6rem; }
.home-page .home-entertainment__route p { max-width: 16.875rem; color: var(--color-polished-steel); }
.home-page .home-marker { display: inline-flex; width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; border: 1px solid var(--color-burnished-metal); border-radius: 50%; background: var(--color-abyss-blue); color: var(--color-burnished-metal); font-size: var(--text-xs); font-weight: 700; }
.home-page .home-marker--jade { border-color: var(--color-ocean-jade); color: var(--color-ocean-jade-light); }

.home-page .home-casino__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); align-items: center; }
.home-page .home-casino__top > * { min-width: 0; }
.home-page .home-casino__intro { display: flex; max-width: 35rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-casino__intro > * { min-width: 0; margin: 0; }
.home-page .home-casino__main-media { width: 100%; min-width: 0; overflow: hidden; margin: 0; border-radius: var(--radius-sm); }
.home-page .home-casino__main-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform var(--transition-slow); }
.home-page .home-casino__main-media:hover img { transform: scale(1.02); }
.home-page .home-casino__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-casino__card { display: grid; grid-template-columns: minmax(10rem, 2fr) minmax(0, 3fr); min-width: 0; overflow: hidden; border: var(--border-light); border-radius: var(--radius-sm); background: #e1d4be; }
.home-page .home-casino__card > * { min-width: 0; }
.home-page .home-casino__card img { width: 100%; height: 100%; min-height: 15rem; object-fit: cover; }
.home-page .home-casino__card div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); }
.home-page .home-casino__card div > * { min-width: 0; margin: 0; }
.home-page .home-casino__card h3 { font-size: 1.6rem; }
.home-page .home-casino__note { display: flex; max-width: 42.5rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-7); padding-top: var(--space-5); border-top: var(--border-metal); }
.home-page .home-casino__note > * { min-width: 0; margin: 0; }

.home-page .home-steps__heading { display: flex; max-width: 41.25rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-steps__heading > * { min-width: 0; margin: 0; }
.home-page .home-steps__grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-steps__grid::before { position: absolute; top: .875rem; right: 4%; left: 4%; height: 1px; background: var(--color-burnished-metal); content: ""; }
.home-page .home-steps__grid article { z-index: 1; min-width: 0; }
.home-page .home-steps__grid article > span { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--color-deep-atlantic); color: var(--color-ocean-jade-light); font-size: var(--text-xs); font-weight: 700; }
.home-page .home-steps__grid h3 { margin-top: var(--space-4); font-size: 1.55rem; }
.home-page .home-steps__grid p { max-width: 17.5rem; color: var(--color-polished-steel); }
.home-page .home-steps__grid a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-ocean-jade-light); font-size: var(--text-sm); font-weight: 700; }

.home-page .home-journal__intro { display: flex; max-width: 38.75rem; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-page .home-journal__intro > * { min-width: 0; margin: 0; }
.home-page .home-journal__routes { display: flex; min-width: 0; flex-direction: column; margin-top: var(--space-7); border-top: 1px solid rgba(154, 128, 104, .7); }
.home-page .home-journal__routes > a { display: grid; grid-template-columns: 3rem minmax(0, 62fr) minmax(12rem, 38fr); gap: var(--space-5); min-width: 0; align-items: center; border-bottom: 1px solid rgba(154, 128, 104, .7); padding-block: var(--space-5); color: var(--color-deep-atlantic); text-decoration: none; transition: background-color var(--transition-fast); }
.home-page .home-journal__routes > a > * { min-width: 0; }
.home-page .home-journal__routes > a > span { color: var(--color-burnished-metal); font-size: var(--text-xs); font-weight: 700; letter-spacing: .12em; }
.home-page .home-journal__routes h3 { margin: 0 0 var(--space-2); }
.home-page .home-journal__routes p { max-width: 38.75rem; margin: 0; }
.home-page .home-journal__routes b { color: var(--color-ocean-jade); font-size: var(--text-sm); text-align: right; }
.home-page .home-journal__routes > a:hover { background: rgba(47, 158, 145, .08); }

.home-page .home-editorial { padding-top: 0; }
.home-page .home-editorial__panel { display: flex; width: min(100% - 4rem, 47.5rem); min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-inline: auto; border-top: var(--border-metal); background: var(--color-deep-atlantic); color: var(--color-smoked-white); padding: var(--space-7); }
.home-page .home-editorial__panel > * { min-width: 0; margin: 0; }
.home-page .home-editorial__panel h2 { font-size: clamp(1.75rem, 3vw, 2rem); }
.home-page .home-editorial__panel p { max-width: 42.5rem; color: var(--color-polished-steel); }

@keyframes home-route-flow { 50% { opacity: .42; transform: rotate(-15deg) translateX(-.8rem); } }

@media (max-width: 63.75rem) {
  .home-page .home-entertainment__route { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
  .home-page .home-entertainment__route::before { top: 1.25rem; right: 25%; left: 5%; }
  .home-page .home-steps__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-7); }
  .home-page .home-steps__grid::before { right: 25%; }
}

@media (max-width: 61.25rem) {
  .home-page .home-hero { min-height: auto; grid-template-rows: minmax(18rem, 44vw) auto; }
  .home-page .home-hero__image { position: relative; min-height: 18rem; }
  .home-page .home-hero__image::after { background: linear-gradient(180deg, rgba(7,25,35,.18), rgba(7,25,35,.52)); }
  .home-page .home-hero__copy { width: min(100% - 4rem, 77.5rem); justify-content: flex-start; padding-block: var(--space-7); }
  .home-page .home-cabin__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-page .home-cabin__media { grid-row: 1; }
  .home-page .home-cabin__copy { grid-row: 2; }
  .home-page .home-casino__top { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-page .home-casino__main-media { grid-row: 1; }
  .home-page .home-casino__intro { grid-row: 2; max-width: 100%; }
}

@media (max-width: 56.25rem) {
  .home-page .home-deck__route { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-5); }
  .home-page .home-deck__route::before { left: .6875rem; }
  .home-page .home-deck__stop,.home-page .home-deck__stop--one,.home-page .home-deck__stop--two,.home-page .home-deck__stop--three,.home-page .home-deck__stop--four,.home-page .home-deck__stop--five { grid-column: 2; text-align: left; }
  .home-page .home-deck__stop::after,.home-page .home-deck__stop--one::after,.home-page .home-deck__stop--two::after,.home-page .home-deck__stop--three::after,.home-page .home-deck__stop--four::after,.home-page .home-deck__stop--five::after { left: calc(-1 * (var(--space-5) + 1.875rem)); right: auto; }
  .home-page .home-dining__segments { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-page .home-dining__segments > article,.home-page .home-dining__segments > article:first-child { padding: 0 0 var(--space-5); border-inline-start: 0; border-bottom: 1px solid rgba(233,221,200,.3); }
  .home-page .home-dining__segments > article:last-child { border-bottom: 0; }
}

@media (max-width: 47.5rem) {
  .home-page .home-perspectives__grid { grid-template-columns: 1fr; }
  .home-page .home-perspective { min-height: 10.625rem; }
  .home-page .home-casino__cards { grid-template-columns: 1fr; }
  .home-page .home-journal__routes > a { grid-template-columns: 1fr; gap: var(--space-3); }
  .home-page .home-journal__routes b { text-align: left; }
}

@media (max-width: 40rem) {
  .home-page .home-hero { grid-template-rows: minmax(13.75rem, 46vw) auto; }
  .home-page .home-hero__copy { width: min(100% - 2.5rem, 77.5rem); gap: var(--space-4); padding-block: var(--space-6); }
  .home-page .home-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 3.5rem); }
  .home-page .home-hero__actions { width: 100%; flex-direction: column; }
  .home-page .home-hero__actions > * { width: 100%; }
  .home-page .home-hero__topics { line-height: 1.8; }
  .home-page .home-casino__card { grid-template-columns: 1fr; }
  .home-page .home-casino__card img { min-height: 0; aspect-ratio: 3 / 2; }
  .home-page .home-entertainment__route,.home-page .home-steps__grid { grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-5); }
  .home-page .home-entertainment__route::before,.home-page .home-steps__grid::before { top: 1.25rem; bottom: 1.25rem; left: .6875rem; width: 1px; height: auto; }
  .home-page .home-entertainment__route > article,.home-page .home-steps__grid > article { grid-column: 2; }
  .home-page .home-entertainment__route h3,.home-page .home-steps__grid h3 { margin-top: 0; }
  .home-page .home-marker,.home-page .home-steps__grid article > span { position: absolute; left: 0; }
  .home-page .home-entertainment__route > article,.home-page .home-steps__grid article { position: relative; }
  .home-page .home-editorial__panel { width: min(100% - 2.5rem, 47.5rem); padding: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .home-hero__course { animation: none; }
  .home-page .home-cabin__media:hover img,.home-page .home-casino__main-media:hover img,.home-page .home-perspective:hover { transform: none; }
}