@keyframes pulse-animation {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
  }
}

.pulse {
  animation: pulse-animation 1s ease-in-out infinite;
}

@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-up {
  opacity: 0; /* importante para evitar parpadeo inicial */
  animation: fade-up 2s ease forwards;
}

.delay-h2 {
  animation-delay: 2s;
}

.arrow-link:hover svg {
  animation: floatArrow 0.6s ease-in-out infinite alternate;
}

@keyframes floatArrow {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(4px, -4px);
  }
}

#hero-cycle {
  transition: opacity 0.3s ease;
}

#hero-cycle.fade {
  opacity: 0;
}

#scrollTopBtn {
  transition: opacity 0.3s ease;
}
