/* DSCC 全站共享设计系统 — 自 82 个页面的重复内联样式抽取并统一
   生成于 2026-08-15 获客型官网改版
   本文件在各页面内联 <style> 之前加载，页面级样式仍可覆盖 */

/* ══════════════════════════════════════════
   DSCC Design System — 与首页完全一致
══════════════════════════════════════════ */
:root {
  --p900:#001E3C; --p800:#002D5C; --p700:#003875;
  --p600:#004D99; --p500:#0066CC; --p400:#2B8AE0;
  --p300:#57A8F0; --p200:#96CCF8; --p100:#CCE5FF; --p50:#EBF4FF;
  --c600:#007FA8; --c500:#00A0CC; --c400:#00BBEE;
  --c300:#33CCFF; --c200:#80DDFF; --c100:#CCF2FF;
  --n900:#0A0E14; --n800:#111720; --n700:#1A2233;
  --n600:#2A3548; --n500:#3D4F6A; --n400:#5A6F8A;
  --n300:#8899B4; --n200:#B8C5D6; --n100:#DDE5EE; --n50:#F0F4F8;
  --white:#FFFFFF;
  --success:#00C896; --warning:#F5A623; --error:#E84040;
  --font-en:'IBM Plex Sans',sans-serif;
  --font-zh:'Noto Sans SC',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --nav-h:68px;
  --r-sm:2px; --r-md:4px; --r-lg:8px; --r-xl:12px;
  --shadow-sm:0 2px 8px rgba(0,56,117,0.10);
  --shadow-md:0 4px 16px rgba(0,56,117,0.15);
  --shadow-lg:0 8px 32px rgba(0,56,117,0.22);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:15px;}
body{font-family:var(--font-zh);background:var(--white);color:var(--n700);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}

.container{max-width:1200px;margin:0 auto;padding:0 40px;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;}
.reveal.d5{transition-delay:.40s;}

/* ── Shared typography ── */
.sec-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--c500);margin-bottom:14px;}
.sec-eyebrow::before{content:'';width:20px;height:1.5px;background:var(--c500);}
.sec-title{font-family:var(--font-zh);font-size:34px;font-weight:700;color:var(--p900);line-height:1.25;letter-spacing:-.01em;}
.sec-sub{font-size:16px;line-height:1.8;color:var(--n500);margin-top:14px;}

/* ── Shared buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:500;cursor:pointer;border:none;transition:all .22s;border-radius:var(--r-md);font-family:var(--font-en);letter-spacing:.01em;}
.btn-primary{background:linear-gradient(135deg,#0066CC,#004D99);color:#fff;padding:13px 30px;font-size:14px;box-shadow:0 2px 14px rgba(0,102,204,.3);}
.btn-primary:hover{box-shadow:0 4px 24px rgba(0,102,204,.5);transform:translateY(-2px);}
.btn-cyan{background:linear-gradient(135deg,#00A0CC,#007FA8);color:#fff;padding:13px 30px;font-size:14px;box-shadow:0 2px 14px rgba(0,160,204,.25);}
.btn-cyan:hover{box-shadow:0 4px 24px rgba(0,160,204,.45);transform:translateY(-2px);}
.btn-outline{background:transparent;color:#fff;padding:12px 28px;font-size:14px;border:1.5px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);}
.btn-outline-blue{background:transparent;color:var(--p500);padding:11px 26px;font-size:14px;border:1.5px solid var(--p400);}
.btn-outline-blue:hover{background:var(--p50);}
.btn-sm{padding:9px 20px;font-size:13px;}

/* ══ NAV ══ */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:var(--p900);display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);transition:background .3s,box-shadow .3s;}
#nav.scrolled{background:rgba(0,30,60,.97);box-shadow:0 2px 20px rgba(0,0,0,.4);backdrop-filter:blur(12px);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;}
.nav-logo{display:flex;align-items:center;gap:0;}
.nav-logo-img{height:48px;width:auto;display:block;transition:opacity .2s;filter:brightness(1.8)}
.nav-logo:hover .nav-logo-img{opacity:.85;}
.nav-logo-text{font-family:var(--font-en);font-weight:700;font-size:18px;color:#fff;letter-spacing:.06em;display:flex;align-items:center;gap:6px;}
.nav-logo-text .logo-gradient{background:linear-gradient(135deg,#57A8F0,#33CCFF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.nav-logo-divider{width:1.5px;height:18px;background:rgba(255,255,255,.2);}
.nav-logo-cn{font-family:var(--font-zh);font-size:15px;color:rgba(255,255,255,.75);font-weight:500;}
.nav-menu{display:flex;align-items:center;gap:2px;list-style:none;}
.nav-menu li a{padding:8px 11px;font-size:13.5px;font-family:var(--font-zh);color:rgba(255,255,255,.7);border-radius:var(--r-md);transition:all .2s;position:relative;}
.nav-menu li a:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav-menu li a.active{color:#fff;}
.nav-menu li a.active::after{content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;background:var(--c400);border-radius:1px;}
.nav-menu li a[data-has-sub]::after{content:' ▾';font-size:10px;vertical-align:middle;opacity:.5;}
.nav-menu li a.active[data-has-sub]::after{content:'';position:absolute;bottom:2px;left:14px;right:14px;height:2px;background:var(--c400);border-radius:1px;}
.nav-lang{display:flex;align-items:center;gap:2px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);overflow:hidden;font-size:12px;font-family:var(--font-en);font-weight:600;letter-spacing:.05em;}
.nav-lang a{padding:6px 12px;color:rgba(255,255,255,.6);transition:all .2s;}
.nav-lang a.on{background:var(--p500);color:#fff;}
.nav-lang a:hover:not(.on){color:#fff;}
.nav-actions{display:flex;align-items:center;gap:10px;}

/* ══ BREADCRUMB ══ */
#breadcrumb{margin-top:var(--nav-h);background:var(--p900);border-bottom:1px solid rgba(255,255,255,.07);padding:14px 0;}
.breadcrumb-inner{display:flex;align-items:center;gap:8px;font-family:var(--font-en);font-size:12px;color:rgba(255,255,255,.4);}
.breadcrumb-inner a{color:rgba(255,255,255,.5);transition:color .2s;}
.breadcrumb-inner a:hover{color:#fff;}
.breadcrumb-sep{opacity:.3;}
.breadcrumb-current{color:var(--c300);font-weight:500;}

/* ══ ① PRODUCT HERO ══ */
#prod-hero{
  background:var(--p900);
  padding:72px 0 0;
  position:relative;overflow:hidden;
}
.prod-hero-grid{
  position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(0,102,204,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,102,204,.1) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 90% 80% at 70% 30%,rgba(0,0,0,.6) 0%,transparent 75%);
}
.prod-hero-orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;}
.orb-a{width:500px;height:500px;background:radial-gradient(circle,rgba(0,102,204,.22) 0%,transparent 70%);top:-120px;right:-80px;}
.orb-b{width:320px;height:320px;background:radial-gradient(circle,rgba(0,160,204,.14) 0%,transparent 70%);bottom:60px;left:10%;}

.prod-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;padding-bottom:0;}

/* Left col */
.prod-hero-left{}
.prod-type-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(0,160,204,.12);border:1px solid rgba(0,160,204,.3);
  padding:6px 14px;border-radius:40px;margin-bottom:24px;
  font-size:11px;font-family:var(--font-en);font-weight:600;
  color:var(--c300);letter-spacing:.1em;text-transform:uppercase;
  animation:fadeUp .6s .1s both;
}
.prod-type-dot{width:6px;height:6px;background:var(--c400);border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}

.prod-hero-title{
  font-family:var(--font-zh);font-size:clamp(32px,4vw,52px);
  font-weight:700;color:#fff;line-height:1.15;letter-spacing:-.01em;
  animation:fadeUp .6s .2s both;
}
.prod-hero-title .hl{background:linear-gradient(135deg,#57A8F0,#33CCFF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.prod-hero-en{
  font-family:var(--font-en);font-size:clamp(18px,2vw,26px);
  font-weight:600;color:rgba(255,255,255,.25);letter-spacing:-.01em;
  margin-top:6px;animation:fadeUp .6s .3s both;
}
.prod-hero-desc{
  font-size:16px;line-height:1.8;color:rgba(255,255,255,.6);
  margin-top:20px;max-width:500px;animation:fadeUp .6s .4s both;
}
.prod-hero-ctas{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;
  animation:fadeUp .6s .5s both;
}

/* Key metrics strip */
.prod-hero-metrics{
  display:flex;gap:0;margin-top:48px;
  border-top:1px solid rgba(255,255,255,.08);
  animation:fadeUp .6s .65s both;
}
.phm-item{
  flex:1;padding:24px 20px;
  border-right:1px solid rgba(255,255,255,.06);
  position:relative;
}
.phm-item:last-child{border-right:none;}
.phm-val{
  font-family:var(--font-mono);font-size:32px;font-weight:500;
  color:#fff;line-height:1;
}
.phm-val .u{font-size:16px;color:var(--c300);}
.phm-label{font-size:12px;color:rgba(255,255,255,.4);margin-top:6px;font-family:var(--font-zh);}
.phm-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--p500),var(--c400));
  transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.phm-item:hover::before{transform:scaleX(1);}

/* syntax tokens */
.kw{color:#57A8F0;} .fn{color:#33CCFF;} .str{color:#80DDFF;}
.num{color:#F5A623;} .cm{color:rgba(255,255,255,.28);font-style:italic;}
.punc{color:rgba(255,255,255,.5);} .resp{color:#00C896;}
.var{color:#B8C5D6;} .type{color:#c792ea;}

/* API response preview */
.api-response{
  margin:12px -20px -20px;padding:16px 20px;
  background:rgba(0,200,150,.05);
  border-top:1px solid rgba(0,200,150,.15);
}
.api-resp-header{display:flex;align-items:center;gap:8px;font-family:var(--font-en);font-size:11px;color:var(--success);margin-bottom:10px;font-weight:600;letter-spacing:.05em;}
.api-resp-dot{width:6px;height:6px;background:var(--success);border-radius:50%;animation:pulse 1.5s infinite;}

/* ══ ② STICKY SUBNAV ══ */
#prod-subnav{
  position:sticky;top:var(--nav-h);z-index:150;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--n100);
  box-shadow:0 2px 12px rgba(0,56,117,.06);
}
.subnav-inner{display:flex;align-items:center;justify-content:space-between;}
.subnav-links{display:flex;gap:0;}
.subnav-link{
  padding:16px 22px;font-size:13px;font-family:var(--font-zh);
  color:var(--n500);cursor:pointer;border-bottom:2px solid transparent;
  transition:all .2s;white-space:nowrap;
}
.subnav-link:hover{color:var(--p600);}
.subnav-link.on{color:var(--p600);border-bottom-color:var(--p500);font-weight:500;}
.subnav-cta{display:flex;align-items:center;gap:12px;padding:0 0 0 24px;}

/* ══ ③ OVERVIEW — 痛点 + 解决方案 ══ */
#overview{padding:96px 0;background:var(--white);}
.overview-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}

/* Pain points visual */
.pain-visual{position:relative;}
.pain-cards{display:flex;flex-direction:column;gap:12px;}
.pain-card{
  display:flex;align-items:flex-start;gap:16px;
  padding:20px 22px;
  background:var(--white);
  border:1px solid var(--n100);
  border-radius:var(--r-lg);
  border-left:3px solid var(--error);
  box-shadow:var(--shadow-sm);
  transition:all .25s;
}
.pain-card:hover{border-left-color:var(--p500);border-color:var(--p200);box-shadow:var(--shadow-md);}
.pain-icon{width:38px;height:38px;border-radius:var(--r-md);background:rgba(232,64,64,.08);display:grid;place-items:center;flex-shrink:0;}
.pain-title{font-family:var(--font-zh);font-size:14px;font-weight:700;color:var(--n800);margin-bottom:4px;}
.pain-desc{font-size:12px;line-height:1.65;color:var(--n500);}
.pain-arrow{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;margin:4px auto;
  font-size:18px;color:var(--n300);
}

.sol-card-item{
  display:flex;align-items:flex-start;gap:16px;
  padding:20px 22px;
  background:linear-gradient(135deg,var(--p50),var(--white));
  border:1px solid var(--p100);
  border-radius:var(--r-lg);
  border-left:3px solid var(--p500);
  box-shadow:var(--shadow-sm);
  transition:all .25s;
  margin-bottom:12px;
}
.sol-card-item:hover{border-color:var(--p300);box-shadow:var(--shadow-md);}
.sol-icon{width:38px;height:38px;border-radius:var(--r-md);background:var(--p100);display:grid;place-items:center;flex-shrink:0;}

/* Overview right text */
.overview-text{}
.overview-lead{font-size:17px;line-height:1.85;color:var(--n600);margin-top:20px;}
.overview-points{margin-top:32px;display:flex;flex-direction:column;gap:14px;}
.ov-point{display:flex;align-items:flex-start;gap:12px;}
.ov-check{width:20px;height:20px;border-radius:50%;background:var(--p100);display:grid;place-items:center;flex-shrink:0;margin-top:2px;}
.ov-text{font-size:14px;line-height:1.7;color:var(--n600);}
.ov-text strong{color:var(--p800);font-weight:700;}

/* ══ ④ FEATURES — 核心功能 ══ */
#features{padding:96px 0;background:var(--n50);}
.features-header{text-align:center;margin-bottom:64px;}
.features-header .sec-sub{margin:14px auto 0;text-align:center;}

/* Feature tabs */
.feat-tabs{display:flex;gap:0;border:1px solid var(--n100);border-radius:var(--r-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow-sm);margin-bottom:48px;}
.feat-tab{
  flex:1;padding:14px 10px;text-align:center;cursor:pointer;
  font-size:13px;font-family:var(--font-zh);
  color:var(--n500);border-right:1px solid var(--n100);
  transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px;
}
.feat-tab:last-child{border-right:none;}
.feat-tab.on{background:var(--p900);color:#fff;}
.feat-tab-icon{width:28px;height:28px;border-radius:var(--r-md);background:var(--n50);display:grid;place-items:center;}
.feat-tab.on .feat-tab-icon{background:rgba(255,255,255,.1);}
.feat-tab-label{font-size:12px;}

/* Feature panels */
.feat-panel{display:none;}
.feat-panel.on{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}

.feat-panel-text{}
.feat-name{font-family:var(--font-zh);font-size:26px;font-weight:700;color:var(--p900);margin-bottom:14px;}
.feat-desc{font-size:15px;line-height:1.85;color:var(--n500);}
.feat-list{margin-top:28px;display:flex;flex-direction:column;gap:12px;}
.feat-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--n100);border-radius:var(--r-lg);transition:all .2s;}
.feat-item:hover{border-color:var(--p200);box-shadow:var(--shadow-sm);}
.feat-bullet{width:6px;height:6px;border-radius:50%;background:var(--p500);flex-shrink:0;margin-top:6px;}
.feat-item-text{font-size:13px;line-height:1.65;color:var(--n600);}
.feat-item-text strong{color:var(--p800);font-weight:600;}
.feat-tech-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;}
.tech-tag{padding:5px 12px;background:var(--p50);border:1px solid var(--p100);border-radius:var(--r-pill);font-family:var(--font-mono);font-size:11px;color:var(--p700);font-weight:500;}

.feat-panel-visual{}
.feat-visual-card{
  background:var(--p900);border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.fvc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.07);}
.fvc-title{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.3);letter-spacing:.08em;}
.fvc-badge{font-family:var(--font-en);font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--r-pill);background:rgba(0,200,150,.15);color:var(--success);letter-spacing:.05em;}
.fvc-body{padding:20px;}

/* algo grid */
.algo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.algo-item{padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);}
.algo-name{font-family:var(--font-mono);font-size:13px;font-weight:500;color:#fff;margin-bottom:4px;}
.algo-desc{font-size:11px;color:rgba(255,255,255,.4);}
.algo-badge{display:inline-block;margin-top:6px;padding:2px 8px;background:rgba(0,160,204,.2);border-radius:3px;font-family:var(--font-en);font-size:10px;color:var(--c300);font-weight:600;}
.algo-badge.intl{background:rgba(87,168,240,.15);color:var(--p300);}

/* API throughput chart */
.tps-chart{margin-top:16px;}
.tps-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.tps-label{font-family:var(--font-en);font-size:11px;color:rgba(255,255,255,.45);width:56px;flex-shrink:0;text-align:right;}
.tps-bar{height:16px;border-radius:2px;transition:width .8s ease;position:relative;overflow:hidden;}
.tps-bar::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1));animation:shimmer 2s infinite;}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.tps-val{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.6);white-space:nowrap;}

/* SDK tabs */
.sdk-tabs{display:flex;gap:4px;margin-bottom:14px;}
.sdk-tab{padding:5px 12px;font-family:var(--font-en);font-size:11px;font-weight:600;border-radius:3px;cursor:pointer;color:rgba(255,255,255,.4);transition:all .2s;border:1px solid transparent;}
.sdk-tab.on{background:rgba(87,168,240,.2);color:var(--p300);border-color:rgba(87,168,240,.3);}
.sdk-code{font-family:var(--font-mono);font-size:12px;line-height:1.8;color:rgba(255,255,255,.75);}
.sdk-code .kw{color:#57A8F0;} .sdk-code .fn{color:#33CCFF;} .sdk-code .str{color:#80DDFF;}
.sdk-code .cm{color:rgba(255,255,255,.3);font-style:italic;}

/* Arch diagram */
.arch-diagram{padding:4px 0;}
.arch-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.arch-box{
  padding:10px 14px;border-radius:var(--r-md);
  font-family:var(--font-en);font-size:11px;font-weight:600;
  text-align:center;flex:1;letter-spacing:.04em;
}
.ab-app{background:rgba(87,168,240,.15);border:1px solid rgba(87,168,240,.3);color:var(--p300);}
.ab-gw{background:rgba(0,160,204,.15);border:1px solid rgba(0,160,204,.3);color:var(--c300);}
.ab-core{background:rgba(0,102,204,.25);border:1px solid rgba(0,102,204,.4);color:#fff;}
.ab-hsm{background:rgba(0,200,150,.12);border:1px solid rgba(0,200,150,.25);color:var(--success);}
.arch-arrow{color:rgba(255,255,255,.25);font-size:14px;flex-shrink:0;}
.arch-sep{border:none;border-top:1px dashed rgba(255,255,255,.1);margin:10px 0;}

/* ══ ⑤ TECH SPECS — 技术规格 ══ */
#specs{padding:96px 0;background:var(--white);}
.specs-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.specs-table{width:100%;border-collapse:collapse;}
.specs-table thead tr th{
  padding:12px 16px;font-family:var(--font-en);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--n400);
  background:var(--n50);text-align:left;border-bottom:2px solid var(--n100);
}
.specs-table tbody tr{border-bottom:1px solid var(--n100);transition:background .15s;}
.specs-table tbody tr:hover{background:var(--p50);}
.specs-table tbody tr:last-child{border-bottom:none;}
.specs-table td{padding:13px 16px;font-size:13px;vertical-align:top;}
.spec-key{color:var(--n600);font-family:var(--font-zh);}
.spec-val{color:var(--n800);font-weight:500;font-family:var(--font-zh);}
.spec-val .mono{font-family:var(--font-mono);font-size:12px;color:var(--p600);}
.spec-tag{display:inline-block;padding:2px 8px;background:var(--p50);border:1px solid var(--p100);border-radius:3px;font-family:var(--font-en);font-size:10px;color:var(--p600);font-weight:600;margin-right:4px;}
.spec-tag.green{background:rgba(0,200,150,.08);border-color:rgba(0,200,150,.2);color:#007A5C;}

.specs-right{}
.deploy-card{
  background:var(--p900);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow-lg);
}
.dc-header{padding:16px 20px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.07);}
.dc-title{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.dc-body{padding:20px;}
.deploy-mode{
  display:flex;gap:12px;padding:16px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);margin-bottom:12px;
  cursor:pointer;transition:all .2s;
}
.deploy-mode:hover{background:rgba(255,255,255,.07);border-color:rgba(0,160,204,.3);}
.deploy-mode.sel{background:rgba(0,102,204,.15);border-color:rgba(0,102,204,.4);}
.dm-icon{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;flex-shrink:0;}
.dm-title{font-family:var(--font-zh);font-size:14px;font-weight:700;color:#fff;margin-bottom:4px;}
.dm-desc{font-size:12px;line-height:1.6;color:rgba(255,255,255,.45);}
.dm-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap;}
.dm-tag{padding:2px 8px;border-radius:3px;font-family:var(--font-en);font-size:10px;font-weight:600;}
.dmt-blue{background:rgba(87,168,240,.2);color:var(--p300);}
.dmt-cyan{background:rgba(0,160,204,.2);color:var(--c300);}
.dmt-green{background:rgba(0,200,150,.15);color:var(--success);}

/* ══ ⑥ SOLUTIONS — 适用场景 ══ */
#scenarios{
  padding:96px 0;
  background:linear-gradient(180deg,var(--p50) 0%,var(--white) 100%);
}
.scenarios-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}
.scenarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.scenario-card{
  background:var(--white);border:1px solid var(--n100);
  border-radius:var(--r-xl);overflow:hidden;
  transition:all .25s;cursor:pointer;
}
.scenario-card:hover{border-color:var(--p300);box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.sc-img{
  height:120px;position:relative;
  display:flex;align-items:center;justify-content:center;
}
.sc-img.finance{background:linear-gradient(135deg,var(--p800),var(--p600));}
.sc-img.gov{background:linear-gradient(135deg,var(--p700),var(--c600));}
.sc-img.health{background:linear-gradient(135deg,#005F5F,#003875);}
.sc-img.industry{background:linear-gradient(135deg,#1A2233,#003875);}
.sc-img.cloud{background:linear-gradient(135deg,var(--c600),var(--p600));}
.sc-img.ecom{background:linear-gradient(135deg,#2A1060,#003875);}
.sc-pattern{position:absolute;inset:0;opacity:.12;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.1) 0,rgba(255,255,255,.1) 1px,transparent 0,transparent 50%);background-size:16px 16px;}
.sc-sector{
  position:absolute;top:14px;left:14px;
  background:rgba(0,0,0,.35);color:rgba(255,255,255,.8);
  font-family:var(--font-en);font-size:10px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-pill);backdrop-filter:blur(8px);
}
.sc-body{padding:22px;}
.sc-name{font-family:var(--font-zh);font-size:16px;font-weight:700;color:var(--p900);margin-bottom:8px;}
.sc-desc{font-size:13px;line-height:1.7;color:var(--n500);}
.sc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px;}
.sc-tag{padding:3px 9px;background:var(--p50);border-radius:3px;font-family:var(--font-mono);font-size:10px;color:var(--p600);font-weight:500;}
.sc-more{display:flex;align-items:center;gap:5px;margin-top:16px;font-size:12px;font-weight:600;color:var(--p500);font-family:var(--font-en);transition:gap .2s;}
.scenario-card:hover .sc-more{gap:10px;}

/* ══ ⑦ CASE STUDY — 客户案例 ══ */
#case{padding:96px 0;background:var(--p900);position:relative;overflow:hidden;}
.case-bg-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(0,102,204,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,102,204,.07) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.5) 15%,rgba(0,0,0,.5) 85%,transparent);
}
.case-inner{position:relative;z-index:1;}
.case-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:center;}

.case-text{}
.case-client-logo{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  padding:8px 16px;border-radius:var(--r-md);margin-bottom:24px;
}
.case-client-name{font-family:var(--font-zh);font-size:13px;font-weight:600;color:rgba(255,255,255,.7);}
.case-industry{font-family:var(--font-en);font-size:10px;color:var(--c300);letter-spacing:.08em;text-transform:uppercase;}
.case-quote{
  font-family:var(--font-zh);font-size:clamp(18px,2vw,24px);
  font-weight:700;color:#fff;line-height:1.5;
  border-left:3px solid var(--c400);padding-left:20px;margin:20px 0;
}
.case-quote-author{font-size:13px;color:rgba(255,255,255,.45);margin-top:12px;}
.case-results{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px;}
.cr-item{
  padding:18px 20px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-lg);
}
.cr-val{font-family:var(--font-mono);font-size:28px;font-weight:500;color:#fff;line-height:1;}
.cr-val .u{font-size:14px;color:var(--c300);}
.cr-desc{font-size:12px;color:rgba(255,255,255,.4);margin-top:5px;font-family:var(--font-zh);}

.case-card-visual{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-xl);padding:28px;
  box-shadow:0 20px 48px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.07);
}
.ccv-title{font-family:var(--font-en);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:20px;}
.ccv-timeline{display:flex;flex-direction:column;gap:0;}
.ccv-step{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.ccv-step:last-child{border-bottom:none;}
.ccv-step-num{
  width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;flex-shrink:0;
  font-family:var(--font-en);font-size:11px;font-weight:700;
}
.sn-1{background:rgba(87,168,240,.2);color:var(--p300);}
.sn-2{background:rgba(0,160,204,.2);color:var(--c300);}
.sn-3{background:rgba(0,200,150,.15);color:var(--success);}
.sn-4{background:rgba(87,168,240,.2);color:var(--p300);}
.ccv-step-title{font-family:var(--font-zh);font-size:13px;font-weight:700;color:#fff;margin-bottom:4px;}
.ccv-step-desc{font-size:12px;line-height:1.65;color:rgba(255,255,255,.45);}

/* ══ ⑧ COMPARE — 产品对比 ══ */
#compare{padding:96px 0;background:var(--n50);}
.compare-header{text-align:center;margin-bottom:56px;}
.compare-table-wrap{overflow-x:auto;}
.compare-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-md);}
.compare-table thead tr th{padding:18px 20px;font-size:13px;text-align:left;border-bottom:2px solid var(--n100);}
.compare-table thead tr th:first-child{font-family:var(--font-zh);color:var(--n500);font-weight:500;background:var(--n50);}
.ct-col-dscc{background:var(--p900);color:#fff;font-family:var(--font-zh);font-weight:700;}
.ct-col-dscc .ct-sub{font-size:11px;color:rgba(255,255,255,.5);font-weight:400;font-family:var(--font-en);display:block;margin-top:2px;}
.ct-col-other{background:var(--n50);color:var(--n600);font-family:var(--font-zh);font-weight:500;}
.compare-table tbody tr{border-bottom:1px solid var(--n100);}
.compare-table tbody tr:last-child{border-bottom:none;}
.compare-table tbody tr:hover td{background-color:var(--p50);}
.compare-table tbody td{padding:14px 20px;font-size:13px;vertical-align:middle;}
.compare-table tbody td:first-child{color:var(--n600);font-family:var(--font-zh);background:var(--n50);}
.ct-dscc{background:rgba(0,30,60,.03);font-weight:500;}
.ct-check{color:var(--success);font-size:16px;}
.ct-cross{color:var(--n300);font-size:14px;}
.ct-partial{color:var(--warning);}
.ct-highlight{background:rgba(0,102,204,.04) !important;}

/* ══ ⑨ CTA ══ */
#cta{
  padding:80px 0;
  background:linear-gradient(135deg,var(--p900) 0%,var(--p700) 50%,var(--c600) 100%);
  position:relative;overflow:hidden;
}
.cta-circle{position:absolute;border-radius:50%;background:rgba(255,255,255,.04);}
.cta-c1{width:400px;height:400px;top:-150px;right:-100px;}
.cta-c2{width:280px;height:280px;bottom:-80px;left:15%;}
.cta-inner{position:relative;z-index:1;text-align:center;}
.cta-title{font-family:var(--font-zh);font-size:clamp(26px,3.5vw,42px);font-weight:700;color:#fff;line-height:1.2;}
.cta-sub{font-size:16px;color:rgba(255,255,255,.6);margin:14px auto 32px;max-width:480px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-note{font-size:12px;color:rgba(255,255,255,.35);margin-top:18px;font-family:var(--font-en);}
.cta-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:800px;margin:0 auto 40px;}
.cta-card{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:20px;text-align:left;
}
.cta-card-icon{font-size:24px;margin-bottom:12px;}
.cta-card-title{font-family:var(--font-zh);font-size:14px;font-weight:700;color:#fff;margin-bottom:6px;}
.cta-card-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;}

/* Back to top */
#backTop{position:fixed;bottom:32px;right:32px;z-index:100;width:44px;height:44px;border-radius:var(--r-lg);background:var(--p600);color:#fff;border:none;cursor:pointer;display:grid;place-items:center;font-size:18px;opacity:0;transform:translateY(16px);transition:all .3s;box-shadow:var(--shadow-md);}
#backTop.visible{opacity:1;transform:none;}
#backTop:hover{background:var(--p500);box-shadow:var(--shadow-lg);}
#progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--p500),var(--c400));z-index:300;transition:width .1s;}

/* ══ MOBILE ══ */
#nav-hamburger{display:none;}
#mobile-menu{display:none;}

@media(max-width:1024px){
  .container{padding:0 28px;}
  .prod-hero-inner{gap:40px;}
  .overview-layout{gap:48px;}
  .feat-panel.on{gap:40px;}
  .specs-layout{gap:40px;}
  .case-layout{gap:48px;}
  .footer-top{grid-template-columns:1fr 1fr 1fr;gap:32px;}
  .footer-brand{grid-column:1/-1;}
}

@media(max-width:768px){
  :root{--nav-h:60px;}
  html{font-size:14px;}
  .container{padding:0 20px;}
  .nav-menu{display:none;}
  .nav-actions .nav-lang{display:none;}
  .nav-actions .btn-cyan{display:none;}
  #nav-hamburger{
    display:flex;flex-direction:column;justify-content:center;
    gap:5px;width:36px;height:36px;cursor:pointer;padding:6px;
    border-radius:var(--r-md);background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);transition:background .2s;
  }
  #nav-hamburger span{display:block;height:1.5px;background:rgba(255,255,255,.8);border-radius:1px;transition:all .3s;transform-origin:center;}
  #nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  #nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
  #nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  #mobile-menu{
    display:none;position:fixed;top:var(--nav-h);left:0;right:0;
    background:var(--p900);border-top:1px solid rgba(255,255,255,.08);
    z-index:199;padding:16px 20px 24px;box-shadow:0 20px 40px rgba(0,0,0,.5);
    animation:slideDown .25s ease;
  }
  #mobile-menu.open{display:block;}
  @keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  .mobile-nav-list{list-style:none;margin-bottom:20px;}
  .mobile-nav-list li{border-bottom:1px solid rgba(255,255,255,.06);}
  .mobile-nav-list li a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;font-size:15px;font-family:var(--font-zh);color:rgba(255,255,255,.75);transition:color .2s;}
  .mobile-nav-list li a::after{content:'›';opacity:.4;font-size:18px;}
  .mobile-nav-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;}
  .mobile-nav-lang{display:flex;gap:2px;border:1px solid rgba(255,255,255,.2);border-radius:var(--r-md);overflow:hidden;font-family:var(--font-en);font-size:12px;font-weight:600;}
  .mobile-nav-lang a{padding:7px 14px;color:rgba(255,255,255,.6);}
  .mobile-nav-lang a.on{background:var(--p500);color:#fff;}
  .nav-logo-img{height:28px;}

/* Product hero */
  #prod-hero{padding:48px 0 0;}
  .prod-hero-inner{grid-template-columns:1fr;gap:36px;}
  .prod-hero-right{order:-1;}
  .prod-hero-title{font-size:clamp(28px,7vw,40px);}
  .prod-hero-desc{font-size:14px;}
  .prod-hero-ctas{flex-direction:column;gap:10px;}
  .prod-hero-ctas .btn{width:100%;justify-content:center;}
  .prod-hero-metrics{flex-wrap:wrap;}
  .phm-item{flex:1 0 calc(50% - 1px);}

/* Subnav */
  .subnav-links{overflow-x:auto;}
  .subnav-link{padding:12px 14px;font-size:12px;}
  .subnav-cta{display:none;}

/* Sections */
  #overview,#features,#specs,#scenarios,#case,#compare{padding:64px 0;}
  .overview-layout{grid-template-columns:1fr;gap:40px;}
  .feat-tabs{flex-wrap:wrap;}
  .feat-tab{flex:1 0 33.33%;border-bottom:1px solid var(--n100);}
  .feat-panel.on{grid-template-columns:1fr;gap:32px;}
  .specs-layout{grid-template-columns:1fr;gap:40px;}
  .scenarios-header{flex-direction:column;align-items:flex-start;gap:16px;}
  .scenarios-grid{grid-template-columns:1fr;gap:16px;}
  .case-layout{grid-template-columns:1fr;gap:40px;}
  .case-results{grid-template-columns:1fr 1fr;}
  .compare-table thead tr th,.compare-table tbody td{padding:10px 12px;font-size:12px;}
  .cta-cards{grid-template-columns:1fr;max-width:100%;}
  .cta-btns{flex-direction:column;align-items:center;gap:10px;}
  .cta-btns .btn{width:100%;max-width:320px;justify-content:center;}
  .footer-top{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:36px;}
  .footer-brand{grid-column:1/-1;}
  .footer-bottom{flex-direction:column;gap:12px;text-align:center;}
}

@media(max-width:480px){
  .container{padding:0 16px;}
  .algo-grid{grid-template-columns:1fr;}
  .cta-cards{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
}

@media(min-width:1025px){
  #nav-hamburger{display:none;}
  #mobile-menu{display:none !important;}
}
@media(max-width:1024px){
  .btn{min-height:44px;}
  .subnav-link{min-height:44px;display:flex;align-items:center;}
}
@supports(padding-bottom:env(safe-area-inset-bottom)){
  footer{padding-bottom:env(safe-area-inset-bottom);}
  #mobile-menu{padding-bottom:calc(24px + env(safe-area-inset-bottom));}
}

/* ── nav container 宽度修复 ── */
#nav .container{width:100%;}

/* ── Dropdown Nav (全站统一) ── */
.nav-menu li{position:relative;}
.nav-dropdown{
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:50%;
  transform:translateX(-50%);
  min-width:196px;
  background:var(--p800);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);
  padding:6px;
  z-index:300;
  box-shadow:0 12px 40px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);
}
@keyframes ndropIn{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.nav-menu li:hover .nav-dropdown,
.nav-menu li:focus-within .nav-dropdown{display:block;animation:ndropIn .18s ease;}
.nav-dropdown a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  font-size:13.5px;font-family:var(--font-zh);
  color:rgba(255,255,255,.72);
  border-radius:var(--r-md);
  transition:all .15s;
  white-space:nowrap;
}
.nav-dropdown a:hover{color:#fff;background:rgba(255,255,255,.1);}
.ndi{font-size:14px;}.ndi::before{content:attr(data-i);}

/* 移动端横向溢出修复（自适应） */
.tbl-scroll{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
@media(max-width:768px){
  [style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  .doc-toc{display:none!important;}
  .doc-body,.doc-content,.article-content{min-width:0;max-width:100%;}
  img{max-width:100%;height:auto;}
  .doc-body pre,.article-content pre,pre{max-width:100%;overflow-x:auto;}
  .doc-body table,.article-content table,article table,.zt-table,table{max-width:100%;min-width:0!important;}
  .matrix-wrap{max-width:100%;overflow-x:auto;}
  .psv-card{max-width:100%;overflow-x:auto;}
  .ps-layout>div,.prod-hero-inner>div,.runbook{min-width:0;max-width:100%;}
  .sn-right{display:none;}
  .sn-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* Right col — API preview card */
.prod-hero-right{animation:fadeUp .7s .4s both;}
.api-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-xl);
  overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.07);
}
.api-card-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.api-card-dots{display:flex;gap:6px;}
.api-dot{width:10px;height:10px;border-radius:50%;}
.dot-r{background:#E84040;opacity:.7;}
.dot-y{background:#F5A623;opacity:.7;}
.dot-g{background:#00C896;opacity:.7;}
.api-card-title{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.3);letter-spacing:.08em;}
.api-card-lang{display:flex;gap:2px;}
.lang-tab{padding:4px 10px;font-family:var(--font-en);font-size:11px;font-weight:600;border-radius:3px;cursor:pointer;color:rgba(255,255,255,.4);transition:all .2s;}
.lang-tab.on{background:var(--p600);color:#fff;}
.api-body{padding:20px;font-family:var(--font-mono);font-size:12.5px;line-height:1.85;overflow-x:auto;}
.code-block{display:none;}
.code-block.active{display:block;}

/* ══ FOOTER ══ */
footer{background:var(--n900);padding:64px 0 0;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand .logo-text{font-family:var(--font-en);font-weight:700;font-size:20px;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.footer-brand .logo-text span{color:var(--c300);}
.footer-logo-img{height:32px;width:auto;display:block;margin-bottom:16px;}
.footer-brand-desc{font-size:13px;line-height:1.8;color:rgba(255,255,255,.4);max-width:260px;}
.footer-certbadges{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap;}
.footer-certbadge{padding:4px 10px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-sm);font-family:var(--font-en);font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.35);}
.footer-col h4{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.5);font-family:var(--font-zh);transition:color .2s;}
.footer-col ul li a:hover{color:#fff;}
.footer-col ul li .en{font-family:var(--font-en);font-size:11px;color:rgba(255,255,255,.25);display:block;margin-top:1px;}
.footer-bottom{padding:20px 0;display:flex;align-items:center;justify-content:space-between;}
.footer-copy{font-size:12px;color:rgba(255,255,255,.25);font-family:var(--font-en);}
.footer-links{display:flex;gap:20px;}
.footer-links a{font-size:12px;color:rgba(255,255,255,.25);font-family:var(--font-en);transition:color .2s;}
.footer-links a:hover{color:rgba(255,255,255,.6);}
/* ══════════════════════════════════════════════════════════════
   DSCC Design System v2 — 获客与转化组件层
   （2026-08 获客型官网改版：分层 CTA、证据分级、表单、落地页）
   命名统一使用 ds- 前缀，避免与既有页面样式冲突
══════════════════════════════════════════════════════════════ */

/* ── 令牌补齐与统一（消除跨页漂移） ── */
:root{
  --gold:#D4A843;
  --nav-h:60px;
  --ds-line:#DDE5EE;
  --ds-ink:#1A2233;
  --ds-ink-2:#3D4F6A;
  --ds-ink-3:#5A6F8A;
  --ds-radius:4px;
  --ds-gap:24px;
  --ds-sec-y:88px;
  --ds-maxw:1200px;
}

/* ══ 1. 证据与口径（文档 §6.4 / §10.2 / §10.3） ══ */

/* 带脚注的数字：hover / focus 展开统计口径 */
.ds-fact{position:relative;display:inline-flex;align-items:baseline;gap:4px;}
.ds-fact-note{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  width:14px;height:14px;flex:0 0 14px;margin-left:5px;
  border:1px solid currentColor;border-radius:50%;
  font-family:var(--font-en);font-size:9px;font-weight:700;line-height:1;
  opacity:.55;cursor:help;vertical-align:super;transition:opacity .2s;
}
.ds-fact-note:hover,.ds-fact-note:focus-visible{opacity:1;}
.ds-fact-note::after{
  content:attr(data-note);
  position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);
  width:max-content;max-width:280px;z-index:60;
  background:var(--n900);color:#fff;
  font-family:var(--font-zh);font-size:12px;font-weight:400;line-height:1.6;
  letter-spacing:0;text-align:left;padding:10px 12px;border-radius:var(--r-md);
  box-shadow:0 8px 28px rgba(0,0,0,.32);
  opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;pointer-events:none;
}
.ds-fact-note:hover::after,.ds-fact-note:focus-visible::after{opacity:1;visibility:visible;}

/* 行内口径脚注（数字下方一行小字） */
.ds-caveat{
  display:block;margin-top:6px;
  font-family:var(--font-zh);font-size:11.5px;line-height:1.6;
  color:var(--n400);font-weight:400;letter-spacing:0;
}
.ds-caveat--light{color:rgba(255,255,255,.5);}

/* 证据等级徽章 L1–L4 */
.ds-ev{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 9px;border-radius:2px;
  font-family:var(--font-en);font-size:10.5px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;white-space:nowrap;
}
.ds-ev::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor;}
.ds-ev-1{background:var(--n50);color:var(--n500);}
.ds-ev-2{background:var(--c100);color:var(--c600);}
.ds-ev-3{background:var(--p50);color:var(--p600);}
.ds-ev-4{background:rgba(212,168,67,.14);color:#8A6A16;}

/* 适用边界 / 限制说明框（文档 §7.2 适用边界） */
.ds-boundary{
  border:1px solid var(--n100);border-left:3px solid var(--n300);
  background:var(--n50);border-radius:0 var(--r-md) var(--r-md) 0;
  padding:20px 24px;margin:28px 0;
}
.ds-boundary-t{
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
  font-size:13.5px;font-weight:700;color:var(--n700);
}
.ds-boundary-t::before{
  content:'';width:14px;height:14px;flex:0 0 14px;border-radius:50%;
  border:2px solid var(--n400);
}
.ds-boundary ul{margin:0;padding-left:18px;}
.ds-boundary li{font-size:13.5px;line-height:1.85;color:var(--n500);margin-bottom:4px;}
.ds-boundary li::marker{color:var(--n300);}

/* 提示条：info / warn / verify */
.ds-callout{
  display:flex;gap:14px;padding:18px 22px;border-radius:var(--r-md);
  margin:24px 0;font-size:14px;line-height:1.8;
}
.ds-callout-ico{
  flex:0 0 20px;width:20px;height:20px;border-radius:50%;margin-top:2px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-en);font-size:12px;font-weight:700;color:#fff;
}
.ds-callout-info{background:var(--p50);color:var(--p800);border:1px solid var(--p100);}
.ds-callout-info .ds-callout-ico{background:var(--p500);}
.ds-callout-warn{background:#FFF8EC;color:#7A5A10;border:1px solid #F3E2BC;}
.ds-callout-warn .ds-callout-ico{background:var(--warning);}

/* ══ 2. 分层 CTA（文档 §6.5 / §11.2） ══ */

/* 主 CTA 下的微文案：说明「提交后会发生什么」 */
.ds-micro{
  margin-top:14px;font-size:12.5px;line-height:1.7;color:var(--n400);
  display:flex;align-items:flex-start;gap:7px;
}
.ds-micro::before{
  content:'';flex:0 0 6px;width:6px;height:6px;margin-top:6px;
  border-radius:50%;background:var(--success);
}
.ds-micro--light{color:rgba(255,255,255,.58);}

/* 首屏证明条 */
.ds-proofbar{
  display:flex;flex-wrap:wrap;align-items:center;gap:0;
  margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);
}
.ds-proofbar-item{
  display:flex;align-items:center;gap:8px;padding:0 22px 0 0;margin-right:22px;
  border-right:1px solid rgba(255,255,255,.12);
  font-size:13px;color:rgba(255,255,255,.72);line-height:1.5;
}
.ds-proofbar-item:last-child{border-right:none;margin-right:0;padding-right:0;}
.ds-proofbar-item::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--c400);flex:0 0 6px;
}
.ds-proofbar--onlight .ds-proofbar-item{color:var(--n500);border-right-color:var(--n100);}
.ds-proofbar--onlight{border-top-color:var(--n100);}

/* 按问题进入的入口卡（文档 §6.2） */
.ds-problems{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;margin-top:44px;
}
.ds-problem{
  display:flex;flex-direction:column;
  background:var(--white);border:1px solid var(--n100);border-radius:var(--r-lg);
  padding:26px 24px 22px;transition:border-color .22s,box-shadow .22s,transform .22s;
}
.ds-problem:hover{border-color:var(--p300);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.ds-problem-q{
  display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;
  font-family:var(--font-en);font-size:10.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--error);
}
.ds-problem-q::before{content:'';width:16px;height:1.5px;background:var(--error);}
.ds-problem-h{
  font-size:17px;font-weight:700;line-height:1.5;color:var(--p900);margin-bottom:10px;
}
.ds-problem-d{font-size:13.5px;line-height:1.85;color:var(--n500);flex:1;}
.ds-problem-f{
  margin-top:18px;padding-top:14px;border-top:1px dashed var(--n100);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.ds-problem-prod{font-size:12px;color:var(--n400);line-height:1.5;}
.ds-problem-go{
  font-family:var(--font-en);font-size:12.5px;font-weight:600;color:var(--p500);
  white-space:nowrap;transition:gap .2s;display:inline-flex;align-items:center;gap:5px;
}
.ds-problem:hover .ds-problem-go{gap:9px;}

/* 访客阶段分层入口（认知 / 比较 / 决策 / 采购） */
.ds-stages{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:16px;margin-top:36px;
}
.ds-stage{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:22px 20px;transition:background .22s,border-color .22s;
}
.ds-stage:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.26);}
.ds-stage-n{
  font-family:var(--font-en);font-size:10.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--c400);margin-bottom:10px;
}
.ds-stage-h{font-size:15px;font-weight:600;color:#fff;line-height:1.5;margin-bottom:8px;}
.ds-stage-d{font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.6);margin-bottom:14px;}
.ds-stage-links{display:flex;flex-direction:column;gap:7px;}
.ds-stage-links a{
  font-size:13px;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:6px;
  transition:color .2s;
}
.ds-stage-links a::before{content:'→';font-family:var(--font-en);color:var(--c400);opacity:.7;}
.ds-stage-links a:hover{color:var(--c300);}
/* 浅色底变体 */
.ds-stages--light .ds-stage{background:var(--white);border-color:var(--n100);}
.ds-stages--light .ds-stage:hover{border-color:var(--p300);box-shadow:var(--shadow-sm);}
.ds-stages--light .ds-stage-h{color:var(--p900);}
.ds-stages--light .ds-stage-d{color:var(--n500);}
.ds-stages--light .ds-stage-links a{color:var(--p600);}

/* 页内上下文 CTA 条（案例后 / 技术区后） */
.ds-inline-cta{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:20px;margin:40px 0;padding:24px 28px;
  background:var(--p50);border:1px solid var(--p100);border-radius:var(--r-lg);
}
.ds-inline-cta-t{font-size:16px;font-weight:700;color:var(--p900);line-height:1.5;}
.ds-inline-cta-d{font-size:13px;color:var(--n500);line-height:1.7;margin-top:6px;}
.ds-inline-cta-a{display:flex;gap:10px;flex-wrap:wrap;}
.ds-inline-cta--dark{background:var(--p900);border-color:rgba(255,255,255,.12);}
.ds-inline-cta--dark .ds-inline-cta-t{color:#fff;}
.ds-inline-cta--dark .ds-inline-cta-d{color:rgba(255,255,255,.6);}

/* 线索资料卡（白皮书 / 清单 / 选型指南） */
.ds-magnets{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;margin-top:32px;
}
.ds-magnet{
  display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--n100);border-radius:var(--r-lg);overflow:hidden;
  transition:border-color .22s,box-shadow .22s,transform .22s;
}
.ds-magnet:hover{border-color:var(--p300);box-shadow:var(--shadow-md);transform:translateY(-3px);}
.ds-magnet-top{
  padding:20px 22px 0;display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.ds-magnet-kind{
  font-family:var(--font-en);font-size:10px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--c600);background:var(--c100);
  padding:3px 8px;border-radius:2px;
}
.ds-magnet-gate{font-size:11px;color:var(--n400);}
.ds-magnet-b{padding:14px 22px 20px;flex:1;}
.ds-magnet-h{font-size:16px;font-weight:700;color:var(--p900);line-height:1.5;margin-bottom:8px;}
.ds-magnet-d{font-size:13px;line-height:1.8;color:var(--n500);}
.ds-magnet-for{
  margin-top:12px;font-size:12px;color:var(--n400);
  padding-top:10px;border-top:1px dashed var(--n100);
}
.ds-magnet-f{padding:0 22px 22px;}

/* ══ 3. 表单（文档 §11.3 / §11.4） ══ */
.ds-form{display:flex;flex-direction:column;gap:20px;}
/* 字段分栏按「容器可用宽度」自适应，而非视口断点：
   同一个表单在落地页窄列（~400px）与联系页宽卡（~713px）里都要正确。 */
.ds-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;}
.ds-field{display:flex;flex-direction:column;gap:7px;}
.ds-label{
  font-size:13px;font-weight:600;color:var(--n700);display:flex;align-items:center;gap:5px;
}
.ds-label .req{color:var(--error);font-weight:700;}
.ds-label .opt{
  font-weight:400;font-size:11.5px;color:var(--n400);
  border:1px solid var(--n100);border-radius:2px;padding:1px 5px;
}
.ds-hint{font-size:11.5px;line-height:1.65;color:var(--n400);}
.ds-input,.ds-select,.ds-textarea{
  width:100%;font-family:var(--font-zh);font-size:14px;color:var(--n700);
  background:var(--white);border:1px solid var(--n200);border-radius:var(--r-md);
  padding:11px 13px;transition:border-color .2s,box-shadow .2s;
}
.ds-textarea{min-height:96px;resize:vertical;line-height:1.7;}
.ds-select{
  appearance:none;cursor:pointer;padding-right:34px;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235A6F8A' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
}
.ds-input:focus,.ds-select:focus,.ds-textarea:focus{
  outline:none;border-color:var(--p400);box-shadow:0 0 0 3px rgba(0,102,204,.12);
}
.ds-input::placeholder,.ds-textarea::placeholder{color:var(--n300);}
.ds-input[aria-invalid="true"],.ds-select[aria-invalid="true"]{
  border-color:var(--error);box-shadow:0 0 0 3px rgba(232,64,64,.10);
}
.ds-err{font-size:12px;color:var(--error);display:none;}
.ds-err.on{display:block;}

/* 选项胶囊（当前问题 / 项目阶段 / 目标时间 / 希望获得） */
.ds-pills{display:flex;flex-wrap:wrap;gap:8px;}
.ds-pill{position:relative;}
.ds-pill input{position:absolute;opacity:0;width:0;height:0;}
.ds-pill span{
  display:inline-block;cursor:pointer;user-select:none;
  font-size:13px;line-height:1.4;color:var(--n500);
  background:var(--white);border:1px solid var(--n200);border-radius:var(--r-md);
  padding:9px 14px;transition:all .18s;
}
.ds-pill span:hover{border-color:var(--p300);color:var(--p600);}
.ds-pill input:checked+span{
  background:var(--p50);border-color:var(--p500);color:var(--p700);font-weight:600;
  box-shadow:inset 0 0 0 1px var(--p500);
}
.ds-pill input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,102,204,.16);}

/* 同意与隐私（资料订阅与销售联系分别征得同意） */
.ds-consent{display:flex;flex-direction:column;gap:11px;padding-top:4px;}
.ds-check{display:flex;align-items:flex-start;gap:9px;cursor:pointer;}
.ds-check input{
  flex:0 0 15px;width:15px;height:15px;margin-top:3px;accent-color:var(--p500);cursor:pointer;
}
.ds-check span{font-size:12.5px;line-height:1.75;color:var(--n500);}
.ds-check a{color:var(--p500);text-decoration:underline;text-underline-offset:2px;}
.ds-privacy{
  font-size:11.5px;line-height:1.8;color:var(--n400);
  background:var(--n50);border-radius:var(--r-md);padding:14px 16px;
}
.ds-privacy b{color:var(--n600);font-weight:600;}

/* 表单说明侧栏：收集目的 / 响应承诺 */
.ds-form-aside{
  background:var(--n50);border:1px solid var(--n100);
  border-radius:var(--r-lg);padding:24px;
}
.ds-form-aside h4{
  font-size:13.5px;font-weight:700;color:var(--p900);margin-bottom:12px;
  display:flex;align-items:center;gap:7px;
}
.ds-form-aside ol{margin:0;padding-left:18px;}
.ds-form-aside li{font-size:13px;line-height:1.85;color:var(--n500);margin-bottom:7px;}

/* 提交成功 / 感谢区块 */
.ds-thanks{
  text-align:center;padding:56px 32px;
  background:var(--white);border:1px solid var(--n100);border-radius:var(--r-lg);
}
.ds-thanks-ico{
  width:52px;height:52px;margin:0 auto 20px;border-radius:50%;
  background:rgba(0,200,150,.12);color:var(--success);
  display:flex;align-items:center;justify-content:center;font-size:24px;
}
.ds-thanks h3{font-size:22px;font-weight:700;color:var(--p900);margin-bottom:12px;}
.ds-thanks p{font-size:14.5px;line-height:1.85;color:var(--n500);max-width:560px;margin:0 auto;}
.ds-thanks-next{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:26px;
}

/* ══ 4. 落地页骨架（文档 §12.2） ══ */
.ds-lp-hero{
  background:var(--p900);color:#fff;position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + 72px) 0 76px;
}
.ds-lp-hero::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,102,204,.09) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(0,102,204,.09) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(0,0,0,.6),transparent 85%);
  -webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(0,0,0,.6),transparent 85%);
}
.ds-lp-hero>.container{position:relative;z-index:1;}
.ds-lp-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;}
.ds-lp-badge{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;
  background:rgba(0,187,238,.12);border:1px solid rgba(0,187,238,.3);
  border-radius:100px;padding:6px 14px;
  font-size:12px;color:var(--c300);letter-spacing:.02em;
}
.ds-lp-h1{
  font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.28;
  letter-spacing:-.01em;color:#fff;margin-bottom:18px;
}
.ds-lp-h1 .hl{
  background:linear-gradient(135deg,#57A8F0,#33CCFF);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.ds-lp-lead{font-size:16px;line-height:1.9;color:rgba(255,255,255,.72);max-width:620px;}
.ds-lp-pains{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:11px;}
.ds-lp-pains li{
  display:flex;gap:11px;font-size:14.5px;line-height:1.75;color:rgba(255,255,255,.84);
}
.ds-lp-pains li::before{
  content:'';flex:0 0 7px;width:7px;height:7px;margin-top:8px;
  border-radius:50%;background:var(--c400);
}
/* 落地页右侧表单卡 */
.ds-lp-card{
  background:var(--white);border-radius:var(--r-lg);
  box-shadow:0 24px 64px rgba(0,0,0,.28);padding:30px 28px;
}
.ds-lp-card-h{font-size:19px;font-weight:700;color:var(--p900);line-height:1.45;}
.ds-lp-card-d{font-size:13px;line-height:1.8;color:var(--n500);margin:8px 0 20px;}

/* 三步 / 四步路径 */
.ds-steps{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;margin-top:36px;counter-reset:dsstep;
}
.ds-step{
  position:relative;background:var(--white);border:1px solid var(--n100);
  border-radius:var(--r-lg);padding:26px 22px 22px;counter-increment:dsstep;
}
.ds-step::before{
  content:counter(dsstep,decimal-leading-zero);
  font-family:var(--font-en);font-size:12px;font-weight:700;letter-spacing:.1em;
  color:var(--p300);display:block;margin-bottom:12px;
}
.ds-step-h{font-size:15.5px;font-weight:700;color:var(--p900);line-height:1.5;margin-bottom:8px;}
.ds-step-d{font-size:13.5px;line-height:1.8;color:var(--n500);}
.ds-step-out{
  margin-top:12px;padding-top:10px;border-top:1px dashed var(--n100);
  font-size:12px;color:var(--n400);line-height:1.7;
}

/* ══ 5. 筛选标签（案例中心 §10.4） ══ */
.ds-filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;}
.ds-filter-g{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ds-filter-lab{font-size:12px;color:var(--n400);white-space:nowrap;}
.ds-chip{
  font-size:12.5px;line-height:1.4;color:var(--n500);cursor:pointer;
  background:var(--white);border:1px solid var(--n200);border-radius:100px;
  padding:6px 13px;transition:all .18s;
}
.ds-chip:hover{border-color:var(--p300);color:var(--p600);}
.ds-chip.on{background:var(--p500);border-color:var(--p500);color:#fff;font-weight:600;}

/* 案例证据卡的七段结构 */
.ds-evcard{
  border:1px solid var(--n100);border-radius:var(--r-lg);overflow:hidden;background:var(--white);
}
.ds-evrow{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--n100);}
.ds-evrow:first-child{border-top:none;}
.ds-evrow-k{
  background:var(--n50);padding:16px 18px;font-size:13px;font-weight:600;color:var(--n600);
  line-height:1.6;
}
.ds-evrow-v{padding:16px 20px;font-size:13.5px;line-height:1.85;color:var(--n500);}
.ds-evrow-v strong{color:var(--p800);font-weight:600;}

/* ══ 6. 通用工具 ══ */
.ds-sec{padding:var(--ds-sec-y) 0;}
.ds-sec--alt{background:var(--n50);}
.ds-sec--dark{background:var(--p900);color:#fff;}
.ds-sec--dark .sec-title{color:#fff;}
.ds-sec--dark .sec-sub{color:rgba(255,255,255,.66);}
.ds-center{text-align:center;}
.ds-center .sec-eyebrow{justify-content:center;}
.ds-narrow{max-width:760px;margin-left:auto;margin-right:auto;}
.ds-mt-s{margin-top:16px;}.ds-mt-m{margin-top:28px;}.ds-mt-l{margin-top:44px;}
.ds-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.ds-updated{
  font-family:var(--font-en);font-size:11.5px;color:var(--n400);letter-spacing:.02em;
}

/* ══ 7. 响应式 ══ */
@media(max-width:960px){
  .ds-lp-grid{grid-template-columns:1fr;gap:36px;}
  .ds-inline-cta{flex-direction:column;align-items:flex-start;}
}
@media(max-width:768px){
  :root{--ds-sec-y:60px;}
  .ds-lp-hero{padding:calc(var(--nav-h) + 44px) 0 52px;}
  .ds-evrow{grid-template-columns:1fr;}
  .ds-evrow-k{padding:12px 16px 4px;background:transparent;}
  .ds-evrow-v{padding:4px 16px 14px;}
  .ds-proofbar-item{
    border-right:none;margin-right:0;padding:0;width:100%;margin-bottom:10px;
  }
  .ds-fact-note::after{max-width:220px;}
}

/* ══ 8. 统一导航 / 页脚补充（2026-08 新 IA） ══ */
.nav-tel{
  display:flex;align-items:center;gap:6px;white-space:nowrap;
  font-family:var(--font-zh);font-size:12.5px;color:rgba(255,255,255,.62);
  transition:color .2s;
}
.nav-tel:hover{color:#fff;}
.nav-tel svg{flex-shrink:0;opacity:.75;}
.nav-menu li a{white-space:nowrap;}
.nav-actions .btn-cyan.btn-sm{white-space:nowrap;}
@media(max-width:1180px){
  .nav-tel{display:none;}
}
@media(max-width:1024px){
  .nav-menu li a{padding:8px 8px;font-size:13px;}
}

.mob-head{padding:4px 4px 16px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:8px;}
.mob-head .nav-logo-img{height:40px;width:auto;}
.mob-foot{
  margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:12px;align-items:flex-start;
}
.mob-tel{font-size:13px;color:rgba(255,255,255,.6);}
#mobile-menu .btn-cyan{display:inline-flex;}

/* 页脚：5 个链接列 + 品牌列（提高特异性，覆盖个别页面残留的内联规则） */
footer .footer-top{grid-template-columns:1.7fr repeat(5,1fr);gap:32px;}
.footer-certnote{
  margin-top:14px;font-size:11px;line-height:1.7;color:rgba(255,255,255,.3);max-width:260px;
}
.footer-certnote a{color:rgba(255,255,255,.5);text-decoration:underline;text-underline-offset:2px;}
.footer-certnote a:hover{color:#fff;}
@media(max-width:1180px){
  footer .footer-top{grid-template-columns:repeat(3,1fr);}
  footer .footer-brand{grid-column:1/-1;}
  .footer-brand-desc,.footer-certnote{max-width:520px;}
}
@media(max-width:768px){
  footer .footer-top{grid-template-columns:1fr 1fr;gap:28px;}
}
@media(max-width:520px){
  footer .footer-top{grid-template-columns:1fr;}
}

/* ══ 9. 移动端菜单（新 IA：一级项 + 常驻二级入口） ══ */
#mobile-menu .mob-list{list-style:none;margin:0;padding:0;}
#mobile-menu .mob-list>li{
  list-style:none;border-bottom:1px solid rgba(255,255,255,.07);padding:2px 0 10px;
}
#mobile-menu .mob-list>li:last-child{border-bottom:none;}
#mobile-menu .mob-list>li>a{
  display:block;padding:13px 2px 8px;
  font-family:var(--font-zh);font-size:15.5px;font-weight:600;color:#fff;
}
#mobile-menu .mob-list>li>a:active{color:var(--c300);}
/* 二级入口在移动端常驻展示为标签流，而不是悬停下拉 */
#mobile-menu .mob-list .nav-dropdown{
  display:flex!important;position:static;transform:none;animation:none;
  flex-wrap:wrap;gap:7px;min-width:0;padding:2px 0 4px;
  background:transparent;border:none;box-shadow:none;
}
#mobile-menu .mob-list .nav-dropdown a{
  display:inline-flex;align-items:center;gap:5px;padding:7px 11px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);font-size:12.5px;color:rgba(255,255,255,.78);
}
#mobile-menu .mob-list .nav-dropdown a:active{background:rgba(255,255,255,.14);color:#fff;}
#mobile-menu .mob-list .nav-dropdown .ndi{display:none;}
#mobile-menu .mob-foot .btn-cyan{width:100%;justify-content:center;}

/* ══ 10. 首页首屏导语 ══ */
.hero-lead{
  font-size:15.5px;line-height:1.95;color:rgba(255,255,255,.66);
  max-width:620px;margin:20px 0 0;
}
@media(max-width:768px){
  .hero-lead{font-size:14.5px;line-height:1.9;}
}

.hero-h1{text-wrap:balance;}
.hero-h1 .line-muted{text-wrap:initial;}

/* ══ 11. 表单状态面板 ══ */
.ds-form-state{margin-top:18px;}
.ds-form-state:empty{display:none;}
.ds-form-state .ds-thanks{padding:36px 24px;}

/* ══ 12. 资料库（下载中心） ══ */
.ds-asset{
  display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:start;
  padding:20px 22px;border:1px solid var(--n100);border-radius:var(--r-lg);
  background:var(--white);transition:border-color .2s,box-shadow .2s;
}
.ds-asset+.ds-asset{margin-top:12px;}
.ds-asset:hover{border-color:var(--p300);box-shadow:var(--shadow-sm);}
.ds-asset-ico{
  width:44px;height:44px;border-radius:var(--r-md);background:var(--p50);
  display:flex;align-items:center;justify-content:center;font-size:19px;
}
.ds-asset-n{font-size:15.5px;font-weight:700;color:var(--p900);line-height:1.5;}
.ds-asset-d{font-size:13px;line-height:1.75;color:var(--n500);margin-top:5px;}
.ds-asset-for{font-size:12px;color:var(--n400);margin-top:8px;}
.ds-asset-act{display:flex;flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap;}
.ds-status{
  font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 9px;border-radius:100px;
}
.ds-status-open{background:rgba(0,200,150,.12);color:#00795C;}
.ds-status-gated{background:var(--p50);color:var(--p600);}
.ds-status-soon{background:var(--n50);color:var(--n400);}
@media(max-width:640px){
  .ds-asset{grid-template-columns:1fr;}
  .ds-asset-ico{display:none;}
  .ds-asset-act{align-items:flex-start;}
}

/* 锚点定位避开固定导航 */
[id]{scroll-margin-top:calc(var(--nav-h) + 20px);}

/* ══ 13. 产品页首屏（结果在前，产品名下沉） ══ */
.prod-hero-product{
  font-family:var(--font-en);font-size:13px;letter-spacing:.04em;
  color:rgba(255,255,255,.62);margin-top:12px;
}
.prod-hero-results{margin-top:24px!important;}
.prod-hero-results li{font-size:14px;color:rgba(255,255,255,.78);}
.prod-hero-results li::before{width:6px;height:6px;flex-basis:6px;margin-top:8px;}
.prod-hero-ctas+.ds-micro{margin-top:12px;}

.prod-hero-title{text-wrap:balance;}
.ds-filter-empty{width:100%;font-size:13px;color:var(--n400);margin-top:4px;}
.ds-filters{align-items:center;}

/* ══ 14. FAQ（GEO：可见问答 + FAQPage 结构化数据） ══ */
.ds-faq-list{border-top:1px solid var(--n100);}
.ds-faq{border-bottom:1px solid var(--n100);}
.ds-faq summary{
  list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;
  font-size:15.5px;font-weight:600;color:var(--p900);line-height:1.6;
}
.ds-faq summary::-webkit-details-marker{display:none;}
.ds-faq summary::after{
  content:'';position:absolute;right:8px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--n400);border-bottom:2px solid var(--n400);
  transform:translateY(-70%) rotate(45deg);transition:transform .22s;
}
.ds-faq[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.ds-faq summary:hover{color:var(--p600);}
.ds-faq summary:focus-visible{outline:2px solid var(--p400);outline-offset:3px;border-radius:2px;}
.ds-faq-a{padding:0 40px 20px 0;}
.ds-faq-a p{font-size:14px;line-height:1.9;color:var(--n500);margin:0;}

/* ══ 15. 技术规格表列宽对齐 ══
   每组参数各自是一个独立 <table>，auto 布局会按各自内容算列宽，
   导致同一页不同参数组的「标签 / 取值」分栏位置对不齐。
   改为固定列宽后，全站所有规格表的分栏一致。 */
.specs-table{table-layout:fixed;}
.specs-table td.spec-key{
  width:34%;min-width:120px;
  color:var(--n500);font-weight:400;
  word-break:break-word;
}
.specs-table td.spec-val{
  width:66%;
  word-break:break-word;
}
.specs-table td.spec-val .ds-caveat{margin-top:7px;}
@media(max-width:900px){
  .specs-table td.spec-key{width:40%;}
  .specs-table td.spec-val{width:60%;}
}
@media(max-width:520px){
  .specs-table td{padding:11px 12px;}
  .specs-table td.spec-key{width:42%;font-size:12.5px;}
  .specs-table td.spec-val{width:58%;}
}

/* ══ 16. 功能区代码示例面板 ══
   feat-code-card / fcc-* / code-font 在样式表中一直缺失，
   导致代码块以无容器的裸文本渲染，而其内联语法配色是为深色面板准备的
   （注释 #6A9955、字符串 #CE9178），落在白底上对比度不足。
   此处补上与站内其他深色代码面板一致的容器样式。 */
.feat-code-card{
  background:var(--n900);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.fcc-header{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 18px;
  background:rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.fcc-title{
  font-family:var(--font-en);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.fcc-badge{
  font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:.06em;
  padding:3px 8px;border-radius:2px;
  background:rgba(0,187,238,.14);color:var(--c300);
}
.fcc-body{
  padding:18px 20px;
  font-family:var(--font-mono);
  font-size:12px;line-height:1.9;
  color:rgba(255,255,255,.82);
  overflow-x:auto;
}
.code-font{font-family:var(--font-mono);}
.feat-panel-left,.feat-panel-right{min-width:0;}
@media(max-width:768px){
  .fcc-body{font-size:11.5px;padding:14px 16px;}
}

/* ══ 17. 联系页表单卡：卡片内表单的留白与栅格 ══ */
.contact-form-card .form-body{padding:26px 28px 30px;}
.contact-form-card .ds-form{gap:22px;}
.contact-form-card .ds-lp-card-d{margin:0 0 4px;}
@media(max-width:600px){
  .contact-form-card .form-body{padding:20px 18px 24px;}
}

/* ══════════════════════════════════════════════════════════════
   18. 中文排版：消除孤字与不良断行
   问题：中文按字断行，末行常只剩一两个字（如「…评估报 / 告。」），
   居中文本尤其明显。
   处理：
     · 标题与居中短句用 text-wrap:balance —— 浏览器均分各行长度，
       末行不会只剩单字（仅对 6 行以内生效，正好覆盖标题与导语）
     · 正文用 text-wrap:pretty —— 只优化末行，不重排整段
     · line-break:strict 收紧 CJK 禁则，避免 。，、）」等标点出现在行首
   选择器采用类名后缀匹配而非逐个枚举，避免新增区块时再次遗漏。
   这些属性不被支持时会被忽略，回退到当前表现，无副作用。
══════════════════════════════════════════════════════════════ */

/* ── 全局 CJK 断行规则 ──
   text-wrap 是可继承属性，在 body 上设 pretty 即可覆盖所有文本块，
   比逐个枚举类名可靠：新增区块无需再补选择器。 */
body{
  line-break:strict;
  word-break:normal;
  overflow-wrap:break-word;
  text-wrap:pretty;
}

/* ── 标题、短名与卡片描述：均分行长 ──
   卡片里的描述文字常处于 200–320px 的窄列，pretty 只调整末行、
   力度不足以消除孤字；balance 会均分各行，且对超过 6 行的长段落
   自动失效，因此可以安全地用于这类短文本块。 */
h1,h2,h3,h4,
[class*="-title"],[class*="-name"],[class*="-heading"],[class*="-h1"],
[class*="-desc"],[class*="-excerpt"],[class*="-tagline"],[class*="-caption"],
[class*="-lead"],[class*="-sub"],[class*="-note"],[class*="-text"],
[class*="-answer"],[class*="-label"],[class*="-result"],
.ds-thanks p,.ds-boundary-t,.ds-faq summary,.spec-group-title,
.ds-evrow-v,.ds-boundary li,.ds-callout>div,
.ds-problem-h,.ds-problem-d,.ds-step-h,.ds-step-d,.ds-stage-h,.ds-stage-d,
.ds-magnet-h,.ds-magnet-d,.ds-asset-n,.ds-asset-d,.ds-inline-cta-t,.ds-inline-cta-d,
.ds-lp-pains li,.ds-form-aside li,.ds-privacy,.ds-hint,.ds-micro,.ds-caveat,
.pc-title,.pc-desc,.pc-cert,.hs-label,.hs-lbl,.htq-text{
  text-wrap:balance;
}

/* ── 例外：代码、等宽与预格式化内容不参与重排 ── */
pre,code,kbd,samp,.mono,.code-font,
[class*="code"],[class*="-mono"],.fcc-body,.api-response{
  text-wrap:wrap;
  line-break:auto;
}

/* ── 数字、编号、英文术语不被拆开 ── */
.ds-fact-note,.spec-tag,.ds-ev,.ds-status,.ds-problem-q,.ds-stage-n,
.cc-year,.ds-magnet-kind{
  white-space:nowrap;
}
.spec-val .mono,.ds-asset-for{overflow-wrap:anywhere;}

/* 产品页首屏标题：高亮句自成一行并单独均分，避免末行只剩一两个字 */
.prod-hero-title .hl{display:block;text-wrap:balance;}
.hero-h1 .line-muted{display:block;text-wrap:balance;}
.ds-lp-h1 .hl{text-wrap:balance;}

/* FAQ 与问答块（类名不含 -desc/-text 等后缀，需显式覆盖） */
.gf-a,.gf-q,.faq-a,.faq-q,.hq-text,.ha-text,.pb-text,.tip-text,
.ri-title,.hub-desc,.dl-desc,.nc-excerpt{
  text-wrap:balance;
}

/* 中文词组保护：CJK 没有词边界，balance 可能在词内断开（如「人脸」被拆成两行）。
   对营销标题中的关键词组加 .nw，把这些位置从候选断点中排除，
   浏览器就只能选择词与词之间的合法断点。 */
.nw{white-space:nowrap;}

/* NFC 硬盘卡：原为内联 style="flex:0 0 260px"，固定基准在窄屏不收缩，
   375px 视口下把文字列挤到 81px（标题被迫每行两字）。
   移入样式表后即可在断点处改为纵向堆叠。 */
.pcv-fixed{min-height:120px;flex:0 0 260px;padding:24px 28px;}
@media(max-width:900px){
  .prod-card{flex-direction:column;}
  .pcv-fixed{flex:0 0 auto;width:100%;min-height:160px;}
  .prod-card .pc-body{width:100%;}
}

/* 按钮文字不折行：按钮换行几乎总是排版事故，宁可让按钮变窄或横向滚动 */
.btn,.cc-action,.pc-link,.pp-link,.ds-problem-go,.cta-btns a{
  white-space:nowrap;
}

/* ══════════════════════════════════════════════════════════════
   19. 设计规范 v1.0 令牌对齐
   来源：DSCC数安 · 设计规范文档 v1.0
   色彩令牌此前已与规范一致；本节补齐规范中定义但代码里未形式化的
   间距、动效、渐变与字号体系，使后续开发有据可依。
══════════════════════════════════════════════════════════════ */
:root{
  /* 间距系统（8px 基准） */
  --space-1:4px;    /* 图标内边距 */
  --space-2:8px;    /* 行内元素间距 */
  --space-3:12px;   /* Badge 内边距 */
  --space-4:16px;   /* 卡片内元素间距 */
  --space-6:24px;   /* 卡片内边距（小屏） */
  --space-8:32px;   /* 卡片标准内边距 */
  --space-12:48px;  /* Section 内容间距 */
  --space-16:64px;  /* Section 上下内边距（移动端） */
  --space-24:96px;  /* Section 上下内边距（桌面端） */

  /* 动效 */
  --transition-fast:150ms ease-out;                    /* 悬停色变、图标微动 */
  --transition-base:250ms ease-in-out;                 /* 按钮交互、卡片悬停 */
  --transition-slow:400ms cubic-bezier(.4,0,.2,1);     /* 模态框、下拉菜单 */
  --reveal-duration:600ms;
  --stagger-1:80ms; --stagger-2:160ms; --stagger-3:240ms;

  /* 渐变体系 */
  --grad-brand:linear-gradient(135deg,#001E3C,#0066CC,#00A0CC);
  --grad-hero-dark:linear-gradient(160deg,#001E3C,#003875,#00A0CC);
  --grad-cyan:linear-gradient(135deg,#00A0CC,#33CCFF);
  --grad-overlay:linear-gradient(180deg,rgba(0,30,60,0),rgba(0,30,60,.85));
  --grad-light:linear-gradient(135deg,#EBF4FF,#CCF2FF);
  --grad-footer:linear-gradient(135deg,#002D5C,#004D99);

  /* 字号体系 */
  --fs-display:76px;  --lh-display:1.0;  --ls-display:-.03em;
  --fs-h1-zh:48px;    --lh-h1:1.2;
  --fs-h2:38px;       --lh-h2:1.2;
  --fs-h3:24px;       --lh-h3:1.3;
  --fs-h4:20px;       --lh-h4:1.4;
  --fs-body-lg:17px;  --lh-body-lg:1.7;
  --fs-body:15px;     --lh-body:1.75;
  --fs-caption:13px;  --lh-caption:1.6;
  --fs-label:11px;    --ls-label:.1em;

  /* Section 节奏对齐规范 */
  --ds-sec-y:var(--space-24);
}
@media(max-width:768px){
  :root{--ds-sec-y:var(--space-16);}
}

/* 章节标题对齐规范 H2（原为 34px，规范值 38px；小屏按比例收敛） */
.sec-title{font-size:clamp(26px,3.2vw,var(--fs-h2));line-height:var(--lh-h2);}

/* ══════════════════════════════════════════════════════════════
   20. 手机与平板适配
   用 pointer:coarse 判定触控设备，而不是靠宽度猜——
   平板横屏宽度接近笔记本，但仍是手指操作。
══════════════════════════════════════════════════════════════ */
@media (pointer:coarse){
  /* 触控目标下限 44px（Apple HIG / Material 建议值） */
  .ds-pill span{padding:12px 16px;min-height:44px;display:inline-flex;align-items:center;}
  .ds-chip{padding:10px 15px;min-height:40px;display:inline-flex;align-items:center;}
  .btn,.btn-sm{min-height:44px;}
  /* 页面内联 CSS 在共享样式之后加载，同特异性下会覆盖；
     用 #nav #nav-hamburger（双 ID）确保触控尺寸生效。 */
  #nav #nav-hamburger{width:44px;height:44px;}
  .ds-faq summary{padding-top:20px;padding-bottom:20px;}
  .ds-check{padding:4px 0;}
  .ds-check input{width:20px;height:20px;flex-basis:20px;margin-top:1px;}
  .nav-dropdown a{padding:12px 14px;}
  #mobile-menu .mob-list>li>a{padding:15px 2px 10px;}
  #mobile-menu .mob-list .nav-dropdown a{padding:10px 13px;}
  .footer-col ul li a{display:inline-block;padding:3px 0;}
  /* 触控设备没有 hover，避免依赖悬停才能看到的信息 */
  .ds-fact-note{width:18px;height:18px;font-size:10px;opacity:.75;}
}

/* 平板竖屏（768–1024）：两列布局普遍过窄，收敛为单列或双列 */
@media (min-width:769px) and (max-width:1024px){
  .ds-problems{grid-template-columns:repeat(2,1fr);}
  .ds-steps{grid-template-columns:repeat(2,1fr);}
  .ds-stages{grid-template-columns:repeat(2,1fr);}
  .ds-magnets{grid-template-columns:repeat(2,1fr);}
  .specs-layout{grid-template-columns:1fr;gap:32px;}
  .ds-lp-grid{grid-template-columns:1fr;gap:36px;}
  .ds-lp-card{max-width:640px;}
}

/* 平板横屏（1025–1180）：导航电话号已隐藏，主 CTA 保留 */
@media (min-width:1025px) and (max-width:1180px){
  .nav-menu li a{padding:8px 9px;font-size:13px;}
}

/* 面包屑已带 margin-top:var(--nav-h) 让开固定导航；
   紧随其后的落地页首屏不应再加一次导航高度，否则顶部出现约一屏的空白。 */
#breadcrumb + .ds-lp-hero{padding-top:64px;}
@media(max-width:768px){
  #breadcrumb + .ds-lp-hero{padding-top:40px;}
}
