/* Each chapter is one measured part of the scroll. The familiar tabs remain usable. */
.scroll-story{width:100%;min-width:0}
.scroll-story .hero-art,.scroll-story .workbench{position:relative;--story-progress:0}
.story-progress{position:absolute;left:0;right:0;top:0;height:3px;z-index:10;background:transparent;pointer-events:none;overflow:hidden}
.story-progress::after{content:"";display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(var(--story-progress));transform-origin:left center}
.ribhu-v2 .scroll-story .story-progress::after{background:#9c672a}
.ribhu-v3 .scroll-story .story-progress::after{background:#d3ad66}
.scene-line-art{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.3;opacity:.18}
.scene-line-art .fine{stroke-width:.7;opacity:.7}
.ribhu-v2 .scene-line-art{color:#634e36;mix-blend-mode:multiply}
.ribhu-v3 .scene-line-art{color:#e0b869;mix-blend-mode:screen;opacity:.22}
.scroll-story .atelier-scene{overflow:hidden}

@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .scroll-story{position:relative;height:370svh}
  .scroll-story--joint .hero-art,.scroll-story--work .workbench{position:sticky;top:24px}
  .ribhu-v2 .scroll-story--joint .hero-art,.ribhu-v3 .scroll-story--joint .hero-art{width:100%}
  .ribhu-v2 .bench-section,.ribhu-v3 .bench-section{overflow:visible}
  .scroll-story--work{height:350svh}
  .scroll-story--work .workbench{max-height:calc(100svh - 48px);overflow:hidden}
}

@media(max-width:900px), (prefers-reduced-motion:reduce){
  .scroll-story{height:auto}
  .scroll-story--joint .hero-art,.scroll-story--work .workbench{position:relative;top:auto;max-height:none;overflow:visible}
  .story-progress{display:none}
}
