/* Scroll-controlled camera travel between the studio copy and the game. */
.studio-section { padding-bottom:100px; }
.work-landscape { mask-image:none; }
.river-route { height:0; }
.has-scroll-camera .river-route { height:clamp(340px,65svh,720px); }
.river-transition {
  --river-top:110%;
  --river-bottom:110%;
  position:fixed;
  inset:0;
  z-index:10;
  pointer-events:none;
  visibility:hidden;
  overflow:hidden;
  background:#10110f;
  mask-image:linear-gradient(to bottom,transparent calc(var(--river-top) - 10%),#000 calc(var(--river-top) + 10%)),linear-gradient(to bottom,#000 calc(var(--river-bottom) - 10%),transparent calc(var(--river-bottom) + 10%));
  mask-composite:intersect;
  -webkit-mask-composite:source-in;
}
.river-transition.is-playing { visibility:visible; }
.transition-scene { position:absolute; inset:0 auto auto 0; width:887px; height:1774px; transform-origin:0 0; }
.transition-river { display:block; width:100%; height:100%; max-width:none; object-fit:fill; filter:brightness(.93) saturate(.95); }
.river-transition.is-playing .transition-scene { will-change:transform; }
.transition-light { position:absolute; inset:0; background:radial-gradient(ellipse 36% 42% at 50% 53%,#d5ec8d19,transparent); mix-blend-mode:screen; }
@media(max-width:700px) {
  .studio-section { padding-bottom:64px; }
}
@media(prefers-reduced-motion:reduce) {
  .river-transition { display:none; }
  .has-scroll-camera .river-route { height:0; }
}
