@charset "UTF-8";
/* CSS ANIMACIONES */
/*====================================
    ANIMATIONS
    ISACA SUMMIT 2026
====================================*/
/*------------------------------------
  APARICIÓN SUAVE AL CARGAR
------------------------------------*/
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp .8s ease forwards;
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*------------------------------------
  TARJETAS FLOAT
------------------------------------*/
.card-hover {
  transition:
    transform .35s ease, box-shadow .35s ease;
}
.card-hover:hover {
  transform:
    translateY(-12px);
  box-shadow:
    0 25px 60px rgba(0, 0, 0, .18);
}
/*------------------------------------
  GLOW TECNOLÓGICO
------------------------------------*/
.glow-hover {
  transition: .4s ease;
}
.glow-hover:hover {
  box-shadow:
    0 0 35px rgba(0, 164, 228, .45);
}
/*------------------------------------
  PULSO ROJO XV ANIVERSARIO
------------------------------------*/
.pulse-red {
  animation: pulseRed 3s infinite;
}
@keyframes pulseRed {
  0% {
    box-shadow:
      0 0 0 0 rgba(227, 24, 55, .5);
  }
  70% {
    box-shadow:
      0 0 0 18px rgba(227, 24, 55, 0);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(227, 24, 55, 0);
  }
}
/*------------------------------------
  BRILLO EN BOTONES
------------------------------------*/
.btn-glow {
  position: relative;
  overflow: hidden;
}
.btn-glow::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(120deg, transparent, rgba(255, 255, 255, .45), transparent);
  transition: .6s;
}
.btn-glow:hover::before {
  left: 100%;
}
/*------------------------------------
  MOVIMIENTO SUAVE
------------------------------------*/
.float {
  animation: floating 5s ease-in-out infinite;
}
@keyframes floating {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}
/*------------------------------------
  REVELADO DE SECCIONES
------------------------------------*/
.reveal {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity .8s ease, transform .8s ease;
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}