/* animations.css */

/* --- Scroll Reveals --- */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* --- Dashboard Float --- */
@keyframes floatSoft {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}

.animate-float {
  animation: floatSoft 6s ease-in-out infinite;
}

/* --- Pulse --- */
@keyframes pulseGlow {
  0% { box-shadow: 0 0 0 0 rgba(6, 182, 212, 0.4); }
  70% { box-shadow: 0 0 0 15px rgba(6, 182, 212, 0); }
  100% { box-shadow: 0 0 0 0 rgba(6, 182, 212, 0); }
}

.animate-pulse {
  animation: pulseGlow 2s infinite;
}


/* --- Enhanced Hero Animations --- */
@keyframes ping {
  75%, 100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

.text-gradient-animated {
  background: linear-gradient(to right, var(--primary-color), var(--accent-cyan), var(--primary-color));
  background-size: 200% auto;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  animation: shine 4s linear infinite;
}

@keyframes shine {
  to {
    background-position: -200% center;
  }
}

.btn-hover-animate {
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.btn-hover-animate:hover {
  transform: translateY(-3px);
}
.btn-hover-animate:hover .btn-arrow {
  transform: translateX(4px);
}

.hero-orb {
  position: absolute;
  top: -50px;
  left: -50px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, rgba(255,255,255,0) 65%);
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  animation: floatOrb 8s ease-in-out infinite alternate;
}

@keyframes floatOrb {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(30px, 30px) scale(1.1); }
}


@keyframes flowAnim {
  0% { transform: translate(0, 0) rotate(0deg) scale(1); }
  33% { transform: translate(8%, 12%) rotate(5deg) scale(1.1); }
  66% { transform: translate(-8%, 8%) rotate(-5deg) scale(0.9); }
  100% { transform: translate(12%, -8%) rotate(3deg) scale(1.15); }
}

/* --- Problems Carousel --- */
.problems-carousel-track {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.problem-card {
  position: absolute;
  width: 500px;
  background: var(--bg-light);
  padding: 40px;
  cursor: pointer;
  border-radius: var(--radius-xl);
  will-change: transform, opacity;
}

/* Hover effect on center card handled via JS classes or pseudo */
.problem-card:hover {
  /* Only apply small hover bump, let JS handle the main state */
}
