:root { scroll-behavior: smooth; }
body { font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; }

/* ---- 渐变文字 ---- */
.gradient-text {
  background-image: linear-gradient(120deg, #2563eb, #9333ea);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---- 网格背景 ---- */
.bg-grid {
  background-image:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 46px 46px;
}

/* ---- 滚动毛玻璃导航 ---- */
.nav-blur {
  background-color: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 24px rgba(15,23,42,.08);
}

/* ---- 卡片悬浮 ---- */
.card-hover { transition: transform .35s ease, box-shadow .35s ease; }
.card-hover:hover { transform: translateY(-10px); box-shadow: 0 24px 48px rgba(147,51,234,.14); }

/* ---- 按钮发光 ---- */
.btn-glow { box-shadow: 0 0 26px rgba(147,51,234,.45); transition: box-shadow .3s ease, transform .3s ease; }
.btn-glow:hover { box-shadow: 0 0 42px rgba(147,51,234,.7); transform: translateY(-2px); }

/* ---- 入场动画 ---- */
.fade-in { opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

/* ---- FAQ 手风琴 ---- */
.faq-item { border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; transition: box-shadow .3s ease; }
.faq-item:hover { box-shadow: 0 10px 26px rgba(37,99,235,.08); }
.faq-question { cursor: pointer; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.faq-answer.open { max-height: 460px; }
.faq-icon { transition: transform .3s ease; }
.faq-item.open .faq-icon { transform: rotate(180deg); }

/* ---- 移动菜单 ---- */
.mobile-menu { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.mobile-menu.open { max-height: 420px; }

/* ---- 页面页头（内页复用） ---- */
.page-hero { position: relative; overflow: hidden; }
