/**
 * Animasi scroll — fade + naik halus, GPU-friendly, ramah laptop & HP.
 */

.scroll-reveal {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
}

.scroll-reveal.scroll-reveal--left {
    transform: translate3d(-24px, 0, 0);
}

.scroll-reveal.scroll-reveal--right {
    transform: translate3d(24px, 0, 0);
}

.scroll-reveal.scroll-reveal--scale {
    transform: translate3d(0, 18px, 0) scale(0.97);
}

.scroll-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.scroll-reveal.is-visible.scroll-reveal--scale {
    transform: translate3d(0, 0, 0) scale(1);
}

/* Hero / sambutan — animasi lebih lembut saat pertama tampil */
.scroll-reveal.scroll-reveal--hero {
    transform: translate3d(0, 20px, 0) scale(0.98);
}

.scroll-reveal.scroll-reveal--hero.is-visible {
    transform: translate3d(0, 0, 0) scale(1);
    transition-duration: 0.7s;
}

@media (max-width: 767.98px) {
    .scroll-reveal {
        transform: translate3d(0, 18px, 0);
        transition-duration: 0.42s;
    }

    .scroll-reveal.scroll-reveal--left,
    .scroll-reveal.scroll-reveal--right {
        transform: translate3d(0, 18px, 0);
    }

    .scroll-reveal.scroll-reveal--left.is-visible,
    .scroll-reveal.scroll-reveal--right.is-visible {
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-reveal {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        will-change: auto;
    }
}
