:root {
  --c1: #4f46e5;
  --c2: #9333ea;
}

html { scroll-behavior: smooth; }

body {
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
}

/* 渐变大标题文字 */
.gradient-text {
  background: linear-gradient(120deg, var(--c1), var(--c2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 背景网格纹理 */
.bg-grid {
  background-image:
    linear-gradient(rgba(147, 51, 234, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 51, 234, .07) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* 导航毛玻璃 */
.nav-blur {
  background: rgba(255, 255, 255, .8);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 1px 24px rgba(79, 70, 229, .1);
}

/* 卡片悬浮 */
.card-hover {
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.card-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 55px -20px rgba(147, 51, 234, .38);
  border-color: rgba(147, 51, 234, .4);
}

/* 按钮光晕 */
.btn-glow {
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px -10px rgba(79, 70, 229, .6);
}

/* 入场动画 */
.fade-in {
  animation: fadeIn .8s ease both;
}
@keyframes fadeIn {
  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;
}
.faq-item.open {
  box-shadow: 0 16px 42px -20px rgba(147, 51, 234, .35);
}
.faq-question {
  cursor: pointer;
  padding: 18px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 600;
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  padding: 0 22px;
  color: #475569;
  line-height: 1.8;
}
.faq-item.open .faq-answer {
  max-height: 300px;
  padding-bottom: 22px;
}
.faq-icon {
  transition: transform .3s ease;
  color: var(--c2);
}
.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: 340px;
}
