html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; }

/* ============ 核心类名 ============ */
.gradient-text {
  background: linear-gradient(120deg, #4f46e5 0%, #06b6d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.bg-grid {
  background-image: linear-gradient(rgba(6,182,212,.07) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(6,182,212,.07) 1px, transparent 1px);
  background-size: 44px 44px;
}
.nav-blur {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 8px 30px rgba(6,182,212,.10);
}
.card-hover {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.card-hover:hover {
  transform: translateY(-9px);
  box-shadow: 0 26px 54px -20px rgba(6,182,212,.40);
  border-color: #22d3ee;
}
.btn-glow {
  box-shadow: 0 12px 30px -6px rgba(6,182,212,.50);
}
.btn-glow:hover { box-shadow: 0 18px 44px -8px rgba(6,182,212,.62); }
.fade-in { animation: fadeInUp .85s ease both; }
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============ FAQ 手风琴 ============ */
.faq-item { border-bottom: 1px solid #e5e7eb; }
.faq-question { cursor: pointer; }
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease, padding .4s ease;
}
.faq-item.active .faq-answer { max-height: 280px; padding-bottom: 1.25rem; }
.faq-icon { transition: transform .4s ease; }
.faq-item.active .faq-icon { transform: rotate(180deg); }

/* ============ 页面通用头部 ============ */
.page-hero {
  padding-top: 9rem;
  padding-bottom: 4rem;
}
