html {
  scroll-behavior: smooth;
}

.faq-answer {
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.faq-answer.open {
  display: block;
}

.faq-icon.rotated {
  transform: rotate(180deg);
}

/* Sticky CTA on mobile */
@media (max-width: 640px) {
  .sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 40;
    padding: 12px 16px;
    background: white;
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
  }
}

/* Subtle scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

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