/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays */
.reveal-delay-1 { transition-delay: 0.06s; }
.reveal-delay-2 { transition-delay: 0.12s; }
.reveal-delay-3 { transition-delay: 0.17s; }
.reveal-delay-4 { transition-delay: 0.22s; }
.reveal-delay-5 { transition-delay: 0.28s; }
.reveal-delay-6 { transition-delay: 0.32s; }
.reveal-delay-7 { transition-delay: 0.38s; }
.reveal-delay-8 { transition-delay: 0.42s; }
.reveal-delay-9 { transition-delay: 0.48s; }

/* Hero entrance */
.hero-content {
  animation: fadeInUp 0.8s ease both;
}

.hero-logo {
  animation: fadeInUp 0.8s ease both, glowPulse 4s ease-in-out infinite;
}

.hero h1 {
  animation: fadeInUp 0.8s ease 0.15s both;
}

.hero-tagline {
  animation: fadeInUp 0.8s ease 0.3s both;
}

.hero-buttons {
  animation: fadeInUp 0.8s ease 0.45s both;
}

.hero-scroll {
  animation: fadeInUp 0.8s ease 0.6s both;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glowPulse {
  0%, 100% {
    filter: drop-shadow(0 0 25px rgba(0, 170, 255, 0.2));
  }
  50% {
    filter: drop-shadow(0 0 40px rgba(0, 170, 255, 0.35));
  }
}

/* Feature card hover accent */
.feature-card {
  position: relative;
  overflow: hidden;
}

.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-blue), transparent);
  opacity: 0;
  transition: opacity var(--transition-normal);
}

.feature-card:hover::before {
  opacity: 1;
}

.screenshot-frame {
  transition: transform 0.5s ease;
}

.screenshot-frame:hover {
  transform: scale(1.01);
}

.qs-step {
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Download CTA pulse */
@keyframes subtlePulse {
  0%, 100% {
    box-shadow: 0 4px 20px rgba(0, 170, 255, 0.3);
  }
  50% {
    box-shadow: 0 4px 30px rgba(0, 170, 255, 0.45);
  }
}

.download-section .btn-primary {
  animation: subtlePulse 3s ease-in-out infinite;
}

.download-section .btn-primary:hover {
  animation: none;
}
