@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-32px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(32px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes pulse-soft {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}
@keyframes count-pop {
  0% { transform: scale(0.8); opacity: 0; }
  60% { transform: scale(1.05); }
  100% { transform: scale(1); opacity: 1; }
}
.animate-fade-in-up { animation: fadeInUp 0.7s ease-out forwards; }
.animate-fade-in { animation: fadeIn 0.6s ease-out forwards; }
.animate-slide-in-left { animation: slideInLeft 0.7s ease-out forwards; }
.animate-slide-in-right { animation: slideInRight 0.7s ease-out forwards; }
.animate-pulse-soft { animation: pulse-soft 3s ease-in-out infinite; }
.animate-count-pop { animation: count-pop 0.5s ease-out forwards; }
.animation-delay-100 { animation-delay: 0.1s; }
.animation-delay-200 { animation-delay: 0.2s; }
.animation-delay-300 { animation-delay: 0.3s; }
.animation-delay-400 { animation-delay: 0.4s; }
.opacity-0-start { opacity: 0; }
.stat-counter.is-visible .stat-number { animation: count-pop 0.6s ease-out forwards; }
.hero-bg-overlay {
  background: linear-gradient(135deg, rgba(29, 78, 216, 0.85) 0%, rgba(37, 99, 235, 0.55) 100%);
}
.mobile-nav-open { overflow: hidden; }
.swiper-button-prev-custom,
.swiper-button-next-custom {
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.swiper-button-prev-custom:hover,
.swiper-button-next-custom:hover { transform: scale(1.08); }
.swiper-pagination-custom .swiper-pagination-bullet {
  background-color: #E5E7EB;
  opacity: 1;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.swiper-pagination-custom .swiper-pagination-bullet-active {
  background-color: #2563EB;
  transform: scale(1.2);
}
.faq-panel { transition: max-height 0.25s ease; }
.form-toast { pointer-events: none; }
.legal-content h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-size: 1.25rem; font-weight: 700; color: #1F2937; }
.legal-content p { margin-bottom: 1rem; line-height: 1.625; color: #6B7280; }
.legal-content ul { margin-bottom: 1rem; padding-left: 1.5rem; list-style-type: disc; color: #6B7280; }
.legal-content li { margin-bottom: 0.5rem; }
.legal-content a { color: #2563EB; text-decoration: underline; }
.legal-content a:hover { color: #1D4ED8; }
