/* ===== 024 - 加拿大28 专业分析与预测中心 ===== */
html { scroll-behavior: smooth; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }

/* Navbar */
.navbar-blur { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.navbar-scrolled { background: rgba(255,255,255,0.98) !important; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }

/* Hero gradient */
.hero-gradient { background: linear-gradient(135deg, #eef2ff 0%, #e0f2fe 50%, #f0fdf4 100%); }

/* Feature card hover */
.feature-card { transition: all 0.3s ease; }
.feature-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(79,70,229,0.12); }
.feature-card .icon-box { transition: all 0.3s ease; }
.feature-card:hover .icon-box { transform: scale(1.1); background: linear-gradient(135deg, #4f46e5, #3b82f6); color: #fff; }

/* Stats */
.stat-number { font-variant-numeric: tabular-nums; }

/* Testimonial */
.testimonial-card { transition: all 0.3s ease; }
.testimonial-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,0.08); }

/* FAQ accordion */
.faq-item { border-bottom: 1px solid #e5e7eb; }
.faq-question { cursor: pointer; transition: color 0.2s; }
.faq-question:hover { color: #4f46e5; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.35s ease, padding 0.35s ease; }
.faq-answer.open { max-height: 500px; padding-top: 0.75rem; padding-bottom: 1rem; }

/* CTA gradient */
.cta-gradient { background: linear-gradient(135deg, #4338ca 0%, #4f46e5 40%, #3b82f6 100%); }

/* Pulse animation for CTA button */
@keyframes pulse-glow { 0%,100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.4); } 50% { box-shadow: 0 0 0 15px rgba(255,255,255,0); } }
.btn-pulse { animation: pulse-glow 2s infinite; }

/* Fade in up */
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fadeInUp 0.6s ease forwards; }
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }

/* Mobile */
@media (max-width: 768px) {
  .hero-gradient { background: linear-gradient(180deg, #eef2ff 0%, #e0f2fe 100%); }
}
