/*
 * LCMS scroll animations.
 *
 * Subtle fade-in for blocks as they scroll into view. Universal v1 — every
 * block wrapped by render-layout.php gets .lcms-anim-on-scroll. JS adds
 * .is-visible via IntersectionObserver. Honours prefers-reduced-motion.
 */

.lcms-anim-on-scroll {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 400ms cubic-bezier(0.215, 0.61, 0.355, 1),
                transform 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
    will-change: opacity, transform;
}

.lcms-anim-on-scroll.is-visible {
    opacity: 1;
    transform: none;
}

/* JS-disabled fallback — without JS, blocks stay visible. */
.no-js .lcms-anim-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
}

/* Respect user motion preference — animations off, content visible. */
@media (prefers-reduced-motion: reduce) {
    .lcms-anim-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
