/* ============ 1. 基础 ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:#0F172A;background:#F7FAFF;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer;padding:0}
img{max-width:100%;display:block}
table{border-collapse:collapse;width:100%}
:root{
  --blue:#1F5BFF; --blue-d:#1749D6; --blue-dd:#1239A8; --blue-l:#5B87FF;
  --blue-50:#EDF2FF; --blue-100:#DCE7FF; --blue-200:#BDD0FF;
  --gold:#E9A324; --gold-d:#C2821A; --gold-50:#FDF7E9;
  --ink:#0A1020; --ink-2:#111A2E; --ink-3:#1B2540; --ink-4:#2A3552;
  --t1:#0F172A; --t2:#4A5568; --t3:#8A94A6; --t4:#B4BCCB;
  --bg:#FFFFFF; --bg-2:#EDF3FE; --bg-3:#E1E9FA;
  --line:#D9E2F5; --line-2:#E7EEFC;
  --ok:#12A05C; --ok-bg:#E8F7EF; --warn:#E9A324; --warn-bg:#FDF6E7; --bad:#E5484D; --bad-bg:#FDECEC;
  --r-xs:4px; --r-sm:6px; --r:10px; --r-lg:16px; --r-xl:22px; --r-2xl:30px; --r-full:999px;
  --sh-1:0 1px 2px rgba(16,24,40,.05);
  --sh-2:0 4px 16px rgba(16,24,40,.07);
  --sh-3:0 16px 44px rgba(16,24,40,.11);
  --sh-blue:0 10px 28px rgba(31,91,255,.24);
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Courier New",monospace;
  --wrap:1200px;
  --nav-h:62px;
}
/* ============ 2. 排版工具 ============ */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.num{font-variant-numeric:tabular-nums}
.c-blue{color:var(--blue)} .c-gold{color:var(--gold)} .c-t2{color:var(--t2)} .c-t3{color:var(--t3)}
.c-ok{color:var(--ok)} .c-bad{color:var(--bad)} .c-warn{color:var(--warn)}
.tc{text-align:center} .tr{text-align:right}
.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}.mt40{margin-top:40px}
.flex{display:flex}.aic{align-items:center}.jcb{justify-content:space-between}.jc-c{justify-content:center}
.gap6{gap:6px}.gap8{gap:8px}.gap12{gap:12px}.gap16{gap:16px}.gap24{gap:24px}
.grow{flex:1;min-width:0}
.hide{display:none !important}
/* ============ 3. 按钮 ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 18px;border-radius:var(--r);font-size:13.5px;font-weight:600;white-space:nowrap;transition:.18s ease;border:1px solid transparent;user-select:none}
.btn:active{transform:translateY(1px)}
.btn-pri{background:var(--blue);color:#fff;box-shadow:var(--sh-blue)}
.btn-pri:hover{background:var(--blue-d)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-3)}
.btn-gold{background:var(--gold);color:#3A2600;box-shadow:0 8px 22px rgba(233,163,36,.32)}
.btn-gold:hover{background:var(--gold-d)}
.btn-line{border-color:var(--line);background:#fff;color:var(--t1)}
.btn-line:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--blue)}
.btn-ghost{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.22)}
.btn-ghost:hover{background:rgba(255,255,255,.18)}
.btn-txt{height:auto;padding:0;color:var(--blue);font-weight:600}
.btn-txt:hover{color:var(--blue-d)}
.btn-lg{height:46px;padding:0 26px;font-size:15px;border-radius:var(--r-lg)}
.btn-sm{height:30px;padding:0 12px;font-size:12.5px;border-radius:var(--r-sm);font-weight:500}
.btn-block{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn .ar{transition:transform .18s}
.btn:hover .ar{transform:translateX(3px)}
/* ============ 4. 胶囊/标签 ============ */
.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--r-full);font-size:11.5px;font-weight:600;background:var(--blue-50);color:var(--blue);white-space:nowrap}
.chip.grey{background:var(--bg-3);color:var(--t2)}
.chip.ok{background:var(--ok-bg);color:var(--ok)}
.chip.gold{background:var(--gold-50);color:var(--gold-d)}
.chip.bad{background:var(--bad-bg);color:var(--bad)}
.chip.line{background:#fff;border:1px solid var(--line);color:var(--t2);font-weight:500}
.dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.dot.live{background:var(--ok);box-shadow:0 0 0 0 rgba(18,160,92,.5);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(18,160,92,0)}100%{box-shadow:0 0 0 0 rgba(18,160,92,0)}}
.tag{display:inline-block;font-size:11px;color:var(--t2);background:var(--bg-3);border-radius:var(--r-xs);padding:1px 6px;font-family:var(--mono)}
/* ============ 5. 表单 ============ */
.field{margin-bottom:15px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--t2);margin-bottom:6px}
.ipt{width:100%;height:42px;padding:0 13px;border:1px solid var(--line);border-radius:var(--r);background:#fff;font-size:14px;transition:.16s;outline:none}
.ipt::placeholder{color:var(--t4)}
.ipt:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,91,255,.12)}
.ipt.err{border-color:var(--bad);box-shadow:0 0 0 3px rgba(229,72,77,.10)}
.ipt-wrap{position:relative;display:flex;align-items:center}
.ipt-wrap .ipt{padding-right:104px}
.ipt-btn{position:absolute;right:5px;height:32px;padding:0 12px;border-radius:var(--r-sm);background:var(--blue-50);color:var(--blue);font-size:12.5px;font-weight:600}
.ipt-btn:hover{background:var(--blue-100)}
.ipt-btn:disabled{background:var(--bg-3);color:var(--t3);cursor:not-allowed}
.ferr{font-size:11.5px;color:var(--bad);margin-top:5px;display:none}
.ferr.on{display:block}
.prefix{display:flex;align-items:center}
.prefix .pfx{height:42px;display:flex;align-items:center;padding:0 11px;border:1px solid var(--line);border-right:0;border-radius:var(--r) 0 0 var(--r);background:var(--bg-2);color:var(--t2);font-size:13.5px;font-family:var(--mono)}
.prefix .ipt{border-radius:0 var(--r) var(--r) 0}
.check{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--t2);line-height:1.5;cursor:pointer}
.check input{margin:2px 0 0;accent-color:var(--blue);width:14px;height:14px;flex:none}
.check a{color:var(--blue)}
/* ============ 6. 公共站导航 ============ */
.notice{background:linear-gradient(90deg,#0A1020,#16224A 55%,#1F3A8A);color:#DCE6FF;font-size:12.5px;height:36px;display:flex;align-items:center;overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1),opacity .22s ease}
/* 公告栏关闭态：高度收为 0（带过渡折叠），加载时若已关闭则不带过渡直接隐藏 */
.notice.nc-hide{height:0;opacity:0;pointer-events:none}
.notice .wrap{display:flex;align-items:center;gap:10px;min-width:0}
.notice .nb{background:var(--gold);color:#3A2600;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:var(--r-full);flex:none}
.notice .nt{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice a{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.notice a:hover{text-decoration:underline}
.notice .nc{margin-left:16px;width:22px;height:22px;flex:none;border:0;padding:0;border-radius:50%;background:rgba(255,255,255,.10);color:#AEBBD9;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,color .18s ease,transform .22s ease}
.notice .nc:hover{background:rgba(255,255,255,.26);color:#fff;transform:rotate(90deg)}
.notice .nc:focus-visible{outline:2px solid var(--blue-l);outline-offset:2px}
.nav{position:sticky;top:0;z-index:60;background:rgba(244,248,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:8px;height:var(--nav-h)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;letter-spacing:0;flex:none}
.brand .lg{width:34px;height:34px;border-radius:3px;flex:none;overflow:hidden;background:#7E1912;box-shadow:0 4px 12px rgba(126,25,18,.22)}
.brand .lg img{width:100%;height:100%;display:block}
.brand small{display:block;font-size:9px;font-weight:500;color:var(--t3);letter-spacing:.65px;line-height:1.35;margin-top:1px}
.nav-menu{display:flex;align-items:center;gap:2px;margin-left:22px}
.nav-menu>li{position:relative}
.nav-menu>li>a,.nav-menu>li>.mbtn{position:relative;display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;color:var(--t2);transition:color .18s ease,background .18s ease}
.nav-menu>li>a:hover,.nav-menu>li>.mbtn:hover{color:var(--blue);background:var(--blue-50)}
/* —— 当前所在栏目：彩色文字 + 底色胶囊 + 滑入下划线（带呼吸动效）—— */
.nav-menu>li.on>a,.nav-menu>li.dd.on>.mbtn{color:var(--blue);background:var(--blue-50);font-weight:600;animation:navPulse 3.2s ease-in-out infinite}
.nav-menu>li.on>a::after,.nav-menu>li.dd.on>.mbtn::after{content:"";position:absolute;left:12px;right:12px;bottom:1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--blue-l));transform-origin:left center;animation:navLine .4s cubic-bezier(.34,1.3,.64,1) both}
@keyframes navLine{from{transform:scaleX(.12);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes navPulse{0%,100%{box-shadow:inset 0 0 0 1px rgba(31,91,255,.16)}50%{box-shadow:inset 0 0 0 1px rgba(31,91,255,.42)}}
@media(prefers-reduced-motion:reduce){.nav-menu>li.on>a,.nav-menu>li.dd.on>.mbtn{animation:none}}
.nav-r{display:flex;align-items:center;gap:9px;margin-left:auto}
.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue),#7CA0FF);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
/* 下拉 */
.dd{position:relative}
.dd-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.18s;z-index:70}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-panel .it{position:relative;display:flex;gap:11px;padding:10px 11px;border-radius:var(--r);transition:.15s}
.dd-panel .it:hover{background:var(--blue-50)}
.dd-panel .it .ic{width:32px;height:32px;border-radius:9px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;transition:.2s}
.dd-panel .it b{display:block;font-size:13px;font-weight:600}
.dd-panel .it span{display:block;font-size:11.5px;color:var(--t3);line-height:1.45;margin-top:1px}
/* —— 下拉内「当前所在页」：反色图标 + 左边条 + 文字变色 —— */
.dd-panel .it.on{background:var(--blue-50);box-shadow:inset 0 0 0 1px var(--blue-100)}
.dd-panel .it.on::before{content:"";position:absolute;left:3px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:2px;background:linear-gradient(180deg,var(--blue),var(--blue-l))}
.dd-panel .it.on b{color:var(--blue)}
.dd-panel .it.on .ic{background:var(--blue);color:#fff;box-shadow:0 4px 10px rgba(31,91,255,.3)}
.dd-panel .it .cur{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;color:var(--blue);background:var(--blue-100);border-radius:var(--r-full);padding:1px 7px}
.dd-panel .sep{height:1px;background:var(--line-2);margin:7px 4px}
.dd-panel .it.sm b{font-weight:500}
.dd.right .dd-panel{left:auto;right:0}
/* ============ 7. 英雄区 ============ */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#EAF1FF 0%,#F5F9FF 56%,#FFFFFF 100%);padding:78px 0 0}
.hero::before{content:"";position:absolute;inset:-40% -20% auto;height:820px;background:
  radial-gradient(44% 56% at 22% 32%,rgba(31,91,255,.20),transparent 70%),
  radial-gradient(40% 50% at 78% 26%,rgba(104,146,255,.22),transparent 72%),
  radial-gradient(34% 44% at 50% 8%,rgba(233,163,36,.08),transparent 70%);
  pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(31,91,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,91,255,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(70% 62% at 50% 22%,#000,transparent 78%);-webkit-mask-image:radial-gradient(70% 62% at 50% 22%,#000,transparent 78%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;max-width:1360px}
.hero-in{max-width:820px;margin:0 auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 13px;border-radius:var(--r-full);background:#fff;border:1px solid var(--blue-100);color:var(--blue);font-size:12.5px;font-weight:600;box-shadow:var(--sh-1)}
.hero h1{margin:20px 0 0;font-size:clamp(30px,4.1vw,50px);line-height:1.18;font-weight:800;letter-spacing:-1.2px}
.hero h1 .hl{background:linear-gradient(100deg,var(--blue),#5B87FF 42%,#E9A324);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{margin:18px auto 0;max-width:640px;font-size:16px;line-height:1.72;color:var(--t2)}
.hero .acts{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-meta{margin-top:22px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;font-size:12.5px;color:var(--t3)}
.hero-meta span{display:inline-flex;align-items:center;gap:6px}
.hero-meta svg{color:var(--blue)}
.home-hero-viewport{overflow:hidden}
.home-hero-track{display:flex;align-items:stretch;transition:transform .55s cubic-bezier(.22,.68,0,1)}
.home-hero-slide{flex:0 0 100%;min-width:0}
.home-hero-service{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:center;gap:56px;padding:44px 32px 46px}
.home-hero-copy{max-width:590px}
.home-hero-copy h1{margin:20px 0 0;font-size:clamp(32px,4vw,48px);line-height:1.2;font-weight:800;letter-spacing:-1px}
.home-hero-copy h1 .hl{background:linear-gradient(100deg,var(--blue),#5B87FF 48%,#E9A324);-webkit-background-clip:text;background-clip:text;color:transparent}
.home-hero-copy .sub{margin:18px 0 0;max-width:560px;font-size:15.5px;line-height:1.8;color:var(--t2)}
.home-hero-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:22px;color:var(--t2);font-size:12.5px}
.home-hero-points span{display:inline-flex;align-items:center;gap:6px}
.home-hero-points svg{color:var(--blue);flex:none}
.home-hero-copy .acts{justify-content:flex-start;margin-top:28px}
.home-hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px}
.art-glow{position:absolute;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle,rgba(75,125,255,.21),rgba(75,125,255,0) 70%);filter:blur(10px)}
.server-visual,.idc-visual{position:relative;width:min(100%,500px);padding:26px;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,245,255,.92));box-shadow:0 24px 58px rgba(31,71,150,.16),inset 0 1px #fff}
.server-visual-head,.idc-visual-head,.server-visual-foot,.idc-visual-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#71809A;font-family:var(--mono);font-size:10px;letter-spacing:.7px}
.server-live{display:inline-flex;align-items:center;gap:6px;color:#168A55}
.server-live i,.idc-status i{width:7px;height:7px;border-radius:50%;background:#22B573;box-shadow:0 0 0 4px rgba(34,181,115,.12)}
.server-unit{position:relative;display:grid;grid-template-columns:30px 44px 1fr auto;align-items:center;gap:12px;margin-top:12px;padding:15px 13px;border:1px solid #DCE6F7;border-radius:12px;background:linear-gradient(110deg,#fff,#F5F8FF);box-shadow:0 4px 12px rgba(29,58,112,.05)}
.server-leds{display:flex;gap:3px}
.server-leds i{width:4px;height:4px;border-radius:50%;background:#71A4FF}
.server-leds i:first-child{background:#28B978}
.server-unit b{color:var(--blue);font-size:12px}
.server-unit span{color:#64728A;font-size:11px}
.server-unit strong{padding:5px 8px;border-radius:6px;background:#EDF3FF;color:#315CB5;font-size:10.5px;white-space:nowrap}
.server-visual-foot,.idc-visual-foot{margin-top:18px;padding-top:14px;border-top:1px solid #E1E9F7;font-family:inherit;letter-spacing:0}
.server-visual-foot span:first-child,.idc-visual-foot b{color:#32415D;font-size:11.5px;font-weight:700}
.server-visual-foot span:last-child,.idc-visual-foot span{font-family:var(--mono);font-size:9px;letter-spacing:.4px}
.art-float{position:absolute;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(36,68,130,.13);color:#34425B;font-size:11px;font-weight:700}
.art-float svg{color:var(--blue)}
.art-float-top{top:42px;right:-4px}
.art-float-bottom{bottom:38px;left:-10px}
.idc-visual{background:linear-gradient(145deg,#111D38,#1B2E53);border-color:rgba(255,255,255,.2);box-shadow:0 24px 58px rgba(12,28,62,.28)}
.idc-visual-head{color:#AAB9D4}
.idc-visual-head span:last-child{font-family:inherit;letter-spacing:0;color:#8FE0B6}
.idc-room{display:flex;align-items:stretch;justify-content:center;gap:12px;padding:28px 14px 22px;margin-top:18px;border:1px solid rgba(160,190,240,.16);border-radius:14px;background:linear-gradient(180deg,rgba(106,146,207,.13),rgba(18,33,61,.26))}
.idc-rack{display:flex;flex-direction:column;gap:6px;width:56px;padding:8px 6px;border:1px solid #61779D;border-radius:6px;background:linear-gradient(90deg,#283C60,#182948);box-shadow:inset 2px 0 5px rgba(0,0,0,.2)}
.idc-rack i{height:17px;border:1px solid rgba(149,180,228,.3);border-radius:3px;background:linear-gradient(90deg,rgba(106,141,195,.26),rgba(54,82,128,.18))}
.idc-rack i::after{content:"";display:block;width:4px;height:4px;margin:5px 0 0 5px;border-radius:50%;background:#5CD5A0;box-shadow:0 0 8px rgba(92,213,160,.85)}
.idc-status{display:flex;justify-content:space-between;gap:8px;margin-top:14px}
.idc-status span{display:flex;align-items:center;gap:6px;color:#C2D0E8;font-family:var(--mono);font-size:9px;letter-spacing:.3px}
.idc-status i{width:6px;height:6px}
.idc-visual-foot{border-color:rgba(165,190,230,.18);color:#93A6C6}
.idc-visual-foot b{color:#E4EDFC}
.idc-visual-foot span{color:#91A5C7}
.idc-art .art-glow{background:radial-gradient(circle,rgba(55,109,219,.26),rgba(55,109,219,0) 70%)}
.idc-art .art-float{color:#DDE9FF;background:rgba(23,40,72,.92);border-color:rgba(172,197,237,.2)}
.home-hero-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0 20px}
.home-hero-arrow{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.78);color:var(--t2);transition:.18s}
.home-hero-arrow:hover{border-color:var(--blue-200);background:#fff;color:var(--blue)}
.home-hero-arrow svg{transform:rotate(180deg)}
.home-hero-arrow.next svg{transform:none}
.home-hero-dots{display:flex;align-items:center;gap:7px}
.home-hero-dot{width:7px;height:7px;border-radius:var(--r-full);background:#B9C7DF;transition:width .2s,background .2s}
.home-hero-dot.on{width:22px;background:var(--blue)}
.home-hero-count{min-width:48px;color:var(--t3);font-size:11px;text-align:center}
/* 数据条 */
.statsbar{margin-top:52px;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-2);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}
.statsbar .st{padding:24px 20px;text-align:center;border-right:1px solid var(--line-2)}
.statsbar .st:last-child{border-right:0}
.statsbar .sv{font-size:27px;font-weight:800;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.statsbar .sv small{font-size:14px;font-weight:700;margin-left:1px}
.statsbar .sl{font-size:12.5px;color:var(--t3);margin-top:3px}
.hero-shot{margin-top:56px;position:relative;z-index:2}
/* ============ 8. 段落通用 ============ */
.sec{position:relative;padding:86px 0;background:linear-gradient(180deg,#FFFFFF 0%,#F6F9FF 100%)}
.sec.alt{background:linear-gradient(180deg,#EDF3FF 0%,#E4ECFE 100%)}
.sec.alt::before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(31,91,255,.18),transparent)}
.sec.dark{background:linear-gradient(160deg,#08101F,#101C3C 62%,#132349);color:#fff}
.sec-hd{max-width:720px;margin:0 auto 46px;text-align:center}
.sec-hd .kick{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:1.4px;color:var(--blue);text-transform:uppercase}
.sec.dark .sec-hd .kick{color:var(--blue-l)}
.sec-hd h2{margin:12px 0 0;font-size:clamp(24px,2.9vw,34px);line-height:1.28;font-weight:800;letter-spacing:-.8px}
.sec-hd p{margin:13px 0 0;font-size:15px;color:var(--t2)}
.sec.dark .sec-hd p{color:#A9B4CC}
.server-page-hero{padding:76px 0 70px}
.server-page-hero h1{font-size:clamp(34px,4.5vw,54px);letter-spacing:-1.4px}
.server-page-hero .sub{max-width:720px;font-size:16px}
.server-page-hero .acts{margin-top:28px}
.server-hero-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:26px;color:var(--t2);font-size:13px}
.server-hero-facts span{display:inline-flex;align-items:center;gap:6px}
.server-hero-facts svg{color:var(--blue)}
.server-intro{display:grid;grid-template-columns:64px 1fr;align-items:start;gap:24px;max-width:930px}
.server-intro-mark{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--blue-50);color:var(--blue)}
.server-intro .kick{font-size:11.5px;font-weight:700;letter-spacing:1.3px;color:var(--blue)}
.server-intro h2{margin-top:8px;font-size:26px;font-weight:800}
.server-intro p{margin-top:12px;font-size:15px;line-height:1.85;color:var(--t2)}
.server-adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.server-adv-card{position:relative;min-height:220px;padding:24px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--sh-1)}
.server-adv-no{position:absolute;right:18px;top:17px;font:700 12px var(--mono);letter-spacing:1px;color:var(--blue-200)}
.server-adv-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--blue-50);color:var(--blue)}
.server-adv-card h3{margin-top:18px;font-size:15px;font-weight:700}
.server-adv-card p{margin-top:9px;font-size:12.5px;line-height:1.75;color:var(--t2)}
.server-hardware{max-width:900px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;box-shadow:var(--sh-1)}
.server-hardware-row{display:grid;grid-template-columns:42px 132px 1fr;align-items:center;gap:14px;padding:19px 24px;border-bottom:1px solid var(--line-2)}
.server-hardware-row:last-child{border-bottom:0}
.server-hardware-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--blue-50);color:var(--blue)}
.server-hardware-row b{font-size:14px}
.server-hardware-row>span:last-child{font-size:13.5px;color:var(--t2);line-height:1.65}
.server-scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.server-scene{display:flex;align-items:center;gap:12px;min-height:76px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.server-scene .mono{color:var(--blue);font-size:11px;font-weight:700}
.server-scene b{flex:1;font-size:13px}
.server-scene svg{color:var(--t4)}
.server-flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.server-flow-step{display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid var(--line);border-radius:var(--r-full);background:#fff;white-space:nowrap}
.server-flow-no{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--blue-50);color:var(--blue);font:700 11px var(--mono)}
.server-flow-step b{font-size:12.5px}
.server-flow-arrow{color:var(--blue-200)}
.server-faq{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.server-faq-item{padding:22px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.server-faq-item h3,.server-faq-item p{display:flex;align-items:flex-start;gap:9px}
.server-faq-item h3{font-size:13.5px;line-height:1.6}
.server-faq-item h3 span,.server-faq-item p span{flex:none;font:700 12px var(--mono);color:var(--blue)}
.server-faq-item p{margin-top:12px;font-size:12.5px;line-height:1.7;color:var(--t2)}
.server-consult-section{background:linear-gradient(145deg,#0B1530,#132750 62%,#1B3B7A);color:#fff}
.server-consult-wrap{display:grid;grid-template-columns:1fr minmax(360px,.88fr);align-items:center;gap:64px}
.server-consult-copy .kick{font-size:11.5px;font-weight:700;letter-spacing:1.3px;color:#8FB0FF}
.server-consult-copy h2{margin-top:14px;font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.7px}
.server-consult-copy>p{margin-top:14px;max-width:460px;color:#C2CDE2;font-size:15px;line-height:1.8}
.server-consult-points{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px;color:#D9E4FA;font-size:12.5px}
.server-consult-points span{display:inline-flex;align-items:center;gap:6px}
.server-consult-points svg{color:#81D8AE}
.server-consult-panel{padding:26px 28px;color:var(--t1)}
.server-consult-panel .field{margin-bottom:12px}
.server-consult-panel .ta{min-height:88px}
.server-consult-panel .cform-note{margin-top:10px}
.server-consult-done{text-align:center;padding:30px 10px}
.server-consult-done .ci-ic{margin:0 auto}
.server-consult-done h3{margin-top:14px;font-size:19px}
.server-consult-done p{margin-top:9px;color:var(--t2);font-size:13.5px;line-height:1.7}
.server-consult-done .mono{display:inline-block;margin-top:16px;color:var(--blue);font-size:12px}
.idc-page{--idc-bg:#FFFFFF;--idc-bg-alt:#F2F6FF;--idc-card:#FFFFFF;--idc-border:#D9E2F5;--idc-primary:#0F172A;--idc-secondary:#4A5568;--idc-muted:#8A94A6;--idc-accent:#1F5BFF;--idc-accent-soft:#EDF2FF;background:var(--idc-bg);color:var(--idc-primary)}
.idc-inner{width:100%;max-width:1200px;margin:0 auto}
.idc-page section[id]{scroll-margin-top:calc(var(--nav-h) + 52px)}
.idc-subnav{position:sticky;top:var(--nav-h);z-index:40;border-bottom:1px solid rgba(217,226,245,.85);background:rgba(247,250,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.idc-subnav .idc-inner{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px}
.idc-subnav-links{display:flex;align-items:center;gap:26px}
.idc-subnav-links button{color:var(--idc-secondary);font-size:12.5px;transition:color .18s,transform .18s}
.idc-subnav-links button:hover{color:var(--idc-accent);transform:translateY(-1px)}
.idc-subnav-cta{display:inline-flex;align-items:center;gap:6px;color:var(--idc-accent);font-size:12px;font-weight:700;white-space:nowrap}
.idc-hero{position:relative;overflow:hidden;padding:88px 24px 68px;background:linear-gradient(180deg,#EAF1FF 0%,#F5F9FF 60%,#FFFFFF 100%)}
.idc-hero::before{content:"";position:absolute;inset:-34% -15% auto;height:690px;background:radial-gradient(42% 58% at 22% 40%,rgba(31,91,255,.18),transparent 70%),radial-gradient(38% 52% at 80% 30%,rgba(104,146,255,.2),transparent 72%),radial-gradient(32% 42% at 50% 5%,rgba(233,163,36,.07),transparent 70%);pointer-events:none;animation:idc-glow-drift 12s ease-in-out infinite alternate}
.idc-hero::after{position:absolute;inset:0;background-image:linear-gradient(rgba(31,91,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,91,255,.045) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(70% 62% at 50% 22%,#000,transparent 78%);-webkit-mask-image:radial-gradient(70% 62% at 50% 22%,#000,transparent 78%);pointer-events:none;content:""}
.idc-hero .idc-inner{position:relative;z-index:1}
.idc-tag{display:inline-flex;align-items:center;gap:9px;padding:7px 14px;border:1px solid var(--blue-100);border-radius:var(--r-full);background:#fff;color:var(--idc-accent);font-size:12.5px;box-shadow:var(--sh-1)}
.idc-tag i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(18,160,92,.35);animation:pulse 2.2s infinite}
.idc-hero h1{margin:28px 0 20px;font-size:clamp(38px,5.5vw,64px);font-weight:800;line-height:1.15;letter-spacing:-1px}
.idc-hero h1 span{background:linear-gradient(100deg,var(--blue),#5B87FF 48%,#E9A324);-webkit-background-clip:text;background-clip:text;color:transparent}
.idc-hero-desc{max-width:680px;color:var(--idc-secondary);font-size:17px;line-height:1.85}
.idc-hero-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.idc-hero-acts .btn-ghost{border-color:var(--line);color:var(--t1);background:rgba(255,255,255,.75)}
.idc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;padding:27px 24px;border:1px solid var(--line);border-radius:var(--r-xl);background:rgba(255,255,255,.82);box-shadow:var(--sh-2)}
.idc-stats div{display:flex;flex-direction:column;gap:7px}
.idc-stats b{color:var(--idc-accent);font-size:clamp(25px,3vw,36px);line-height:1;font-weight:800;font-variant-numeric:tabular-nums;animation:idc-stat-in .65s both}
.idc-stats div:nth-child(2) b{animation-delay:.08s}.idc-stats div:nth-child(3) b{animation-delay:.16s}.idc-stats div:nth-child(4) b{animation-delay:.24s}
.idc-stats span{color:var(--idc-muted);font-size:13px}
.idc-section{padding:82px 24px;background:var(--idc-bg)}
.idc-facility,.idc-process-section{background:linear-gradient(180deg,#F4F7FF,#EAF1FF)}
.idc-section-head{margin:0 auto 42px;max-width:740px}
.idc-section-head>span{color:var(--idc-accent);font-size:12px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.idc-section-head h2{margin-top:11px;color:var(--idc-primary);font-size:clamp(27px,3.5vw,38px);line-height:1.25;font-weight:800;letter-spacing:-.5px}
.idc-section-head p{margin-top:12px;color:var(--idc-secondary);font-size:14.5px;line-height:1.75}
.idc-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.idc-service-card{padding:27px;border:1px solid var(--idc-border);border-radius:var(--r-lg);background:var(--idc-card);box-shadow:var(--sh-1);transition:border-color .22s,box-shadow .22s,transform .22s}
.idc-service-card:hover{transform:translateY(-4px);border-color:var(--blue-200);box-shadow:var(--sh-3)}
.idc-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:var(--idc-accent-soft);color:var(--idc-accent);transition:transform .25s,background .25s,color .25s}
.idc-service-card:hover .idc-icon{transform:scale(1.06);background:var(--idc-accent);color:#fff}
.idc-service-card h3{margin-top:18px;font-size:17px;font-weight:700}
.idc-service-card p{margin-top:8px;color:var(--idc-secondary);font-size:13.5px;line-height:1.8}
.idc-metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.idc-metric-card{position:relative;overflow:hidden;padding:24px;border:1px solid var(--idc-border);border-radius:var(--r-lg);background:var(--idc-card);box-shadow:var(--sh-1);transition:transform .22s,box-shadow .22s,border-color .22s}
.idc-metric-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--blue-200)}
.idc-metric-card::before{position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--idc-accent),transparent);content:""}
.idc-metric-card>b{display:block;font-size:34px;line-height:1.1;font-weight:800;font-variant-numeric:tabular-nums}
.idc-metric-card>b small{margin-left:4px;color:var(--idc-muted);font-size:15px;font-weight:500}
.idc-metric-card>strong{display:block;margin-top:10px;color:var(--idc-secondary);font-size:13.5px;font-weight:600}
.idc-metric-card p{margin-top:12px;padding-top:11px;border-top:1px solid var(--idc-border);color:var(--idc-muted);font-size:11.5px;line-height:1.65}
.idc-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;gap:18px}
.idc-price-card{position:relative;display:flex;flex-direction:column;padding:28px 24px;border:1px solid var(--idc-border);border-radius:var(--r-lg);background:var(--idc-card);box-shadow:var(--sh-1);transition:transform .22s,box-shadow .22s,border-color .22s}
.idc-price-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3)}
.idc-price-card.featured{border-color:var(--blue-200);background:linear-gradient(180deg,#EDF3FF,var(--idc-card) 48%);box-shadow:0 8px 28px rgba(31,91,255,.1)}
.idc-price-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 14px;border-radius:var(--r-full);background:var(--idc-accent);color:#fff;font-size:11px;font-weight:800;white-space:nowrap}
.idc-price-name{color:var(--idc-secondary);font-size:14px}
.idc-price-amount{margin-top:10px;font-size:32px;font-weight:800}
.idc-price-amount small{margin-left:5px;color:var(--idc-muted);font-size:12px;font-weight:400}
.idc-price-desc{margin-top:5px;padding-bottom:18px;border-bottom:1px solid var(--idc-border);color:var(--idc-muted);font-size:12px}
.idc-price-card ul{flex:1;margin:16px 0 23px;list-style:none}
.idc-price-card li{position:relative;padding:7px 0 7px 20px;color:var(--idc-secondary);font-size:12.5px}
.idc-price-card li::before{position:absolute;top:15px;left:1px;width:10px;height:2px;background:var(--idc-accent);content:""}
.idc-price-card .btn-line{border-color:var(--idc-border);background:#fff;color:var(--idc-primary)}
.idc-price-card .btn-line:hover{border-color:var(--idc-accent);color:var(--idc-accent)}
.idc-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.idc-process-step{position:relative;padding-right:16px}
.idc-process-step:not(:last-child)::after{position:absolute;top:23px;left:65px;right:0;height:1px;background:linear-gradient(90deg,var(--blue-200),var(--line));content:""}
.idc-step-num{position:relative;z-index:1;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:2px solid var(--idc-accent);border-radius:50%;background:#fff;color:var(--idc-accent);font:700 13px var(--mono);box-shadow:0 0 0 5px rgba(31,91,255,.07);transition:box-shadow .22s,transform .22s}
.idc-process-step:hover .idc-step-num{transform:scale(1.06);box-shadow:0 0 0 8px rgba(31,91,255,.1)}
.idc-process-step h3{margin-top:17px;font-size:15px}
.idc-process-step p{margin-top:7px;color:var(--idc-secondary);font-size:12.5px;line-height:1.75}
.idc-cta{padding:82px 24px;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(31,91,255,.22),transparent 70%),linear-gradient(145deg,#0B1530,#132750 62%,#1B3B7A);text-align:center;color:#fff}
.idc-cta h2{font-size:clamp(27px,3.5vw,42px);font-weight:800}
.idc-cta p{margin:12px auto 30px;color:#C2CDE2;font-size:15px}
.idc-cta-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:13px}
@keyframes idc-glow-drift{from{transform:translate3d(-1.5%,0,0) scale(1)}to{transform:translate3d(1.5%,1%,0) scale(1.04)}}
@keyframes idc-stat-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
/* ============ 8b. 内页通用（公司介绍 / 品牌理念 / 企业动态）============ */
.phero{position:relative;overflow:hidden;padding:60px 0 54px;border-bottom:1px solid var(--line-2);background:linear-gradient(180deg,#E6EEFF 0%,#F2F7FF 60%,#FFFFFF 100%)}
.phero::before{content:"";position:absolute;inset:-70% -20% auto;height:640px;background:
  radial-gradient(40% 62% at 18% 42%,rgba(31,91,255,.22),transparent 70%),
  radial-gradient(36% 54% at 82% 30%,rgba(116,156,255,.22),transparent 72%);pointer-events:none}
.phero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(31,91,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,91,255,.05) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(72% 70% at 30% 30%,#000,transparent 80%);-webkit-mask-image:radial-gradient(72% 70% at 30% 30%,#000,transparent 80%);pointer-events:none}
.phero .wrap{position:relative;z-index:2}
.phero h1{margin:14px 0 0;font-size:clamp(26px,3.3vw,40px);font-weight:800;letter-spacing:-1px;line-height:1.2}
.phero .sub{margin-top:14px;max-width:720px;font-size:15px;line-height:1.78;color:var(--t2)}
.phero .facts{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid rgba(31,91,255,.14)}
.phero .facts .fv{font-size:23px;font-weight:800;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.phero .facts .fv small{font-size:13px;font-weight:700;margin-left:1px}
.phero .facts .fl{font-size:12px;color:var(--t3);margin-top:2px}
/* 发展历程 */
.tl{position:relative;padding-left:26px}
.tl::before{content:"";position:absolute;left:6px;top:8px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--blue),var(--blue-200),transparent)}
.tl .ti{position:relative;padding-bottom:24px}
.tl .ti:last-child{padding-bottom:0}
.tl .ti::before{content:"";position:absolute;left:-24px;top:6px;width:11px;height:11px;border-radius:50%;background:#fff;border:2.5px solid var(--blue);box-shadow:0 0 0 3px rgba(31,91,255,.12)}
.tl .ti.hot::before{background:var(--blue);box-shadow:0 0 0 4px rgba(31,91,255,.20);animation:navPulse 2.6s infinite}
.tl .ty{font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--blue)}
.tl .tt{font-size:14.5px;font-weight:700;margin-top:3px}
.tl .td{font-size:13px;color:var(--t2);line-height:1.72;margin-top:4px}
/* 时间轴状态标记（已完成 / 推进中 / 规划中） */
.tl-legend{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 18px;font-size:12.5px;color:var(--t3)}
.tl-legend span{display:inline-flex;align-items:center;gap:6px}
.tl-legend .st{width:8px;height:8px;border-radius:50%;display:inline-block}
.tl-legend .st.ok{background:#12B76A}
.tl-legend .st.blue{background:var(--blue)}
.tl-legend .st.grey{background:#C7CDD8}
.tl .tst{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:20px;font-size:11px;font-weight:600;vertical-align:1px;white-space:nowrap}
.tl .tst.ok{color:#0E8A50;background:rgba(18,183,106,.12);border:1px solid rgba(18,183,106,.28)}
.tl .tst.blue{color:#1F5BFF;background:rgba(31,91,255,.10);border:1px solid rgba(31,91,255,.24)}
.tl .tst.grey{color:#6B7280;background:#F3F5F9;border:1px solid var(--line)}
/* 品牌理念 */
.creed{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.creed .cd{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px;background:#fff;transition:.2s}
.creed .cd:hover{border-color:var(--blue-200);box-shadow:var(--sh-2);transform:translateY(-2px)}
.creed .cd .no{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue);letter-spacing:1.8px}
.creed .cd h4{margin-top:12px;font-size:16px;font-weight:700}
.creed .cd p{margin-top:9px;font-size:13px;line-height:1.75;color:var(--t2)}
.creed .cd .gl{position:absolute;right:-44px;top:-44px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.10),transparent 66%)}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.qcard{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 22px 24px;background:#fff;transition:.22s}
.qcard:hover{border-color:var(--blue-200);box-shadow:var(--sh-2);transform:translateY(-2px)}
.qcard .qn{position:absolute;right:16px;top:15px;font-family:var(--mono);font-size:12px;font-weight:700;color:var(--blue-200);letter-spacing:1.6px}
.qcard .qi{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--blue-50);color:var(--blue);margin-bottom:15px;transition:.22s}
.qcard:hover .qi{background:var(--blue);color:#fff;box-shadow:var(--sh-blue)}
.qcard h4{font-size:16px;font-weight:700}
.qcard p{margin-top:9px;font-size:13px;line-height:1.75;color:var(--t2)}
.qcard .gl{position:absolute;right:-46px;top:-46px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.10),transparent 66%)}
.qcard .qline{position:absolute;left:22px;right:22px;bottom:0;height:2px;background:linear-gradient(90deg,var(--blue),transparent);transform:scaleX(0);transform-origin:left;transition:.3s}
.qcard:hover .qline{transform:scaleX(1)}
/* 企业动态 */
.nfeat{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden;box-shadow:var(--sh-1)}
.nfeat .vis{position:relative;min-height:254px;display:flex;align-items:flex-end;padding:26px;background:linear-gradient(150deg,#0A1020,#14224A 60%,#1B3070)}
.nfeat .vis .bgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:38px 38px}
.nfeat .vis .gl{position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.42),transparent 66%)}
.nfeat .vis .tag{position:relative;z-index:2}
.nfeat .bd-txt{padding:28px 28px 26px;display:flex;flex-direction:column}
.nfeat .bd-txt .dt{font-family:var(--mono);font-size:12px;color:var(--t3)}
.nfeat .bd-txt h3{margin-top:10px;font-size:20px;font-weight:800;letter-spacing:-.4px;line-height:1.35}
.nfeat .bd-txt p{margin-top:12px;font-size:13.5px;line-height:1.8;color:var(--t2);flex:1}
.nlist{display:grid;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.nitem{display:grid;grid-template-columns:108px 1fr auto;gap:16px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line-2);transition:.16s;cursor:pointer}
.nitem:last-child{border-bottom:0}
.nitem:hover{background:var(--blue-50)}
.nitem .nd{font-family:var(--mono);font-size:12px;color:var(--t3)}
.nitem .nt{font-size:14.5px;font-weight:700}
.nitem .nx{font-size:12.5px;color:var(--t3);margin-top:4px;line-height:1.6}
.nitem .na{color:var(--t4);transition:transform .2s,color .2s}
.nitem:hover .na{color:var(--blue);transform:translateX(3px)}
/* ============ 9. 产品矩阵（深浅交替大卡）============ */
.pm{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pm-card{position:relative;border-radius:var(--r-xl);padding:32px 30px 30px;overflow:hidden;min-height:264px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;transition:.22s}
.pm-card:hover{transform:translateY(-3px);box-shadow:var(--sh-3)}
.pm-card h3{font-size:20px;font-weight:700;letter-spacing:-.3px;position:relative;z-index:2}
.pm-card p{margin-top:10px;font-size:13.5px;line-height:1.72;color:var(--t2);max-width:88%;position:relative;z-index:2}
.pm-card .pm-act{margin-top:auto;padding-top:22px;position:relative;z-index:2}
.pm-card.dark{background:linear-gradient(152deg,#0A1020,#141F3D 62%,#182murky);background:linear-gradient(152deg,#0A1020,#141F3D 62%,#16224A);border-color:transparent;color:#fff}
.pm-card.dark p{color:#A9B4CC}
.pm-card.dark .btn-line{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.pm-card.dark .btn-line:hover{background:rgba(255,255,255,.16);color:#fff}
.pm-card .deco{position:absolute;right:-14px;bottom:-14px;width:190px;height:150px;opacity:.5;pointer-events:none;z-index:1}
.pm-card.dark .deco{opacity:.55}
.pm-card .glow{position:absolute;top:-70px;right:-50px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.16),transparent 66%);pointer-events:none}
.pm-card.lite{background:linear-gradient(160deg,#FBFCFE,#F3F6FD)}
/* ============ 10. 特性网格 ============ */
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feat .fc{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;background:#fff;transition:.2s}
.feat .fc:hover{border-color:var(--blue-200);box-shadow:var(--sh-2)}
.feat .fc .fi{width:38px;height:38px;border-radius:11px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:18px}
.feat .fc h4{margin-top:14px;font-size:15.5px;font-weight:700}
.feat .fc p{margin-top:8px;font-size:13px;line-height:1.7;color:var(--t2)}
.feat .fc b{color:var(--blue);font-weight:700}
.feat .fc ul{margin-top:9px}
.feat .fc li{font-size:12.5px;color:var(--t2);line-height:1.72;padding-left:14px;position:relative}
.feat .fc li::before{content:"";position:absolute;left:1px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--blue-200)}
/* ============ 11. 解决方案（四大场景：痛点 → 方案 → 成效） ============ */
.scene-hd{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.scene-hd .eb{display:inline-flex;align-items:center;gap:7px;height:27px;padding:0 12px;border-radius:var(--r-full);background:var(--blue-50);border:1px solid var(--blue-100);color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.4px}
.scene-hd h3{font-size:16.5px;font-weight:800;letter-spacing:-.2px}
.solves{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sccard{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 20px 20px;background:#fff;transition:.24s}
.sccard::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--blue),#7CA0FF);transform:scaleX(0);transform-origin:left;transition:.36s}
.sccard:hover{border-color:var(--blue-200);box-shadow:var(--sh-2);transform:translateY(-3px)}
.sccard:hover::before{transform:scaleX(1)}
.sc-hd{display:flex;align-items:center;gap:11px;padding-bottom:15px;border-bottom:1px dashed var(--line)}
.sc-ic{width:40px;height:40px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--blue-50);color:var(--blue);transition:.24s}
.sccard:hover .sc-ic{background:var(--blue);color:#fff;box-shadow:var(--sh-blue)}
.sc-hd b{font-size:15.5px;font-weight:800;letter-spacing:-.2px;line-height:1.3}
.sc-rows{margin-top:14px;display:flex;flex-direction:column;gap:11px}
.sc-row{display:flex;gap:9px;align-items:flex-start}
.sc-tag{flex:none;margin-top:1px;height:19px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;letter-spacing:.3px}
.sc-row.pain .sc-tag{background:var(--warn-bg);color:#8A5A0B}
.sc-row.plan .sc-tag{background:var(--blue-50);color:var(--blue)}
.sc-row.gain .sc-tag{background:var(--ok-bg);color:var(--ok)}
.sc-row p{margin:0;font-size:12.5px;line-height:1.68;color:var(--t2)}
.sc-row.plan p,.sc-row.gain p{color:var(--t1)}
/* ============ 12. 客户案例 ============ */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case{border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 22px;background:#fff;display:flex;flex-direction:column}
.case .cq{font-size:13.5px;line-height:1.78;color:var(--t2);flex:1}
.case .cq b{color:var(--t1)}
.case .cm{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-2);display:flex;align-items:center;gap:10px}
.case .cm .cl{width:34px;height:34px;border-radius:9px;background:var(--bg-3);color:var(--t2);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.case .cm b{display:block;font-size:13px}
.case .cm span{display:block;font-size:11.5px;color:var(--t3)}
.case .kn{margin-top:14px;display:flex;gap:7px;flex-wrap:wrap}
/* ============ 12b. 合作伙伴 Logo 轮播 ============ */
.plogos{margin-top:48px}
.plogos-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.plogos-hd .t{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--t1)}
.plogos-hd .t .lg-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(31,91,255,.14);animation:pulse 2.4s infinite}
.plogos-hd .t small{font-size:12px;font-weight:500;color:var(--t3)}
.plogos-hd .ctrl{display:flex;align-items:center;gap:8px}
.plogos-hd .arw{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--t2);display:flex;align-items:center;justify-content:center;transition:.18s}
.plogos-hd .arw:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-50)}
.plogos-hd .arw:active{transform:scale(.93)}
.caro{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;box-shadow:var(--sh-1)}
.caro-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.caro-slide{flex:0 0 100%;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line-2)}
.lgo{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px 10px;min-height:116px;transition:background .22s}
.lgo:hover{background:var(--blue-50)}
.lgo .mk{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none;transition:transform .24s cubic-bezier(.34,1.3,.64,1)}
.lgo:hover .mk{transform:translateY(-2px) scale(1.06)}
.lgo .mk svg{display:block}
.lgo .nm{font-size:12.5px;font-weight:700;color:var(--t2);letter-spacing:.1px}
.lgo .en{font-size:9.5px;font-weight:600;color:var(--t4);letter-spacing:1.2px;font-family:var(--mono)}
.caro-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.caro-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--blue-200);transition:width .3s cubic-bezier(.4,0,.2,1),background .3s;position:relative;overflow:hidden;flex:none}
.caro-dot:hover{background:var(--blue-l)}
.caro-dot.on{width:26px;background:linear-gradient(90deg,var(--blue),var(--blue-l));box-shadow:0 2px 8px rgba(31,91,255,.42)}
.caro-dot.on::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:dotSweep 1.5s linear infinite}
@keyframes dotSweep{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
/* ============ 13. CTA ============ */
.cta{background:var(--ink);border-radius:var(--r-2xl);padding:56px 48px;position:relative;overflow:hidden;display:flex;align-items:center;gap:40px}
.cta::before{content:"";position:absolute;inset:auto -10% -70% auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.34),transparent 66%);pointer-events:none}
.cta::after{content:"";position:absolute;left:-6%;top:-60%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(233,163,36,.16),transparent 68%);pointer-events:none}
.cta .l{position:relative;z-index:2;flex:1}
.cta h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.7px;color:#fff}
.cta p{margin-top:12px;font-size:14.5px;color:#A9B4CC;max-width:520px;line-height:1.7}
.cta .r{position:relative;z-index:2;display:flex;gap:12px;flex-wrap:wrap}
/* ---------- NEXT STEP 联系条（公司介绍页底部） ---------- */
.nstep{position:relative;overflow:hidden;padding:54px 0;background:linear-gradient(102deg,#0A1526 0%,#122450 48%,#17326F 100%);border-top:1px solid rgba(255,255,255,.07)}
.nstep::before{content:"";position:absolute;left:-10%;top:-150%;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.30),transparent 68%);pointer-events:none}
.nstep::after{content:"";position:absolute;right:-4%;bottom:-200%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(92,155,245,.20),transparent 70%);pointer-events:none}
.nstep .wrap{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}
.nstep .ns-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:#6FA8FF}
.nstep h2{margin:14px 0 0;font-size:clamp(22px,2.7vw,32px);font-weight:800;letter-spacing:-.7px;line-height:1.3;color:#fff}
.nstep p{margin:12px 0 0;font-size:14px;line-height:1.7;color:#9EAECB;max-width:640px}
.nstep .ns-act{flex:none}
.nstep-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 26px;border:0;border-radius:8px;background:linear-gradient(135deg,#5C9BF5,#3C7BEE);color:#fff;font-size:15px;font-weight:700;letter-spacing:.2px;cursor:pointer;box-shadow:0 10px 26px rgba(56,124,240,.38);transition:.2s}
.nstep-btn:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(56,124,240,.50)}
.nstep-btn svg{transition:transform .2s}
.nstep-btn:hover svg{transform:translate(2px,-2px)}
/* ---------- 联系我们 ---------- */
.ci-list{display:flex;flex-direction:column;gap:16px}
.ci-hd{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.ci-hd .ci-ic{width:36px;height:36px;border-radius:11px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.ci-hd h3{font-size:14.5px;font-weight:700}
.ci-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.ci-row:last-child{border-bottom:0;padding-bottom:0}
.ci-row .k{width:76px;flex:none;font-size:12.5px;color:var(--t3)}
.ci-row .v{font-size:13px;font-weight:600;line-height:1.6;word-break:break-all}
.ci-note{font-size:12.5px;color:var(--t3);line-height:1.8}
.cform-note{margin-top:15px;font-size:11.5px;color:var(--t4);line-height:1.7;text-align:center}
.req{color:var(--bad);font-weight:700;margin-left:2px}
.cdone{text-align:center;padding:24px 4px 8px}
.cdone .cd-ic{width:64px;height:64px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;background:var(--ok-bg);color:var(--ok)}
.cdone h3{margin-top:18px;font-size:18px;font-weight:800}
.cdone p{margin-top:9px;font-size:13px;color:var(--t3);line-height:1.8}
.cdone .cd-no{margin-top:15px;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 13px;border-radius:var(--r-full);background:var(--blue-50);color:var(--blue);font-size:12.5px;font-weight:600}
/* ============ 14. 页脚 ============ */
.foot{background:#060A14;color:#8E9AB4;padding:60px 0 0;font-size:13px}
.foot-top{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:32px;padding-bottom:44px}
.foot .brand{color:#fff}
.foot .brand small{color:#5C6885}
.foot .fd{margin-top:16px;font-size:12.5px;line-height:1.8;max-width:280px;color:#7A87A3}
.foot .fc-t{font-size:13px;font-weight:700;color:#fff;margin-bottom:14px}
.foot li{margin-bottom:9px}
.foot li a{font-size:12.5px;color:#8E9AB4;transition:.15s}
.foot li a:hover{color:#fff}
.foot-bot{border-top:1px solid #1A2237;padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#6B7794}
.foot-bot a{color:#8E9AB4}
/* ============ 15. Tab / 分段控件 ============ */
.tabs{display:inline-flex;background:var(--bg-3);border-radius:var(--r);padding:3px;gap:2px}
.tabs button{height:32px;padding:0 15px;border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--t2);transition:.16s}
.tabs button.on{background:#fff;color:var(--blue);box-shadow:var(--sh-1)}
.tabs button:hover:not(.on){color:var(--t1)}
.seg{display:inline-flex;gap:6px}
.seg button{height:30px;padding:0 13px;border-radius:var(--r-full);font-size:12.5px;font-weight:600;color:var(--t2);border:1px solid var(--line);background:#fff;transition:.16s}
.seg button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.seg button:hover:not(.on){border-color:var(--blue-200);color:var(--blue)}
/* ============ 16. 表格 ============ */
.tbl{font-size:13px}
.tbl th{background:var(--bg-2);color:var(--t2);font-size:12px;font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tbody tr:hover{background:#FAFBFE}
.tbl .r{text-align:right}
.tbl tfoot td{background:var(--bg-2);font-weight:700;border-top:1px solid var(--line);border-bottom:0}
.tbl .mn{font-family:var(--mono);font-size:12.5px}
/* ============ 17. 控制台布局 ============ */
.topbar{height:56px;background:var(--ink);color:#fff;display:flex;align-items:center;padding:0 20px;gap:16px;position:sticky;top:0;z-index:70}
.topbar .brand{color:#fff;font-size:15px}
.topbar .brand small{color:#6B7794;font-size:10px;letter-spacing:.2px}
.topbar .tb-r{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:12.5px}
.topbar .tb-r .bal{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-full);padding:5px 13px}
.topbar .tb-r .bal b{font-family:var(--mono);font-size:13px;color:#fff}
.topbar .tb-r a{color:#A9B4CC}
.topbar .tb-r a:hover{color:#fff}
.shell{display:grid;grid-template-columns:222px 1fr;min-height:calc(100vh - 56px);align-items:start}
.side{background:var(--ink-2);min-height:calc(100vh - 56px);padding:16px 12px;position:sticky;top:56px}
.side .sg{font-size:10.5px;font-weight:700;letter-spacing:1.1px;color:#5C6885;padding:14px 12px 7px;text-transform:uppercase}
.side a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r);font-size:13.5px;color:#A9B4CC;transition:.15s;margin-bottom:2px}
.side a:hover{background:rgba(255,255,255,.06);color:#fff}
.side a.on{background:var(--blue);color:#fff;font-weight:600;box-shadow:0 6px 18px rgba(31,91,255,.32)}
.side a .si{width:16px;display:flex;justify-content:center;font-size:14px;flex:none}
.side .side-foot{position:absolute;bottom:0;left:0;right:0}
.main{padding:24px 28px 56px;min-width:0;background:var(--bg-2)}
.crumb{font-size:12.5px;color:var(--t3);margin-bottom:5px}
.page-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.page-hd h1{font-size:21px;font-weight:800;letter-spacing:-.4px}
.page-hd p{font-size:13px;color:var(--t3);margin-top:4px}
/* 告警条 */
.alertbar{display:flex;align-items:center;gap:11px;background:var(--warn-bg);border:1px solid #F3DCA6;color:#7A5410;border-radius:var(--r);padding:11px 15px;font-size:13px;margin-bottom:18px}
.alertbar.bad{background:var(--bad-bg);border-color:#F6C7C8;color:#96181C}
.alertbar b{font-weight:700}
/* ============ 18. 指标卡 / 面板 ============ */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;position:relative;overflow:hidden}
.kpi .kl{font-size:12.5px;color:var(--t3);display:flex;align-items:center;gap:6px}
.kpi .kv{margin-top:9px;font-size:26px;font-weight:800;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.1}
.kpi .kv small{font-size:13.5px;font-weight:700;margin-left:2px;color:var(--t2)}
.kpi .kf{margin-top:8px;font-size:12px;color:var(--t3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kpi .up{color:var(--ok);font-weight:600}
.kpi .down{color:var(--bad);font-weight:600}
.kpi .accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.kpi.gold .accent{background:var(--gold)}
.kpi.ok .accent{background:var(--ok)}
.kpi.dark{background:linear-gradient(150deg,#0A1020,#16224A);border-color:transparent;color:#fff}
.kpi.dark .kl,.kpi.dark .kf{color:#A9B4CC}
.kpi.dark .kv{color:#fff}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.panel-hd{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.panel-hd h3{font-size:15px;font-weight:700}
.panel-hd .ph-sub{font-size:12px;color:var(--t3);margin-top:2px}
.grid-2{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}
.grid-2e{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* ============ 19. 图表辅助 ============ */
.chart{width:100%;display:block;overflow:visible}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--t2)}
.legend i{width:9px;height:9px;border-radius:2.5px;display:inline-block;margin-right:6px}
.bar{height:7px;border-radius:var(--r-full);background:var(--bg-3);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:var(--r-full);background:var(--blue);transition:width .5s cubic-bezier(.4,0,.2,1)}
.hbar{display:flex;align-items:center;gap:9px}
.hbar .bar{flex:1}
.hbar .hp{font-family:var(--mono);font-size:11.5px;color:var(--t3);width:42px;text-align:right;flex:none}
.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.donut-c{position:relative;flex:none}
.donut-c .dc-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut-c .dc-txt b{font-size:21px;font-weight:800;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.donut-c .dc-txt span{font-size:11px;color:var(--t3)}
.dlist{flex:1;min-width:200px}
.dlist .dl{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:5px 0}
.dlist .dl .dn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlist .dl .dv{font-family:var(--mono);font-size:12px;font-weight:600}
.dlist .dl .dp{font-family:var(--mono);font-size:11.5px;color:var(--t3);width:38px;text-align:right}
/* 热力 */
.heat{display:grid;grid-template-columns:repeat(24,1fr);gap:4px}
.heat .hc{height:34px;border-radius:5px;background:var(--bg-3)}
.heat-x{display:grid;grid-template-columns:repeat(24,1fr);gap:4px;margin-top:6px;font-size:10px;color:var(--t4);text-align:center}
/* ============ 20. 模型卡 ============ */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;transition:.2s}
.mcard:hover{border-color:var(--blue-200);box-shadow:var(--sh-2);transform:translateY(-2px)}
.mcard .mh{display:flex;align-items:flex-start;gap:11px}
.mcard .ml{width:36px;height:36px;border-radius:10px;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex:none}
.mcard .mh b{display:block;font-size:15px;font-weight:700;letter-spacing:-.2px}
.mcard .mh .mslug{display:block;font-size:11px;color:var(--t3);font-family:var(--mono);margin-top:1px}
.mcard .mdesc{margin-top:12px;font-size:12.5px;color:var(--t2);line-height:1.7;flex:1}
.mcard .mprice{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line-2);padding-top:13px}
.mcard .mprice .pv{}
.mcard .mprice .pl{font-size:11px;color:var(--t3)}
.mcard .mprice .pn{font-size:15px;font-weight:700;font-family:var(--mono);margin-top:2px}
.mcard .mprice .pn.free{color:var(--ok)}
.mcard .mfoot{margin-top:14px;display:flex;align-items:center;gap:8px}
.mcard .mtags{margin-top:11px;display:flex;gap:6px;flex-wrap:wrap}
.filterbar{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.searchbox{position:relative;flex:1;min-width:220px;max-width:360px}
.searchbox .ipt{padding-left:36px}
.searchbox .si{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--t3);font-size:14px;pointer-events:none}
.searchbox .clr{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--bg-3);color:var(--t2);font-size:12px;display:flex;align-items:center;justify-content:center}
.empty{text-align:center;padding:56px 20px;color:var(--t3)}
.empty .ei{font-size:36px;opacity:.5}
.empty b{display:block;margin-top:12px;color:var(--t2);font-size:14px}
.empty span{display:block;margin-top:5px;font-size:12.5px}
/* ============ 21. 价格表页 ============ */
.price-hero{background:linear-gradient(160deg,#0A1020,#131E3C 68%,#16224A);padding:52px 0 56px;position:relative;overflow:hidden}
.price-hero::before{content:"";position:absolute;inset:auto -8% -60% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.3),transparent 66%)}
.price-hero .wrap{position:relative;z-index:2}
.price-hero .kick{display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 13px;border-radius:var(--r-full);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#C7D6FF;font-size:12px;font-weight:600}
.price-hero h1{margin-top:16px;font-size:clamp(25px,3.1vw,36px);font-weight:800;color:#fff;letter-spacing:-.8px}
.price-hero p{margin-top:12px;color:#A9B4CC;font-size:14px;max-width:600px;line-height:1.7}
.psearch{margin-top:24px;max-width:520px;display:flex;gap:9px}
.psearch .searchbox{max-width:none;flex:1}
.psearch .ipt{height:44px;background:#fff;border-color:transparent}
.vendor-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.vendor-strip button{height:30px;padding:0 13px;border-radius:var(--r-full);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#C7D6FF;font-size:12.5px;transition:.15s}
.vendor-strip button:hover{background:rgba(255,255,255,.15);color:#fff}
.vendor-strip button.on{background:#fff;color:var(--ink);border-color:#fff;font-weight:600}
.ptbl-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.ptbl-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ptbl-head h3{font-size:15px;font-weight:700}
.vcell{display:flex;align-items:center;gap:9px}
.vlogo{width:26px;height:26px;border-radius:7px;background:var(--bg-3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--t2);flex:none}
.mrow-name{font-weight:600;font-size:13px}
.mrow-slug{font-family:var(--mono);font-size:11px;color:var(--t3);margin-top:1px}
.tierline{font-size:10.5px;color:var(--t3);display:block}
.tierline+.tierline{margin-top:3px}
.expand-row td{background:var(--blue-50);color:var(--blue);text-align:center;font-size:12.5px;font-weight:600;cursor:pointer;padding:9px}
.expand-row:hover td{background:var(--blue-100)}
/* ============ 22. 文档页 ============ */
.doc-wrap{display:grid;grid-template-columns:220px 1fr;gap:32px;padding:32px 0 70px}
.doc-side{position:sticky;top:calc(var(--nav-h) + 20px);align-self:start;font-size:13px}
.doc-side .dg{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--t4);margin:16px 0 7px;text-transform:uppercase}
.doc-side a{display:block;padding:6px 11px;border-radius:var(--r-sm);color:var(--t2);border-left:2px solid transparent}
.doc-side a:hover{background:var(--bg-2);color:var(--blue)}
.doc-side a.on{color:var(--blue);background:var(--blue-50);border-left-color:var(--blue);font-weight:600}
.doc-main{min-width:0}
.doc-main h2{font-size:22px;font-weight:800;letter-spacing:-.4px;margin:34px 0 14px;padding-top:6px}
.doc-main h2:first-child{margin-top:0}
.doc-main h3{font-size:16px;font-weight:700;margin:24px 0 10px}
.doc-main p{font-size:14px;line-height:1.8;color:var(--t2);margin:10px 0}
.doc-main ul{margin:10px 0}
.doc-main ul li{font-size:13.5px;line-height:1.85;color:var(--t2);padding-left:16px;position:relative}
.doc-main ul li::before{content:"";position:absolute;left:2px;top:10px;width:5px;height:5px;border-radius:50%;background:var(--blue-200)}
.code{background:#0C1424;color:#C7D6FF;border-radius:var(--r);padding:16px 18px;font-family:var(--mono);font-size:12.5px;line-height:1.85;overflow:auto;position:relative;margin:12px 0}
.code .cm{color:#5C6885}
.code .ck{color:#7CA0FF}
.code .cs{color:#8FD9A8}
.code .cp{color:#E9C46A}
.code .cp-copy{position:absolute;top:9px;right:9px;height:26px;padding:0 10px;border-radius:var(--r-sm);background:rgba(255,255,255,.08);color:#A9B4CC;font-size:11.5px;font-family:inherit}
.code .cp-copy:hover{background:rgba(255,255,255,.16);color:#fff}
.note{border-left:3px solid var(--blue);background:var(--blue-50);border-radius:0 var(--r) var(--r) 0;padding:12px 16px;font-size:13px;color:#1F3B7A;margin:14px 0;line-height:1.75}
.note.warn{border-color:var(--gold);background:var(--gold-50);color:#7A5410}
/* ============ 23. 认证页 ============ */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-l{background:linear-gradient(158deg,#0A1020,#131E3C 58%,#16224A);color:#fff;padding:52px 56px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.auth-l::before{content:"";position:absolute;inset:auto -14% -30% auto;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.34),transparent 66%)}
.auth-l::after{content:"";position:absolute;inset:-24% auto auto -16%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(233,163,36,.14),transparent 70%)}
.auth-l>*{position:relative;z-index:2}
.auth-l h2{margin-top:52px;font-size:31px;font-weight:800;letter-spacing:-.9px;line-height:1.3}
.auth-l .lp{margin-top:16px;font-size:14px;color:#A9B4CC;line-height:1.75;max-width:400px}
.auth-l .plist{margin-top:34px;display:flex;flex-direction:column;gap:15px}
.auth-l .plist li{display:flex;gap:11px;font-size:13.5px;color:#D3DBEC}
.auth-l .plist .pi{width:22px;height:22px;border-radius:50%;background:rgba(31,91,255,.26);color:#8FB0FF;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none;margin-top:1px}
.auth-l .gift{margin-top:auto;background:rgba(233,163,36,.12);border:1px solid rgba(233,163,36,.28);border-radius:var(--r-lg);padding:16px 18px}
.auth-l .gift b{color:var(--gold);font-size:15px;font-weight:700}
.auth-l .gift p{font-size:12.5px;color:#C9D3E8;margin-top:5px;line-height:1.6}
.auth-r{display:flex;align-items:center;justify-content:center;padding:44px 32px;background:#fff}
.auth-form{width:100%;max-width:388px}
.auth-form .ab{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;margin-bottom:30px}
.auth-form h1{font-size:25px;font-weight:800;letter-spacing:-.6px}
.auth-form .as{margin-top:9px;font-size:13.5px;color:var(--t3)}
.auth-form .fbody{margin-top:26px}
.auth-alt{margin-top:22px;text-align:center;font-size:13px;color:var(--t3)}
.auth-alt a{color:var(--blue);font-weight:600}
.auth-legal{margin-top:24px;font-size:11.5px;color:var(--t4);text-align:center;line-height:1.7}
.divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--t4);font-size:11.5px}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
/* ============ 24. 充值页 ============ */
.amt-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}
.amt{border:1.5px solid var(--line);border-radius:var(--r);padding:15px 8px;text-align:center;cursor:pointer;transition:.16s;background:#fff;position:relative}
.amt:hover{border-color:var(--blue-200)}
.amt.on{border-color:var(--blue);background:var(--blue-50);box-shadow:0 0 0 3px rgba(31,91,255,.09)}
.amt b{display:block;font-size:17px;font-weight:700;font-family:var(--mono)}
.amt span{display:block;font-size:11px;color:var(--t3);margin-top:3px}
.amt .badge{position:absolute;top:-9px;right:8px;background:var(--gold);color:#3A2600;font-size:10px;font-weight:700;padding:1px 7px;border-radius:var(--r-full)}
.amt.on b{color:var(--blue)}
.slider{width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:var(--r-full);background:var(--bg-3);outline:none;margin:22px 0 8px}
.slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer;box-shadow:var(--sh-2)}
.slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:pointer}
.convband{background:linear-gradient(100deg,var(--blue-50),#F5F8FF);border:1px solid var(--blue-100);border-radius:var(--r);padding:14px 17px;display:flex;align-items:center;gap:12px;font-size:13.5px}
.convband b{font-family:var(--mono);font-size:15px;color:var(--blue)}
.summary{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.summary .sr{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;color:var(--t2)}
.summary .sr b{font-family:var(--mono);color:var(--t1);font-weight:600}
.summary .sr.tot{border-top:1px solid var(--line);margin-top:9px;padding-top:14px;font-size:14px;color:var(--t1);font-weight:600}
.summary .sr.tot b{font-size:20px;color:var(--gold-d);font-weight:800}
/* ============ 25. 弹层 / 提示 ============ */
.mask{position:fixed;inset:0;background:rgba(8,13,26,.5);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .18s}
@keyframes fade{from{opacity:0}}
.modal{background:#fff;border-radius:var(--r-xl);width:100%;max-width:520px;box-shadow:var(--sh-3);animation:pop .22s cubic-bezier(.2,1.1,.4,1);max-height:88vh;display:flex;flex-direction:column}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(10px)}}
.modal-hd{padding:20px 22px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.modal-hd h3{font-size:17px;font-weight:700}
.modal-hd p{font-size:12.5px;color:var(--t3);margin-top:4px}
.modal-hd .x{width:28px;height:28px;border-radius:var(--r-sm);color:var(--t3);font-size:16px;display:flex;align-items:center;justify-content:center;flex:none}
.modal-hd .x:hover{background:var(--bg-3);color:var(--t1)}
.modal-bd{padding:18px 22px;overflow:auto}
.modal-ft{padding:0 22px 22px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
#toast-root{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:300;display:flex;flex-direction:column;gap:9px;align-items:center;pointer-events:none}
.toast{background:#0F172A;color:#fff;border-radius:var(--r);padding:11px 18px;font-size:13.5px;box-shadow:var(--sh-3);display:flex;align-items:center;gap:9px;animation:drop .24s;max-width:min(92vw,460px)}
@keyframes drop{from{opacity:0;transform:translateY(-12px)}}
.toast.ok{border-left:3px solid var(--ok)}
.toast.bad{border-left:3px solid var(--bad)}
.toast.info{border-left:3px solid var(--blue)}
/* 支付处理中 */
.spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* 骨架 */
.sk{background:linear-gradient(90deg,#EEF1F7 25%,#F7F9FC 37%,#EEF1F7 63%);background-size:400% 100%;animation:shine 1.4s infinite;border-radius:var(--r-sm)}
@keyframes shine{0%{background-position:100% 50%}100%{background-position:0 50%}}
/* ============ 26b. 模型体验（首页模块栏 + 体验中心） ============ */
.tbar{position:relative;overflow:hidden;background:linear-gradient(118deg,#080E1C,#152445 48%,#1F3D7A);color:#fff}
.tbar::before{content:"";position:absolute;right:-70px;top:-140px;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(31,91,255,.44),transparent 66%)}
.tbar::after{content:"";position:absolute;left:12%;bottom:-190px;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(233,163,36,.18),transparent 68%)}
.tbar .wrap{position:relative;z-index:2;display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.tbar .tb-l{display:flex;align-items:center;gap:11px;flex:none}
.tbar .tb-ic{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.tbar .tb-t{display:block;font-size:14px;font-weight:700;letter-spacing:-.2px}
.tbar .tb-s{display:block;font-size:11.5px;color:#A9B4CC;margin-top:2px}
.tbar .tb-list{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;padding:2px 0}
.tbar .tb-list::-webkit-scrollbar{display:none}
.tbar .tb-list{scrollbar-width:none}
.tb-chip{display:inline-flex;align-items:center;gap:5px;height:27px;padding:0 10px;border-radius:var(--r-full);background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#DCE6FF;font-size:11.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:.18s}
.tb-chip:hover{background:rgba(31,91,255,.55);border-color:rgba(120,163,255,.6);color:#fff;transform:translateY(-1px)}
.tb-chip b{font-family:var(--mono);font-size:9.5px;font-weight:700;color:#8FA6D8}
.tb-chip:hover b{color:#C9D8FF}
.tbar .tb-act{flex:none;display:flex;align-items:center;gap:10px}
/* 体验中心 */
.trial{display:grid;grid-template-columns:312px 1fr;gap:16px;align-items:start}
.tpane{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;position:sticky;top:72px;max-height:calc(100vh - 92px);overflow-y:auto}
.tpane::-webkit-scrollbar{width:7px}
.tpane::-webkit-scrollbar-thumb{background:#D9E2F5;border-radius:var(--r-full)}
.tsec{padding:15px 17px;border-bottom:1px solid var(--line-2)}
.tsec:last-child{border-bottom:0}
.tsec>h4{font-size:11px;font-weight:700;letter-spacing:.9px;color:var(--t3);text-transform:uppercase;margin-bottom:11px}
.trowse{max-height:268px;overflow-y:auto;margin:0 -5px}
.tmrow{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:var(--r);cursor:pointer;transition:.15s;border:1px solid transparent}
.tmrow+.tmrow{margin-top:2px}
.tmrow:hover{background:var(--blue-50)}
.tmrow.on{background:var(--blue-50);border-color:var(--blue-200)}
.tmrow.lock{opacity:.66}
.tmrow.lock:hover{background:var(--bg-3)}
.tmrow .tmk{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700;background:var(--blue-50);color:var(--blue);flex:none}
.tmrow.on .tmk{background:var(--blue);color:#fff;box-shadow:var(--sh-blue)}
.tmrow.lock .tmk{background:var(--bg-3);color:var(--t3)}
.tmrow .tmn{font-size:13px;font-weight:600;line-height:1.3}
.tmrow .tms{font-size:10.5px;color:var(--t3);margin-top:2px}
.tparam{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;font-size:12.5px;color:var(--t2)}
.tparam .tpv{font-family:var(--mono);font-size:11.5px;color:var(--blue);font-weight:600;min-width:34px;text-align:right}
.tparam input[type=range]{width:104px;accent-color:var(--blue);cursor:pointer}
.tparam select{height:30px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 8px;font-size:12.5px;background:#fff;color:var(--t1);font-family:inherit}
.tsw{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;cursor:pointer;user-select:none}
.tsw i{width:34px;height:19px;border-radius:var(--r-full);background:#D6DEEB;position:relative;transition:.18s;flex:none}
.tsw i::after{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 3px rgba(16,24,40,.22)}
.tsw.on i{background:var(--blue)}
.tsw.on i::after{left:17px}
.tstat3{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.tstat3 .ts-it{background:var(--bg-3);border-radius:var(--r);padding:9px 11px}
.tstat3 .ts-k{font-size:10.5px;color:var(--t3)}
.tstat3 .ts-v{font-family:var(--mono);font-size:13px;font-weight:700;margin-top:3px}
/* 对话区 */
.chat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;height:calc(100vh - 172px);min-height:540px}
.chat-hd{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line-2);flex:none}
.chat-hd .ch-ic{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--blue),#5B87FF);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;flex:none;box-shadow:var(--sh-blue)}
.chat-hd .ch-n{font-size:14.5px;font-weight:700}
.chat-hd .ch-s{font-size:11.5px;color:var(--t3);margin-top:3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chat-hd .ch-act{margin-left:auto;display:flex;gap:8px;flex:none}
.chat-bd{flex:1;overflow-y:auto;padding:20px 22px;background:linear-gradient(180deg,#FCFDFF,#F6F9FF)}
.chat-ft{flex:none;border-top:1px solid var(--line-2);padding:12px 18px 14px;background:#fff}
.tsug{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 2px}
.tsug button{height:33px;padding:0 14px;border-radius:var(--r-full);border:1px solid var(--line);background:#fff;color:var(--t2);font-size:12.5px;cursor:pointer;transition:.16s;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsug button:hover{border-color:var(--blue-200);color:var(--blue);background:var(--blue-50)}
.msg{display:flex;gap:11px;margin-bottom:18px;align-items:flex-start}
.msg .av{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:var(--mono);flex:none}
.msg.u{flex-direction:row-reverse}
.msg.u .av{background:var(--ink-2);color:#fff}
.msg.a .av{background:linear-gradient(135deg,var(--blue),#5B87FF);color:#fff}
.bub{max-width:min(660px,78%);padding:12px 15px;border-radius:14px;font-size:13.5px;line-height:1.8}
.msg.u .bub{background:var(--ink-2);color:#EAF0FF;border-top-right-radius:5px;white-space:pre-wrap;word-break:break-word}
.msg.a .bub{background:#fff;border:1px solid var(--line);border-top-left-radius:5px;box-shadow:var(--sh-1)}
.btx{white-space:pre-wrap;word-break:break-word}
.bub .mmeta{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-family:var(--mono);font-size:10.5px;color:var(--t3);display:flex;gap:12px;flex-wrap:wrap}
.msg.u .bub .mmeta{border-top-color:rgba(255,255,255,.16);color:#8FA0C4}
.ta{width:100%;min-height:78px;max-height:190px;resize:vertical;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;font-size:13.5px;line-height:1.7;font-family:inherit;color:var(--t1);background:#fff;transition:.16s}
.ta:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,91,255,.10)}
.tfoot-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:9px;font-size:11.5px;color:var(--t3)}
.tstat{display:flex;gap:8px;flex-wrap:wrap}
.tstat span{background:var(--bg-3);border-radius:var(--r-sm);padding:4px 9px;font-family:var(--mono);font-size:11px;color:var(--t2)}
.typing{display:inline-flex;gap:4px;align-items:center;padding:3px 0}
.typing i{width:5px;height:5px;border-radius:50%;background:var(--blue-200);animation:tblink 1.1s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes tblink{0%,100%{opacity:.28;transform:translateY(0)}45%{opacity:1;transform:translateY(-2px)}}
.chat-empty{text-align:center;padding:22px 10px 6px}
.chat-empty .ce-ic{width:54px;height:54px;border-radius:17px;margin:0 auto;background:var(--blue-50);color:var(--blue);display:flex;align-items:center;justify-content:center}
.chat-empty h4{margin-top:14px;font-size:16.5px;font-weight:700}
.chat-empty p{margin:8px auto 0;max-width:440px;font-size:12.5px;color:var(--t3);line-height:1.75}
.demo-note{display:flex;align-items:center;gap:8px;background:var(--gold-50);color:var(--gold-d);border-radius:var(--r);padding:8px 12px;font-size:11.5px;line-height:1.6;margin-bottom:16px}
.tlockbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--bad-bg);color:var(--bad);border-radius:var(--r);padding:9px 13px;font-size:12.5px;margin-bottom:16px}

/* ============ 26. 图表容器 ============ */
.chartbox{width:100%;min-height:1px}
.chartbox svg{display:block}
.price-hero .hero-meta svg{color:#8FA0C4}
.price-hero .hero-meta{justify-content:flex-start}
.score-tbl td:first-child{font-weight:600}
/* ============ 27. 响应式 ============ */
@media(max-width:1080px){
  .solves{grid-template-columns:repeat(2,1fr)}
  .mgrid{grid-template-columns:repeat(2,1fr)}
  .feat{grid-template-columns:repeat(2,1fr)}
  .caro-slide{grid-template-columns:repeat(3,1fr)}
  .quad{grid-template-columns:repeat(2,1fr)}
  .trial{grid-template-columns:1fr}
  .tpane{position:static;max-height:none}
  .chat{height:auto;min-height:0}
  .chat-bd{min-height:300px;max-height:520px}
}
@media(max-width:960px){
  .nav-menu{display:none}
  .pm{grid-template-columns:1fr}
  .cases{grid-template-columns:1fr}
  .cta{flex-direction:column;align-items:flex-start;padding:38px 28px}
  .nstep{padding:42px 0}
  .nstep .wrap{flex-direction:column;align-items:flex-start;gap:26px}
  .nstep .ns-act{width:100%}
  .nstep-btn{width:100%}
  .grid-2,.grid-2e{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .auth{grid-template-columns:1fr}
  .auth-l{display:none}
  .shell{grid-template-columns:1fr}
  .side{display:none}
  .statsbar{grid-template-columns:repeat(2,1fr)}
  .server-adv-grid{grid-template-columns:repeat(2,1fr)}
  .server-consult-wrap{grid-template-columns:1fr;gap:30px}
  .server-consult-copy>p{max-width:700px}
  .idc-pricing-grid{grid-template-columns:1fr}
  .idc-process-grid{grid-template-columns:repeat(2,1fr);row-gap:30px}
  .idc-process-step:nth-child(2)::after{display:none}
  .statsbar .st:nth-child(2){border-right:0}
  .statsbar .st:nth-child(1),.statsbar .st:nth-child(2){border-bottom:1px solid var(--line-2)}
  .foot-top{grid-template-columns:1fr 1fr;gap:26px}
  .creed{grid-template-columns:1fr}
  .nfeat{grid-template-columns:1fr}
  .nfeat .vis{min-height:170px}
  .nitem{grid-template-columns:1fr;gap:6px}
  .nitem .na{display:none}
}
@media(max-width:680px){
  .wrap{padding:0 16px}
  .mgrid,.feat,.solves{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .amt-grid{grid-template-columns:repeat(3,1fr)}
  .sec{padding:56px 0}
  .hero{padding-top:52px}
  .idc-hero{padding:58px 18px 48px}
  .idc-subnav .idc-inner{padding:0 16px}
  .idc-subnav-links{gap:15px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .idc-subnav-links::-webkit-scrollbar{display:none}
  .idc-subnav-links button{font-size:11px}
  .idc-subnav-cta{font-size:11px}
  .idc-hero h1{font-size:clamp(34px,9vw,46px);letter-spacing:-.7px}
  .idc-hero-desc{font-size:14px}
  .idc-stats{grid-template-columns:repeat(2,1fr);gap:22px 14px;margin-top:38px;padding-top:24px}
  .idc-stats b{font-size:27px}
  .idc-section{padding:58px 18px}
  .idc-section-head{margin-bottom:28px}
  .idc-section-head p{font-size:13px}
  .idc-services-grid,.idc-metrics-grid,.idc-pricing-grid,.idc-process-grid{grid-template-columns:1fr}
  .idc-process-step{padding-right:0}
  .idc-process-step:not(:last-child)::after{display:none}
  .idc-cta{padding:58px 18px}
  .idc-cta p{font-size:13.5px}
  .server-page-hero{padding:48px 0 42px}
  .server-page-hero h1{font-size:clamp(30px,8vw,40px);letter-spacing:-.8px}
  .server-page-hero .sub{font-size:14px}
  .server-intro{grid-template-columns:1fr;gap:14px}
  .server-intro h2{font-size:23px}
  .server-intro p{font-size:14px}
  .server-adv-grid,.server-scene-grid,.server-faq{grid-template-columns:1fr}
  .server-adv-card{min-height:0}
  .server-hardware-row{grid-template-columns:36px 1fr;gap:8px 12px;padding:15px}
  .server-hardware-row>span:last-child{grid-column:2;font-size:12.5px}
  .server-flow{align-items:stretch;flex-direction:column}
  .server-flow-step{border-radius:var(--r);justify-content:flex-start}
  .server-flow-arrow{transform:rotate(90deg);align-self:center}
  .server-consult-panel{padding:22px 18px}
  .home-hero-service{grid-template-columns:1fr;gap:12px;padding:30px 4px 12px}
  .home-hero-copy h1{font-size:clamp(30px,8vw,40px);letter-spacing:-.6px}
  .home-hero-copy .sub{font-size:14px}
  .home-hero-points{gap:9px 14px}
  .home-hero-copy .acts{margin-top:22px}
  .home-hero-copy .btn-lg{height:42px;padding:0 16px;font-size:13px}
  .home-hero-art{min-height:300px}
  .server-visual,.idc-visual{padding:17px}
  .art-float-top{right:-3px;top:16px}
  .art-float-bottom{left:-3px;bottom:14px}
  .home-hero-controls{margin:18px 0 16px}
  .foot-top{grid-template-columns:1fr}
  .main{padding:18px 16px 44px}
  .doc-wrap{grid-template-columns:1fr}
  .doc-side{display:none}
  .hero h1{letter-spacing:-.6px}
  .caro-slide{grid-template-columns:repeat(2,1fr)}
  .quad{grid-template-columns:1fr}
  .lgo{min-height:98px;padding:18px 8px}
  .tbar .tb-s{display:none}
  .tbar .tb-list{order:3;flex-basis:100%}
  .chat-hd .ch-act{margin-left:0;flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}

/* ============================================================
   25. 全局排版打磨层（2026-10-26 追加；后置规则覆盖上方同名项）
   ============================================================ */

/* ---- 25.1 首页轮播：滑片高度均衡 ----
   服务器面板移出轮播后，三张滑片内容高度接近；
   统一 min-height 消除切换时的跳动，track 顶端对齐消除垂直空白 */
.home-hero-track{align-items:flex-start}
.home-hero-slide{min-height:560px}
.home-hero-service{min-height:560px;padding:56px 32px}
.hero-shot-sec{position:relative;padding:58px 0 4px;background:linear-gradient(180deg,#FFFFFF 0%,#F6F9FF 100%)}
.hero-shot-sec .hero-shot{margin-top:0}

/* ---- 25.2 区块节奏统一 ---- */
.sec{padding:78px 0}
.sec-hd{margin-bottom:42px}
.sec-hd p{max-width:640px;margin-left:auto;margin-right:auto}
/* 左对齐页头（内联 style）说明文字不居中 */
.sec-hd[style] p{margin-left:0;margin-right:0}

/* ---- 25.3 页头 phero：更有呼吸感 ---- */
.phero{padding:76px 0 66px}
.phero h1{font-size:clamp(28px,3.6vw,44px)}
.phero .sub{max-width:780px;font-size:15.5px}
.phero .facts{gap:36px;margin-top:30px}
.phero .facts .fv{font-size:25px}

/* ---- 25.4 表格可读性：斑马纹 + 加深 hover ---- */
.tbl tbody tr{transition:background .16s ease}
.tbl tbody tr:nth-child(even){background:#F8FAFF}
.tbl tbody tr:hover{background:var(--blue-50)}

/* ---- 25.5 时间轴：限宽 + 行距 ---- */
.sec .tl{max-width:880px}
.tl .ti{padding-bottom:26px}
.tl-panel{max-width:940px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 34px;box-shadow:var(--sh-1)}

/* ---- 25.6 infra 页：三段区块密度收紧 ---- */
.idc-section{padding:62px 24px}
.idc-section-head{margin-bottom:34px}

/* ---- 25.7 锚点跳转不被吸顶导航遮住 ---- */
section[id]{scroll-margin-top:78px}

/* ---- 25.8 窄屏回退 ---- */
@media(max-width:960px){
  .home-hero-slide{min-height:0}
  .hero-shot-sec{padding:40px 0 0}
  .tl-panel{padding:22px 20px}
}

/* ---- 25.9 三卡等分布局（客户页合作方式） ---- */
.pm.pm-3{grid-template-columns:repeat(3,1fr)}
.pm.pm-3 .pm-card{padding:26px 24px}
@media(max-width:960px){ .pm.pm-3{grid-template-columns:1fr} }
