body {
  font-family: "Inter", sans-serif;
}
/* Gradiente de fondo sutil para toda la página */
.bg-gradient-dark {
  background: linear-gradient(to bottom, #0d1117, #161b22 60%, #1a202c);
}
/* Estilo para elementos que aparecerán al hacer scroll */
.reveal-element {
  opacity: 0;
  transform: translateY(
    80px
  ); /* Aumento del desplazamiento para un efecto más notorio */
  transition: opacity 1.2s ease-out, transform 1.2s ease-out; /* Transición un poco más larga y suave */
}
.reveal-element.visible {
  opacity: 1;
  transform: translateY(0);
}
/* Animación para el título principal */
.hero-title-typing::after {
  content: "|";
  animation: blink 0.7s step-end infinite; /* Parpadeo más rápido */
}
@keyframes blink {
  from,
  to {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
.pulse-ring {
  position: absolute; /* or relative depending on parent */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* center element */
}
/* Animación de pulso para el botón CTA */
.pulse-ring {
  animation: pulse-ring 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite; /* Curva de tiempo ajustada */
}
@keyframes pulse-ring {
  0% {
    transform: translate(-50%, -50%) scale(0.3);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 0;
  }
}
/* Efecto hover para las cards */
.card-hover-effect:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 30px rgba(0, 255, 170, 0.15); /* Sombra de color de acento */
  border-color: #34d399; /* Borde de color de acento */
}
