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

.lcms-anim-on-scroll.lcms-anim-priming {
    will-change: opacity, transform;
}

.lcms-anim-on-scroll.lcms-entrance-fade-up { transform: translateY(20px); }
.lcms-anim-on-scroll.lcms-entrance-fade-in { transform: none; }
.lcms-anim-on-scroll.lcms-entrance-slide        { transform: translateX(-28px); }
.lcms-anim-on-scroll.lcms-entrance-slide-right  { transform: translateX(28px); }
.lcms-anim-on-scroll.lcms-entrance-scale        { transform: scale(0.96); }

.lcms-anim-on-scroll.lcms-entrance-none {
    opacity: 1;
    transform: none;
    transition: none;
}

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

.lcms-anim-on-scroll .lcms-stagger > * {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity var(--lcms-stagger-duration, 500ms) var(--lcms-anim-ease, cubic-bezier(0.215, 0.61, 0.355, 1)),
                transform var(--lcms-stagger-duration, 500ms) var(--lcms-anim-ease, cubic-bezier(0.215, 0.61, 0.355, 1));
}
.lcms-anim-on-scroll.is-visible .lcms-stagger > * {
    opacity: 1;
    transform: none;
}
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(1)   { transition-delay: 0ms; }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(2)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 1); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(3)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 2); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(4)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 3); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(5)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 4); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(6)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 5); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(7)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 6); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(8)   { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 7); }
.lcms-anim-on-scroll.is-visible .lcms-stagger > *:nth-child(n+9) { transition-delay: calc(var(--lcms-stagger-step, 70ms) * 8); }

.no-js .lcms-anim-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
}
.no-js .lcms-anim-on-scroll .lcms-stagger > * {
    opacity: 1;
    transform: none;
    transition: none;
}

@media (prefers-reduced-motion: reduce) {
    .lcms-anim-on-scroll {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .lcms-anim-on-scroll .lcms-stagger > * {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
