html { scroll-behavior: smooth; }

/* ── Fire glow effects ── */
.glow-fire {
  box-shadow: 0 0 20px rgba(239,68,68,0.3), 0 0 60px rgba(239,68,68,0.1);
}
.glow-fire-sm {
  box-shadow: 0 0 15px rgba(239,68,68,0.25), 0 0 40px rgba(239,68,68,0.08);
}
.glow-fire-intense {
  box-shadow: 0 0 30px rgba(239,68,68,0.5), 0 0 80px rgba(249,115,22,0.2);
}
.text-glow-fire {
  text-shadow: 0 0 30px rgba(239,68,68,0.5), 0 0 60px rgba(239,68,68,0.2);
}
.text-glow-fire-sm {
  text-shadow: 0 0 15px rgba(239,68,68,0.4);
}

/* ── Gradient text ── */
.gradient-text-fire {
  background: linear-gradient(135deg, #ef4444, #f97316, #ef4444);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.gradient-text-white {
  background: linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,0.6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Card hover glow ── */
.card-fire {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  transition: box-shadow 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
}
.card-fire:hover {
  box-shadow: 0 0 30px rgba(239,68,68,0.12), 0 0 60px rgba(239,68,68,0.04);
  border-color: rgba(239,68,68,0.2);
  transform: translateY(-3px);
}

/* ── Animated background orbs ── */
.orb-fire {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}
.orb-fire-1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(239,68,68,0.12) 0%, transparent 70%);
  top: -200px; right: -200px;
  animation: orb-float 8s ease-in-out infinite;
}
.orb-fire-2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(249,115,22,0.08) 0%, transparent 70%);
  bottom: -100px; left: -150px;
  animation: orb-float 10s ease-in-out infinite reverse;
}
.orb-fire-3 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(239,68,68,0.06) 0%, transparent 70%);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  animation: orb-float 12s ease-in-out infinite;
}
@keyframes orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -20px) scale(1.05); }
  66% { transform: translate(-20px, 15px) scale(0.95); }
}

/* ── CTA pulse ── */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(239,68,68,0.4), 0 0 40px rgba(239,68,68,0.1); }
  50% { box-shadow: 0 0 30px rgba(239,68,68,0.6), 0 0 60px rgba(249,115,22,0.2); }
}
.animate-pulse-glow {
  animation: pulse-glow 3s ease-in-out infinite;
}

/* ── Gradient line separator ── */
.line-fire {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(239,68,68,0.3), transparent);
}

/* ── FAQ accordion ── */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.35s ease, padding 0.35s ease;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.faq-item.open .faq-content {
  opacity: 1;
}
.faq-chevron {
  transition: transform 0.3s ease;
}
.faq-item.open .faq-chevron {
  transform: rotate(180deg);
}

/* ── Scroll fade-in ── */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── Nav backdrop ── */
.nav-blur {
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
}

/* ── Step number ring ── */
.step-ring {
  box-shadow: 0 0 0 2px rgba(239,68,68,0.3), 0 0 20px rgba(239,68,68,0.15);
}

/* ── Feature icon glow ── */
.icon-fire {
  color: #ef4444;
  filter: drop-shadow(0 0 8px rgba(239,68,68,0.4));
}

/* ── Mobile nav ── */
.mobile-nav {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.mobile-nav.open {
  max-height: 400px;
}

/* ── Form focus ring ── */
.input-fire:focus {
  outline: none;
  box-shadow: 0 0 0 1px rgba(239,68,68,0.4), 0 0 15px rgba(239,68,68,0.1);
  border-color: rgba(239,68,68,0.4);
}

/* ── Badge shimmer ── */
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.badge-shimmer {
  background: linear-gradient(90deg, rgba(239,68,68,0.1) 0%, rgba(239,68,68,0.25) 50%, rgba(239,68,68,0.1) 100%);
  background-size: 200% 100%;
  animation: shimmer 4s linear infinite;
}
