html { scroll-behavior: smooth; }
body { background: #0b0d12; }

/* 滚动渐显 */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.active { opacity: 1; transform: none; }

/* 玻璃卡片 / 渐变文字 */
.glass { background: rgba(18,21,29,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.06); }
.text-gradient { background: linear-gradient(90deg,#fb7a3c,#f95716 45%,#fda874); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* 卡片悬停 */
.card-hover { transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease; }
.card-hover:hover { transform: translateY(-8px); box-shadow: 0 24px 48px -16px rgba(249,87,22,.4); border-color: rgba(249,87,22,.55); }

/* 导航 */
.nav-link { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .85rem; border-radius: .75rem; font-size: .875rem; color: #cbd5e1; transition: all .25s; }
.nav-link:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav-link.active { color: #fb7a3c; background: rgba(249,87,22,.12); }
#site-header.scrolled { background: rgba(11,13,18,.85); backdrop-filter: blur(16px); box-shadow: 0 1px 0 rgba(255,255,255,.06); }

/* 走马灯遮罩 */
.marquee-mask { mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); -webkit-mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }

/* FAQ */
details summary::-webkit-details-marker { display: none; }
details[open] .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .3s ease; }

/* 骨架闪光 */
.shimmer { background: linear-gradient(90deg,#1a1e29 25%,#242938 50%,#1a1e29 75%); background-size: 200% 100%; }

/* 滚动条 */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0b0d12; }
::-webkit-scrollbar-thumb { background: #323848; border-radius: 8px; }
::-webkit-scrollbar-thumb:hover { background: #f95716; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .animate-float, .animate-float-slow, .animate-spin-slow, .animate-marquee { animation: none; }
}
