[data-animate] {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-animate].is-visible {
    opacity: 1;
    transform: translateY(0);
}

[data-animate="fade-left"] {
    transform: translateX(-30px);
}

[data-animate="fade-left"].is-visible {
    transform: translateX(0);
}

[data-animate="fade-right"] {
    transform: translateX(30px);
}

[data-animate="fade-right"].is-visible {
    transform: translateX(0);
}

[data-animate="scale-up"] {
    transform: scale(0.95);
}

[data-animate="scale-up"].is-visible {
    transform: scale(1);
}

[data-stagger] > *:nth-child(1) { transition-delay: 0.1s; }
[data-stagger] > *:nth-child(2) { transition-delay: 0.2s; }
[data-stagger] > *:nth-child(3) { transition-delay: 0.3s; }
[data-stagger] > *:nth-child(4) { transition-delay: 0.4s; }

/* How It Works connecting line pulse */
.hiw-line-pulse {
    transform: translateX(-100%);
    animation: hiwPulse 3s ease-in-out infinite;
}

@keyframes hiwPulse {
    0%   { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
    [data-animate] {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
