/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Fade-in on scroll animation */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}
.step-card, .benefit-card {
  animation: fadeUp 0.6s ease-out both;
}
.step-card:nth-child(2), .benefit-card:nth-child(2) { animation-delay: 0.15s; }
.step-card:nth-child(3), .benefit-card:nth-child(3) { animation-delay: 0.3s; }
.benefit-card:nth-child(4) { animation-delay: 0.45s; }

/* CTA button pulse */
#cta-submit, #cta-final {
  animation: subtlePulse 2.5s ease-in-out infinite;
}
@keyframes subtlePulse {
  0%, 100% { box-shadow: 0 4px 14px rgba(245,158,11,0.4); }
  50% { box-shadow: 0 8px 30px rgba(245,158,11,0.65); }
}

/* Form field focus glow */
input:focus, select:focus {
  box-shadow: 0 0 0 3px rgba(14,165,233,0.15);
}

/* Hero badge shimmer */
section#hero p:first-child {
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
}
@keyframes shimmer {
  to { background-position: 200% center; }
}
