/* ================================================================
   ANIMATIONS.CSS — Librería central de animaciones Aramark
   ================================================================ */

/* ----------------------------------------------------------------
   KEYFRAMES
   ---------------------------------------------------------------- */

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(22px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-18px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-24px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(24px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.94); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes slideUp {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

/* ----------------------------------------------------------------
   SCROLL REVEAL — estado inicial invisible, activado con .is-visible
   ---------------------------------------------------------------- */

.anim--reveal {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.50s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.50s cubic-bezier(0.22, 1, 0.36, 1);
}

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

/* Variante desde izquierda */
.anim--reveal-left {
    opacity: 0;
    transform: translateX(-20px);
    transition:
        opacity 0.50s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.50s cubic-bezier(0.22, 1, 0.36, 1);
}

.anim--reveal-left.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Variante escala */
.anim--reveal-scale {
    opacity: 0;
    transform: scale(0.96);
    transition:
        opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.anim--reveal-scale.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* Delays para grupos scroll-reveal */
.anim--reveal-delay-1,
.anim--reveal-left.anim--reveal-delay-1,
.anim--reveal-scale.anim--reveal-delay-1 { transition-delay: 0.06s; }

.anim--reveal-delay-2,
.anim--reveal-left.anim--reveal-delay-2,
.anim--reveal-scale.anim--reveal-delay-2 { transition-delay: 0.12s; }

.anim--reveal-delay-3,
.anim--reveal-left.anim--reveal-delay-3,
.anim--reveal-scale.anim--reveal-delay-3 { transition-delay: 0.18s; }

/* ----------------------------------------------------------------
   COUNTER ANIMADO
   (animations.js anima .msg-hero__stat-num y .orders-hero__num)
   ---------------------------------------------------------------- */

