/* ==================================================
   Animate Lite (inspirado en Animate.css v4)
   Solo lo necesario para efecto "PPT" profesional
   ================================================== */

  :root{
    /* Balanced duration/easing for visible but smooth animations */
    --anim-duration: 1000ms;
    --anim-ease: cubic-bezier(.2,.9,.25,1);
  }
  
  /* Clase base */
  .animated{
    animation-duration: var(--anim-duration);
    animation-fill-mode: both;
    animation-timing-function: var(--anim-ease);
  }
  
  /* Delays */
  .delay-1{ animation-delay: .10s; }
  .delay-2{ animation-delay: .22s; }
  .delay-3{ animation-delay: .34s; }
  .delay-4{ animation-delay: .46s; }
  
  /* ============ Keyframes ============ */
  
  /* Fade In Up */
  @keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 48px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
  }
  .fadeInUp{ animation-name: fadeInUp; }
  
  /* Fade In Left */
  @keyframes fadeInLeft {
    from { opacity: 0; transform: translate3d(-72px, 0, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
  }
  .fadeInLeft{ animation-name: fadeInLeft; }
  
  /* Fade In Right */
  @keyframes fadeInRight {
    from { opacity: 0; transform: translate3d(72px, 0, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
  }
  .fadeInRight{ animation-name: fadeInRight; }
  
  /* Zoom In */
  @keyframes zoomIn {
    from { opacity: 0; transform: scale3d(.92,.92,.92); filter: blur(0px); }
    to   { opacity: 1; transform: scale3d(1,1,1); }
  }
  .zoomIn{ animation-name: zoomIn; }
  
  /* Soft Fade */
  @keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
  }
  .fadeIn{ animation-name: fadeIn; }
  
  /* Accesibilidad */
  @media (prefers-reduced-motion: reduce){
    .animated{ animation: none !important; }
  }
  