.fade-up-glow,
.fade-in-scale-soft,
.slide-fade-right,
.blur-fade,
.stagger-children>* {
  opacity: 0;
}

.animate-active.fade-up-glow {
  animation: fade-up-glow 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.animate-active.fade-in-scale-soft {
  animation: fade-in-scale-soft 1s ease-out forwards;
}

.animate-active.slide-fade-right {
  animation: slide-fade-right 0.9s ease-out forwards;
}

.animate-active.blur-fade {
  animation: blur-fade 1.2s ease-out forwards;
}

/* Stagger: активировать только после появления родителя */
.animate-active.stagger-children>* {
  opacity: 1;
}

@keyframes fade-up-glow {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: drop-shadow(0 0 0 rgba(56, 189, 248, 0));
  }

  60% {
    opacity: 1;
    transform: translateY(0);
    filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.4));
  }

  100% {
    opacity: 1;
    filter: drop-shadow(0 0 0 rgba(56, 189, 248, 0));
  }
}

.fade-up-glow {
  animation: fade-up-glow 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}


/* Smooth scale & blur dissolve */
@keyframes fade-in-scale-soft {
  from {
    opacity: 0;
    transform: scale(0.94);
    filter: blur(6px);
  }

  to {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}

.fade-in-scale-soft {
  animation: fade-in-scale-soft 1s ease-out forwards;
}


/*  Slide in from left */
@keyframes slide-fade-right {
  from {
    opacity: 0;
    transform: translateX(-140px);
    filter: blur(4px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
    filter: blur(0);
  }
}

.slide-fade-right {
  animation: slide-fade-right 0.9s ease-out forwards;
}


/*  Clean minimal blur fade */
@keyframes blur-fade {
  from {
    opacity: 0;
    filter: blur(12px) brightness(0.7);
  }

  to {
    opacity: 1;
    filter: blur(0) brightness(1);
  }
}

.blur-fade {
  animation: blur-fade 1.2s ease-out forwards;
}


/* Neon breathing glow */
@keyframes glow-pulse {

  0%,
  100% {
    filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.5));
  }

  50% {
    filter: drop-shadow(0 0 18px rgba(56, 189, 248, 0.9));
  }
}

.glow-pulse {
  animation: glow-pulse 2.5s ease-in-out infinite;
}


/* Smooth stagger appearance */
.stagger-children>* {
  opacity: 0;
  transform: translateY(10px);
  animation: fade-up-glow 0.9s ease-out forwards;
}

.stagger-children>*:nth-child(1) {
  animation-delay: 0s;
}

.stagger-children>*:nth-child(2) {
  animation-delay: 0.1s;
}

.stagger-children>*:nth-child(3) {
  animation-delay: 0.2s;
}

.stagger-children>*:nth-child(4) {
  animation-delay: 0.3s;
}

@keyframes breath {

  0%,
  100% {
    opacity: 0.35;
    transform: scale(1);
  }

  50% {
    opacity: 0.6;
    transform: scale(1.05);
  }
}

.animate-breath {
  animation: breath 6s ease-in-out infinite;
}