/* ============================================================
   animations.css
   Keyframes y clases de animación reutilizables.
   ============================================================ */

/* ── Entrada desde abajo ── */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Pulso para el botón de WhatsApp ── */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 4px 20px rgba(37, 211, 102, .4);
  }
  50% {
    box-shadow: 0 4px 32px rgba(37, 211, 102, .7);
  }
}

/* ── Scroll reveal ──────────────────────────────────────────
   Los elementos con clase .reveal comienzan ocultos.
   scroll-reveal.js añade .visible cuando entran al viewport.
   ────────────────────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}

.reveal.visible {
  opacity: 1;
  transform: none;
}

