.ship-reviews-page {
  overflow: clip;
}

.ship-reviews-page .section {
  position: relative;
}

.ship-reviews-page .sr-lead__grid,
.ship-reviews-page .sr-deck-record__grid,
.ship-reviews-page .sr-cabin__grid,
.ship-reviews-page .sr-matrix__grid,
.ship-reviews-page .sr-timing__grid,
.ship-reviews-page .sr-coverage-map__grid,
.ship-reviews-page .sr-casino__grid,
.ship-reviews-page .sr-protocol__grid,
.ship-reviews-page .sr-next__grid {
  display: grid;
  min-width: 0;
  gap: var(--space-5);
}

.ship-reviews-page .sr-lead__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ship-reviews-page .sr-deck-record__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.ship-reviews-page .sr-cabin__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ship-reviews-page .sr-matrix__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ship-reviews-page .sr-timing__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ship-reviews-page .sr-coverage-map__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); }
.ship-reviews-page .sr-casino__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ship-reviews-page .sr-protocol__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ship-reviews-page .sr-next__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ship-reviews-page .sr-lead__grid > *,
.ship-reviews-page .sr-deck-record__grid > *,
.ship-reviews-page .sr-cabin__grid > *,
.ship-reviews-page .sr-matrix__grid > *,
.ship-reviews-page .sr-timing__grid > *,
.ship-reviews-page .sr-coverage-map__grid > *,
.ship-reviews-page .sr-casino__grid > *,
.ship-reviews-page .sr-protocol__grid > *,
.ship-reviews-page .sr-next__grid > * {
  min-width: 0;
  width: 100%;
}

.ship-reviews-page .sr-media {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--color-line);
  background: var(--color-void-elevated);
  clip-path: var(--clip-panel);
}

.ship-reviews-page .sr-media::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(90deg, rgba(7, 20, 17, 0.36), transparent 48%);
}

.ship-reviews-page .sr-media img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
}

.ship-reviews-page .sr-media figcaption {
  position: absolute;
  z-index: 1;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  margin: 0;
  color: var(--color-text-primary);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: var(--line-height-label);
  opacity: 0.92;
  text-transform: uppercase;
}

.ship-reviews-page .sr-media--hero { min-height: 31.875rem; }
.ship-reviews-page .sr-media--deck { min-height: 32rem; }
.ship-reviews-page .sr-media--cabin { aspect-ratio: 4 / 3; }

.ship-reviews-page .sr-lead__record,
.ship-reviews-page .sr-cabin__stack,
.ship-reviews-page .sr-deck-record__content,
.ship-reviews-page .sr-casino__action,
.ship-reviews-page .sr-cabin__action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.ship-reviews-page .sr-lead__record > *,
.ship-reviews-page .sr-cabin__stack > *,
.ship-reviews-page .sr-deck-record__content > *,
.ship-reviews-page .sr-casino__action > *,
.ship-reviews-page .sr-cabin__action > * {
  margin: 0;
}

.ship-reviews-page .sr-lead__record .display-title { max-width: 22ch; }
.ship-reviews-page .sr-lead__copy { max-width: 58ch; }
.ship-reviews-page .sr-lead__copy p { color: var(--color-text-primary); }
.ship-reviews-page .sr-lead__copy .lead { color: var(--color-text-secondary); }

.ship-reviews-page .sr-status-strip {
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}

.ship-reviews-page .sr-status-strip > * { min-width: 0; }
.ship-reviews-page .sr-status-strip div { display: grid; gap: var(--space-1); }
.ship-reviews-page .sr-status-strip strong { font-family: var(--font-heading); font-size: var(--text-label); letter-spacing: 0.08em; text-transform: uppercase; }
.ship-reviews-page .sr-status-strip span:not(.status):not(.status-dot) { color: var(--color-text-secondary); font-size: 0.875rem; line-height: 1.4; }

.ship-reviews-page .sr-section-intro { max-width: 56ch; margin-bottom: var(--space-6); }
.ship-reviews-page .sr-section-intro--wide { max-width: 58ch; }
.ship-reviews-page .sr-section-intro > :last-child { margin-bottom: 0; }

.ship-reviews-page .sr-scan-card {
  position: relative;
  overflow: hidden;
}

.ship-reviews-page .sr-scan-card::after {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 1px;
  transform: translateX(-110%);
  background: rgba(184, 242, 61, 0.55);
  content: "";
  transition: transform 140ms ease;
}

.ship-reviews-page .sr-scan-card:hover::after { transform: translateX(0); }
.ship-reviews-page .sr-scan-card:hover { border-color: var(--color-bio-signal); }
.ship-reviews-page .sr-scan-card p { max-width: 34ch; }
.ship-reviews-page .sr-scan-card h3 { margin-bottom: var(--space-3); }

.ship-reviews-page .sr-warning { color: var(--color-warning); }
.ship-reviews-page .sr-rule::after { display: block; width: 100%; height: 1px; margin-top: var(--space-2); background: repeating-linear-gradient(90deg, var(--color-line) 0 8px, transparent 8px 12px); content: ""; }
.ship-reviews-page .sr-route::before { color: var(--color-bio-signal); content: "— "; }

.ship-reviews-page .sr-deck-record > .container > h2 { margin-bottom: var(--space-6); }
.ship-reviews-page .sr-deck-record__content { align-self: stretch; }
.ship-reviews-page .sr-field-note {
  margin: 0;
  padding: var(--space-5) 0 var(--space-5) var(--space-5);
  border-left: 2px solid var(--color-bio-signal);
  background: transparent;
}
.ship-reviews-page .sr-field-note > :last-child { margin-bottom: 0; }
.ship-reviews-page .sr-field-note p { max-width: 60ch; }
.ship-reviews-page .sr-field-note--warning { border-color: var(--color-warning); }
.ship-reviews-page .sr-diagnostic p { max-width: 42ch; }
.ship-reviews-page .sr-route-sequence { color: var(--color-bio-signal); font-family: var(--font-heading); font-size: var(--text-label); font-weight: 600; letter-spacing: 0.08em; line-height: 1.5; }

.ship-reviews-page .sr-coverage__rows { display: grid; gap: var(--space-3); margin-top: var(--space-5); }
.ship-reviews-page .sr-coverage__rows > div { display: grid; min-width: 0; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: var(--space-3); row-gap: var(--space-1); align-items: center; }
.ship-reviews-page .sr-coverage__rows > div > span:first-child { font-family: var(--font-heading); font-size: var(--text-label); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.ship-reviews-page .sr-coverage__rows small { grid-column: 2; color: var(--color-text-secondary); }

.ship-reviews-page .sr-cabin__lead { max-width: 54ch; }
.ship-reviews-page .sr-cabin__stack .sr-diagnostic p,
.ship-reviews-page .sr-cabin__stack .sr-field-note p { max-width: 50ch; }
.ship-reviews-page .sr-cabin__action { align-items: flex-start; padding-top: var(--space-2); }
.ship-reviews-page .sr-cabin__action p { max-width: 34ch; color: var(--color-text-secondary); }

.ship-reviews-page .sr-timing__note { max-width: none; margin-top: var(--space-5); padding-right: var(--space-5); background: var(--color-surface); }
.ship-reviews-page .sr-timing__note p { max-width: 70ch; }

.ship-reviews-page .sr-coverage-map__grid > article p { max-width: 34ch; }
.ship-reviews-page .sr-coverage-map__grid > article:first-child p { max-width: 46ch; }

.ship-reviews-page .sr-casino__grid { margin-bottom: var(--space-5); }
.ship-reviews-page .sr-casino__grid p { max-width: 40ch; }
.ship-reviews-page .sr-responsible { max-width: none; margin-bottom: var(--space-5); }
.ship-reviews-page .sr-responsible p { max-width: 70ch; }
.ship-reviews-page .sr-casino__action { align-items: flex-start; }
.ship-reviews-page .sr-casino__action p { max-width: 34ch; color: var(--color-text-secondary); }

.ship-reviews-page .sr-protocol__grid > li { position: relative; list-style: none; }
.ship-reviews-page .sr-protocol__grid p { max-width: 42ch; }
.ship-reviews-page .sr-step-number { display: block; margin-bottom: var(--space-4); color: var(--color-bio-signal); font-family: var(--font-heading); font-size: 1.75rem; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; }
.ship-reviews-page .sr-step-number--warning { color: var(--color-warning); }

.ship-reviews-page .sr-next-card {
  display: flex;
  min-height: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base);
}
.ship-reviews-page .sr-next-card > * { margin: 0; }
.ship-reviews-page .sr-next-card p { max-width: 34ch; color: var(--color-text-secondary); }
.ship-reviews-page .sr-next-card > span:last-child { display: inline-flex; min-height: 44px; align-items: center; margin-top: auto; color: var(--color-text-primary); text-decoration: underline; text-decoration-color: var(--color-bio-signal); text-underline-offset: 0.18em; }
.ship-reviews-page .sr-next-card:hover,
.ship-reviews-page .sr-next-card:focus-visible { border-color: var(--color-bio-signal); background: var(--color-surface-raised); color: var(--color-bio-signal); }
.ship-reviews-page .sr-next-card:hover p,
.ship-reviews-page .sr-next-card:focus-visible p { color: var(--color-text-primary); }

.ship-reviews-page .sr-close { padding-top: var(--space-8); }
.ship-reviews-page .sr-close__note { background: var(--color-void-elevated); border-left: 2px solid var(--color-text-primary); }
.ship-reviews-page .sr-close__note p { max-width: 68ch; }

@media (max-width: 959px) {
  .ship-reviews-page .sr-cabin__grid { grid-template-columns: minmax(0, 1fr); }
  .ship-reviews-page .sr-cabin__grid > .sr-media { order: 0; }
  .ship-reviews-page .sr-cabin__grid > .sr-cabin__stack { order: 1; }
}

@media (max-width: 899px) {
  .ship-reviews-page .sr-lead__grid,
  .ship-reviews-page .sr-deck-record__grid { grid-template-columns: minmax(0, 1fr); }
  .ship-reviews-page .sr-lead__grid > .sr-media,
  .ship-reviews-page .sr-deck-record__grid > .sr-media { order: 0; }
  .ship-reviews-page .sr-lead__grid > .sr-lead__record,
  .ship-reviews-page .sr-deck-record__grid > .sr-deck-record__content { order: 1; }
  .ship-reviews-page .sr-media--hero { min-height: 26rem; }
  .ship-reviews-page .sr-media--deck { min-height: 27rem; }
  .ship-reviews-page .sr-matrix__grid,
  .ship-reviews-page .sr-timing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ship-reviews-page .sr-timing__grid > :last-child { grid-column: 1 / -1; }
  .ship-reviews-page .sr-coverage-map__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ship-reviews-page .sr-coverage-map__grid > :first-child { grid-column: 1 / -1; }
  .ship-reviews-page .sr-casino__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ship-reviews-page .sr-protocol__grid,
  .ship-reviews-page .sr-next__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 719px) {
  .ship-reviews-page .sr-timing__grid,
  .ship-reviews-page .sr-casino__grid { grid-template-columns: minmax(0, 1fr); }
  .ship-reviews-page .sr-timing__grid > :last-child { grid-column: auto; }
}

@media (max-width: 639px) {
  .ship-reviews-page .sr-lead__grid,
  .ship-reviews-page .sr-deck-record__grid,
  .ship-reviews-page .sr-cabin__grid,
  .ship-reviews-page .sr-matrix__grid,
  .ship-reviews-page .sr-timing__grid,
  .ship-reviews-page .sr-coverage-map__grid,
  .ship-reviews-page .sr-casino__grid,
  .ship-reviews-page .sr-protocol__grid,
  .ship-reviews-page .sr-next__grid { grid-template-columns: minmax(0, 1fr); }
  .ship-reviews-page .sr-coverage-map__grid > :first-child { grid-column: auto; }
  .ship-reviews-page .sr-media--hero { min-height: auto; aspect-ratio: 16 / 10; }
  .ship-reviews-page .sr-media--deck { min-height: auto; aspect-ratio: 4 / 3; }
  .ship-reviews-page .sr-media figcaption { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); }
  .ship-reviews-page .sr-lead__record .display-title { max-width: none; font-size: clamp(2.25rem, 12vw, 3.25rem); }
  .ship-reviews-page .sr-section-intro { margin-bottom: var(--space-5); }
  .ship-reviews-page .sr-coverage__rows > div { grid-template-columns: 4rem minmax(0, 1fr); }
  .ship-reviews-page .sr-field-note { padding: var(--space-4) 0 var(--space-4) var(--space-4); }
  .ship-reviews-page .sr-timing__note { padding-right: var(--space-4); }
  .ship-reviews-page .sr-next-card > span:last-child { width: 100%; }
  .ship-reviews-page .sr-close { padding-top: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .ship-reviews-page .sr-scan-card::after { display: none; }
  .ship-reviews-page .sr-scan-card:hover { border-color: var(--color-bio-signal); }
}
