/* ========== ACCTUAL-STYLE SCROLL ANIMATIONS ========== */
/* Fade up + blur reveal (Framer-style) */

[data-animate] {
    opacity: 0;
    transform: translateY(20px);
    filter: blur(4px);
    transition:
        opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.65s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform, filter;
}

[data-animate].revealed {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Staggered card items */
.service-card,
.why-card,
.testimonial-card,
.stat-item,
.process-step,
.process-connector {
    opacity: 0;
    transform: translateY(16px);
    filter: blur(3px);
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform, filter;
}

.service-card.revealed,
.why-card.revealed,
.testimonial-card.revealed,
.stat-item.revealed,
.process-step.revealed,
.process-connector.revealed {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* Floating hero cards entrance */
.floating-card {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
    filter: blur(4px);
    transition:
        opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
        filter 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform, filter;
}

.floating-card.revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
    [data-animate],
    .service-card,
    .why-card,
    .testimonial-card,
    .stat-item,
    .process-step,
    .process-connector,
    .floating-card {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
        animation: none;
    }
}
