/**
 * Scroll reveal for landing section headings (blur + slide up).
 */

.landing-reveal {
    opacity: 0;
    transform: translate3d(0, 1.35rem, 0);
    filter: blur(8px);
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.landing-reveal.is-inview {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

.landing-reveal--stagger > * {
    opacity: 0;
    transform: translate3d(0, 1rem, 0);
    filter: blur(6px);
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: calc(var(--reveal-i, 0) * 0.07s);
}

.landing-reveal--stagger.is-inview > * {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
    .landing-reveal,
    .landing-reveal--stagger > * {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}
