.motion-ready .reveal-item {
    opacity: 0;
    transform: translateY(38px) scale(.975);
    transition: opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.motion-ready .reveal-item.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.motion-ready .service-card:nth-child(1) {
    transform: translate(-34px, 28px) scale(.975);
}

.motion-ready .service-card:nth-child(3) {
    transform: translate(34px, 28px) scale(.975);
}

.motion-ready .service-card.is-visible {
    transform: translate(0, 0) scale(1);
}

.motion-ready .stat img {
    transform: scale(.65) rotate(-8deg);
    opacity: 0;
    transition: opacity .55s ease, transform .7s cubic-bezier(.34,1.56,.64,1);
    transition-delay: calc(var(--reveal-delay, 0ms) + 120ms);
}

.motion-ready .stat.is-visible img {
    transform: scale(1) rotate(0);
    opacity: 1;
}

.motion-ready .stat h3 {
    transition: color .35s ease, transform .35s ease;
}

.motion-ready .stat.is-visible h3 {
    animation: serca-number-pulse .65s .35s both;
}

@keyframes serca-number-pulse {
    0% { transform: scale(.92); color: var(--serca-blue-dark); }
    65% { transform: scale(1.06); color: var(--serca-blue); }
    100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .motion-ready .reveal-item,
    .motion-ready .stat img,
    .motion-ready .stat h3 {
        opacity: 1;
        transform: none;
        animation: none;
        transition: none;
    }
}
