/* Scroll reveal — sections (.frame-class-group) first, then further frames inside on scroll (requires html.scroll-reveal from JS) */

html.scroll-reveal{
    --scroll-reveal-distance:6.25rem; /* ~100px, cf. AOS fade-up on embex.de */
    --scroll-reveal-duration:1.2s;
    --scroll-reveal-easing:ease;
}
html.scroll-reveal .scroll-reveal-pending{
    opacity:0;
    transform:translate3d(0, var(--scroll-reveal-distance), 0);
}
html.scroll-reveal .is-revealed{
    opacity:1;
    transform:none;
    transition:opacity var(--scroll-reveal-duration) var(--scroll-reveal-easing),
        transform var(--scroll-reveal-duration) var(--scroll-reveal-easing);
}
html.scroll-reveal .scroll-reveal-exempt,
html.scroll-reveal.scroll-reveal-reduced .scroll-reveal-pending{
    opacity:1;
    transform:none;
}
@media (prefers-reduced-motion:reduce){
    html.scroll-reveal .scroll-reveal-pending{
        opacity:1;
        transform:none;
    }
    html.scroll-reveal .is-revealed{ transition:none; }
}
