/* ============ 设计变量 ============ */
:root{
    --ink:#050d18;
    --navy:#08182b;
    --navy-2:#0d263f;
    --cyan:#22d3ee;
    --cyan-deep:#0ea5c4;
    --blue:#2f7bf6;
    --line:#e2ebf4;
    --text:#1b2b3d;
    --text-2:#5a6e83;
    --text-3:#8b9db0;
    --surface:#ffffff;
    --surface-2:#f4f8fc;
    --radius:16px;
    --radius-sm:10px;
    --shadow-sm:0 2px 10px rgba(11,32,56,.05);
    --shadow-md:0 14px 34px -14px rgba(11,32,56,.28);
    --shadow-glow:0 18px 44px -18px rgba(34,211,238,.55);
    --max:1240px;
    --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB","Helvetica Neue",Arial,sans-serif;
    color:var(--text);
    background:var(--surface-2);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:4px}

/* ============ 顶部信息条 ============ */
.topbar{
    background:var(--ink);
    color:rgba(255,255,255,.62);
    font-size:13px;
    border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar .wrap{
    display:flex;justify-content:space-between;align-items:center;
    gap:16px;min-height:40px;flex-wrap:wrap;
}
.topbar-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.topbar-left span{display:inline-flex;align-items:center;gap:7px}
.topbar .tb-lbl{font-style:normal}
.topbar svg{width:14px;height:14px;fill:var(--cyan);flex:none;opacity:.9}
.topbar a{color:rgba(255,255,255,.62);transition:color .25s}
.topbar a:hover{color:var(--cyan)}
.topbar-right{display:flex;align-items:center;gap:18px}

/* ============ 站点头部 ============ */
.site-head{
    position:relative;
    background:
        radial-gradient(900px 320px at 12% -40%, rgba(34,211,238,.16), transparent 70%),
        linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
    border-bottom:1px solid rgba(34,211,238,.16);
}
.site-head .wrap{
    display:flex;align-items:center;justify-content:space-between;
    gap:24px;padding-top:26px;padding-bottom:26px;
}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand-mark{
    width:56px;height:56px;flex:none;
    border-radius:14px;
    background:linear-gradient(150deg,rgba(34,211,238,.22),rgba(47,123,246,.12));
    border:1px solid rgba(34,211,238,.4);
    display:grid;place-items:center;
    box-shadow:0 0 0 6px rgba(34,211,238,.05),inset 0 0 18px rgba(34,211,238,.14);
}
.brand-mark svg{width:30px;height:30px;stroke:var(--cyan);fill:none;stroke-width:1.6}
.brand h1{
    font-size:22px;line-height:1.35;font-weight:700;color:#fff;
    letter-spacing:.6px;
}
.brand .tagline{
    font-size:12.5px;color:rgba(255,255,255,.5);
    letter-spacing:2px;margin-top:6px;
}
.brand .tagline b{color:var(--cyan);font-weight:600}
.head-phone{
    display:flex;align-items:center;gap:12px;
    padding:10px 20px;border-radius:12px;
    background:rgba(34,211,238,.07);
    border:1px solid rgba(34,211,238,.22);
    white-space:nowrap;
}
.head-phone svg{width:20px;height:20px;fill:var(--cyan)}
.head-phone .lbl{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:2px}
.head-phone .num{
    font-size:21px;font-weight:700;color:#fff;letter-spacing:.6px;
    font-variant-numeric:tabular-nums;
}
.head-phone:hover{border-color:rgba(34,211,238,.55);background:rgba(34,211,238,.12)}

/* ============ 主导航 ============ */
.nav{
    position:sticky;top:0;z-index:200;
    background:rgba(6,17,30,.92);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:box-shadow .3s;
}
.nav.is-stuck{box-shadow:0 12px 32px -16px rgba(0,0,0,.7)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nav-list{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
.nav-list a{
    position:relative;display:block;
    padding:16px 18px;
    font-size:14.5px;color:rgba(255,255,255,.72);
    letter-spacing:.4px;white-space:nowrap;
    transition:color .25s;
}
.nav-list a::after{
    content:"";position:absolute;left:50%;bottom:0;
    width:0;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--cyan),var(--blue));
    box-shadow:0 0 12px var(--cyan);
    transform:translateX(-50%);
    transition:width .3s var(--ease);
}
.nav-list a:hover{color:#fff}
.nav-list a:hover::after,
.nav-list a.active::after{width:calc(100% - 24px)}
.nav-list a.active{color:var(--cyan)}
.nav-cta{
    display:none;
    padding:9px 18px;border-radius:999px;
    font-size:13.5px;font-weight:600;color:#04121f;
    background:linear-gradient(135deg,var(--cyan),#7dd3fc);
    box-shadow:0 8px 22px -10px rgba(34,211,238,.9);
    white-space:nowrap;
}
.nav-toggle{
    display:none;width:42px;height:42px;
    background:transparent;border:1px solid rgba(255,255,255,.16);
    border-radius:10px;cursor:pointer;padding:0;
    align-items:center;justify-content:center;
}
.nav-toggle span{
    display:block;width:18px;height:2px;background:#fff;border-radius:2px;
    box-shadow:0 -6px 0 #fff,0 6px 0 #fff;
    transition:transform .25s;
}
.nav-toggle[aria-expanded="true"] span{
    box-shadow:none;transform:rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span::after{
    content:"";display:block;width:18px;height:2px;background:#fff;
    transform:rotate(90deg);
}

/* ============ 首屏 Hero ============ */
.hero{
    position:relative;overflow:hidden;
    background:
        radial-gradient(700px 420px at 78% 18%, rgba(34,211,238,.22), transparent 62%),
        radial-gradient(600px 380px at 8% 88%, rgba(47,123,246,.24), transparent 65%),
        linear-gradient(160deg,#050d18 0%,#08182b 55%,#0a2136 100%);
    color:#fff;
    padding:76px 0 68px;
    isolation:isolate;
}
/* 网格 */
.hero::before{
    content:"";position:absolute;inset:-2px;z-index:-2;
    background-image:
        linear-gradient(rgba(34,211,238,.075) 1px,transparent 1px),
        linear-gradient(90deg,rgba(34,211,238,.075) 1px,transparent 1px);
    background-size:54px 54px;
    mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 82%);
    -webkit-mask-image:radial-gradient(circle at 50% 40%,#000 30%,transparent 82%);
    animation:gridDrift 26s linear infinite;
}
/* 扫描光带 */
.hero::after{
    content:"";position:absolute;left:0;right:0;top:0;height:180px;z-index:-1;
    background:linear-gradient(180deg,transparent,rgba(34,211,238,.10),transparent);
    animation:scan 7s ease-in-out infinite;
    pointer-events:none;
}
@keyframes gridDrift{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-54px,-54px,0)}
}
@keyframes scan{
    0%{transform:translateY(-200px);opacity:0}
    25%{opacity:1}
    100%{transform:translateY(760px);opacity:0}
}

.hero .wrap{
    display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:center;gap:48px;position:relative;
}
.hero-badge{
    display:inline-flex;align-items:center;gap:9px;
    padding:7px 15px;border-radius:999px;
    font-size:12.5px;letter-spacing:1.2px;color:var(--cyan);
    background:rgba(34,211,238,.08);
    border:1px solid rgba(34,211,238,.28);
    margin-bottom:22px;
}
.hero-badge i{
    width:6px;height:6px;border-radius:50%;background:var(--cyan);
    box-shadow:0 0 0 0 rgba(34,211,238,.8);
    animation:pulseDot 2s infinite;
}
@keyframes pulseDot{
    0%{box-shadow:0 0 0 0 rgba(34,211,238,.7)}
    70%{box-shadow:0 0 0 9px rgba(34,211,238,0)}
    100%{box-shadow:0 0 0 0 rgba(34,211,238,0)}
}
.hero h2{
    font-size:clamp(28px,4.4vw,48px);
    line-height:1.24;font-weight:800;letter-spacing:1px;
    margin-bottom:20px;
}
.hero h2 em{
    font-style:normal;
    background:linear-gradient(100deg,#8ef0ff 0%,var(--cyan) 42%,#6fa8ff 100%);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    color:var(--cyan);
}
.hero-sub{
    font-size:16.5px;line-height:1.85;
    color:rgba(255,255,255,.68);
    max-width:600px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.btn{
    display:inline-flex;align-items:center;gap:9px;
    padding:13px 28px;border-radius:11px;
    font-size:15px;font-weight:600;letter-spacing:.5px;
    border:1px solid transparent;cursor:pointer;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s;
}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .25s}
.btn-primary{
    color:#04121f;
    background:linear-gradient(135deg,#7ef0ff 0%,var(--cyan) 45%,#4ea8ff 100%);
    box-shadow:0 16px 34px -14px rgba(34,211,238,.95);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 22px 40px -14px rgba(34,211,238,1)}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-ghost{
    color:#e6f4ff;background:rgba(255,255,255,.05);
    border-color:rgba(255,255,255,.2);
}
.btn-ghost:hover{
    transform:translateY(-3px);
    border-color:rgba(34,211,238,.6);
    background:rgba(34,211,238,.1);
    color:#fff;
}

/* 品牌条 */
.brands{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    margin-top:38px;padding-top:26px;
    border-top:1px solid rgba(255,255,255,.08);
}
.brands .k{
    font-size:11.5px;letter-spacing:2px;color:rgba(255,255,255,.36);
    margin-right:6px;
}
.chip{
    font-size:12.5px;font-weight:600;letter-spacing:1.2px;
    color:rgba(255,255,255,.72);
    padding:6px 13px;border-radius:8px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    transition:.25s;
}
.chip:hover{color:var(--cyan);border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.08)}

/* Hero 视觉 */
.hero-visual{position:relative;display:grid;place-items:center;min-height:320px}
.hero-visual .ring{
    position:absolute;border-radius:50%;
    border:1px dashed rgba(34,211,238,.22);
    animation:spin 34s linear infinite;
}
.hero-visual .ring.r1{width:300px;height:300px}
.hero-visual .ring.r2{width:390px;height:390px;border-style:solid;border-color:rgba(34,211,238,.1);animation-direction:reverse;animation-duration:46s}
.hero-visual .ring::before{
    content:"";position:absolute;top:-4px;left:50%;
    width:7px;height:7px;border-radius:50%;
    background:var(--cyan);box-shadow:0 0 14px 3px rgba(34,211,238,.8);
    transform:translateX(-50%);
}
@keyframes spin{to{transform:rotate(360deg)}}
.chip-art{
    position:relative;width:250px;height:250px;
    filter:drop-shadow(0 24px 44px rgba(0,0,0,.5));
    animation:float 6s ease-in-out infinite;
}
@keyframes float{
    0%,100%{transform:translateY(-8px)}
    50%{transform:translateY(8px)}
}
.chip-art .glow{
    animation:glowPulse 3.4s ease-in-out infinite;
}
@keyframes glowPulse{
    0%,100%{opacity:.5}
    50%{opacity:1}
}

/* ============ 优势条 ============ */
.advantages{
    background:var(--surface);
    border-bottom:1px solid var(--line);
}
.advantages .wrap{
    display:grid;grid-template-columns:repeat(4,1fr);
    gap:0;
}
.adv{
    display:flex;align-items:flex-start;gap:14px;
    padding:30px 22px;
    border-right:1px solid var(--line);
    transition:background .3s;
}
.adv:last-child{border-right:none}
.adv:hover{background:linear-gradient(180deg,#f7fbff,#fff)}
.adv-ico{
    width:42px;height:42px;flex:none;border-radius:11px;
    display:grid;place-items:center;
    background:linear-gradient(140deg,rgba(34,211,238,.14),rgba(47,123,246,.1));
    border:1px solid rgba(34,211,238,.28);
}
.adv-ico svg{width:21px;height:21px;stroke:var(--cyan-deep);fill:none;stroke-width:1.7}
.adv h3{font-size:14.5px;font-weight:700;color:var(--navy);margin-bottom:3px;letter-spacing:.3px}
.adv p{font-size:12.5px;color:var(--text-3);line-height:1.6}

/* ============ 主体布局 ============ */
.main-container{
    max-width:var(--max);margin:0 auto;
    padding:44px 24px 0;
    display:grid;grid-template-columns:272px minmax(0,1fr);
    gap:28px;align-items:start;
}

/* 侧栏 */
.sidebar{
    background:var(--surface);
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    overflow:hidden;
    position:sticky;top:88px;
}
.sidebar-header{
    position:relative;
    background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);
    color:#fff;
    padding:16px 20px;
    font-size:14.5px;font-weight:700;letter-spacing:1.5px;
    display:flex;align-items:center;gap:10px;
}
.sidebar-header::after{
    content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
    background:linear-gradient(90deg,var(--cyan),transparent);
}
.sidebar-header svg{width:16px;height:16px;stroke:var(--cyan);fill:none;stroke-width:1.8}

.category-list{padding:6px 0}
.category-item{border-bottom:1px solid #eef3f8}
.category-item:last-child{border-bottom:none}
.category-title{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    padding:13px 20px;
    font-size:14px;font-weight:600;color:var(--navy);
    cursor:pointer;
    transition:color .25s,background .25s;
}
.category-title:hover{color:var(--cyan-deep);background:#f7fbff}
.category-title .chev{
    width:14px;height:14px;flex:none;
    stroke:#9fb3c6;fill:none;stroke-width:2;
    transition:transform .3s var(--ease),stroke .25s;
}
.category-item.is-open .category-title .chev,
.category-title[aria-expanded="true"] .chev{transform:rotate(180deg);stroke:var(--cyan-deep)}
.category-title[aria-expanded="true"]{color:var(--cyan-deep)}

.subcategory-list{
    overflow:hidden;
    max-height:0;
    transition:max-height .35s var(--ease);
}
.category-item.is-open .subcategory-list{max-height:320px}
.subcategory-item a{
    display:flex;align-items:center;gap:9px;
    padding:9px 20px 9px 30px;
    font-size:13.5px;color:var(--text-2);
    transition:color .22s,background .22s,padding-left .22s;
}
.subcategory-item a::before{
    content:"";width:5px;height:5px;border-radius:50%;
    background:#c9d7e4;flex:none;
    transition:background .22s,box-shadow .22s;
}
.subcategory-item a:hover{
    color:var(--cyan-deep);background:#f5fbff;padding-left:35px;
}
.subcategory-item a:hover::before{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}

.sidebar-contact{
    margin:14px;padding:16px;
    border-radius:12px;
    background:linear-gradient(150deg,#f2f9ff,#eef5fd);
    border:1px solid #dceaf7;
}
.sidebar-contact h4{
    font-size:11.5px;letter-spacing:2px;color:var(--text-3);
    font-weight:600;margin-bottom:6px;
}
.sidebar-contact .stamp{
    display:flex;align-items:center;gap:8px;
    font-size:13.5px;font-weight:700;color:var(--navy);
    font-variant-numeric:tabular-nums;
}
.sidebar-contact .stamp i{
    width:6px;height:6px;border-radius:50%;background:#22c55e;
    box-shadow:0 0 8px rgba(34,197,94,.9);flex:none;
}

/* 内容区 */
.content-area{
    background:var(--surface);
    border-radius:var(--radius);
    border:1px solid var(--line);
    box-shadow:var(--shadow-sm);
    padding:32px;
}

/* 公告 */
.announcement{
    position:relative;
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    padding:16px 20px;
    margin-bottom:32px;
    border-radius:12px;
    background:linear-gradient(110deg,#06172a 0%,#0d2a44 100%);
    color:rgba(255,255,255,.82);
    font-size:13.5px;
    overflow:hidden;
}
.announcement::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(400px 120px at 0% 50%,rgba(34,211,238,.22),transparent 70%);
    pointer-events:none;
}
.announcement .tag{
    position:relative;
    flex:none;
    font-size:11.5px;font-weight:700;letter-spacing:1.6px;
    padding:4px 11px;border-radius:6px;
    color:#04121f;
    background:linear-gradient(135deg,#8ef0ff,var(--cyan));
    box-shadow:0 6px 18px -8px rgba(34,211,238,.95);
}
.announcement p{position:relative;margin:0;line-height:1.6}
.announcement strong{color:#fff;font-weight:600}
.announcement a{position:relative;color:var(--cyan);font-weight:600;white-space:nowrap}
.announcement a:hover{text-decoration:underline}

/* 区块标题 */
.section-title{
    position:relative;
    display:flex;align-items:center;gap:12px;
    font-size:22px;font-weight:800;color:var(--navy);
    letter-spacing:.6px;
    padding-bottom:16px;margin-bottom:8px;
}
.section-title::before{
    content:"";width:4px;height:22px;border-radius:3px;
    background:linear-gradient(180deg,var(--cyan),var(--blue));
    box-shadow:0 0 12px rgba(34,211,238,.6);
}
.section-title::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
    background:linear-gradient(90deg,#cfe1f2,rgba(207,225,242,0));
}
.section-sub{
    font-size:13.5px;color:var(--text-3);
    margin-bottom:26px;padding-left:16px;
}

/* 产品网格 */
.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(248px,1fr));
    gap:22px;
    margin-top:22px;
}
.product-card{
    position:relative;
    display:flex;flex-direction:column;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;
}
.product-card::after{
    content:"";position:absolute;left:0;right:0;top:0;height:2px;
    background:linear-gradient(90deg,var(--cyan),var(--blue));
    transform:scaleX(0);transform-origin:left;
    transition:transform .4s var(--ease);
}
.product-card:hover{
    transform:translateY(-7px);
    border-color:rgba(34,211,238,.55);
    box-shadow:var(--shadow-md),0 0 0 1px rgba(34,211,238,.18),var(--shadow-glow);
}
.product-card:hover::after{transform:scaleX(1)}

.product-image{
    position:relative;
    aspect-ratio:4 / 3;
    background:
        radial-gradient(120% 100% at 50% 0%,#ffffff 40%,#eef5fc 100%);
    overflow:hidden;
}
.product-image::before{
    content:"";position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(47,123,246,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(47,123,246,.05) 1px,transparent 1px);
    background-size:26px 26px;
    opacity:0;transition:opacity .4s;
}
.product-card:hover .product-image::before{opacity:1}
.product-image img{
    position:absolute;
    top:16px;left:16px;
    width:calc(100% - 32px);
    height:calc(100% - 32px);
    object-fit:contain;
    mix-blend-mode:multiply;
    transition:transform .5s var(--ease);
}
.product-card:hover .product-image img{transform:scale(1.06)}

.product-info{
    padding:16px 18px 20px;
    display:flex;flex-direction:column;flex:1;
    border-top:1px solid #f0f5fa;
}
.product-name{
    font-size:15.5px;font-weight:700;color:var(--navy);
    line-height:1.45;margin-bottom:7px;letter-spacing:.2px;
    transition:color .3s;
}
.product-card:hover .product-name{color:var(--cyan-deep)}
.product-desc{
    font-size:12.8px;color:var(--text-2);line-height:1.7;
    flex:1;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
    overflow:hidden;
}
.product-link{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:13px;
    font-size:13px;font-weight:600;color:var(--blue);
    transition:color .25s,gap .25s;
}
.product-link::after{
    content:"→";transition:transform .25s;
}
.product-link:hover{color:var(--cyan-deep)}
.product-link:hover::after{transform:translateX(4px)}

/* 特殊卡片 */
.product-card.taobao-card{
    border-color:rgba(255,80,0,.3);
    background:linear-gradient(180deg,#fffaf6,#fff);
}
.product-card.taobao-card::after{background:linear-gradient(90deg,#ff7a1a,#ff5000)}
.product-card.taobao-card:hover{
    border-color:rgba(255,80,0,.65);
    box-shadow:var(--shadow-md),0 18px 44px -20px rgba(255,80,0,.6);
}
.product-card.taobao-card .product-name,
.product-card.taobao-card:hover .product-name{color:#e8490c}
.product-card.taobao-card .product-link{color:#ff5000}

.product-card.service-card{
    border-color:rgba(34,211,238,.3);
    background:linear-gradient(180deg,#f6fdff,#fff);
}
.product-card.service-card .product-name,
.product-card.service-card:hover .product-name{color:#0b6f86}
.product-card.service-card .product-link{color:var(--cyan-deep)}

/* 服务条 */
.service-band{
    margin-top:40px;
    display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
}
.band-item{
    padding:22px;
    border-radius:14px;
    background:linear-gradient(150deg,#f7fbff,#eef6fd);
    border:1px solid #dfeaf6;
}
.band-item .num{
    font-size:11.5px;font-weight:800;letter-spacing:2px;color:var(--cyan-deep);
}
.band-item h3{font-size:15px;font-weight:700;color:var(--navy);margin:8px 0 6px}
.band-item p{font-size:12.8px;color:var(--text-2);line-height:1.7}

/* ============ 页脚 ============ */
.footer{
    position:relative;
    margin-top:72px;
    background:linear-gradient(170deg,var(--ink) 0%,#071528 100%);
    color:rgba(255,255,255,.62);
    font-size:13.5px;
    overflow:hidden;
}
.footer::before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(34,211,238,.65),transparent);
}
.footer::after{
    content:"";position:absolute;right:-120px;bottom:-160px;
    width:420px;height:420px;border-radius:50%;
    background:radial-gradient(circle,rgba(34,211,238,.12),transparent 68%);
    pointer-events:none;
}
.footer-content{
    position:relative;
    max-width:var(--max);margin:0 auto;
    padding:54px 24px 40px;
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:36px;
}
.footer-brand .fb-name{
    display:flex;align-items:center;gap:10px;
    color:#fff;font-size:15.5px;font-weight:700;letter-spacing:.5px;
    margin-bottom:12px;
}
.footer-brand .fb-name svg{width:22px;height:22px;stroke:var(--cyan);fill:none;stroke-width:1.6}
.footer-brand p{line-height:1.9;color:rgba(255,255,255,.45);font-size:12.8px}
.footer-section h4{
    position:relative;
    font-size:13.5px;font-weight:700;color:#fff;
    letter-spacing:1.2px;
    margin-bottom:16px;padding-bottom:10px;
}
.footer-section h4::after{
    content:"";position:absolute;left:0;bottom:0;
    width:26px;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--cyan),transparent);
}
.footer-section p{margin:0 0 9px;line-height:1.7}
.footer-section a{
    color:rgba(255,255,255,.55);
    transition:color .25s,padding-left .25s;
}
.footer-section a:hover{color:var(--cyan);padding-left:4px}
.footer-bottom{
    position:relative;
    border-top:1px solid rgba(255,255,255,.07);
    padding:22px 24px 26px;
    text-align:center;
    font-size:12.3px;
    color:rgba(255,255,255,.36);
    line-height:1.9;
}
.footer-bottom a{color:rgba(255,255,255,.5)}
.footer-bottom a:hover{color:var(--cyan)}
.footer-bottom img{display:inline-block;vertical-align:-4px;margin-right:6px;opacity:.85}
.footer-bottom .beian{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:6px}

/* ============ 联系客服（QQ）浮动按钮 ============ */
.qq-cs-btn{
    position:fixed;right:24px;bottom:28px;z-index:9990;
    display:inline-flex;align-items:center;gap:9px;
    background:linear-gradient(135deg,var(--navy-2) 0%,#0e7490 55%,var(--cyan) 150%);
    color:#fff;border:1px solid rgba(34,211,238,.55);
    cursor:pointer;padding:13px 22px;border-radius:50px;
    font-size:14.5px;font-weight:600;letter-spacing:.6px;
    box-shadow:0 14px 34px -12px rgba(8,24,43,.85),0 0 0 1px rgba(34,211,238,.12);
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.qq-cs-btn:hover{
    transform:translateY(-3px);filter:brightness(1.1);
    box-shadow:0 20px 40px -14px rgba(34,211,238,.75);
}
.qq-cs-btn:active{transform:translateY(0)}
.qq-cs-ico{position:relative;display:flex;align-items:center;justify-content:center}
.qq-cs-ico::after{
    content:"";position:absolute;top:-1px;right:-2px;
    width:8px;height:8px;background:#3ddc84;
    border:2px solid #0b2b3d;border-radius:50%;
    animation:qqPulse 1.8s infinite;
}
@keyframes qqPulse{
    0%{box-shadow:0 0 0 0 rgba(61,220,132,.7)}
    70%{box-shadow:0 0 0 8px rgba(61,220,132,0)}
    100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}
}

/* 未安装 QQ 时的提示条 */
.qq-tip{
    position:fixed;right:24px;bottom:96px;z-index:9991;
    max-width:290px;
    background:#fff;color:var(--text);
    border:1px solid #d8e3ee;border-radius:12px;
    padding:14px 16px;font-size:13.5px;line-height:1.6;
    box-shadow:0 22px 44px -14px rgba(8,24,43,.42);
    opacity:0;visibility:hidden;transform:translateY(8px);
    transition:.25s ease;
}
.qq-tip.show{opacity:1;visibility:visible;transform:translateY(0)}
.qq-tip strong{color:var(--cyan-deep);font-size:15px}
.qq-tip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.qq-tip a,.qq-tip button{
    font-size:12.5px;cursor:pointer;text-decoration:none;
    padding:5px 12px;border-radius:30px;
    border:1px solid var(--cyan-deep);background:transparent;
    color:var(--cyan-deep);transition:.2s;
}
.qq-tip a:hover,.qq-tip button:hover{background:var(--cyan-deep);color:#fff}

/* ============ 滚动动效 ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ============ 响应式 ============ */
@media (max-width:1180px){
    .hero .wrap{gap:32px}
    .hero-visual .ring.r1{width:248px;height:248px}
    .hero-visual .ring.r2{width:320px;height:320px}
    .chip-art{width:208px;height:208px}
    .hero h2{letter-spacing:.5px}
    .brands{gap:8px}
    .chip{padding:5px 11px;font-size:12px}
}

@media (max-width:1080px){
    .advantages .wrap{grid-template-columns:repeat(2,1fr)}
    .adv{border-bottom:1px solid var(--line)}
    .adv:nth-child(2n){border-right:none}
    .service-band{grid-template-columns:1fr}
    .footer-content{grid-template-columns:1fr 1fr;gap:30px}
}

@media (max-width:900px){
    .hero .wrap{grid-template-columns:1fr;gap:30px}
    .hero-visual{display:none}
    .main-container{grid-template-columns:1fr;padding-top:28px}
    .sidebar{position:static;order:2}
    .content-area{order:1;padding:24px}
    .head-phone{display:none}
    .nav-toggle{display:flex}
    .nav .wrap{padding-top:8px;padding-bottom:8px}
    .nav-list{
        position:absolute;left:0;right:0;top:100%;
        flex-direction:column;align-items:stretch;
        background:#06111e;
        border-bottom:1px solid rgba(34,211,238,.2);
        max-height:0;overflow:hidden;
        transition:max-height .35s var(--ease);
    }
    .nav-list.open{max-height:520px;overflow-y:auto}
    .nav-list a{padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.05)}
    .nav-list a::after{display:none}
    .nav-cta{display:inline-flex}
}

@media (max-width:640px){
    .wrap{padding:0 16px}
    .topbar{font-size:12px}
    .topbar .wrap{min-height:36px;gap:10px}
    .topbar-left{gap:14px}
    .topbar .tb-lbl{display:none}
    .topbar svg{width:13px;height:13px}
    .site-head .wrap{padding-top:20px;padding-bottom:20px}
    .brand h1{font-size:17px}
    .brand .tagline{font-size:10.5px;letter-spacing:1px}
    .brand-mark{width:46px;height:46px;border-radius:12px}
    .brand-mark svg{width:24px;height:24px}
    .hero{padding:52px 0 46px}
    .hero-sub{font-size:14.5px}
    .btn{padding:12px 22px;font-size:14px}
    .advantages .wrap{grid-template-columns:1fr}
    .adv{border-right:none}
    .content-area{padding:20px;border-radius:14px}
    .section-title{font-size:19px}
    .product-grid{grid-template-columns:1fr;gap:16px}
    .footer-content{grid-template-columns:1fr;gap:26px;padding:40px 16px 30px}
    .footer-bottom{padding-bottom:96px}
    .qq-cs-btn{right:14px;bottom:16px;padding:11px 17px;font-size:13.5px}
    .qq-tip{right:14px;bottom:84px;max-width:calc(100vw - 28px)}
    .topbar-right{display:none}
}

@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
    .reveal{opacity:1;transform:none}
    html{scroll-behavior:auto}
}
