/* ---------- 全局重置 & 设计变量 ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--brand-primary:#003a70;--brand-secondary:#f5c518;--brand-accent:#e6a800;--dark-bg:#0f172a;--dark-card:#1e293b;--dark-text:#e2e8f0;--glass:rgba(255,255,255,0.12);--radius:16px;--shadow:0 12px 30px rgba(0,0,0,0.08);--transition:0.3s cubic-bezier(0.4,0,0.2,1);--font-sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:#f9fafc;color:#1a1a2e;line-height:1.6;transition:background var(--transition),color var(--transition)}body.dark-mode{background:var(--dark-bg);color:var(--dark-text)}a{color:var(--brand-primary);text-decoration:none}.dark-mode a{color:#90b4f8}img,svg{display:block;max-width:100%;height:auto}.container{max-width:1280px;margin:0 auto;padding:0 24px}::selection{background:var(--brand-secondary);color:#0a0a0a}
/* ---------- 玻璃效果、圆角、阴影系统 ---------- */
.glass-card{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.25);border-radius:var(--radius);box-shadow:var(--shadow)}.card-shadow{box-shadow:0 8px 24px rgba(0,58,112,0.08);border-radius:var(--radius);transition:transform var(--transition),box-shadow var(--transition)}.card-shadow:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,58,112,0.15)}
/* ---------- 渐变Banner 与 动画 ---------- */
.hero-gradient{background:linear-gradient(135deg,#003a70 0%,#1a5a9c 60%,#2b7bc0 100%);color:#fff;position:relative;overflow:hidden}.hero-gradient::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(245,197,24,0.15),transparent 60%)}
.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}
.counter-number{display:inline-block;font-weight:700}
/* ---------- 轮播 ---------- */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius)}.carousel-track{display:flex;transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}.carousel-slide{min-width:100%;padding:0 4px}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,58,112,0.5);backdrop-filter:blur(4px);border:none;color:#fff;font-size:1.8rem;width:48px;height:48px;border-radius:50%;cursor:pointer;z-index:5;transition:0.2s}.carousel-btn:hover{background:var(--brand-secondary);color:#0a0a0a}.carousel-prev{left:12px}.carousel-next{right:12px}
/* ---------- 吸顶导航 ---------- */
.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.75);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,58,112,0.08);transition:background 0.3s}.dark-mode .header{background:rgba(15,23,42,0.8);border-bottom-color:#2a3a5c}.nav-container{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1280px;margin:0 auto}.logo svg{width:140px;height:auto;display:block}.nav-links{display:flex;gap:28px;list-style:none;font-weight:500}.nav-links a{padding:6px 0;border-bottom:2px solid transparent;transition:0.2s}.nav-links a:hover,.nav-links a.active{border-bottom-color:var(--brand-secondary);color:var(--brand-primary)}.dark-mode .nav-links a{color:var(--dark-text)}.dark-mode .nav-links a:hover{color:var(--brand-secondary)}.menu-toggle{display:none;background:none;border:none;font-size:2rem;cursor:pointer;color:inherit}.mobile-menu{display:none;flex-direction:column;background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);position:absolute;top:100%;left:0;right:0;padding:20px 24px;border-radius:0 0 24px 24px;box-shadow:0 20px 40px rgba(0,0,0,0.1)}.dark-mode .mobile-menu{background:rgba(15,23,42,0.98)}.mobile-menu a{padding:12px 0;border-bottom:1px solid rgba(0,0,0,0.05);font-weight:500}.dark-mode .mobile-menu a{color:#e2e8f0;border-color:#2a3a5c}.theme-toggle{background:var(--glass);border:1px solid rgba(255,255,255,0.2);border-radius:40px;padding:6px 14px;font-size:1.2rem;cursor:pointer;color:inherit;display:flex;align-items:center;gap:6px}.dark-mode .theme-toggle{background:#2a3a5c;border-color:#4a5a7c}
/* ---------- 响应式 ---------- */
@media(max-width:1024px){.nav-links{display:none}.menu-toggle{display:block}.mobile-menu.open{display:flex}}
@media(max-width:640px){.container{padding:0 16px}.hero-gradient h1{font-size:2.2rem}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
/* ---------- FAQ折叠 ---------- */
.faq-item{border-bottom:1px solid rgba(0,0,0,0.06);padding:16px 0;cursor:pointer}.dark-mode .faq-item{border-color:#2a3a5c}.faq-question{display:flex;justify-content:space-between;font-weight:600;font-size:1.1rem}.faq-answer{max-height:0;overflow:hidden;transition:0.4s ease;color:#444}.dark-mode .faq-answer{color:#b0c0e0}.faq-item.open .faq-answer{max-height:400px;padding-top:12px}.faq-toggle{font-size:1.5rem;transition:0.3s}.faq-item.open .faq-toggle{transform:rotate(45deg)}
/* ---------- 返回顶部 ---------- */
#backToTop{position:fixed;bottom:40px;right:40px;width:52px;height:52px;border-radius:50%;background:var(--brand-primary);color:#fff;border:none;font-size:1.8rem;cursor:pointer;box-shadow:0 8px 20px rgba(0,58,112,0.3);opacity:0;pointer-events:none;transition:0.3s;z-index:99}#backToTop.show{opacity:1;pointer-events:auto}
/* ---------- 暗黑模式额外 ---------- */
.dark-mode .glass-card{background:rgba(30,41,59,0.5);border-color:#334155}.dark-mode .card-shadow{box-shadow:0 8px 24px rgba(0,0,0,0.5)}.dark-mode .card-shadow:hover{box-shadow:0 16px 40px rgba(0,0,0,0.7)}
footer{background:#0a1a2e;color:#cbd5e1;padding:40px 0 20px}.dark-mode footer{background:#020617}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-grid a{color:#b0c4de;display:block;margin:4px 0}
.badge{display:inline-block;background:var(--brand-secondary);color:#0a1a2e;padding:4px 14px;border-radius:40px;font-size:0.8rem;font-weight:600}