/* =========================================================
   JJ Gomez · service-page scroll motion
   Content remains visible when JavaScript is unavailable.
   ========================================================= */

.jj-motion-ready .jj-service-pattern .jj-motion-item {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    transition:
        opacity 560ms cubic-bezier(.22, 1, .36, 1),
        transform 620ms cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--jj-motion-delay, 0ms);
    will-change: opacity, transform;
}

.jj-motion-ready .jj-service-pattern .jj-motion-from-left {
    transform: translate3d(-22px, 0, 0);
}

.jj-motion-ready .jj-service-pattern .jj-motion-from-right {
    transform: translate3d(22px, 0, 0);
}

.jj-motion-ready .jj-service-pattern .jj-motion-scale {
    transform: translate3d(0, 14px, 0) scale(.985);
}

.jj-motion-ready .jj-service-pattern .jj-motion-item.jj-motion-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .jj-motion-ready .jj-service-pattern .jj-motion-item {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

