/* Анимации quiettrajectory: рост, плавное появление, мерцание акцентов */

@keyframes qt-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes qt-pulse-soft {
  0% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.02);
  }
  100% {
    opacity: 0.6;
    transform: scale(1);
  }
}

@keyframes qt-glow {
  0% {
    box-shadow: 0 0 0 rgba(34, 197, 94, 0.0);
  }
  50% {
    box-shadow: 0 0 40px rgba(34, 197, 94, 0.45);
  }
  100% {
    box-shadow: 0 0 0 rgba(34, 197, 94, 0.0);
  }
}

@keyframes qt-fade-in {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.qt-fade-in-up {
  animation: qt-fade-in-up 700ms ease-out both;
}

.qt-pulse-soft {
  animation: qt-pulse-soft 2600ms ease-in-out infinite;
}

.qt-glow {
  animation: qt-glow 2800ms ease-in-out infinite;
}

.qt-fade-in {
  animation: qt-fade-in 420ms ease-out forwards;
}


