/* The Retreat keeps its own film choreography; supporting pages remain readable. */
html:has(body.movie-home-v5) { scroll-behavior: smooth; }
body.movie-home-v5 #mission { scroll-margin-top: 12px; }
body.movie-home-v5 .movie-controls {
  position: fixed; inset: auto 30px 24px auto; z-index: 35;
  display: flex; align-items: center; margin: 0; padding: 0;
  border: 0; background: transparent; pointer-events: none;
}
body.movie-home-v5 .movie-controls[hidden] { display: none; }
body.movie-home-v5 [data-film-mode] {
  min-height: 44px; border-radius: 0; padding: 10px 14px;
  font-size: .72rem; letter-spacing: .06em; background: #0b211bd9;
}
body.movie-home-v5 .movie-progress { display: block; }
body.movie-home-v5 .movie-progress[hidden] { display: none; }
body.movie-home-v5 #movie-status {
  position: absolute; right: 0; bottom: 54px; max-width: 280px;
  margin: 0; font-size: .85rem; line-height: 1.6;
}
body.movie-home-v5 #movie-status:not(:empty) { padding: 16px; }

body.movie-home-v5 .movie-chapter {
  min-height: 145svh; padding-block: 22svh 24svh;
}
body.movie-home-v5 .movie-chapter .movie-copy {
  position: sticky; top: max(125px, 20svh); padding-right: 80px;
}
body.movie-home-v5 .movie-chapter-arrival {
  padding-top: max(155px, 19svh); padding-bottom: 100px;
}
body.movie-home-v5 .movie-chapter-arrival .movie-copy {
  position: relative; top: auto; min-height: 66svh; max-width: 850px;
}
body.movie-home-v5 .movie-copy h1 { font-size: clamp(3.2rem, 7.2vw, 7.2rem); }
body.movie-home-v5 .movie-copy .retreat-date-v6 {
  font: 400 clamp(1.45rem, 2.3vw, 2rem)/1.35 var(--serif);
  margin-bottom: 8px;
}
body.movie-home-v5 .movie-copy .movie-opening-meta { margin-top: 22px; }
body.movie-home-v5 .movie-scroll-cue {
  margin-top: 12px; min-height: 48px; padding: 12px 22px;
  border: 1px solid #f1ead1a6; background: #0b211b80;
  font-size: .95rem; line-height: 1.4; transition: background .2s ease;
}
body.movie-home-v5 .movie-scroll-cue:hover,
body.movie-home-v5 .movie-scroll-cue:focus-visible { background: #0b211be6; }
body.movie-home-v5 .movie-scroll-cue:focus-visible { outline: 2px solid #eee8d9; outline-offset: 4px; }
body.movie-home-v5 .delta-mission {
  margin-top: 45px; padding-top: 35px;
}
/* Dense decision content scrolls naturally, keeping every term reachable. */
body.movie-home-v5 .movie-chapter-rooms,
body.movie-home-v5 .movie-chapter-response {
  min-height: 125svh; padding-block: 130px;
}
body.movie-home-v5 .movie-chapter-rooms .movie-copy,
body.movie-home-v5 .movie-chapter-response .movie-copy {
  position: relative; top: auto; padding-right: 0;
}

@media (max-width: 900px) {
  body.movie-home-v5 .movie-chapter { min-height: 135svh; padding-block: 135px; }
  body.movie-home-v5 .movie-chapter .movie-copy { top: 135px; padding-right: 54px; }
  body.movie-home-v5 .movie-chapter-arrival { padding-top: 155px; }
  body.movie-home-v5 .movie-chapter-arrival .movie-copy { top: auto; min-height: 62svh; }
  body.movie-home-v5 .movie-chapter-rooms .movie-copy,
  body.movie-home-v5 .movie-chapter-response .movie-copy { top: auto; padding-right: 54px; }
}
@media (max-width: 700px) {
  body.movie-home-v5 .movie-controls { right: 18px; bottom: 18px; }
  body.movie-home-v5 .movie-chapter { min-height: 130svh; padding-block: 135px 140px; }
  body.movie-home-v5 .movie-chapter .movie-copy { top: 125px; padding-right: 0; }
  body.movie-home-v5 .movie-chapter-arrival { padding-top: 140px; }
  body.movie-home-v5 .movie-chapter-arrival .movie-copy { top: auto; min-height: 64svh; }
  body.movie-home-v5 .movie-copy h1 { font-size: clamp(3rem, 12vw, 4.5rem); }
  body.movie-home-v5 .movie-chapter-rooms,
  body.movie-home-v5 .movie-chapter-response { min-height: auto; padding-block: 110px 140px; }
  body.movie-home-v5 .movie-chapter-rooms .movie-copy,
  body.movie-home-v5 .movie-chapter-response .movie-copy { top: auto; padding-right: 0; }
}
/* Short screens and static mode favor uninterrupted reading over sticky copy. */
@media (max-height: 720px) {
  body.movie-home-v5 .movie-chapter .movie-copy { position: relative; top: auto; }
}
html.movie-static body.movie-home-v5 .movie-chapter {
  min-height: auto; padding-block: 140px 110px;
}
html.movie-static body.movie-home-v5 .movie-chapter .movie-copy {
  position: relative; top: auto; min-height: auto;
}
html.movie-static body.movie-home-v5 .movie-progress { display: none; }
@media (prefers-reduced-motion: reduce) {
  html:has(body.movie-home-v5) { scroll-behavior: auto !important; }
  body.movie-home-v5 .movie-chapter .movie-copy { transition: none; }
}
