/* ========== 品牌主题变量 ========== */
:root, [data-theme="classic"] {
    --bg:#fff; --surface:#fff; --surface-alt:#f8fafc;
    --text:#1f2937; --muted:#64748b; --border:#e5eefc;
    --brand:#0d6efd; --brand-strong:#094bd1; --accent:#ffe066;
    --shadow:0 8px 28px rgba(15,23,42,.05);
}

/* ========== 全局重置 ========== */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
    color:var(--text); line-height:1.7; background:var(--bg);
    transition:background-color .25s,color .25s;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
.container { max-width:1160px; margin:0 auto; padding:0 24px; }

/* ========== 顶部导航 ========== */
.header {
    background:linear-gradient(135deg,#0d6efd,#0b5ed7);
    color:#fff; padding:16px 0;
    position:sticky; top:0; z-index:1000;
    box-shadow:0 2px 12px rgba(13,110,253,.18);
    transition:padding .3s, box-shadow .3s;
}
.header.scrolled { padding:10px 0; box-shadow:0 4px 20px rgba(13,110,253,.28); }
.header .container { display:flex; justify-content:space-between; align-items:center; }
.logo { font-size:1.15rem; font-weight:700; letter-spacing:.5px; white-space:nowrap; }
.nav-links { display:flex; align-items:center; gap:6px; }
.nav-links a {
    padding:8px 14px; border-radius:8px; font-size:.93rem; font-weight:600;
    color:rgba(255,255,255,.92); transition:background .2s, color .2s;
}
.nav-links a:hover { background:rgba(255,255,255,.14); color:#fff; }
.nav-cta {
    background:#ffe066!important; color:#0d6efd!important; font-weight:700!important;
    border-radius:999px!important; padding:8px 20px!important;
    transition:transform .2s, box-shadow .2s!important;
}
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 4px 14px rgba(0,0,0,.15); }
.menu-toggle { display:none; background:none; border:none; color:#fff; font-size:1.6rem; cursor:pointer; }

/* ========== Hero ========== */
.hero {
    background:linear-gradient(135deg,#0d6efd 0%,#094bd1 55%,#073fb3 100%);
    color:#fff; padding:100px 0 110px; text-align:center;
    position:relative; overflow:hidden;
}
.hero::before {
    content:""; position:absolute; right:-100px; top:-100px;
    width:500px; height:500px; border-radius:50%;
    background:rgba(255,255,255,.05);
}
.hero::after {
    content:""; position:absolute; left:-80px; bottom:-140px;
    width:400px; height:400px; border-radius:50%;
    background:rgba(255,255,255,.04);
}
.hero-content { position:relative; z-index:2; }
.hero h1 { font-size:2.8rem; margin-bottom:18px; text-shadow:0 4px 16px rgba(0,0,0,.15); }
.hero p { font-size:1.2rem; opacity:.9; max-width:600px; margin:0 auto 36px; }
.hero-buttons { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.btn {
    display:inline-flex; align-items:center; justify-content:center;
    padding:14px 32px; border-radius:999px; font-weight:700; font-size:1rem;
    transition:transform .2s, box-shadow .2s; cursor:pointer; border:none;
}
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:#ffe066; color:#0d6efd; box-shadow:0 4px 14px rgba(0,0,0,.12); }
.btn-primary:hover { box-shadow:0 8px 24px rgba(0,0,0,.18); }
.btn-ghost { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5); }
.btn-ghost:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.8); }

/* ========== 数据统计 ========== */
.stats {
    background:linear-gradient(135deg,#094bd1,#0d6efd);
    padding:60px 0; color:#fff; text-align:center;
}
.stats-grid { display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
.stat-item { min-width:140px; }
.stat-number { font-size:2.6rem; font-weight:800; color:#ffe066; line-height:1.1; }
.stat-unit { font-size:.55em; font-weight:700; }
.stat-label { font-size:.95rem; opacity:.85; margin-top:4px; }

/* ========== 通用板块 ========== */
.section { padding:80px 0; }
.section.alt { background:#f8fafc; }
.section-title { text-align:center; font-size:2rem; margin-bottom:14px; }
.section-sub { text-align:center; color:#64748b; max-width:640px; margin:0 auto 48px; font-size:1.02rem; }

/* ========== 关于我们 ========== */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
.about-card {
    background:#fff; border:1px solid #e5eefc; border-radius:18px;
    padding:28px; box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.about-card h3 { margin:0 0 16px; font-size:1.2rem; }
.about-list { margin-top:12px; }
.about-list li { padding:10px 0; border-bottom:1px solid #eef3fb; color:#334155; }
.about-list li:last-child { border-bottom:none; }

/* ========== 产品 / 方案 / 客户卡片 ========== */
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card {
    background:#fff; border:1px solid #e9f0fb; border-radius:18px;
    padding:28px; box-shadow:0 8px 24px rgba(15,23,42,.05);
    transition:transform .22s, box-shadow .22s;
    text-align:center;
}
.card:hover { transform:translateY(-6px); box-shadow:0 14px 32px rgba(15,23,42,.1); }
.card-icon { font-size:2.6rem; margin-bottom:14px; }
.card h3 { font-size:1.12rem; margin-bottom:10px; }
.card p { color:#64748b; font-size:.95rem; }
.client-card {
    background:#fff; border:1px solid #eef3fb; border-radius:16px;
    padding:20px; display:flex; align-items:center; justify-content:center;
    min-height:100px; box-shadow:0 6px 18px rgba(15,23,42,.04);
    font-weight:700; color:#94a3b8; font-size:.95rem;
}

/* ========== 技术支持 ========== */
.support { background:linear-gradient(135deg,#0d6efd,#0a4fcf); color:#fff; }
.support .section-title, .support .section-sub { color:#fff; }
.support .section-sub { color:rgba(255,255,255,.85); }
.support-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:40px; }
.support-card {
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18);
    border-radius:18px; padding:28px; text-align:center;
    transition:transform .22s, background .22s;
}
.support-card:hover { transform:translateY(-6px); background:rgba(255,255,255,.18); }
.support-card .card-icon { font-size:2.2rem; margin-bottom:12px; }
.support-card h3 { font-size:1.05rem; margin-bottom:8px; }
.support-card p { font-size:.93rem; opacity:.88; }
.support-contact {
    display:flex; justify-content:center; gap:32px; flex-wrap:wrap;
    background:rgba(0,0,0,.15); border-radius:16px; padding:24px;
    max-width:800px; margin:0 auto;
}
.contact-item { display:flex; align-items:center; gap:10px; font-size:.98rem; }
.contact-item .ci-icon { font-size:1.3rem; }
.contact-item a { color:#ffe066; font-weight:700; }
.contact-item a:hover { text-decoration:underline; }

/* ========== FAQ ========== */
.faq-list { max-width:720px; margin:0 auto; }
.faq-item { border-bottom:1px solid #e8edf6; }
.faq-question {
    width:100%; background:none; border:none; cursor:pointer;
    font-size:1.05rem; font-weight:600; color:#0d6efd;
    display:flex; justify-content:space-between; align-items:center;
    padding:20px 0; text-align:left;
}
.faq-question::after { content:"＋"; font-size:1.3rem; transition:transform .3s; }
.faq-question.open::after { content:"－"; }
.faq-answer { display:none; padding:0 0 18px; color:#64748b; font-size:.97rem; line-height:1.8; }
.faq-answer.open { display:block; }

/* ========== 联系留言 ========== */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.form-card {
    background:#fff; border:1px solid #e5eefc; border-radius:18px;
    padding:28px; box-shadow:0 8px 28px rgba(15,23,42,.05);
}
.form-card label { display:block; margin-bottom:6px; font-weight:600; font-size:.95rem; }
.form-card input, .form-card textarea {
    width:100%; padding:12px 14px; border:1px solid #d7e2f2;
    border-radius:12px; font-size:1rem; background:#fbfdff;
    transition:border-color .2s, box-shadow .2s;
}
.form-card input:focus, .form-card textarea:focus {
    outline:none; border-color:#7aa7ff;
    box-shadow:0 0 0 4px rgba(122,167,255,.18);
}
.form-card textarea { min-height:120px; resize:vertical; }
.form-hint { color:#94a3b8; font-size:.88rem; margin-top:6px; }
.form-submit {
    margin-top:18px; padding:14px 28px; background:#0d6efd; color:#fff;
    border:none; border-radius:999px; font-size:1rem; font-weight:700;
    cursor:pointer; transition:transform .2s, box-shadow .2s;
}
.form-submit:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(13,110,253,.3); }
.info-card {
    background:#f8fbff; border:1px solid #e5eefc; border-radius:18px; padding:28px;
}
.info-card h3 { margin:0 0 18px; }
.info-list li { padding:12px 0; border-bottom:1px solid #eef3fb; color:#334155; }
.info-list li:last-child { border-bottom:none; }

/* ========== Footer ========== */
.footer { background:#0f172a; color:#cbd5e1; padding:48px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:36px; margin-bottom:36px; }
.footer h4 { color:#fff; margin-bottom:16px; font-size:1rem; }
.footer-about { font-size:.93rem; line-height:1.8; }
.footer-links a { display:block; padding:4px 0; color:#94a3b8; font-size:.93rem; transition:color .2s; }
.footer-links a:hover { color:#fff; }
.footer-bottom {
    border-top:1px solid rgba(255,255,255,.1);
    padding-top:20px; text-align:center; font-size:.88rem; color:#64748b;
}

/* 页脚备案号：ICP 与公安联网备案并排显示，图标跟文字同一基线 */
.footer-bottom .police-beian-link,
.police-beian-link { color:inherit; text-decoration:none; }
/* 用 em 跟随字号变化；负的 vertical-align 让图标下沉，与备案号文字基线对齐
   （之前偏高是因为外层用了 inline-flex：它的基线取图片底部，整块文字被顶上去） */
.police-beian-icon {
    /* 站点全局有 img{display:block}（用于内容配图），这里必须显式改回行内，
       否则图标会撑成块级元素、把整段备案号挤到下一行 */
    display:inline-block;
    height:1.25em; width:auto;
    vertical-align:-0.3em;
    margin-right:.35em; border:0;
}

/* ========== 滚动动画 ========== */
.fade-up {
    opacity:0; transform:translateY(30px);
    transition:opacity .7s ease, transform .7s ease;
}
.fade-up.visible { opacity:1; transform:translateY(0); }

/* ========== 返回顶部 ========== */
.back-top {
    position:fixed; right:28px; bottom:28px;
    width:48px; height:48px; border-radius:50%;
    background:#0d6efd; color:#fff; border:none;
    font-size:1.3rem; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 14px rgba(13,110,253,.3);
    opacity:0; transform:translateY(20px);
    transition:opacity .3s, transform .3s;
    z-index:999;
}
.back-top.show { opacity:1; transform:translateY(0); }
.back-top:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(13,110,253,.4); }

/* ========== Toast 提示 ========== */
.toast {
    position:fixed; top:100px; left:50%; transform:translateX(-50%) translateY(-20px);
    background:#10b981; color:#fff; padding:14px 28px;
    border-radius:12px; font-weight:600; font-size:.95rem;
    box-shadow:0 8px 24px rgba(0,0,0,.15);
    opacity:0; transition:opacity .3s, transform .3s;
    z-index:9999; pointer-events:none;
}
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast.error { background:#ef4444; }

/* ========== 响应式 ========== */
@media (max-width:1024px) {
    .about-grid, .contact-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .grid-3, .support-grid { grid-template-columns:repeat(2,1fr); }
    .grid-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
    .nav-links { display:none; }
    .nav-links.open {
        display:flex; flex-direction:column;
        position:absolute; top:100%; left:0; right:0;
        background:#0d6efd; padding:16px 24px;
        box-shadow:0 8px 24px rgba(0,0,0,.15);
    }
    .menu-toggle { display:block; }
    .hero h1 { font-size:2rem; }
    .hero p { font-size:1.05rem; }
    .grid-3, .grid-4, .support-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .stats-grid { gap:24px; }
    .section { padding:56px 0; }
}

/* ========== 加载动画 ========== */
.page-loader {
    position:fixed; inset:0; z-index:9999;
    background:#fff; display:flex; align-items:center; justify-content:center;
    flex-direction:column; gap:16px;
    transition:opacity .5s, visibility .5s;
}
.page-loader.hide { opacity:0; visibility:hidden; pointer-events:none; }
.loader-logo { font-size:1.6rem; font-weight:800; color:#0d6efd; }
.loader-bar { width:120px; height:3px; background:#e5eefc; border-radius:99px; overflow:hidden; }
.loader-bar::after {
    content:""; display:block; width:40%; height:100%; background:#0d6efd; border-radius:99px;
    animation:loaderSlide 1s ease-in-out infinite;
}
@keyframes loaderSlide {
    0% { transform:translateX(-100%); }
    100% { transform:translateX(350%); }
}

/* ========== 汉堡菜单动画 ========== */
.menu-toggle {
    display:none; background:none; border:none; cursor:pointer;
    width:28px; height:20px; position:relative;
}
.menu-toggle span {
    display:block; width:100%; height:2px; background:#fff;
    position:absolute; left:0; transition:all .3s;
}
.menu-toggle span:nth-child(1) { top:0; }
.menu-toggle span:nth-child(2) { top:9px; }
.menu-toggle span:nth-child(3) { top:18px; }
.menu-toggle.open span:nth-child(1) { top:9px; transform:rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity:0; }
.menu-toggle.open span:nth-child(3) { top:9px; transform:rotate(-45deg); }

/* ========== 导航当前板块高亮 ========== */
.nav-links a.active-section {
    background:rgba(255,255,255,.18);
    color:#fff;
}

/* ========== 服务流程 ========== */
.process-section { background:#f8fafc; }
.process-grid { display:flex; justify-content:center; gap:0; flex-wrap:wrap; position:relative; }
.process-step {
    flex:1; min-width:180px; max-width:220px; text-align:center;
    padding:24px 16px; position:relative;
}
.process-step::after {
    content:"→"; position:absolute; right:-12px; top:36px;
    font-size:1.4rem; color:#cbd5e1;
}
.process-step:last-child::after { display:none; }
.process-icon {
    width:64px; height:64px; border-radius:50%;
    background:linear-gradient(135deg,#eef4ff,#dbe6ff);
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 14px; font-size:1.6rem;
    transition:transform .3s, box-shadow .3s;
}
.process-step:hover .process-icon {
    transform:translateY(-4px);
    box-shadow:0 8px 20px rgba(13,110,253,.15);
}
.process-num { font-size:.8rem; color:#94a3b8; margin-bottom:6px; }
.process-step h4 { font-size:1rem; margin-bottom:6px; }
.process-step p { color:#64748b; font-size:.88rem; }

/* ========== 信任背书 ========== */
.trust-section { padding:48px 0; border-top:1px solid #eef3fb; border-bottom:1px solid #eef3fb; }
.trust-grid { display:flex; justify-content:center; align-items:center; gap:48px; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:10px; color:#94a3b8; font-size:.95rem; font-weight:600; }
.trust-icon { font-size:1.6rem; }

/* ========== 表单增强 ========== */
.form-submit.loading { opacity:.7; pointer-events:none; }
.form-submit.loading::after {
    content:""; display:inline-block; width:16px; height:16px;
    border:2px solid rgba(255,255,255,.3); border-top-color:#fff;
    border-radius:50%; margin-left:8px;
    animation:spin .6s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }
.form-group-error input, .form-group-error textarea {
    border-color:#ef4444!important;
}
.error-msg { color:#ef4444; font-size:.85rem; margin-top:4px; display:none; }
.form-group-error .error-msg { display:block; }

/* ========== 页面跳转过渡 ========== */
.page-content { animation:pageFadeIn .4s ease; }
@keyframes pageFadeIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }

/* ========== Hero 微动效 ========== */
.hero { position:relative; }
.hero-particles {
    position:absolute; inset:0; overflow:hidden; pointer-events:none;
}
.hero-particle {
    position:absolute; width:4px; height:4px; background:rgba(255,255,255,.15);
    border-radius:50%; animation:floatUp linear infinite;
}
@keyframes floatUp {
    0% { transform:translateY(100vh) scale(0); opacity:0; }
    20% { opacity:1; }
    100% { transform:translateY(-10vh) scale(1); opacity:0; }
}

/* ========== 卡片增强 ========== */
.card { position:relative; overflow:hidden; }
.card::before {
    content:""; position:absolute; top:0; left:0; width:100%; height:3px;
    background:linear-gradient(90deg,#0d6efd,#094bd1);
    transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.card:hover::before { transform:scaleX(1); }

/* ========== 响应式补充 ========== */
@media (max-width:768px) {
    .menu-toggle { display:block; }
    .process-grid { flex-direction:column; align-items:center; }
    .process-step::after { display:none; }
    .process-step { max-width:100%; }
    .trust-grid { gap:24px; }
}

/* 反垃圾蜜罐字段：真实用户看不到，机器人会填 */
.hp-field {
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

/* ========== 信任条滚动结构（默认主题不滚动，仅横向排列） ========== */
.trust-marquee { width:100%; }
.trust-track { display:flex; justify-content:center; align-items:center; }
.trust-group { display:flex; justify-content:center; align-items:center; gap:48px; flex-wrap:wrap; }
