/* Native document scrolling keeps every chapter reachable without the scene. */
.constellation { --chapter-gutter: clamp(24px, 4.8vw, 76px); --rail-width: 188px; }
#journey, .constellation #site-footer { margin-right: var(--rail-width); }
.constellation .nav-host { height: 0; }
#constellation-scene, .constellation-fallback { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; mask-image: linear-gradient(to right, #000 calc(100% - var(--rail-width) - 120px), transparent calc(100% - var(--rail-width))); }
.constellation-fallback { background-image: radial-gradient(circle at 9% 23%, #e3d4b49c 0 1px, transparent 1.5px), radial-gradient(circle at 88% 33%, #dfc587 0 1px, transparent 2px), radial-gradient(circle at 20% 61%, #d5d0c388 0 1px, transparent 1.5px), radial-gradient(circle at 79% 65%, #d5d0c377 0 1px, transparent 1.5px), radial-gradient(ellipse at 50% 70%, #a38b4910, transparent 60%); background-size: 537px 631px, 751px 543px, 689px 871px, 913px 521px, 100% 100%; }
.scene-ready .constellation-fallback { opacity: 0; }
.chapter { min-height: 100svh; padding: 112px var(--chapter-gutter) 76px; position: relative; max-width: 1700px; margin: 0 auto; display: flex; flex-direction: column; justify-content: center; scroll-margin-top: 0; }
.chapter:focus { outline: none; }
.chapter-intro { margin-bottom: 24px; }
.chapter-intro .eyebrow { margin: 0 0 16px; }
.chapter h2 { font-size: clamp(38px, 3.4vw, 54px); line-height: 1.08; margin: 0 0 16px; }
.chapter-lead { font-size: 18px; line-height: 1.5; margin: 0; color: #b9b3a6; }
.chapter-intro.center .chapter-lead { max-width: 720px; margin-inline: auto; }
.arrival { height: 100svh; min-height: 680px; padding-top: 108px; padding-bottom: 72px; justify-content: flex-start; }
.arrival .chapter-intro { flex: 0 0 auto; margin-bottom: 18px; }
.arrival h1 { font-size: clamp(54px, 4.5vw, 72px); font-weight: 500; line-height: 1.055; letter-spacing: -.047em; margin: 0 0 12px; }
.arrival .chapter-actions { margin-top: 16px; }
.arrival .free-note { margin-top: 10px; }
.arrival .eyebrow { color: var(--porcelain); }
.chapter-actions { display: flex; align-items: center; justify-content: center; gap: 38px; margin-top: 20px; }
.chapter-actions .btn { min-width: 154px; padding: 10px 25px; }
.free-note { font-size: 13px; margin: 14px 0 0; color: var(--ash); }
.chapter-spread { display: grid; grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr); align-items: center; gap: 44px; }
.chapter-menu a { display: flex; align-items: center; justify-content: space-between; min-height: 55px; border-top: 1px solid var(--hairline); color: var(--porcelain); }
.chapter-menu a[aria-current] { color: var(--brushed-gold); }
.film-dialog { width: min(1080px, calc(100% - 48px)); padding: 22px; }
.film-dialog video { display: block; width: 100%; aspect-ratio: 16 / 9; max-height: 72dvh; background: #000; }
.next-chapter { margin: 22px auto 0; font-size: 14px; }
.get-zyryn { padding-top: 100px; padding-bottom: 72px; justify-content: flex-start; }
.get-zyryn .chapter-intro { margin-bottom: 18px; }
.get-zyryn .eyebrow { margin-bottom: 10px; }
.get-zyryn h2 { font-size: 48px; margin-bottom: 12px; }
.every-screen .next-chapter { margin-top: 14px; }
.constellation main :is(a, button) { scroll-margin-top: 110px; scroll-margin-bottom: 64px; }
.journey-ready .no-script-footer { display: none; }
@media (max-height: 850px) and (min-width: 900px) {
  .chapter { padding-top: 100px; padding-bottom: 72px; }
  .chapter-intro { margin-bottom: 24px; }
  .chapter h2 { font-size: 43px; }
  .arrival h1 { font-size: 60px; }
  .arrival .chapter-intro { margin-bottom: 20px; }
  .arrival .eyebrow { margin-bottom: 12px; }
  .arrival { padding-bottom: 72px; }
}
@media (max-width: 1100px) and (min-width: 900px) {
  .chapter-spread { gap: 28px; grid-template-columns: minmax(0, 2fr) minmax(245px, 1fr); }
}
@media (max-height: 760px) and (min-width: 900px) {
  .get-zyryn { padding-top: 92px; }
  .get-zyryn h2 { font-size: 36px; }
  .get-zyryn .eyebrow { font-size: 10px; margin-bottom: 8px; }
  .get-zyryn .chapter-lead { font-size: 16px; }
  .get-zyryn .chapter-intro { margin-bottom: 12px; }
  .get-zyryn .download-stage { height: 145px; margin-bottom: 14px; }
  .get-zyryn .download-selection { min-height: 112px; }
  .get-zyryn .platform-selector { margin-top: 12px; }
}
@media (max-width: 899px) {
  .constellation { --rail-width: 44px; }
  .chapter { padding: 108px 24px 72px; min-height: 100svh; justify-content: flex-start; }
  .chapter h2 { font-size: 38px; }
  .chapter-lead { font-size: 16px; }
  .chapter-spread { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .chapter-intro { margin-bottom: 26px; }
  .arrival { height: auto; min-height: 100svh; padding-top: 113px; }
  .arrival h1 { font-size: 52px; }
  .arrival .chapter-intro { margin-bottom: 28px; }
}
@media (max-width: 540px) {
  .arrival { padding-top: 104px; padding-bottom: 64px; }
  .arrival h1 { font-size: 44px; line-height: 1.035; margin-bottom: 14px; }
  .arrival h1 span { display: block; }
  .arrival .eyebrow { font-size: 10px; letter-spacing: .2em; margin-bottom: 18px; }
  .arrival .chapter-lead { max-width: 32ch; font-size: 15px; line-height: 1.5; }
  .desktop-break { display: none; }
  .arrival .chapter-actions { flex-direction: column; gap: 2px; margin-top: 16px; }
  .arrival .chapter-actions .btn { min-width: 174px; }
  .arrival .free-note { font-size: 12px; margin-top: 2px; }
  .arrival .chapter-intro { margin-bottom: 18px; }
  .chapter h2 { font-size: 35px; }
  .chapter-intro .eyebrow { font-size: 10px; }
  .film-dialog { width: calc(100% - 24px); padding: 12px; }
  .dialog-heading h2 { font-size: 20px; }
  .chapter-actions { gap: 24px; }
  .chapter-actions .text-action { font-size: 14px; }
}

.feature-notes { display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; list-style: none; padding: 0; margin: 32px 0 0; color: var(--ash); font-size: 14px; }
.feature-notes li + li { border-left: 1px solid var(--hairline-strong); padding-left: 28px; }
@media (max-width: 540px) {
  .feature-notes { gap: 12px 18px; font-size: 13px; margin-top: 24px; }
  .feature-notes li + li { border: 0; padding-left: 0; }
}
