.ships-decks-page {
  overflow: hidden;
}

.ships-hero {
  padding-block: var(--space-5) var(--space-8);
}

.ships-hero__frame {
  position: relative;
  width: min(100% - (var(--gutter) * 2), var(--container-wide));
}

.ships-hero__media,
.ships-hero__media img {
  width: 100%;
  max-width: 100%;
}

.ships-hero__media {
  overflow: hidden;
  border-radius: var(--radius-feature);
  background: var(--color-pearl-grey-strong);
  aspect-ratio: 16 / 9;
}

.ships-hero__media img {
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
}

.ships-hero__inner {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
  pointer-events: none;
}

.ships-hero__content {
  grid-column: 1 / span 6;
  min-width: 0;
  margin: var(--space-7) 0;
  padding: var(--space-6);
  border-radius: var(--radius-card);
  background: linear-gradient(135deg, rgba(15, 30, 46, 0.96), rgba(15, 30, 46, 0.78));
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  pointer-events: auto;
}

.ships-hero__content > * {
  min-width: 0;
  margin: 0;
}

.ships-hero__content .eyebrow,
.ships-operations .eyebrow {
  color: #5eead4;
}

.ships-hero__content h1,
.ships-hero__content p {
  color: var(--color-white);
}

.ships-hero__content h1 {
  max-width: 28ch;
}

.ships-hero__content .lead,
.ships-hero__content > p:not(.ships-hero__note) {
  max-width: 54ch;
}

.ships-hero__note {
  color: #dbeafe !important;
  font-size: var(--text-label);
  line-height: var(--leading-label);
}

.ships-hero__actions {
  display: flex;
  min-width: 0;
}

.ships-hero__actions > * {
  min-width: 0;
}

.ships-zones__intro,
.ships-venues__intro,
.ships-checklist__intro,
.ships-cabins__intro {
  max-width: 62ch;
}

.ships-zones__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.ships-zone-card,
.ships-venue-card,
.ships-cabin-card,
.ships-checklist__grid article {
  min-width: 0;
}

.ships-zone-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border-standard);
  border-top: 2px solid var(--color-pacific-teal);
  border-radius: var(--radius-card);
  background: var(--color-white);
}

.ships-zone-card > * {
  margin: 0;
}

.ships-zone-card__number,
.ships-checklist__number {
  color: var(--color-pacific-teal);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: var(--weight-heading);
  font-variant-numeric: tabular-nums;
}

.ships-zone-card--seafoam {
  background: var(--color-seafoam);
}

.ships-zone-card--slate {
  border-top-color: var(--color-ocean-slate);
}

.ships-plan__layout {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(21.25rem, 5fr);
  gap: var(--space-8);
  align-items: start;
}

.ships-plan__copy,
.ships-plan__diagram {
  min-width: 0;
}

.ships-plan__copy > .lead {
  max-width: 52ch;
}

.ships-plan__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: deck-step;
}

.ships-plan__steps li {
  position: relative;
  min-width: 0;
  padding-left: var(--space-7);
  counter-increment: deck-step;
}

.ships-plan__steps li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: var(--space-6);
  height: var(--space-6);
  place-items: center;
  border-radius: 50%;
  background: var(--color-pacific-teal);
  color: var(--color-white);
  content: "0" counter(deck-step);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: var(--weight-heading);
}

.ships-plan__steps h3,
.ships-plan__steps p {
  max-width: 52ch;
}

.ships-plan__diagram {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  align-self: stretch;
  padding: var(--space-6);
  border: var(--border-standard);
  border-radius: var(--radius-feature);
  background: var(--color-white);
}

.ships-plan__diagram > * {
  min-width: 0;
  margin: 0;
}

.ships-plan__diagram-label {
  color: var(--color-muted);
  font-family: var(--font-heading);
  font-size: var(--text-label);
  font-weight: var(--weight-heading);
}

.ships-plan__vessel {
  display: grid;
  grid-template-columns: auto minmax(3rem, 1fr) auto;
  gap: var(--space-2);
  align-items: center;
  min-width: 0;
}

.ships-plan__end {
  min-width: 0;
  color: var(--color-ocean-slate);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: var(--weight-heading);
}

.ships-plan__line {
  position: relative;
  min-width: 0;
  height: 3px;
  background: var(--color-pacific-teal);
}

.ships-plan__line::before,
.ships-plan__line::after {
  position: absolute;
  top: -5px;
  width: 13px;
  height: 13px;
  border: 2px solid var(--color-pacific-blue);
  border-radius: 50%;
  background: var(--color-white);
  content: "";
}

.ships-plan__line::before { left: 28%; }
.ships-plan__line::after { right: 28%; }

.ships-plan__zones {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
}

.ships-plan__zones span {
  min-width: 0;
  padding: var(--space-3);
  border: var(--border-standard);
  border-radius: var(--radius-control);
  background: var(--color-pearl-grey-strong);
  color: var(--color-ocean-slate);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: var(--weight-heading);
  text-align: center;
}

.ships-open-deck__layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-8);
  align-items: center;
}

.ships-open-deck__media {
  grid-column: 1 / span 7;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.ships-open-deck__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ships-open-deck__content {
  grid-column: 8 / span 5;
  min-width: 0;
}

.ships-open-deck__content > .eyebrow,
.ships-open-deck__content > h2 {
  max-width: 30ch;
}

.ships-open-deck__feature {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 2px solid var(--color-pacific-teal);
}

.ships-open-deck__feature > * { margin: 0; }
.ships-open-deck__feature p { max-width: 58ch; }

.ships-open-deck__facts {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-5);
}

.ships-open-deck__facts > div {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: var(--border-standard);
}

.ships-open-deck__facts h3,
.ships-open-deck__facts p { max-width: 36ch; }
.ships-open-deck__facts p:last-child { margin-bottom: 0; }

.ships-venues__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.ships-venue-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-standard);
  border-radius: var(--radius-card);
  background: var(--color-white);
}

.ships-venue-card > * { margin: 0; }
.ships-venue-card:nth-child(1),
.ships-venue-card:nth-child(2) { grid-column: span 3; }
.ships-venue-card:nth-child(3),
.ships-venue-card:nth-child(4),
.ships-venue-card:nth-child(5) { grid-column: span 2; }
.ships-venue-card__prompt {
  margin-top: auto !important;
  color: var(--color-ocean-slate);
  font-size: var(--text-label);
  line-height: var(--leading-label);
}
.ships-venue-card--quiet { background: var(--color-pearl-grey-strong); }

.ships-operations {
  padding-block: var(--section-space);
  background: var(--color-deep-ocean-slate);
  color: var(--color-white);
}

.ships-operations__inner { display: flex; flex-direction: column; gap: var(--space-7); }
.ships-operations__intro { max-width: 58ch; }
.ships-operations h2,
.ships-operations h3,
.ships-operations p { color: var(--color-white); }
.ships-operations__intro > *:last-child { margin-bottom: 0; }

.ships-operations__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.ships-operations__grid article {
  min-width: 0;
  padding: 0 var(--space-5);
  border-left: 1px solid rgba(203, 213, 225, 0.32);
}
.ships-operations__grid article:first-child { padding-left: 0; border-left: 0; }
.ships-operations__grid article:last-child { padding-right: 0; }
.ships-operations__grid p { max-width: 31ch; }
.ships-operations__marker { color: #5eead4 !important; font-family: var(--font-heading); font-size: var(--text-label); font-weight: var(--weight-heading); }
.ships-operations__note { max-width: 58ch; margin: 0; padding: var(--space-4) var(--space-5); border-left: 3px solid var(--color-pacific-teal); background: rgba(230, 255, 250, 0.08); }

.ships-casino__shell { padding: var(--space-6); border: 1px solid rgba(234, 88, 12, 0.34); border-radius: var(--radius-feature); background: var(--color-coral-tint); }
.ships-casino__heading { max-width: 58ch; }
.ships-casino__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.ships-casino__grid > * { min-width: 0; }
.ships-casino__context { max-width: 42ch; }
.ships-casino__notice { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border-left: 3px solid var(--color-maritime-coral-amber); border-radius: 0 var(--radius-card) var(--radius-card) 0; background: var(--color-white); }
.ships-casino__notice > * { margin: 0; }
.ships-casino__notice p { max-width: 42ch; }

.ships-checklist__grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.ships-checklist__grid::before { position: absolute; z-index: 0; top: 28px; right: 10%; left: 10%; height: 2px; background: var(--color-pacific-teal); content: ""; }
.ships-checklist__grid article { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: var(--border-standard); border-radius: var(--radius-card); background: var(--color-white); }
.ships-checklist__grid article > * { margin: 0; }
.ships-checklist__number { display: grid; width: var(--space-6); height: var(--space-6); place-items: center; border-radius: 50%; background: var(--color-white); }

.ships-cabins__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.ships-cabin-card { padding: var(--space-5); border: var(--border-standard); border-radius: var(--radius-card); background: var(--color-white); }
.ships-cabin-card p { max-width: 35ch; margin-bottom: 0; }
.ships-cabins__link { margin-top: var(--space-6); }
.ships-cabins__link a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: var(--space-2); font-family: var(--font-heading); font-weight: var(--weight-heading); }

.ships-final { padding-block: var(--section-space); background: linear-gradient(135deg, var(--color-seafoam), var(--color-white)); }
.ships-final__content { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); width: min(100%, 52ch); min-width: 0; margin-inline: auto; text-align: center; }
.ships-final__content > * { min-width: 0; margin: 0; }
.ships-final__content h2 { max-width: 28ch; }
.ships-final__content > p:not(.ships-final__context):not(.ships-final__note) { max-width: 52ch; }
.ships-final__context { color: var(--color-muted); font-size: var(--text-label); line-height: var(--leading-label); }
.ships-final__note { width: 100%; max-width: 52ch; padding-top: var(--space-4); border-top: 2px solid var(--color-pacific-teal); color: var(--color-ocean-slate); font-size: var(--text-label); line-height: var(--leading-label); }

@media (max-width: 67.49rem) {
  .ships-zones__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ships-venues__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ships-venue-card:nth-child(n) { grid-column: auto; }
  .ships-venue-card:last-child { grid-column: 1 / -1; }
  .ships-checklist__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ships-checklist__grid::before { display: none; }
}

@media (max-width: 58rem) {
  .ships-hero__content { grid-column: 1 / span 7; }
  .ships-plan__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .ships-plan__diagram { order: -1; }
  .ships-open-deck__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .ships-open-deck__media,
  .ships-open-deck__content { grid-column: 1; }
  .ships-open-deck__content > .eyebrow,
  .ships-open-deck__content > h2 { max-width: 100%; }
  .ships-operations__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .ships-operations__grid article,
  .ships-operations__grid article:first-child,
  .ships-operations__grid article:last-child { padding: var(--space-5) 0 0; border-top: 1px solid rgba(203, 213, 225, 0.32); border-left: 0; }
  .ships-operations__grid article:first-child { padding-top: 0; border-top: 0; }
  .ships-operations__grid p { max-width: 58ch; }
  .ships-cabins__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ships-cabin-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 47.99rem) {
  .ships-hero { padding-block: var(--space-4) var(--space-7); }
  .ships-hero__frame { display: flex; flex-direction: column; gap: var(--space-5); }
  .ships-hero__media { border-radius: var(--radius-card); }
  .ships-hero__inner { position: static; display: block; width: min(100% - (var(--gutter) * 2), var(--container-content)); margin-inline: auto; }
  .ships-hero__content { width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; color: var(--color-deep-ocean-slate); }
  .ships-hero__content h1,
  .ships-hero__content p { color: var(--color-deep-ocean-slate); }
  .ships-hero__content .eyebrow { color: var(--color-pacific-teal); }
  .ships-hero__content h1 { font-size: clamp(2.75rem, 13vw, 3.3rem); }
  .ships-hero__content .lead,
  .ships-hero__content > p:not(.ships-hero__note),
  .ships-hero__content h1 { max-width: 100%; }
  .ships-hero__note { color: var(--color-muted) !important; }
  .ships-hero__actions,
  .ships-hero__actions .button { width: 100%; }
  .ships-zones__grid,
  .ships-venues__grid,
  .ships-checklist__grid,
  .ships-cabins__grid,
  .ships-casino__grid { grid-template-columns: 1fr; }
  .ships-zone-card,
  .ships-venue-card,
  .ships-checklist__grid article,
  .ships-cabin-card { padding: var(--space-4); }
  .ships-venue-card:last-child,
  .ships-cabin-card:last-child { grid-column: auto; }
  .ships-plan__layout { gap: var(--space-5); }
  .ships-plan__diagram { padding: var(--space-4); }
  .ships-plan__zones { grid-template-columns: 1fr; }
  .ships-open-deck__layout { gap: var(--space-5); }
  .ships-open-deck__content > .eyebrow,
  .ships-open-deck__content > h2 { max-width: 100%; }
  .ships-operations { padding-block: var(--space-7); }
  .ships-operations__inner { gap: var(--space-6); }
  .ships-casino__shell { padding: var(--space-4); }
  .ships-casino__grid { margin-top: var(--space-5); }
  .ships-casino__notice { padding: var(--space-4); }
  .ships-checklist__grid::before { display: block; top: var(--space-6); bottom: var(--space-6); left: 28px; width: 2px; height: auto; }
  .ships-checklist__number { background: var(--color-white); }
  .ships-final__content { width: 100%; }
  .ships-final__content .button { width: 100%; }
}
