/* Continuous scroll distance, including space to read each of the four scenes. */
.enhanced .journey { height: 460svh; }
.enhanced .scene { transition: none; }
.enhanced .scene, .enhanced .scene.is-active { opacity: var(--scene-opacity, 0); }
.enhanced .scene.is-active { --scene-opacity: 1; }
.enhanced .hero-copy, .enhanced .chapter-copy, .enhanced .scene-caption, .enhanced .hero-video-actions { opacity: var(--copy-opacity, 1); }
.enhanced .scene-media { overflow: hidden; }
.enhanced .scene-media > img, .enhanced #hero-film { transform: scale(var(--photo-scale, 1)); }
/* Lenis supplies the only smoothing; do not stack browser CSS smooth scrolling. */
html.lenis { scroll-behavior: auto !important; }
.site-header.solid { background: #faf4e9; }

/* Full-bleed lake and portrait film share one canvas, as in the original HERO. */
.stage { --hero-rail: 80px; }
.scene-lake { background: #30271f; }
.scene-lake .scene-media { inset: 0; }
.scene-lake .scene-landscape { object-position: center 55%; }
#hero-film { inset: 0 0 0 auto; width: min(56%, 86svh); height: 100%; object-fit: cover; object-position: center 44%; mask-image: linear-gradient(90deg, transparent, #000 30%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%); }
.scene-lake .scene-shade { background: linear-gradient(90deg, #201d22a6, #201d2245 43%, transparent 69%), linear-gradient(0deg, #211c19d9, transparent 33%, transparent 75%, #211c1966); }
.scene-lake .hero-copy { left: 8.3%; right: auto; top: 20%; max-width: 610px; transform: none; }
.scene-lake .hero-copy h1 { font-size: 64px; line-height: 1.45; letter-spacing: .055em; font-weight: 400; text-shadow: 0 2px 30px #201d2266; }
.scene-lake .scene-description { margin-top: 22px; font-size: 14px; line-height: 2.05; }
.scene-lake .scene-link { min-height: 44px; margin-top: 22px; padding: 8px 0; gap: 28px; }
.scene-lake .scene-caption { display: block; }
.hero-copy .hero-video-actions { position: static; display: flex; align-items: center; gap: 28px; margin-top: 18px; opacity: 1; }
.hero-video-actions .film-open { position: static; display: inline-flex; align-items: center; gap: 13px; min-height: 44px; margin: 0; padding: 0; background: none; border: 0; color: white; font-size: 12px; }
.hero-video-actions .film-open > span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #ffffff90; border-radius: 50%; font-size: 24px; }
.hero-video-actions .motion-toggle { margin: 0; min-height: 44px; padding: 8px 0; border: 0; background: none; color: #ffffffd9; font-size: 10px; text-decoration: underline; text-decoration-color: #ffffff60; text-underline-offset: 5px; }
.hero-video-actions [hidden] { display: none; }

/* Keep navigation light: the landscape continues behind the existing rail. */
.scene-footer { left: 4.2%; right: 4.2%; bottom: 0; padding: 18px 0 20px; display: flex; align-items: center; gap: 24px; border-top: 1px solid #ffffff50; background: transparent; }
.scene-selector { display: flex; gap: 28px; }
.scene-selector button { position: relative; padding: 9px 4px; min-width: 44px; min-height: 44px; border: 0; color: #e2d6c6; font-size: 12px; }
.scene-selector button::before { display: none; }
.scene-selector button[aria-pressed=true] { color: white; }
.scene-selector button[aria-pressed=true]::before { content: ''; display: block; position: absolute; inset: -19px 4px auto; height: 2px; background: var(--sun); }
.scene-selector button:hover { color: white; }
.scroll-hint { color: #f0e7db; }

@media (min-width: 1600px) {
  .scene-lake .hero-copy { left: max(8.3%, calc((100vw - 1440px) / 2)); top: 23%; }
  .scene-lake .hero-copy h1 { font-size: 64px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .scene-lake .hero-copy { left: 6%; }
  .scene-lake .hero-copy h1 { font-size: 58px; }
  .scene-lake .scene-description { font-size: 13px; }
  .scene-lake .scene-caption { display: none; }
  #hero-film { width: 53%; }
}
@media (min-width: 761px) and (max-height: 800px) {
  .scene-lake .hero-copy { top: 18%; }
  .scene-lake .hero-copy h1 { font-size: 64px; }
  .scene-lake .place { margin-bottom: 18px; }
  .scene-lake .scene-description { margin-top: 18px; }
  .scene-lake .scene-link { margin-top: 18px; }
}
@media (min-width: 761px) and (max-height: 700px) {
  .scene-lake .hero-copy { top: 18%; }
  .scene-lake .hero-copy h1 { font-size: 52px; }
  .scene-lake .place { margin-bottom: 12px; }
  .scene-lake .scene-description { margin-top: 12px; font-size: 12px; }
  .scene-lake .scene-link { margin-top: 12px; }
  .hero-copy .hero-video-actions { margin-top: 10px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .scene-lake .hero-copy h1 { font-size: 52px; }
}
@media (max-width: 760px) {
  .enhanced .journey { height: 400svh; }
  .stage { --hero-rail: calc(64px + env(safe-area-inset-bottom)); }
  .scene-lake .scene-media { inset: 0; }
  #hero-film { inset: 0; width: 100%; height: 100%; object-position: center 44%; mask-image: none; -webkit-mask-image: none; }
  .scene-lake .scene-shade { background: linear-gradient(180deg, #211c1980, transparent 24%, #211c191a 37%, #211c19b8 68%, #211c19ed); }
  .scene-lake .hero-copy { inset: auto 24px calc(var(--hero-rail) + 30px) 27px; max-width: none; transform: none; }
  .scene-lake .hero-copy h1 { font-size: clamp(26px, 8.5vw, 44px); line-height: 1.45; letter-spacing: .045em; }
  .scene-lake .place { margin-bottom: 16px; font-size: 10px; }
  .scene-lake .scene-description, .scene-lake .scene-caption { display: none; }
  .scene-lake .scene-link { margin-top: 16px; font-size: 12px; }
  .hero-copy .hero-video-actions { margin-top: 16px; gap: 22px; }
  .hero-video-actions .film-open { font-size: 11px; gap: 10px; }
  .hero-video-actions .film-open > span { width: 39px; height: 39px; font-size: 22px; }
  .hero-video-actions .motion-toggle { font-size: 9px; }
  .scene-footer { left: 23px; right: 23px; padding: 9px 0 calc(10px + env(safe-area-inset-bottom)); }
  .scene-selector { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .scene-selector button { min-width: 0; padding: 8px 4px; }
  .scene-selector button[aria-pressed=true]::before { inset: -10px auto auto 50%; width: 28px; transform: translateX(-50%); }
}
@media (max-width: 760px) and (max-height: 740px) {
  .scene-lake .hero-copy { bottom: calc(var(--hero-rail) + 24px); }
  .scene-lake .hero-copy h1 { font-size: clamp(26px, 8.5vw, 44px); line-height: 1.4; }
  .scene-lake .place { display: none; }
  .scene-lake .scene-link { margin-top: 12px; }
  .hero-copy .hero-video-actions { margin-top: 12px; }
}
@media (max-width: 380px) {
  .scene-lake .hero-copy { left: 23px; right: 20px; }
  .scene-lake .hero-copy h1 { font-size: clamp(26px, 8.5vw, 44px); }
  .hero-copy .hero-video-actions { gap: 18px; }
}
@media (max-height: 560px) and (min-width: 601px) {
  .enhanced .stage, .scene { min-height: 100svh; }
  .stage { --hero-rail: 64px; }
  #hero-film { inset: 0 0 0 auto; width: 53%; mask-image: linear-gradient(90deg, transparent, #000 30%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%); }
  .scene-lake .hero-copy { inset: 86px auto auto 6%; max-width: 47%; }
  .scene-lake .hero-copy h1 { font-size: 34px; line-height: 1.35; }
  .scene-lake .place, .scene-lake .scene-description { display: none; }
  .scene-lake .scene-link { margin-top: 8px; }
  .hero-copy .hero-video-actions { margin-top: 6px; gap: 20px; }
  .hero-video-actions .film-open { font-size: 10px; gap: 9px; }
  .hero-video-actions .film-open > span { width: 34px; height: 34px; font-size: 20px; }
  .hero-video-actions .motion-toggle { font-size: 9px; }
  .chapter-copy { top: 80px; left: 6%; right: auto; width: 47%; max-width: none; }
  .chapter-copy .place, .scene-caption { display: none; }
  .chapter-copy h2 { font-size: 26px; line-height: 1.3; }
  .chapter-copy .scene-description { font-size: 11px; line-height: 1.55; letter-spacing: 0; margin-top: 8px; }
  .chapter-copy .scene-link { min-height: 40px; margin-top: 8px; font-size: 11px; }
  .scene-footer { padding: 9px 0 10px; }
  .scene-selector button[aria-pressed=true]::before { top: -10px; }
}
