/* Flow-based rows keep long stage copy separate from its navigation. */
.world-journey { height: auto; }
.journey-frames { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.journey-motion-choice, .journey-film-retry { width: fit-content; padding: 8px 12px; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }
@media (max-width: 760px) { .journey-frames { object-position: 70% center; } }
.world-journey.is-scrubbing { height: 400svh; }
.world-stage {
  display: grid;
  grid-template-rows: auto minmax(min-content, 1fr) auto;
  gap: clamp(20px, 3svh, 32px);
  height: 100svh;
  min-height: 540px;
  padding: 108px 6vw 36px;
}
.world-topline, .world-copy, .world-controls {
  position: relative;
  inset: auto;
  min-width: 0;
}
.world-topline { grid-row: 1; }
.world-copy { grid-row: 2; align-self: center; max-width: 640px; padding-block: 8px; }
.world-copy h2 {
  font-size: clamp(3rem, min(7.6vw, 11svh), 8rem);
  line-height: 1.04;
  margin: 16px 0 22px;
}
.world-copy > p:last-child { font-size: 1rem; line-height: 1.5; max-width: 390px; }
.world-controls { grid-row: 3; display: grid; gap: 18px; }
.chapter-buttons { gap: clamp(16px, 3vw, 40px); }
.chapter-buttons button { min-height: 44px; padding-top: 13px; font-size: .875rem; }
.chapter-buttons button span { font-size: .75rem; }
.chapter-buttons button i, .chapter-buttons button[aria-pressed=true] i {
  transform: scaleX(var(--chapter-progress, 0));
  transition: none;
}
.journey-instruction { margin: 0; font-size: .875rem; line-height: 1.5; max-width: none; color: #d2d7d8; }
.skip-journey { font-size: .875rem; }
.journey-still .world-stage { position: relative; }
.journey-noscript { bottom: 10px; }
@media (max-width: 760px) {
  .world-stage { padding: 96px 6vw 30px; gap: 24px; min-height: 620px; }
  .world-topline { align-items: start; gap: 18px; }
  .world-topline .eyebrow { max-width: 210px; font-size: .75rem; line-height: 1.5; }
  .skip-journey { font-size: .75rem; }
  .world-copy { max-width: 100%; align-self: center; }
  .world-copy h2 { font-size: clamp(2.8rem, min(11vw, 9svh), 5rem); margin: 14px 0 20px; }
  .world-copy > p:last-child { max-width: 330px; font-size: 1rem; }
  .world-controls { gap: 18px; }
  .chapter-buttons button { gap: 9px; }
  .journey-instruction { font-size: .8125rem; }
}
@media (max-height: 600px) and (min-width: 761px) {
  .world-stage { padding-top: 90px; padding-bottom: 24px; gap: 18px; }
  .world-copy h2 { font-size: 3.1rem; margin: 10px 0 14px; }
  .world-controls { gap: 10px; }
}
