:root {
  --brand-from: #2563eb;
  --brand-to: #f43f5e;
}

* { scroll-behavior: smooth; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  background: #ffffff;
  color: #1e293b;
  -webkit-font-smoothing: antialiased;
}

/* 渐变文字 */
.gradient-text {
  background: linear-gradient(90deg, var(--brand-from), var(--brand-to));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 网格背景 */
.bg-grid {
  background-image:
    linear-gradient(rgba(37, 99, 235, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244, 63, 94, 0.05) 1px, transparent 1px);
  background-size: 42px 42px;
}

/* 滚动毛玻璃导航 */
.nav-blur {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 6px 28px rgba(37, 99, 235, 0.10);
}

/* 卡片悬浮 */
.card-hover {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 22px 48px -20px rgba(244, 63, 94, 0.35);
  border-color: rgba(244, 63, 94, 0.4);
}

/* 按钮发光 */
.btn-glow {
  box-shadow: 0 12px 32px -10px rgba(244, 63, 94, 0.55);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px -10px rgba(244, 63, 94, 0.72);
}

/* 入场动画 */
.fade-in {
  animation: fadeUp .8s ease both;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

/* FAQ */
.faq-item {
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .3s ease, border-color .3s ease;
}
.faq-item.active {
  border-color: rgba(244, 63, 94, 0.4);
  box-shadow: 0 12px 32px -14px rgba(244, 63, 94, 0.35);
}
.faq-question {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.3rem;
  font-weight: 600;
  color: #0f172a;
  user-select: none;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  color: #475569;
  padding: 0 1.3rem;
}
.faq-item.active .faq-answer {
  max-height: 240px;
  padding: 0 1.3rem 1.2rem;
}
.faq-icon { transition: transform .3s ease; color: var(--brand-to); }
.faq-item.active .faq-icon { transform: rotate(180deg); }

/* 页头横幅（多页共用） */
.page-hero {
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(37, 99, 235, 0.12), transparent),
    radial-gradient(1000px 420px at 85% 0%, rgba(244, 63, 94, 0.12), transparent);
}

/* 步骤连接线 */
.step-line {
  background: linear-gradient(90deg, var(--brand-from), var(--brand-to));
}
