/* Section scenes. Figures keep their layout classes; only the picture source changes (canvas or poster). */
[data-scene-motion]{position:relative}
[data-scene-motion]>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none}
[data-scene-motion]>.scene-poster{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.market-art[data-scene-motion]>.scene-poster{position:static;height:auto}
/* With script: blank until the shot owns the frame; never flash the final first. */
.hero-js [data-scene-motion]>.scene-poster{opacity:0}
.hero-js [data-scene-motion]:not([data-state])>.scene-poster{animation:scene-poster-fallback .6s ease 6s forwards}
.hero-js .market-art[data-scene-motion]:not([data-state])>.scene-poster{animation-name:scene-map-fallback}
@keyframes scene-poster-fallback{to{opacity:1}}
@keyframes scene-map-fallback{to{opacity:.75}}
.hero-js [data-scene-motion].is-poster>.scene-poster{opacity:1;animation:none}
.hero-js .market-art[data-scene-motion].is-poster>.scene-poster{opacity:.75}
.hero-js [data-scene-motion].is-fading>.scene-poster{transition:opacity .55s ease}
[data-scene-motion].is-live>canvas{opacity:1}
.market-art[data-scene-motion].is-live>canvas{opacity:.75}
.assembly-replay[aria-disabled=true]{opacity:.4;cursor:default}
.assembly-replay[aria-disabled=true]:hover{color:inherit}
@media(prefers-reduced-motion:reduce){.hero-js [data-scene-motion]:not([data-state])>.scene-poster{animation:none;opacity:1}.hero-js .market-art[data-scene-motion]:not([data-state])>.scene-poster{opacity:.75}}
@media print{[data-scene-motion]>canvas{display:none!important}[data-scene-motion]>.scene-poster{opacity:1!important;animation:none!important}.market-art[data-scene-motion]>.scene-poster{opacity:.75!important}}
