/* ==================================================
   ANIMACIONES PROFESIONALES
================================================== */

.reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
        opacity 700ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

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

.image-lift {
    transition:
        transform 700ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 700ms ease;
}

.image-lift:hover {
    transform: scale(1.035);
    filter: contrast(1.03) saturate(1.04);
}

.btn:hover {
    transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
    .reveal,
    .reveal.is-visible,
    .image-lift,
    .image-lift:hover,
    .btn,
    .service-card,
    .trust-item,
    .process-step {
        opacity: 1;
        transform: none;
        transition: none;
        animation: none;
    }
}
