html { scroll-behavior: smooth; }

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

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

/* 滚动毛玻璃导航 */
.nav-blur {
  background: rgba(255, 255, 255, 0.86) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 30px rgba(37, 99, 235, 0.12);
}

/* 卡片 hover */
.card-hover {
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.card-hover:hover {
  transform: translateY(-10px);
  box-shadow: 0 26px 54px -14px rgba(147, 51, 234, 0.30);
  border-color: rgba(147, 51, 234, 0.35);
}

/* 按钮发光 */
.btn-glow {
  box-shadow: 0 10px 28px -6px rgba(147, 51, 234, 0.55);
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-glow:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 38px -6px rgba(147, 51, 234, 0.78);
}

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

/* FAQ 手风琴 */
.faq-item { border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; background: #fff; }
.faq-question { cursor: pointer; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; padding: 0 1.5rem; }
.faq-item.open .faq-answer { max-height: 300px; padding: 0 1.5rem 1.25rem; }
.faq-icon { transition: transform .3s ease; }
.faq-item.open .faq-icon { transform: rotate(180deg); }

/* 多页：子页面顶部标题条 */
.page-hero {
  background-image:
    linear-gradient(rgba(37, 99, 235, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147, 51, 234, 0.06) 1px, transparent 1px);
  background-size: 44px 44px;
}
