/* animations.css */

@keyframes floatSoft {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-7px);
  }
}

@keyframes pulseSoft {
  0%, 100% {
    transform: scale(.9);
    opacity: .35;
  }

  50% {
    transform: scale(1.22);
    opacity: .05;
  }
}

@keyframes spinSoft {
  to {
    transform: rotate(360deg);
  }
}

@keyframes clickRipple {
  0% {
    opacity: .9;
    transform: translate(-50%, 50%) scale(.2);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, 50%) scale(7);
  }
}

@keyframes pdfTap {
  0%, 100% {
    transform: scale(1);
  }

  35% {
    transform: scale(.88);
  }

  70% {
    transform: scale(1.08);
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-float {
  animation: floatSoft 3.4s ease-in-out infinite;
}

.animate-fade-up {
  animation: fadeUp .7s ease both;
}

.animate-pulse {
  animation: pulseSoft 2.3s ease-in-out infinite;
}

.animate-spin {
  animation: spinSoft 1.8s linear infinite;
}