/* 品牌视觉系统 (包含玻璃、渐变、阴影、暗黑) */
* { margin:0; padding:0; box-sizing:border-box; }
:root { --brand-primary:#003d5c; --brand-secondary:#0085a1; --brand-accent:#f4a261; --bg-light:#f8faff; --bg-dark:#0b1a2a; --text-primary:#1a2a3a; --text-secondary:#2c3e4e; --glass-bg:rgba(255,255,255,0.15); --glass-border:rgba(255,255,255,0.25); --shadow-sm:0 8px 20px rgba(0,0,0,0.06); --shadow-md:0 16px 40px rgba(0,0,0,0.08); --radius-md:20px; --radius-lg:32px; }
body { font-family:system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background:var(--bg-light); color:var(--text-primary); transition:background 0.2s, color 0.2s; scroll-behavior:smooth; line-height:1.5; }
.dark-mode { --bg-light:#0f1e2b; --text-primary:#e3eaf0; --text-secondary:#b6c8d6; --glass-bg:rgba(0,20,40,0.4); --shadow-sm:0 8px 20px rgba(0,0,0,0.4); --shadow-md:0 16px 40px rgba(0,0,0,0.6); }
a { color:var(--brand-secondary); text-decoration:none; }
.container { max-width:1280px; margin:0 auto; padding:0 24px; }
/* 吸顶导航 + 玻璃效果 */
.global-header { position:sticky; top:0; z-index:100; backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px); background:var(--glass-bg); border-bottom:1px solid var(--glass-border); box-shadow:var(--shadow-sm); }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:12px 0; flex-wrap:wrap; }
.logo svg { height:40px; width:auto; display:block; fill:var(--brand-primary); color:var(--brand-primary); }
.dark-mode .logo svg { fill:var(--brand-secondary); color:var(--brand-secondary); }
.nav-menu { display:flex; gap:1.8rem; align-items:center; flex-wrap:wrap; }
.nav-menu a { font-weight:500; color:var(--text-primary); padding:6px 0; border-bottom:2px solid transparent; transition:0.15s; font-size:1rem; }
.nav-menu a:hover, .nav-menu a.active { border-bottom-color:var(--brand-accent); color:var(--brand-secondary); }
.dark-toggle { background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:40px; padding:6px 14px; cursor:pointer; font-size:0.9rem; backdrop-filter:blur(4px); color:var(--text-primary); }
.mobile-menu-btn { display:none; background:transparent; border:none; font-size:2rem; cursor:pointer; color:var(--text-primary); }
/* 移动菜单 */
@media (max-width:860px) {
    .nav-menu { display:none; width:100%; flex-direction:column; align-items:flex-start; padding:20px 0 10px; gap:1rem; }
    .nav-menu.open { display:flex; }
    .mobile-menu-btn { display:block; }
}
/* 卡片布局，圆角，玻璃，阴影 */
.card { background:var(--glass-bg); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid var(--glass-border); border-radius:var(--radius-md); padding:32px 24px; box-shadow:var(--shadow-sm); transition:transform 0.2s, box-shadow 0.2s; }
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); }
.grid-2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:30px; }
.grid-3 { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:28px; }
.grid-4 { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:24px; }
/* 渐变Banner */
.hero-banner { background:linear-gradient(145deg, #003d5c 0%, #0085a1 70%, #004d6b 100%); border-radius:0 0 var(--radius-lg) var(--radius-lg); padding:60px 0 80px; color:white; margin-bottom:40px; box-shadow:0 20px 40px rgba(0,61,92,0.2); }
.dark-mode .hero-banner { background:linear-gradient(145deg, #001e30, #003d5c 80%, #002b40); }
.hero-content { display:flex; flex-direction:column; gap:24px; max-width:720px; }
.hero-content h1 { font-size:3rem; font-weight:700; letter-spacing:-0.02em; line-height:1.2; }
.hero-content p { font-size:1.25rem; opacity:0.9; max-width:600px; }
.btn-group { display:flex; gap:16px; flex-wrap:wrap; }
.btn { background:white; color:var(--brand-primary); padding:12px 32px; border-radius:60px; font-weight:600; border:none; cursor:pointer; transition:0.2s; box-shadow:0 4px 12px rgba(0,0,0,0.08); }
.btn-outline { background:transparent; border:2px solid rgba(255,255,255,0.6); color:white; }
.btn:hover { transform:scale(1.02); box-shadow:0 8px 20px rgba(0,0,0,0.2); }
/* 数字动画占位 */
.stat-number { font-size:2.8rem; font-weight:700; color:var(--brand-primary); }
.dark-mode .stat-number { color:var(--brand-accent); }
/* 轮播简易 */
.carousel { display:flex; overflow-x:auto; gap:20px; scroll-snap-type:x mandatory; padding:12px 0; }
.carousel-item { min-width:280px; scroll-snap-align:start; background:var(--glass-bg); backdrop-filter:blur(4px); border-radius:var(--radius-md); padding:20px; border:1px solid var(--glass-border); }
/* FAQ折叠 */
.faq-item { border-bottom:1px solid rgba(0,0,0,0.05); padding:14px 0; }
.faq-question { font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.3s ease; color:var(--text-secondary); }
.faq-item.open .faq-answer { max-height:300px; padding-top:10px; }
/* 返回顶部 */
.back-to-top { position:fixed; bottom:30px; right:30px; background:var(--brand-primary); color:white; width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; opacity:0; visibility:hidden; transition:0.2s; border:none; font-size:1.5rem; box-shadow:0 8px 20px rgba(0,0,0,0.2); z-index:99; }
.back-to-top.visible { opacity:1; visibility:visible; }
/* 暗黑适配 */
.dark-mode .card { background:rgba(20,40,60,0.3); }
.dark-mode .btn { background:var(--brand-secondary); color:white; }
/* 滚动动画 (默认透明，滚动后可见) */
.reveal { opacity:0; transform:translateY(20px); transition:opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
footer { background:var(--brand-primary); color:rgba(255,255,255,0.85); padding:40px 0; margin-top:60px; border-radius:var(--radius-lg) var(--radius-lg) 0 0; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:30px; }
.footer-grid a { color:rgba(255,255,255,0.7); display:block; margin:6px 0; font-size:0.9rem; }
.footer-grid h4 { color:white; margin-bottom:12px; }
.copyright { border-top:1px solid rgba(255,255,255,0.2); margin-top:30px; padding-top:20px; text-align:center; font-size:0.85rem; }
img, svg { vertical-align:middle; }
.lazy-svg { background:transparent; }
/* 响应式辅助 */
@media (max-width:600px) { .hero-content h1 { font-size:2.2rem; } }