@keyframes fadeUpSoft {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glowPulse {
  0% {
    box-shadow: var(--shadow-soft), 0 0 20px rgba(37, 99, 235, 0.45);
  }
  50% {
    box-shadow: var(--shadow-soft), 0 0 45px rgba(37, 99, 235, 0.9);
  }
  100% {
    box-shadow: var(--shadow-soft), 0 0 20px rgba(37, 99, 235, 0.45);
  }
}

/* Hero елементи – входна анимация */
.hero-content,
.hero-visual {
  opacity: 0;
  transform: translateY(22px);
}

.hero-animated-in {
  animation: fadeUpSoft 0.7s ease-out forwards;
}

.hero-animated-in-delay {
  animation: fadeUpSoft 0.8s ease-out 0.12s forwards;
}

/* Utility класове за анимация при скрол */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Pulsing за основния CTA бутон */
.btn-pulse {
  animation: glowPulse 2.2s ease-in-out infinite;
}
@keyframes floatSoft {
  0% {
    transform: translateY(0) translateZ(0);
  }
  50% {
    transform: translateY(-8px) translateZ(0);
  }
  100% {
    transform: translateY(0) translateZ(0);
  }
}

/* леко плаване на картите */
.hero-card--main {
  animation: floatSoft 6s ease-in-out infinite;
}

.hero-card--secondary {
  animation: floatSoft 7s ease-in-out infinite;
}