/* AVANT 官网 · 浅色产品科技风（B 版） */
:root{--ink:#0B1020;--ink2:#5A6275;--ink3:#8E95A6;--line:rgba(15,23,42,.08);--line2:rgba(15,23,42,.14);--bg:#F6F7FA;
  --blue:#2F6BFF;--cyan:#12B5C9;--red:#F04438;--amber:#F79009;--green:#12B76A;
  --grad:linear-gradient(95deg,#2F6BFF,#12B5C9);
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
b,strong{font-weight:650;color:var(--ink)}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.mono{font-family:var(--mono);letter-spacing:.04em}
.kick{font-family:var(--mono);font-size:12.5px;letter-spacing:.18em;color:var(--blue);text-transform:uppercase;font-weight:600}
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border-radius:10px;font-weight:600;font-size:15px;transition:.2s;cursor:pointer;border:0;font-family:inherit;white-space:nowrap}
.btn.pri{background:var(--ink);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.2) inset,0 8px 20px -8px rgba(11,16,32,.5)}
.btn.pri:hover{background:#1E2746;transform:translateY(-1px)}
.btn.sec{background:rgba(255,255,255,.8);border:1px solid var(--line2);color:var(--ink)}
.btn.sec:hover{border-color:var(--blue);color:var(--blue)}
.btn.ghost{height:36px;padding:0 14px;font-size:13.5px;background:rgba(255,255,255,.7);border:1px solid var(--line);color:var(--ink2)}
.btn.ghost:hover{color:var(--ink)}
.play{width:18px;height:18px;border-radius:50%;background:var(--grad);display:inline-grid;place-items:center}
.play::before{content:"";border-left:6px solid #fff;border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:2px}
.more{font-weight:600;color:var(--blue);font-size:15px}
.more:hover{text-decoration:underline}

/* glass window */
.win{border-radius:18px;background:rgba(255,255,255,.76);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.9);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 0 0 1px var(--line),0 30px 60px -24px rgba(15,23,42,.18),0 10px 20px -10px rgba(15,23,42,.08);overflow:hidden}
.bar{height:40px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink2);font-family:var(--mono);white-space:nowrap;overflow:hidden}
.bar i{width:9px;height:9px;border-radius:50%;background:#E4E7EC;flex:none}
.bar .r{margin-left:auto;color:var(--ink3);font-size:11.5px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(18,183,106,.5);animation:ping 1.6s ease-out infinite;flex:none}
@keyframes ping{to{box-shadow:0 0 0 10px rgba(18,183,106,0)}}
.row{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.row:last-child{border-bottom:0}
.row .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg{font-size:11px;padding:2px 7px;border-radius:5px;font-weight:700;flex:none}
.t-r{background:#FEF3F2;color:var(--red)}.t-a{background:#FFFAEB;color:#DC6803}.t-b{background:#EEF3FF;color:var(--blue)}.t-g{background:#ECFDF3;color:#079455}
.cite{font-family:var(--mono);font-size:11px;padding:2px 7px;border-radius:5px;background:#EEF3FF;color:var(--blue);flex:none}
.demo{font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.03em}
.shot{position:relative;background:#fff}
.shot img{width:100%}

/* bg */
.dots{position:absolute;inset:0;background-image:radial-gradient(rgba(15,23,42,.12) 1.1px,transparent 1.2px);background-size:26px 26px;-webkit-mask:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%);mask:radial-gradient(ellipse at 50% 40%,#000 25%,transparent 72%);pointer-events:none}
.beam{position:absolute;width:1800px;height:380px;left:50%;top:440px;transform:translateX(-50%) rotate(-12deg);background:linear-gradient(90deg,rgba(47,107,255,0),rgba(47,107,255,.10),rgba(18,181,201,.14),rgba(47,107,255,0));filter:blur(50px);pointer-events:none}

/* nav */
nav.top{position:sticky;top:0;z-index:60;background:rgba(246,247,250,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;height:62px;gap:32px}
nav.top .logo img{height:22px}
nav.top .links{display:flex;gap:6px;font-size:14.5px;color:var(--ink2);flex:1}
nav.top .links a{padding:6px 12px;border-radius:8px}
nav.top .links a:hover{color:var(--ink);background:rgba(15,23,42,.04)}
nav.top .links a.on{color:var(--ink);font-weight:600}
nav.top .lang{font-family:var(--mono);font-size:12.5px;color:var(--ink2);padding:6px 10px;border-radius:8px;border:1px solid var(--line)}
nav.top .lang:hover{color:var(--ink);border-color:var(--line2)}
nav.top .btn{height:36px;font-size:13.5px;padding:0 14px}
nav.top .burger{display:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;position:relative}
nav.top .burger::before,nav.top .burger::after{content:"";position:absolute;left:11px;right:11px;height:1.6px;background:var(--ink);transition:.2s}
nav.top .burger::before{top:14px}nav.top .burger::after{top:22px}
nav.top.open .burger::before{top:18px;transform:rotate(45deg)}nav.top.open .burger::after{top:18px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;overflow:hidden;padding:88px 0 32px;text-align:center}
.pillb{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2);background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:99px;padding:5px 14px 5px 6px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.pillb img{height:18px}
.pillb b{font-weight:600}
.hero h1{font-size:clamp(40px,6.4vw,82px);font-weight:650;letter-spacing:-.025em;line-height:1.1;margin:26px auto 22px}
.hero .lead{font-size:clamp(16px,1.6vw,19px);color:var(--ink2);max-width:680px;margin:0 auto}
.hero .cta{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.hero .vlink{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink2);cursor:pointer;background:none;border:0;font-family:inherit}
.hero .vlink:hover{color:var(--ink)}
.stage{position:relative;max-width:1180px;margin:56px auto 0;padding:0 28px;perspective:2400px}
.stage .main{position:relative;transform:rotateX(9deg);transform-origin:50% 100%;max-width:900px;margin:0 auto}
.stage .main .shot{aspect-ratio:1600/858;overflow:hidden}
.stage .main .shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .9s}
.stage .main .shot img.on{opacity:1}
.stage .side{position:absolute;width:330px;text-align:left;z-index:2}
.stage .s1{left:0;top:58px;transform:rotateY(12deg)}
.stage .s2{right:0;top:230px;transform:rotateY(-12deg)}
.stage .tabs{display:flex;gap:6px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.stage .tabs button{font-family:var(--mono);font-size:12px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--ink2);border-radius:99px;padding:5px 12px;cursor:pointer}
.stage .tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.creds{display:flex;justify-content:center;gap:12px 36px;flex-wrap:wrap;padding:40px 0 8px;color:var(--ink3);font-size:13.5px}
.creds span{display:flex;align-items:center;gap:8px}
.creds span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--cyan)}

/* page hero (sub pages) */
.phero{position:relative;overflow:hidden;padding:96px 0 72px}
.phero h1{font-size:clamp(36px,5.2vw,64px);font-weight:650;letter-spacing:-.025em;line-height:1.14;margin:16px 0 20px}
.phero .lead{font-size:18px;color:var(--ink2);max-width:720px}
.phero .notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.phero .notes span{font-size:12.5px;color:var(--ink2);background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:99px;padding:4px 12px}

/* sections */
section{padding:112px 0;position:relative}
section.tight{padding-top:24px}
.sh{max-width:760px;margin-bottom:52px}
.sh.c{margin-left:auto;margin-right:auto;text-align:center}
.sh h2{font-size:clamp(28px,3.8vw,46px);font-weight:650;letter-spacing:-.02em;line-height:1.18;margin:14px 0 14px}
.sh p{font-size:17px;color:var(--ink2)}
.shrow{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px}
.shrow .sh{margin-bottom:0}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.65);overflow:hidden}
.grid3>div{padding:30px;border-right:1px solid var(--line)}
.grid3>div:last-child{border-right:0}
.grid3 .mono{font-size:12px;color:var(--ink3)}
.grid3 h3{font-size:19px;font-weight:650;margin:14px 0 8px}
.grid3 p{font-size:15px;color:var(--ink2)}
.concl{margin-top:22px;font-size:clamp(18px,2vw,22px);font-weight:650;text-align:center}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cards3 .win{padding:28px}
.cards3 .n{font-family:var(--mono);font-size:12px;color:var(--blue)}
.cards3 h3{font-size:19px;font-weight:650;margin:12px 0 8px;line-height:1.4}
.cards3 p{font-size:15px;color:var(--ink2)}
.nots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.nots div{padding:20px 24px;border-radius:14px;border:1px dashed var(--line2)}
.nots b{font-size:15px}
.nots p{font-size:14px;color:var(--ink2);margin-top:4px}

/* before/after */
.ba{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ba .win{display:flex;flex-direction:column}
.ba .hd{display:flex;align-items:center;gap:10px;padding:18px 22px 0}
.ba .hd b{font-size:17px}
.ba .unit{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.ba .side2{padding:16px 22px}
.ba .side2 .l{font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.08em}
.ba .side2 .v{font-size:22px;font-weight:650;letter-spacing:-.01em;margin:2px 0 6px}
.ba .side2 p{font-size:14px;color:var(--ink2)}
.ba .before .v{color:var(--red)}
.ba .arrow{height:1px;background:var(--line);margin:0 22px;position:relative}
.ba .arrow::after{content:"↓";position:absolute;left:50%;top:-12px;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:12px;color:var(--blue)}
.ba .chg{margin-top:auto;padding:14px 22px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink);background:rgba(47,107,255,.04)}
.fnote{margin-top:16px;font-size:12.5px;color:var(--ink3)}

/* case explorer */
.cx{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}
.cx .list{display:grid;gap:6px}
.cx .list button{display:flex;gap:12px;align-items:center;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid transparent;background:none;cursor:pointer;font-family:inherit;color:var(--ink2);transition:.15s}
.cx .list button .mono{font-size:11.5px;color:var(--ink3)}
.cx .list button b{display:block;font-size:15px;color:inherit;font-weight:600}
.cx .list button small{display:block;font-size:12.5px;color:var(--ink3)}
.cx .list button:hover{background:rgba(255,255,255,.6)}
.cx .list button.on{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 8px 20px -12px rgba(15,23,42,.2)}
.cx .list button.on .mono{color:var(--blue)}
.cx .pane{display:none}
.cx .pane.on{display:block}
.cx .pane .body{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:22px 24px}
.cx .pane h3{font-size:18px;font-weight:650;line-height:1.45;grid-column:1/-1}
.cx .pane p{font-size:14.5px;color:var(--ink2)}
.lab{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink3);text-transform:uppercase;margin-bottom:6px;display:block}
.ticks{list-style:none;display:grid;gap:6px}
.ticks li{font-size:14px;color:var(--ink2);padding-left:22px;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;color:#079455;font-weight:700}
.chainl{list-style:none;display:grid;gap:6px;counter-reset:c}
.chainl li{font-size:14px;color:var(--ink2);padding-left:28px;position:relative;counter-increment:c}
.chainl li::before{content:counter(c,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.capline{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink2)}

/* map */
.map{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.map .dept{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.65);padding:16px}
.map .dept h4{font-size:15px;font-weight:650}
.map .dept .s{font-size:12px;color:var(--ink3)}
.map ul{list-style:none;margin-top:10px;display:grid;gap:7px}
.map li{font-size:13px;color:var(--ink2);line-height:1.45;display:flex;gap:8px}
.map li .mono{font-size:10.5px;color:var(--ink3);flex:none;padding-top:2px}
.map li.pk{color:var(--ink);font-weight:600}
.map li.pk .mono{color:var(--blue)}
.map li.pk a:hover{color:var(--blue)}
.map li small{display:block;font-weight:400;color:var(--ink3);font-size:12px}

/* industries */
.ind{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ind .win{padding:24px;display:flex;flex-direction:column}
.ind h3{font-size:19px;font-weight:650}
.ind .sub{font-size:13.5px;color:var(--blue);margin:4px 0 10px;font-weight:600}
.ind p{font-size:14px;color:var(--ink2)}
.ind ul{list-style:none;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:10px}
.ind li b{font-size:14px;display:block}
.ind li span{font-size:13px;color:var(--ink3)}
.photo{border-radius:18px;overflow:hidden;margin-bottom:16px}
.photo img{width:100%;height:220px;object-fit:cover}

/* brain */
.brain{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.brain .stack{display:grid;gap:12px}
.brain .stack .win{padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:4px 18px}
.brain .stack .k{grid-row:span 2;font-family:var(--mono);font-size:12px;color:var(--blue);padding-top:3px}
.brain .stack h3{font-size:17px;font-weight:650}
.brain .stack h3 small{font-weight:500;color:var(--ink3);font-size:13.5px;margin-left:8px}
.brain .stack p{font-size:14px;color:var(--ink2)}
.brain .art{border-radius:22px;overflow:hidden;background:#fff}

/* how */
.promise{text-align:center;overflow:hidden}
.promise h2{font-size:clamp(34px,5vw,64px);font-weight:650;letter-spacing:-.03em;line-height:1.14;margin-top:16px}
.promise .sub{font-size:clamp(17px,1.8vw,20px);color:var(--ink2);margin-top:18px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;text-align:left;border-top:1px solid var(--line2)}
.timeline>div{padding:26px 28px 0 0;position:relative}
.timeline>div::before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(47,107,255,.15)}
.timeline .mono{font-size:12px;color:var(--blue)}
.timeline h3{font-size:20px;font-weight:650;margin:8px 0 6px}
.timeline p{font-size:14.5px;color:var(--ink2)}

/* case page */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;position:sticky;top:62px;z-index:5;padding:12px 0;background:linear-gradient(var(--bg) 70%,rgba(246,247,250,0))}
.chips button{font-family:inherit;font-size:13.5px;border:1px solid var(--line);background:#fff;color:var(--ink2);border-radius:99px;padding:6px 14px;cursor:pointer}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.case{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;padding:56px 0;border-top:1px solid var(--line);scroll-margin-top:120px}
.case .meta{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--ink3)}
.case .meta b{color:var(--blue);font-weight:600}
.case h2{font-size:clamp(22px,2.4vw,28px);font-weight:650;line-height:1.35;letter-spacing:-.01em;margin:10px 0 14px}
.case .packs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.case .packs span{font-size:12.5px;background:#EEF3FF;color:var(--blue);border-radius:6px;padding:3px 10px;font-weight:600}
.case .blk{margin-bottom:18px}
.case .blk p{font-size:15px;color:var(--ink2)}
.case .pain{padding:12px 16px;border-left:3px solid var(--amber);background:#FFFAEB;border-radius:0 10px 10px 0;font-size:14.5px;color:#7A4A00}
.case .right{position:sticky;top:130px;align-self:start}
.case .right .how{padding:18px 20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink2)}
.case[hidden]{display:none}

/* sub-page blocks */
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gaps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gaps .win{padding:22px}
.gaps h4{font-size:16px;font-weight:650;margin-bottom:6px}
.gaps p{font-size:14px;color:var(--ink2)}
.gaps .mono{font-size:11px;color:var(--ink3)}
.does{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.7)}
.does>div{padding:24px;border-right:1px solid var(--line)}
.does>div:last-child{border-right:0}
.does .v{font-size:26px;font-weight:650}
.does h4{font-size:15px;color:var(--blue);margin:2px 0 8px}
.does p{font-size:14px;color:var(--ink2)}
.subh{font-size:18px;font-weight:650;margin:44px 0 16px}
.principle{margin-top:16px;padding:16px 20px;border-radius:14px;background:var(--ink);color:#fff;font-size:15px}
.principle::before{content:"HUMAN GATE";font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;background:#fff;color:var(--ink);border-radius:5px;padding:2px 7px;margin-right:12px;vertical-align:2px}
.apps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.apps div{padding:16px 18px;border-radius:12px;border:1px solid var(--line);background:#fff}
.apps b{display:block;font-size:15px}
.apps span{font-size:13px;color:var(--ink3)}
.indrow{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:48px 0;border-top:1px solid var(--line)}
.indrow h2{font-size:28px;font-weight:650;letter-spacing:-.01em}
.indrow .sub{color:var(--blue);font-weight:600;margin:6px 0 12px}
.indrow p{color:var(--ink2);font-size:15px}
.indrow .sc{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.indrow .sc div{padding:18px;border-radius:14px;border:1px solid var(--line);background:#fff}
.indrow .sc b{display:block;font-size:15px;margin-bottom:4px}
.indrow .sc span{font-size:13.5px;color:var(--ink2)}
.indrow .links{margin-top:14px;font-size:13.5px;color:var(--ink3)}
.indrow .links a{color:var(--blue);margin-right:12px}
.photos{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:16px}
.photos figure{border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.photos img{width:100%;height:300px;object-fit:cover}
.photos figcaption{font-size:13px;color:var(--ink3);padding:10px 14px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:16px;background:#fff;margin-top:16px}
.facts div{padding:18px 20px;border-right:1px solid var(--line)}
.facts div:last-child{border-right:0}
.facts span{display:block;font-family:var(--mono);font-size:11px;color:var(--ink3);letter-spacing:.08em}
.facts b{font-size:14.5px;font-weight:600;word-break:break-all}

/* contact */
.contact .win{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:48px}
.contact h2{font-size:clamp(26px,3.4vw,40px);font-weight:650;letter-spacing:-.02em;line-height:1.2;margin-top:12px}
.contact p{color:var(--ink2);margin:12px 0 24px;max-width:560px}
.contact .acts{display:flex;gap:12px;flex-wrap:wrap}
.qr{text-align:center;font-size:12.5px;color:var(--ink2);line-height:1.5}
.qr img{width:150px;border-radius:12px;border:1px solid var(--line);padding:8px;background:#fff;margin:0 auto 8px}

footer{padding:48px 0 40px;font-size:13px;color:var(--ink3);border-top:1px solid var(--line)}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
footer img{height:20px;margin-bottom:14px}
footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--ink3);font-weight:600;margin-bottom:10px;text-transform:uppercase}
footer .fl a{display:block;color:var(--ink2);margin-bottom:6px}
footer .fl a:hover{color:var(--ink)}
footer .bot{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:24px;border-top:1px solid var(--line)}

/* video modal */
.vm{position:fixed;inset:0;z-index:100;background:rgba(11,16,32,.72);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.vm.on{display:flex}
.vm .box{position:relative;height:min(86vh,860px);aspect-ratio:9/16;max-width:92vw;border-radius:26px;overflow:hidden;background:#000;box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}
.vm video{width:100%;height:100%;object-fit:contain;background:#000}
.vm .x{position:absolute;top:-2px;right:-2px;transform:translate(110%,0);background:rgba(255,255,255,.95);border:0;border-radius:99px;padding:8px 14px;font-weight:600;cursor:pointer;font-family:inherit}

/* reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.dot{animation:none}}

@media (max-width:1100px){
  .stage .side{display:none}
  .map{grid-template-columns:repeat(3,1fr)}
  .ind{grid-template-columns:repeat(2,1fr)}
  .gaps,.does{grid-template-columns:repeat(2,1fr)}
  .does>div:nth-child(2){border-right:0}.does>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  nav.top .links{display:none;position:absolute;top:62px;left:0;right:0;flex-direction:column;background:#fff;border-bottom:1px solid var(--line);padding:10px 16px 16px;gap:2px}
  nav.top.open .links{display:flex}
  nav.top .links a{padding:12px}
  nav.top .burger{display:block}
  nav.top .wrap{gap:12px}nav.top .logo{flex:1}
  .grid3,.cards3,.nots,.ba,.timeline,.twocol,.apps,.photos,.brain,.indrow,.indrow .sc{grid-template-columns:1fr}
  .grid3>div{border-right:0;border-bottom:1px solid var(--line)}
  .grid3>div:last-child{border-bottom:0}
  .timeline>div{padding-bottom:28px}
  .cx{grid-template-columns:1fr}
  .cx .list{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .cx .list button small{display:none}
  .cx .pane .body{grid-template-columns:1fr}
  .case{grid-template-columns:1fr;gap:20px}
  .case .right{position:static;order:-1}
  .contact .win{grid-template-columns:1fr;padding:32px 24px}
  .qr{justify-self:start;text-align:left}.qr img{margin:0 0 8px}
  .facts{grid-template-columns:1fr 1fr}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  footer .wrap{grid-template-columns:1fr 1fr}footer .wrap>div:first-child{grid-column:1/-1}
  .shrow{flex-direction:column;align-items:flex-start}
  .vm .x{transform:none;top:12px;right:12px}
}
@media (max-width:600px){
  nav.top .btn{display:none}
  .wrap{padding:0 20px}
  section{padding:80px 0}
  .hero{padding-top:56px}
  .stage{padding:0 12px;margin-top:40px}
  .map,.ind,.gaps,.does{grid-template-columns:1fr}
  .does>div{border-right:0;border-bottom:1px solid var(--line)}
  .phero{padding:64px 0 48px}
  .photos img{height:220px}
}
.case>*,.cx>*,.brain>*,.indrow>*,.twocol>*{min-width:0}
.contact{padding-top:40px}
.stage{max-width:1260px}
.stage .side{width:300px}
.stage .s1{left:-6px;top:36px}
.stage .s2{right:-6px;top:250px}

/* ===== v3：概念型首页 ===== */
.stage2{margin-top:56px;max-width:1040px}
.desk{text-align:left}
.dk{display:grid;grid-template-columns:190px 1fr 290px;min-height:300px}
.dk>div{padding:18px 18px 20px;border-right:1px solid var(--line);position:relative}
.dk>div:last-child{border-right:0}
.dk .lab{margin-bottom:12px}
.dk-dept{display:flex;flex-direction:column;gap:4px;background:rgba(246,247,250,.6)}
.dk-dept button{font-family:inherit;text-align:left;font-size:14px;padding:9px 12px;border-radius:9px;border:1px solid transparent;background:none;color:var(--ink2);cursor:pointer;display:flex;align-items:center;gap:8px}
.dk-dept button::before{content:"";width:6px;height:6px;border-radius:50%;background:#D0D5DD}
.dk-dept button:hover{color:var(--ink)}
.dk-dept button.on{background:#fff;border-color:var(--line);color:var(--ink);font-weight:600;box-shadow:0 6px 14px -10px rgba(15,23,42,.3)}
.dk-dept button.on::before{background:var(--green);box-shadow:0 0 0 3px rgba(18,183,106,.18)}
.dp{display:none}
.dp.on{display:block}
.dk-ai h4{font-size:19px;font-weight:650;margin-bottom:14px}
.st{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px dashed var(--line);font-size:14.5px;opacity:0;transform:translateY(6px)}
.dp.on .st{animation:stIn .5s cubic-bezier(.16,1,.3,1) var(--d) forwards}
.st i{width:18px;height:18px;flex:none;position:relative}
.st i::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #D0E0FF;border-top-color:var(--blue);animation:spin .8s linear infinite}
.st i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#12B76A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;transform:scale(0)}
.dp.on .st i::before{animation:spin .8s linear infinite,out .2s linear calc(var(--d) + .5s) forwards}
.dp.on .st i::after{animation:pop .35s cubic-bezier(.16,1,.3,1) calc(var(--d) + .5s) forwards}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes out{to{opacity:0}}
@keyframes pop{to{transform:scale(1)}}
@keyframes stIn{to{opacity:1;transform:none}}
.st .t{flex:1;min-width:0}
.gate{border:1px solid #FEDF89;background:#FFFCF5;border-radius:14px;padding:16px;opacity:0;transform:translateY(8px)}
.dp.on .gate{animation:stIn .6s cubic-bezier(.16,1,.3,1) var(--d) forwards}
.gate p{font-size:14.5px;margin:10px 0 14px;color:var(--ink)}
.gate .bt{display:flex;gap:8px}
.gate .bt span{font-size:13px;font-weight:600;padding:6px 14px;border-radius:8px;border:1px solid var(--line2);background:#fff}
.gate .bt span:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.dk-cap{border-top:1px solid var(--line);padding:12px 18px;font-size:13.5px;color:var(--ink2);text-align:center;background:rgba(246,247,250,.6)}

.scope{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.sc-d{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.7);padding:18px}
.sc-d h4{font-size:16px;font-weight:650}
.sc-d .s{font-size:12.5px;color:var(--ink3)}
.chips2{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chips2 span{font-size:12.5px;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 9px}
.sc-d:hover{border-color:rgba(47,107,255,.35)}

.split{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.split .col{border-radius:20px;padding:26px}
.split .ai{background:#fff;border:1px solid var(--line)}
.split .hu{background:var(--ink);color:#fff}
.split .hu .lab{color:rgba(255,255,255,.55)}
.split .its{display:grid;gap:14px;margin-top:4px}
.split .ai .its{grid-template-columns:repeat(2,1fr)}
.split .its div{display:flex;gap:14px;align-items:baseline}
.split .its b{font-size:30px;font-weight:650;flex:none;min-width:1.2em}
.split .hu .its b{font-size:20px;color:#fff;min-width:4.2em}
.split .its span{font-size:14.5px;color:var(--ink2)}
.split .hu .its span{color:rgba(255,255,255,.72)}
.hows{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.6)}
.hows div{padding:18px 20px;border-right:1px solid var(--line)}
.hows div:last-child{border-right:0}
.hows .mono{font-size:11.5px;color:var(--blue)}
.hows p{font-size:14px;color:var(--ink2);margin-top:6px}
.ind .chips2{margin-top:auto;padding-top:16px}
.ind-l .win{min-height:100%}

.field{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.field figure{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line)}
.field img{width:100%;aspect-ratio:4/3;object-fit:cover}
.field figcaption{font-size:12.5px;color:var(--ink3);padding:9px 12px}
.field .ph{aspect-ratio:4/3;display:grid;place-items:center;border:1.5px dashed var(--line2);background:rgba(255,255,255,.5)}
.field .ph span{font-family:var(--mono);font-size:12px;color:var(--ink3)}

/* scenes page */
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vals .win{padding:22px}
.vals .hd{display:flex;align-items:center;gap:10px}
.vals .hd b{font-size:16px}
.vals .unit{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink3)}
.vals .vv{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
.vals .vv .a{font-size:17px;font-weight:600;color:var(--red)}
.vals .vv .arr{color:var(--ink3)}
.vals .vv .b{font-size:22px;font-weight:650}
.vals p{font-size:14px;color:var(--ink2)}
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pick .th{position:relative;aspect-ratio:16/8;overflow:hidden;border-bottom:1px solid var(--line);background:#fff}
.pick .th img{width:100%;height:100%;object-fit:cover;object-position:0 0;transform:scale(1.35);transform-origin:12% 20%;filter:saturate(.9)}
.pick .th::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0) 45%,rgba(255,255,255,.92))}
.pick .th .demo{position:absolute;right:10px;bottom:8px;z-index:1}
.pick .bd{padding:18px 20px 20px}
.pick .dept{font-size:12px;font-weight:600;color:var(--blue)}
.pick h3{font-size:18px;font-weight:650;margin:4px 0 12px}
.pick p{font-size:14px;color:var(--ink2);display:flex;gap:10px;margin-top:8px}
.pick .l{flex:none;font-size:11px;font-weight:700;padding:1px 7px;border-radius:5px;background:#F2F4F7;color:var(--ink3);height:fit-content;margin-top:2px}
.pick .l.now{background:#ECFDF3;color:#079455}
.reserve{margin-top:16px;display:flex;gap:28px;align-items:center;justify-content:space-between;padding:28px 32px;background:linear-gradient(110deg,rgba(47,107,255,.07),rgba(18,181,201,.07)),rgba(255,255,255,.8)}
.reserve h3{font-size:20px;font-weight:650}
.reserve p{font-size:14.5px;color:var(--ink2);margin-top:6px;max-width:720px}
.ind-l .win p{font-size:14px;color:var(--ink2);margin-top:4px}
.special{padding:26px}
.special h3{font-size:19px;font-weight:650;margin:8px 0 8px}
.special p{font-size:14.5px;color:var(--ink2)}
.apps-line{margin-top:14px;font-size:13px;color:var(--blue);font-weight:600}
.partner{padding:28px}
.partner img{height:28px;margin-bottom:14px}
.partner h3{font-size:18px;font-weight:650;margin-bottom:8px}
.partner p{font-size:14.5px;color:var(--ink2)}

@media (max-width:1100px){.scope{grid-template-columns:repeat(3,1fr)}.field{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){
  .dk{grid-template-columns:1fr}
  .dk>div{border-right:0;border-bottom:1px solid var(--line)}
  .dk-dept{flex-direction:row;overflow-x:auto;gap:6px}
  .dk-dept .lab{display:none}
  .dk-dept button{flex:none}
  .dk{min-height:0}
  .split,.vals,.picks,.hows{grid-template-columns:1fr}
  .split .ai .its{grid-template-columns:1fr 1fr}
  .hows div{border-right:0;border-bottom:1px solid var(--line)}
  .reserve{flex-direction:column;align-items:flex-start}
  .facts{grid-template-columns:1fr!important}.facts div{border-right:0!important;border-bottom:1px solid var(--line)}
}
@media (max-width:600px){.scope{grid-template-columns:1fr 1fr}.sc-d{padding:14px}.split .ai .its{grid-template-columns:1fr}}

/* ===== v4：硅谷科技感增强 ===== */
:root{--sans:"SF Pro Display",-apple-system,BlinkMacSystemFont,"Inter","PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",sans-serif;--bg:#FAFAFC;--violet:#6E56FF}
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
body{background:var(--bg)}
body{counter-reset:sec}
.sh .kick{counter-increment:sec;display:inline-flex;align-items:center;gap:10px}
.sh .kick::before{content:counter(sec,decimal-leading-zero);color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:6px;padding:1px 7px;font-size:11px;letter-spacing:.06em}
.sh h2,.phero h1,.hero h1,.promise h2{letter-spacing:-.035em;font-weight:600}
.hero h1{font-size:clamp(44px,7.4vw,100px);line-height:1.04}
.sh h2{font-size:clamp(30px,4.2vw,52px);line-height:1.1}
.g{background:linear-gradient(95deg,#2F6BFF 0%,#5B7CFF 35%,#12B5C9 100%);-webkit-background-clip:text;background-clip:text}

/* nav */
nav.top{background:rgba(250,250,252,.7)}
.btn.pri{background:linear-gradient(180deg,#1A2240,#0B1020);box-shadow:0 0 0 1px rgba(255,255,255,.08) inset,0 1px 0 rgba(255,255,255,.25) inset,0 10px 24px -10px rgba(47,107,255,.6)}
.btn.pri:hover{box-shadow:0 0 0 1px rgba(255,255,255,.1) inset,0 0 0 4px rgba(47,107,255,.14),0 14px 30px -10px rgba(47,107,255,.7)}

/* hero backdrop */
.hero,.phero{isolation:isolate}
.aurora{position:absolute;inset:-10% -10% auto -10%;height:900px;z-index:-1;filter:blur(70px);opacity:.75;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;mix-blend-mode:multiply}
.aurora i:nth-child(1){width:620px;height:420px;left:12%;top:120px;background:#BFD3FF;animation:drift1 18s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:560px;height:380px;right:10%;top:60px;background:#B8F0F5;animation:drift2 22s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:520px;height:360px;left:40%;top:380px;background:#D9D2FF;animation:drift1 26s ease-in-out infinite alternate-reverse}
.aurora.sm{height:600px;opacity:.55}
@keyframes drift1{to{transform:translate(120px,40px) scale(1.15)}}
@keyframes drift2{to{transform:translate(-140px,60px) scale(1.1)}}
.gridl{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(15,23,42,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.055) 1px,transparent 1px);background-size:64px 64px;-webkit-mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%);mask:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 75%)}
.noise{position:absolute;inset:0;z-index:-1;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pillb{padding:4px 12px 4px 4px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);border:1px solid transparent;background-image:linear-gradient(rgba(255,255,255,.85),rgba(255,255,255,.85)),linear-gradient(90deg,rgba(47,107,255,.5),rgba(18,181,201,.5));background-origin:border-box;background-clip:padding-box,border-box}
.pillb .nw{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:#fff;background:linear-gradient(95deg,#2F6BFF,#12B5C9);border-radius:99px;padding:3px 8px}
.pillb .ar{color:var(--ink3)}

/* desk：流动光边 + 发光 */
.beamwrap{position:relative;border-radius:20px;padding:1px;perspective:2000px}
.beamwrap::before{content:"";position:absolute;inset:-1px;border-radius:21px;padding:1.5px;background:conic-gradient(from var(--a),transparent 0 62%,#2F6BFF 72%,#12B5C9 80%,transparent 88%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rot 6s linear infinite;z-index:2;pointer-events:none}
.beamwrap::after{content:"";position:absolute;left:8%;right:8%;bottom:-40px;height:120px;background:radial-gradient(ellipse at center,rgba(47,107,255,.35),transparent 70%);filter:blur(30px);z-index:-1}
@keyframes rot{to{--a:360deg}}
.desk{border-radius:19px;background:rgba(255,255,255,.82)}
.dk-cap{display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;font-size:12.5px}
.dk-cap .live{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:600;white-space:nowrap}
.dk-cap .r2{color:var(--ink3);font-size:11.5px;white-space:nowrap}
.dk-ai h4{letter-spacing:-.02em}

/* integrations marquee */
.integr{margin:64px auto 0;max-width:1100px;padding:0 28px;text-align:center}
.integr .il{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--ink3);text-transform:uppercase;margin-bottom:16px}
.mq{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.mq-t{display:flex;gap:12px;width:max-content;animation:mq 40s linear infinite}
.mq-t span{font-size:14px;font-weight:600;color:var(--ink2);padding:9px 16px;border-radius:10px;background:rgba(255,255,255,.75);border:1px solid var(--line);white-space:nowrap}
@keyframes mq{to{transform:translateX(-50%)}}

/* spotlight 卡片 */
.spot{position:relative}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(47,107,255,.10),transparent 60%)}
.spot:hover::after{opacity:1}
.win.spot:hover,.sc-d.spot:hover{border-color:rgba(47,107,255,.28)}

/* architecture */
.arch{padding:28px 24px 18px;position:relative;overflow:hidden;background:rgba(255,255,255,.8)}
.arch::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(15,23,42,.09) 1px,transparent 1.1px);background-size:22px 22px;-webkit-mask:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%);mask:radial-gradient(ellipse at 50% 50%,#000 20%,transparent 70%)}
.arch-svg{position:relative;width:100%;height:auto;display:block;font-family:var(--sans)}
.arch-svg .hd{font-family:var(--mono);font-size:11px;letter-spacing:.14em;fill:#8E95A6;text-anchor:middle}
.arch-svg .ln{fill:none;stroke:rgba(15,23,42,.12);stroke-width:1.2}
.arch-svg .flow{fill:none;stroke:url(#lg);stroke-width:1.6;stroke-dasharray:6 180;stroke-linecap:round;animation:flow 3.2s linear infinite}
@keyframes flow{from{stroke-dashoffset:186}to{stroke-dashoffset:0}}
.arch-svg .pk{fill:#2F6BFF;filter:drop-shadow(0 0 4px rgba(47,107,255,.8))}
.arch-svg .nd rect{fill:#fff;stroke:rgba(15,23,42,.12)}
.arch-svg .nd text{font-size:14px;font-weight:600;fill:#0B1020;text-anchor:middle}
.arch-svg .ag rect{stroke:rgba(47,107,255,.35)}
.arch-svg .ok{fill:#12B76A}
.arch-svg .core rect{fill:#0B1020;stroke:url(#lg);stroke-width:1.5}
.arch-svg .ct{font-size:24px;font-weight:600;fill:#fff;text-anchor:middle;letter-spacing:-.5px}
.arch-svg .cs{font-size:13px;fill:rgba(255,255,255,.7);text-anchor:middle}
.arch-svg .hum rect{fill:#FFFCF5;stroke:#FEC84B}
.arch-svg .hs{font-size:15px;font-weight:600;fill:#B54708;text-anchor:middle}
.arch-m{display:none}

/* 深色区块：对结果负责 */
.promise.dark{background:#07090F;color:#fff;overflow:hidden;padding:130px 0}
.promise.dark .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 70%);mask:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 70%)}
.promise.dark .glow{position:absolute;left:50%;top:-120px;width:900px;height:500px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(47,107,255,.45),rgba(18,181,201,.15) 40%,transparent 70%);filter:blur(30px)}
.promise.dark .kick{color:#7FA6FF}
.promise.dark h2{color:#fff}
.promise.dark .g{background:linear-gradient(95deg,#7FA6FF,#5FE3F2);-webkit-background-clip:text;background-clip:text}
.promise.dark .sub{color:rgba(255,255,255,.72)}
.promise.dark .timeline{border-top-color:rgba(255,255,255,.14)}
.promise.dark .timeline>div::before{background:#5FE3F2;box-shadow:0 0 0 4px rgba(95,227,242,.15),0 0 16px rgba(95,227,242,.8)}
.promise.dark .timeline .mono{color:#5FE3F2}
.promise.dark .timeline h3{color:#fff}
.promise.dark .timeline p{color:rgba(255,255,255,.62)}

@media (max-width:800px){
  .arch-svg{display:none}
  .arch-m{display:grid;gap:10px;position:relative}
  .arch-m>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
  .arch-m .lab{width:100%;margin-bottom:0}
  .arch-m .c{font-size:13px;font-weight:600;padding:5px 10px;border-radius:8px;background:#fff;border:1px solid var(--line)}
  .arch-m i{height:22px;width:2px;margin-left:18px;background:linear-gradient(#2F6BFF,#12B5C9)}
  .core-m{background:#0B1020;color:#fff;border-radius:12px;padding:14px 16px;flex-direction:column;align-items:flex-start!important}
  .core-m b{font-size:18px}.core-m span{font-size:13px;color:rgba(255,255,255,.7)}
  .hu-m .c{background:#FFFCF5!important;border-color:#FEC84B!important;color:#B54708}
  .dk-cap .r2{display:none}
  .integr{margin-top:44px}
}
@media (prefers-reduced-motion:reduce){.aurora i,.mq-t,.beamwrap::before,.arch-svg .flow{animation:none}.arch-svg .pk{display:none}}
#field{padding-top:110px}
.core-m b{color:#fff}
/* v4.1：缩略图改为预裁切 2:1，不再缩放/遮罩；去掉网格底纹 */
.pick .th{aspect-ratio:2/1;border-bottom:0}
.pick .th img{transform:none;object-fit:cover;object-position:center;filter:none}
.pick .th::after{display:none}
.pick .thn{padding:7px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(246,247,250,.7);text-align:right}
.gridl,.promise.dark .grid-bg{display:none}
/* 现场：六张插画 3×2 */
.field{grid-template-columns:repeat(3,1fr);gap:16px}
.field figure{border-radius:18px}
@media (max-width:900px){.field{grid-template-columns:repeat(2,1fr);gap:10px}.field figcaption{font-size:12px;padding:7px 10px}}

/* ===================== v5 ===================== */
/* ---- 工作台：部门 / 画布 / 步骤 ---- */
.stage2{max-width:1160px}
.dk{grid-template-columns:168px 1fr 292px;min-height:392px}
.dk-cv{padding:18px 22px!important;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(246,248,252,.9))}
.dk-cv h4{font-size:18px;font-weight:650;letter-spacing:-.02em;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.dk-cv h4::before{content:"";width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,#2F6BFF,#12B5C9)}
.dk-st .lab{margin-bottom:6px}
.dk-st .st{font-size:13.5px;padding:10px 0}
.dk-st .gate{margin-top:14px}
.vz{position:relative;height:300px;font-size:12.5px}
.vz .mono{font-family:var(--mono)}
.vz .tg{font-size:10.5px}
/* 通用动画：仅当所在场景 .on 时播放 */
.vz .a{opacity:0}
.dp.on .vz .a{animation-duration:.6s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-delay:var(--d,0s);animation-fill-mode:forwards}
.dp.on .vz .fade{animation-name:vFade}
.dp.on .vz .pop{animation-name:vPop}
.dp.on .vz .slide{animation-name:vSlide}
.dp.on .vz .slideL{animation-name:vSlideL}
.dp.on .vz .slideD{animation-name:vSlideD}
@keyframes vFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes vPop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes vSlide{from{opacity:0;transform:translate(-30px,10px) rotate(-6deg)}to{opacity:1;transform:none}}
@keyframes vSlideL{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes vSlideD{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}
.vz .tbl{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.vz .tr{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid var(--line)}
.vz .th{display:flex;gap:8px;padding:8px 12px;font-family:var(--mono);font-size:10.5px;color:var(--ink3);background:#F6F7FA}
.vz .st.ok,.vz .st.warn{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px}
.vz .st.ok{background:#ECFDF3;color:#079455}.vz .st.warn{background:#FFFAEB;color:#DC6803}

/* OCR 报销 */
.v-ocr{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.v-ocr .stack{position:relative;height:260px}
.v-ocr .rc{position:absolute;left:0;top:0;width:88%;height:190px;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:14px;box-shadow:0 12px 24px -14px rgba(15,23,42,.35);display:flex;flex-direction:column;gap:7px}
.v-ocr .rc[data-k="0"]{top:62px;left:10%;z-index:3}
.v-ocr .rc[data-k="1"]{top:30px;left:5%;z-index:2;transform:rotate(-3deg)}
.v-ocr .rc[data-k="2"]{top:0;left:0;z-index:1;transform:rotate(-6deg)}
.v-ocr .rc b{font-size:13px;color:#B42318;border-bottom:1.5px dashed #FDA29B;padding-bottom:6px}
.v-ocr .rc .amt{font-family:var(--mono);font-size:18px;font-weight:700}
.v-ocr .rc i{display:block;height:6px;border-radius:3px;background:#EAECF0}.v-ocr .rc i.s{width:60%}
.v-ocr .rc .no{font-family:var(--mono);font-size:10.5px;color:var(--ink3);margin-top:auto}
.v-ocr .scanl{position:absolute;left:10%;width:78%;top:62px;height:3px;z-index:5;background:linear-gradient(90deg,transparent,#12B5C9,transparent);box-shadow:0 0 14px 3px rgba(18,181,201,.55)}
.dp.on .v-ocr .scanl{animation:scanRc 1.6s ease-in-out var(--d) 2 alternate forwards}
@keyframes scanRc{0%{opacity:1;transform:translateY(0)}100%{opacity:1;transform:translateY(186px)}}
.v-ocr .bx{position:absolute;z-index:6;font-family:var(--mono);font-size:10px;font-weight:700;color:#2F6BFF;border:1.5px solid #2F6BFF;background:rgba(47,107,255,.08);border-radius:5px;padding:1px 6px}
.v-ocr .b0{left:60%;top:224px}.v-ocr .b1{left:66%;top:112px}.v-ocr .b2{left:14%;top:150px}
/* 合同：企业大脑调风险点 */
.v-contract{display:grid;grid-template-columns:1.25fr 1fr;gap:16px}
.v-contract .doc{background:#fff;border:1px solid var(--line2);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.v-contract .cl{position:relative;display:flex;flex-direction:column;gap:5px}
.v-contract .cl b{font-size:12.5px}
.v-contract .cl i{display:block;height:6px;border-radius:3px;background:#EAECF0}.v-contract .cl i.s{width:70%}
.dp.on .v-contract .cl.hit i{animation:hl .5s ease calc(2s + var(--k,0s)) forwards}
.v-contract .cl[data-k="3"]{--k:.5s}
@keyframes hl{to{background:#FEF0C7}}
.v-contract .cm{position:absolute;right:-8px;top:-4px;font-size:10.5px;font-weight:700;color:#B54708;background:#FFFAEB;border:1px solid #FEC84B;border-radius:6px;padding:2px 7px;box-shadow:0 6px 12px -8px rgba(181,71,8,.6)}
.v-contract .brain{position:relative;border-radius:12px;background:#0B1020;color:#fff;padding:14px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.v-contract .brain::after{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at 70% 20%,rgba(47,107,255,.45),transparent 50%);pointer-events:none}
.v-contract .bt{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.7);margin-bottom:4px}
.v-contract .ch{position:relative;z-index:1;font-size:12px;font-weight:600;padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(127,166,255,.35)}
.v-contract .beam{position:absolute;left:-30px;top:50%;width:40px;height:2px;background:linear-gradient(90deg,transparent,#5FE3F2)}
.dp.on .v-contract .beam{animation:beamx 1s ease var(--d) 2 forwards}
@keyframes beamx{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-200px)}}
/* 招标：扫描 + 抽取 */
.v-scan{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}
.v-scan .pages{position:relative;height:280px;overflow:hidden;border-radius:10px;border:1px solid var(--line2);background:#F2F4F7}
.v-scan .roll{position:absolute;inset:0;padding:10px;display:flex;flex-direction:column;gap:10px;opacity:1!important}
.dp.on .v-scan .roll{animation:roll 6s linear infinite}
@keyframes roll{to{transform:translateY(-50%)}}
.v-scan .pg{position:relative;background:#fff;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:7px;height:130px;flex:none;box-shadow:0 2px 6px rgba(15,23,42,.06)}
.v-scan .pg i{display:block;height:5px;border-radius:3px;background:#EAECF0}.v-scan .pg i.s{width:55%}
.v-scan .pn{position:absolute;right:8px;bottom:6px;font-family:var(--mono);font-size:9.5px;color:var(--ink3)}
.v-scan .scanl{position:absolute;left:0;right:0;top:0;height:60px;background:linear-gradient(180deg,rgba(47,107,255,0),rgba(47,107,255,.16));border-bottom:2px solid rgba(47,107,255,.7);opacity:1}
.dp.on .v-scan .scanl{animation:scanY 1.6s linear var(--d) infinite}
@keyframes scanY{from{transform:translateY(-60px)}to{transform:translateY(280px)}}
.v-scan .mk{position:absolute;left:10%;width:70%;height:12px;border-radius:3px;border:1.5px solid #F04438;background:rgba(240,68,56,.08)}
.v-scan .m0{top:40px}.v-scan .m1{top:96px;border-color:#F79009;background:rgba(247,144,9,.08)}.v-scan .m2{top:160px;border-color:#2F6BFF;background:rgba(47,107,255,.08)}.v-scan .m3{top:214px;border-color:#2F6BFF}
.v-scan .list{display:flex;flex-direction:column;gap:8px}
.v-scan .it{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.v-scan .it .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 插单：外部消息 → 解析 → 甘特挤开 */
.v-rush{display:flex;flex-direction:column;gap:10px}
.v-rush .msg{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line2);border-radius:12px;padding:10px 12px;box-shadow:0 10px 20px -14px rgba(15,23,42,.4);max-width:78%}
.v-rush .av{flex:none;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#3B82F6,#1E5EFF);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.v-rush .msg small{font-size:10.5px;color:var(--ink3)}.v-rush .msg p{font-size:13px;font-weight:600}
.v-rush .parsed{align-self:flex-start;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#2F6BFF;background:#EEF3FF;border:1px solid rgba(47,107,255,.3);border-radius:8px;padding:5px 10px;margin-left:38px}
.v-rush .gantt{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.v-rush .ln{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:center}
.v-rush .ln .mono{font-size:10.5px;color:var(--ink3)}
.v-rush .trk{position:relative;height:18px;background:repeating-linear-gradient(90deg,#F6F7FA 0 calc(20% - 1px),#EAECF0 calc(20% - 1px) 20%);border-radius:5px}
.v-rush .bar{position:absolute;top:2px;height:14px;border-radius:4px;background:#C7D7FE}
.v-rush .bar.a{opacity:1}
.dp.on .v-rush .bar.shift{animation:shiftR .8s cubic-bezier(.16,1,.3,1) var(--d) forwards}
@keyframes shiftR{to{transform:translateX(52%)}}
.dp.on .v-rush .bar.late{animation:shiftR .8s cubic-bezier(.16,1,.3,1) var(--d) forwards,late .3s ease 2.7s forwards}
@keyframes late{to{background:#FDA29B}}
.v-rush .bar.new{background:linear-gradient(90deg,#2F6BFF,#12B5C9);color:#fff;font-family:var(--mono);font-size:9.5px;font-weight:700;display:flex;align-items:center;padding-left:6px;transform-origin:left;overflow:hidden;white-space:nowrap}
.dp.on .v-rush .bar.new{animation:grow .6s cubic-bezier(.16,1,.3,1) var(--d) forwards}
@keyframes grow{from{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
.v-rush .risk{position:absolute;right:0;top:-18px;font-size:10px;font-weight:700;color:#B42318;background:#FEF3F2;border:1px solid #FDA29B;border-radius:5px;padding:0 6px}
.v-rush .opts{display:flex;gap:8px}
.v-rush .op{font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;background:#ECFDF3;color:#079455;border:1px solid #ABEFC6}
/* 图纸识图 */
.v-draw{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:center}
.v-draw .sheet{position:relative;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:10px;background-image:linear-gradient(rgba(47,107,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(47,107,255,.06) 1px,transparent 1px);background-size:16px 16px}
.v-draw .dw{width:100%;display:block}
.v-draw .dw path,.v-draw .dw line{fill:none;stroke:#1D2939;stroke-width:1.4}
.v-draw .dw .cl{stroke-dasharray:8 3 2 3;stroke:#98A2B3;stroke-width:1}
.v-draw .dw .dm{stroke:#2F6BFF;stroke-width:1}
.v-draw .dw text{font-family:var(--mono);font-size:10px;fill:#1D2939;text-anchor:middle}
.v-draw .dw g.a{opacity:1;stroke-dasharray:900;stroke-dashoffset:900}
.dp.on .v-draw .dw g.a{animation:drawL 1.4s ease var(--d) forwards}
@keyframes drawL{to{stroke-dashoffset:0}}
.v-draw .bx{position:absolute;border:1.5px solid #12B5C9;background:rgba(18,181,201,.1);border-radius:4px;box-shadow:0 0 10px rgba(18,181,201,.5)}
.v-draw .q0{left:31%;top:7%;width:18%;height:14%}.v-draw .q1{left:57%;top:14%;width:18%;height:14%}.v-draw .q2{left:40%;top:83%;width:20%;height:13%}.v-draw .q3{left:25%;top:47%;width:16%;height:13%}
.v-draw .tr{grid-template-columns:1fr auto auto}
.v-draw .tr.bad span:first-child{color:#B42318}
/* 外部系统填报（模拟人操作） */
.v-rpa{display:flex;flex-direction:column;gap:10px}
.v-rpa .br{position:relative;background:#fff;border:1px solid var(--line2);border-radius:12px;overflow:hidden;box-shadow:0 14px 28px -18px rgba(15,23,42,.4)}
.v-rpa .bb{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#F2F4F7;border-bottom:1px solid var(--line);font-size:11px;color:var(--ink2)}
.v-rpa .bb i{width:8px;height:8px;border-radius:50%;background:#D0D5DD}
.v-rpa .bb span{margin-left:8px;font-weight:600}
.v-rpa .form{padding:14px 16px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.v-rpa .fd{display:flex;flex-direction:column;gap:4px}
.v-rpa label{font-size:10.5px;color:var(--ink3)}
.v-rpa .in{height:30px;border:1px solid var(--line2);border-radius:7px;display:flex;align-items:center;padding:0 9px;font-size:12.5px;font-weight:600;overflow:hidden}
.v-rpa .tx{display:inline-block;white-space:nowrap;overflow:hidden;width:0;opacity:1!important;border-right:1.5px solid #2F6BFF}
.dp.on .v-rpa .tx{animation:typeW .5s steps(var(--n)) var(--d) forwards,caret .1s linear calc(var(--d) + .55s) forwards}
@keyframes typeW{to{width:calc(var(--n) * 1ch + 1ch)}}
@keyframes caret{to{border-color:transparent}}
.v-rpa .sub{grid-column:2;justify-self:end;font-size:12px;font-weight:700;color:#fff;background:#2F6BFF;border-radius:7px;padding:6px 16px;opacity:1!important}
.dp.on .v-rpa .sub{animation:press .4s ease var(--d) forwards}
@keyframes press{50%{transform:scale(.92);box-shadow:0 0 0 6px rgba(47,107,255,.2)}100%{transform:scale(1)}}
.v-rpa .cur{position:absolute;width:18px;height:18px;left:20%;top:40%;fill:#0B1020;stroke:#fff;stroke-width:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.dp.on .v-rpa .cur{animation:cursorMv 3.6s ease-in-out var(--d) forwards}
@keyframes cursorMv{0%{opacity:1;left:12%;top:38%}18%{left:30%;top:42%}35%{left:78%;top:42%}52%{left:30%;top:72%}70%{left:78%;top:72%}90%{left:88%;top:90%}100%{opacity:1;left:88%;top:90%}}
.v-rpa .cnt{align-self:flex-start;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;font-weight:700;color:#079455;background:#ECFDF3;border-radius:8px;padding:5px 10px}
/* 航线归一：四种写法收拢成一个 */
.v-merge{display:flex;flex-direction:column;gap:12px}
.v-merge .field{position:relative;height:130px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.v-merge .mc{position:absolute;font-family:var(--mono);font-size:12px;font-weight:700;padding:5px 10px;border-radius:7px;background:#F2F4F7;border:1px solid var(--line2);opacity:1!important}
.v-merge .c0{left:8%;top:16%}.v-merge .c1{left:64%;top:12%}.v-merge .c2{left:14%;top:64%}.v-merge .c3{left:58%;top:66%}
.dp.on .v-merge .mc{animation:gather 1s cubic-bezier(.7,0,.2,1) calc(var(--d) + .6s) forwards}
@keyframes gather{to{left:44%;top:40%;opacity:0;transform:scale(.7)}}
.v-merge .to{position:absolute;left:50%;top:50%;margin:-16px 0 0 -58px;width:116px;text-align:center;font-family:var(--mono);font-size:13px;font-weight:700;color:#fff;background:linear-gradient(95deg,#2F6BFF,#12B5C9);border-radius:9px;padding:6px 0;box-shadow:0 0 0 6px rgba(47,107,255,.12),0 10px 24px -8px rgba(47,107,255,.6)}
.v-merge .route{align-self:flex-start;font-family:var(--mono);font-size:12px;font-weight:700;color:#fff;background:#0B1020;border-radius:8px;padding:6px 12px}
/* 会议：声波 → 纪要 → 待办 */
.v-meet{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
.v-meet .left{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:9px}
.v-meet .wave{display:flex;align-items:center;gap:3px;height:48px}
.v-meet .wave i{flex:1;border-radius:2px;background:linear-gradient(#2F6BFF,#12B5C9);height:calc(var(--h) * 1%);opacity:.8}
.dp.on .v-meet .wave i{animation:wv .9s ease-in-out infinite alternate}
.v-meet .wave i:nth-child(odd){animation-delay:.3s!important}.v-meet .wave i:nth-child(3n){animation-delay:.6s!important}
@keyframes wv{to{transform:scaleY(.35)}}
.v-meet .left p{font-size:12.5px;padding-left:10px;border-left:2px solid #C7D7FE}
.v-meet .todos{display:flex;flex-direction:column;gap:8px;justify-content:center}
.v-meet .td{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-weight:600}
.v-meet .av{width:24px;height:24px;border-radius:50%;background:#0B1020;color:#fff;font-size:11px;display:grid;place-items:center;flex:none}
.v-meet .due{margin-left:auto;font-size:11px}
/* 管理层：五处汇成一屏 */
.v-inbox{display:grid;grid-template-columns:auto 60px 1fr;gap:10px;align-items:center}
.v-inbox .srcs{display:flex;flex-direction:column;gap:8px}
.v-inbox .sr{font-size:12px;font-weight:600;padding:7px 12px;border-radius:8px;background:#fff;border:1px solid var(--line2)}
.v-inbox .flow{display:flex;flex-direction:column;gap:18px}
.v-inbox .flow i{height:2px;border-radius:1px;background:linear-gradient(90deg,#C7D7FE,#2F6BFF);position:relative;overflow:hidden}
.v-inbox .flow i::after{content:"";position:absolute;inset:0;width:30%;background:#fff;opacity:.8;animation:fl 1.2s linear infinite}
@keyframes fl{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
.v-inbox .items{display:flex;flex-direction:column;gap:8px}
.v-inbox .ib{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:600}
.v-inbox .ib .t{flex:1}

/* ---- 滚动条两行 ---- */
.mq+.mq{margin-top:10px}
.mq-t.rev{animation-direction:reverse;animation-duration:50s}
.mq-t.rev span{background:transparent;border-style:dashed;color:var(--ink3);font-weight:500}

/* ---- 问题卡图标（进入视口时描线） ---- */
.ico{width:64px;height:40px;display:block;margin-bottom:14px;fill:none;stroke:#2F6BFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:160;stroke-dashoffset:160;transition:stroke-dashoffset 1.4s ease .2s}
.rv.in .ico{stroke-dashoffset:0}
.ico .brk{stroke:#F04438;stroke-dasharray:3 4}
.ico .x{stroke:#F04438}
.ico .dim{stroke:#98A2B3}
.ico .f{fill:#2F6BFF}

/* ---- 不只是：三件事合成一件 ---- */
.merge3{margin-top:16px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:26px;border-radius:18px;background:rgba(255,255,255,.7);border:1px solid var(--line);position:relative}
.merge3 .p3{display:flex;align-items:center;gap:10px}
.merge3 .pl{font-size:15px;font-weight:600;padding:8px 16px;border-radius:99px;border:1px solid var(--line2);background:#fff;transition:.5s;transition-delay:calc(var(--i) * .25s + .3s)}
.merge3.in .pl{border-color:rgba(47,107,255,.4);color:#2F6BFF;box-shadow:0 0 0 4px rgba(47,107,255,.06)}
.merge3 .plus{color:var(--ink3);font-weight:600}
.merge3 .eq{font-size:20px;color:var(--blue);transform:translateX(-10px);opacity:0;transition:.6s 1.2s}
.merge3.in .eq{transform:none;opacity:1}
.merge3 .res{font-size:clamp(18px,2vw,24px);font-weight:650;opacity:0;transform:translateX(-10px);transition:.7s 1.5s}
.merge3.in .res{opacity:1;transform:none}
.merge3 small{width:100%;text-align:center;font-size:12.5px;color:var(--ink3)}

/* ---- 行业卡带图 ---- */
.icard{padding:0!important;overflow:hidden}
.icard .im{position:relative;aspect-ratio:4/3;overflow:hidden}
.icard .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.icard:hover .im img{transform:scale(1.05)}
.icard .im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,16,32,0) 45%,rgba(11,16,32,.75))}
.icard .im h3{position:absolute;left:18px;bottom:14px;z-index:1;color:#fff;font-size:20px;font-weight:650}
.icard .ib{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.icard .ib p{font-size:13.5px;color:var(--ink2);margin-top:6px}
.icard .sub{margin:0!important}

/* ---- 负责到底：验收单 ---- */
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;text-align:left}
.promise.dark .ptxt h2{font-size:clamp(34px,4.4vw,58px)}
.ledger{position:relative;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);padding:8px 0;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ledger .lh{display:flex;justify-content:space-between;align-items:center;padding:12px 20px 14px;border-bottom:1px solid rgba(255,255,255,.1)}
.ledger .lh b{color:#fff;font-size:15px}
.ledger .tagx{font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.2);border-radius:5px;padding:1px 6px}
.ledger .lr{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.85);font-size:14.5px}
.ledger .ck{width:20px;height:20px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25)}
.ledger .res{font-size:12px;font-weight:700;padding:3px 9px;border-radius:6px;opacity:0;grid-column:3;grid-row:1}
.ledger .res.ok{background:rgba(61,220,151,.14);color:#3DDC97}
.ledger .res.bad{background:rgba(255,107,110,.14);color:#FF6B6E}
.ledger .res.fixing{background:rgba(255,184,77,.14);color:#FFB84D}
.ledger .res.fixed{background:rgba(61,220,151,.14);color:#3DDC97}
.ledger.go .res.ok{animation:lIn .4s ease var(--d) forwards}
.ledger.go .ck.ok{animation:ckOk .4s ease var(--d) forwards}
.ledger.go .lr.fx .ck{animation:ckBad .3s ease 1.9s forwards,ckFix .3s ease 3.4s forwards,ckOk .3s ease 5s forwards}
.ledger.go .lr.fx .bad{animation:lIn .3s ease 1.9s forwards,lOut .3s ease 3.3s forwards}
.ledger.go .lr.fx .fixing{animation:lIn .3s ease 3.4s forwards,lOut .3s ease 4.9s forwards}
.ledger.go .lr.fx .fixed{animation:lIn .4s ease 5s forwards}
.ledger.go .lr.fx::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#FFB84D,#3DDC97);width:0;animation:bar 1.5s linear 3.4s forwards}
@keyframes bar{to{width:100%}}
@keyframes lIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@keyframes lOut{to{opacity:0}}
@keyframes ckOk{to{border-color:#3DDC97;background:#3DDC97 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2307090F' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}}
@keyframes ckBad{to{border-color:#FF6B6E;background:rgba(255,107,110,.2)}}
@keyframes ckFix{to{border-color:#FFB84D;background:rgba(255,184,77,.2)}}
.ledger .stamp2{position:absolute;right:22px;bottom:-26px;width:104px;height:104px;border-radius:50%;border:2.5px solid #3DDC97;color:#3DDC97;display:grid;place-items:center;font-weight:800;font-size:16px;letter-spacing:.06em;transform:rotate(-14deg) scale(1.6);opacity:0;background:rgba(7,9,15,.6);box-shadow:0 0 30px rgba(61,220,151,.35)}
.ledger.go .stamp2{animation:stamp .45s cubic-bezier(.2,1.4,.4,1) 5.7s forwards}
@keyframes stamp{to{opacity:1;transform:rotate(-14deg) scale(1)}}
.ledger{margin-bottom:26px}

/* ---- 怎么开始：三步配插画 ---- */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:none}
.stc{padding:0!important;overflow:hidden}
.stc .im{position:relative;aspect-ratio:4/3;overflow:hidden;background:#EEF3FF}
.stc .im img{width:100%;height:100%;object-fit:cover}
.stc .n{position:absolute;left:14px;top:14px;font-size:11px;font-weight:700;letter-spacing:.1em;color:#fff;background:rgba(11,16,32,.75);backdrop-filter:blur(6px);border-radius:6px;padding:3px 9px}
.stc .ib{padding:18px 20px 20px}
.stc h3{font-size:19px;font-weight:650;margin-bottom:6px}
.stc p{font-size:14px;color:var(--ink2)}
.stc:not(:last-child)::before{content:"";position:absolute;right:-17px;top:36%;width:18px;height:2px;background:linear-gradient(90deg,#2F6BFF,#12B5C9);z-index:3}

/* ---- 在现场：滚动胶片 ---- */
.film{overflow:hidden;margin-top:8px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.film-t{display:flex;gap:16px;width:max-content;animation:mq 60s linear infinite}
.film:hover .film-t{animation-play-state:paused}
.film figure{position:relative;width:380px;flex:none;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff;transform:rotate(0)}
.film img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.film figcaption{position:absolute;left:12px;bottom:12px;font-size:12.5px;font-weight:600;color:#fff;background:rgba(11,16,32,.6);backdrop-filter:blur(8px);border-radius:8px;padding:4px 10px}

@media (max-width:1000px){.dk{grid-template-columns:1fr}.dk-dept{flex-direction:row;overflow-x:auto}.dk-dept .lab{display:none}.dk-dept button{flex:none}.pgrid{grid-template-columns:1fr;gap:36px}}
@media (max-width:900px){.steps3{grid-template-columns:1fr}.stc::before{display:none}.vz{height:auto;min-height:260px}.v-ocr,.v-contract,.v-scan,.v-draw,.v-meet{grid-template-columns:1fr}.v-ocr .stack{height:250px}.v-inbox{grid-template-columns:auto 40px 1fr}.film figure{width:280px}}
@media (prefers-reduced-motion:reduce){.vz .a{opacity:1!important;animation:none!important}.film-t{animation:none}.ledger .res.ok,.ledger .fixed,.ledger .stamp2{opacity:1;transform:rotate(-14deg)}}
/* v5 修正 */
.v-rpa .tx{max-width:100%}
@keyframes typeW{to{width:calc(var(--n) * 1.15em)}}
.v-rpa .in{font-size:12px}
.v-draw{grid-template-columns:1.25fr 1fr}
.v-draw .sheet{padding:14px 10px}
.v-draw .bx{display:none}
.v-draw .dw text{font-size:11px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;opacity:0}
.dp.on .v-draw .dw text{animation:vFade .4s ease forwards}
.dp.on .v-draw .dw text:nth-of-type(1){animation-delay:1.0s}.dp.on .v-draw .dw text:nth-of-type(2){animation-delay:1.4s}.dp.on .v-draw .dw text:nth-of-type(3){animation-delay:1.8s}.dp.on .v-draw .dw text:nth-of-type(4){animation-delay:2.2s}
.v-draw .dw .hl{fill:rgba(18,181,201,.12);stroke:#12B5C9!important;stroke-width:1.2;opacity:0}
.dp.on .v-draw .dw .hl{animation:vFade .4s ease forwards}
.v-rush .trk{overflow:hidden}
@keyframes shiftR{to{transform:translateX(38%)}}
.v-rush .risk{top:auto;right:6px;bottom:-1px;z-index:2}
.v-rush .ln:nth-child(2) .trk{overflow:visible}
.v-merge .field{height:150px}
.v-merge svg{position:absolute;inset:0;width:100%;height:100%}
.v-merge svg path{fill:none;stroke:url(#none);stroke:#2F6BFF;stroke-width:1.4;stroke-dasharray:400;stroke-dashoffset:400;opacity:1!important}
.dp.on .v-merge svg path{animation:drawL .8s ease var(--d) forwards}
.v-merge .mc{left:12px;transform:translateY(-50%);animation:none}
.dp.on .v-merge .mc{animation:vSlide .5s ease var(--d) forwards}
.v-merge .mc{opacity:0!important}
.dp.on .v-merge .mc{opacity:1!important}
.v-merge .to{left:70%;top:50%;margin:-16px 0 0 -58px}
.v-merge .route{position:absolute;right:12px;bottom:10px;font-size:10.5px;padding:4px 9px}
.v-contract{position:relative}
.v-contract .link{position:absolute;left:55%;width:6%;top:0;height:100%;overflow:visible;z-index:3;pointer-events:none}
.v-contract .link path{fill:none;stroke:#F79009;stroke-width:1.5;stroke-dasharray:200;stroke-dashoffset:200;vector-effect:non-scaling-stroke;opacity:1!important}
.dp.on .v-contract .link path{animation:drawL .7s ease var(--d) forwards}
.dp.on .v-contract .ch:nth-child(2),.dp.on .v-contract .ch:nth-child(4){animation:vSlideL .6s cubic-bezier(.16,1,.3,1) var(--d) forwards,hot .4s ease calc(var(--d) + 1.6s) forwards}
@keyframes hot{to{border-color:#F79009;box-shadow:0 0 0 3px rgba(247,144,9,.25);background:rgba(247,144,9,.14)}}
.v-merge .field{height:160px}
.v-merge .mc{left:10px;font-size:11px;padding:3px 8px}
.v-merge .to{left:71%}
@keyframes shiftR{to{transform:translateX(34%)}}
.v-rush .ln:nth-child(2) .trk{overflow:hidden}
.v-rush .risk{bottom:auto;top:1px;right:4px;font-size:9.5px}
/* 合同：连线改为从命中条款出发（按行定位） */
.v-contract .link{left:calc(55.5% - 18px);width:calc(4% + 24px)}
.v-merge .mc{z-index:2;background:#fff}
/* 人工确认：步骤列表最后一行，轻量，无按钮 */
.dk-st .st.hu{border-top:1px dashed #FEC84B;margin-top:4px;padding-top:12px;color:#93370D}
.dk-st .st.hu .who{flex:none;width:18px;height:18px;border-radius:50%;background:#FEF0C7;color:#B54708;font-size:10.5px;font-weight:700;display:grid;place-items:center;font-style:normal}
html[lang=en] .dk-st .st.hu .who{width:auto;padding:0 6px;border-radius:9px}

/* ===== v5.1 架构图：深色核心 + 写回回路 ===== */
.arch{background:#07090F!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 40px 80px -40px rgba(7,9,15,.7),0 0 0 1px rgba(79,134,255,.12) inset!important;padding:20px!important}
.arch::before{display:none}
.arch .arch-svg .hd{fill:rgba(255,255,255,.45);font-size:11px;letter-spacing:.16em}
.arch .arch-svg .wbh{fill:#FFB84D;text-anchor:middle}
.arch .arch-svg .ln{stroke:rgba(255,255,255,.08);stroke-width:1.2}
.arch .arch-svg .flow{stroke:url(#lg);stroke-width:1.8;stroke-dasharray:8 160;animation:flow 3.2s linear infinite}
.arch .arch-svg .wbf{fill:none;stroke:url(#wg);stroke-width:2.2;stroke-dasharray:10 150;stroke-linecap:round;animation:flow 4.2s linear infinite}
.arch .arch-svg .pk{fill:#7FA6FF;filter:drop-shadow(0 0 5px rgba(127,166,255,.9))}
.arch .arch-svg .wbf-pk{fill:#FFB84D;r:4;filter:drop-shadow(0 0 6px rgba(255,184,77,.9))}
.arch .arch-svg .nd rect{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.14)}
.arch .arch-svg .nd text{fill:#E6EBF5;font-size:14px;font-weight:600;text-anchor:middle}
.arch .arch-svg .port{fill:#4F86FF;opacity:.8}
.arch .arch-svg .jack{fill:#07090F;stroke:#3FD9F0;stroke-width:1.5}
.arch .arch-svg .ag rect{stroke:rgba(61,220,151,.35);fill:rgba(61,220,151,.05)}
.arch .arch-svg .ok{fill:#3DDC97;animation:blink 2.4s ease-in-out infinite}
@keyframes blink{50%{opacity:.35}}
.arch .arch-svg .halo{animation:halo 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes halo{50%{opacity:.6;transform:scale(1.08)}}
.arch .arch-svg .ring{fill:none;transform-box:fill-box;transform-origin:center}
.arch .arch-svg .r1{stroke:rgba(127,166,255,.25);stroke-width:1;stroke-dasharray:2 10;animation:spin 40s linear infinite}
.arch .arch-svg .r2{stroke:rgba(63,217,240,.35);stroke-width:1.2;stroke-dasharray:60 20 4 20;animation:spin 18s linear infinite reverse}
.arch .arch-svg .r3{stroke:rgba(127,166,255,.5);stroke-width:1;stroke-dasharray:1 5;animation:spin 26s linear infinite}
.arch .arch-svg .orb{fill:#3FD9F0;filter:drop-shadow(0 0 6px #3FD9F0);transform-box:view-box;transform-origin:560px 230px}
.arch .arch-svg .o1{animation:spin 12s linear infinite}
.arch .arch-svg .o2{animation:spin 9s linear infinite reverse}
.arch .arch-svg .chip{fill:#0C1224;stroke:url(#lg);stroke-width:1.6;filter:drop-shadow(0 0 24px rgba(79,134,255,.45))}
.arch .arch-svg .ct{fill:#fff;font-size:21px;font-weight:600;text-anchor:middle;letter-spacing:-.3px}
.arch .arch-svg .fc rect{fill:rgba(79,134,255,.1);stroke:rgba(127,166,255,.35)}
.arch .arch-svg .fc text{fill:#CFE0FF;font-size:12.5px;font-weight:600;text-anchor:middle}
.arch .arch-svg .fc{animation:fcP 2.4s ease-in-out infinite}
@keyframes fcP{50%{opacity:.55}}
.arch .arch-svg .ver{fill:#3DDC97;font-family:var(--mono);font-size:10.5px;text-anchor:middle;animation:blink 2.1s ease-in-out infinite}
.arch .arch-svg .hum rect{fill:rgba(255,184,77,.08);stroke:#FFB84D;stroke-width:1.2}
.arch .arch-svg .hs{fill:#FFCF8A;font-size:15px;font-weight:600;text-anchor:middle}
.arch .arch-svg .wbc rect{fill:rgba(255,184,77,.1);stroke:rgba(255,184,77,.45)}
.arch .arch-svg .wbc text{fill:#FFD9A3;font-size:12px;font-weight:600;text-anchor:middle}
.arch .arch-svg .wbc{animation:fcP 2.8s ease-in-out infinite}
.arch .arch-svg .wbn{fill:rgba(255,255,255,.55);font-size:12px;text-anchor:middle;letter-spacing:.04em}
@media (max-width:800px){
  .arch .arch-m{color:#E6EBF5}
  .arch .arch-m .lab{color:rgba(255,255,255,.5)}
  .arch .arch-m .c{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#E6EBF5}
  .arch .core-m{background:#0C1224;border:1px solid rgba(127,166,255,.4)}
  .arch .hu-m .c{background:rgba(255,184,77,.1)!important;border-color:#FFB84D!important;color:#FFCF8A}
  .arch .wb-m .c{background:rgba(255,184,77,.1);border-color:rgba(255,184,77,.45);color:#FFD9A3}
  .arch .arch-m i.up{background:linear-gradient(#FFB84D,#3DDC97)}
}
/* 在现场：收进正文宽度，两侧渐隐 */
#field .film{margin-top:8px;-webkit-mask:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
#field .film figure{width:340px}
/* 人工确认：只在部分场景出现，可点击 */
.gate2{margin-top:14px;border:1px solid #FEDF89;background:#FFFCF5;border-radius:14px;padding:14px;opacity:0;transform:translateY(8px);transition:background .35s,border-color .35s}
.dp.on .gate2{animation:stIn .6s cubic-bezier(.16,1,.3,1) var(--d) forwards}
.gate2 .gh{display:flex;align-items:center;gap:8px}
.gate2 .who{width:20px;height:20px;border-radius:50%;background:#FEF0C7;color:#B54708;font-size:11px;font-weight:700;display:grid;place-items:center}
html[lang=en] .gate2 .who{width:auto;padding:0 7px;border-radius:10px}
.gate2 p{font-size:14px;margin:8px 0 12px;color:var(--ink)}
.gate2 .bt{display:flex;gap:8px}
.gate2 button{font-family:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:8px;border:1px solid var(--line2);background:#fff;cursor:pointer;transition:.15s}
.gate2 button.ok{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 0 0 0 rgba(47,107,255,.5);animation:nudge 1.8s ease-in-out 3s infinite}
.gate2 button:hover{transform:translateY(-1px)}
@keyframes nudge{50%{box-shadow:0 0 0 6px rgba(47,107,255,.18)}}
.gate2 .dn{display:none;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:#067647}
.gate2 .dn .ck{width:20px;height:20px;border-radius:50%;background:#12B76A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat;animation:vPop .4s ease}
.gate2.done{background:#ECFDF3;border-color:#ABEFC6}
.gate2.done .bt,.gate2.done .tg{display:none}
.gate2.done .dn{display:flex}
.gate2.done .who{background:#D1FADF;color:#067647}
.gate2.back{background:#F9FAFB;border-color:var(--line2)}
.gate2.back .bt{opacity:.4;pointer-events:none}

/* ===== v5.2 四个重做的场景 ===== */
.dk{min-height:430px}
.vz{height:336px}
.dp.on .vz .draw{animation-name:drawL}
/* 合同：从企业大脑拼装 */
.v-asm{display:flex;flex-direction:column;gap:12px}
.v-asm .pr{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:12px;padding:9px 12px;box-shadow:0 8px 18px -14px rgba(15,23,42,.4)}
.v-asm .pr .ic{color:#6E56FF;font-size:14px}
.v-asm .pr .tx{display:inline-block;white-space:nowrap;overflow:hidden;width:0;opacity:1!important;font-size:12.5px;font-weight:600;border-right:1.5px solid #2F6BFF}
.dp.on .v-asm .pr .tx{animation:typeW .9s steps(var(--n)) var(--d) forwards,caret .1s linear 1.3s forwards}
.v-asm .bd{display:grid;grid-template-columns:40% 10% 50%}
.v-asm .bh{height:22px;margin-bottom:8px;font-family:var(--mono);font-size:10.5px;display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden}
.v-asm .brain2{background:#0B1020;border-radius:12px;padding:10px;position:relative;overflow:hidden}
.v-asm .brain2::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 20% 0%,rgba(79,134,255,.4),transparent 45%),radial-gradient(circle at 90% 100%,rgba(63,217,240,.25),transparent 45%)}
.v-asm .brain2 .bh{color:rgba(255,255,255,.65);position:relative}
.v-asm .lb{position:relative;height:38px;margin-bottom:8px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid rgba(127,166,255,.22);padding:4px 10px;display:flex;flex-direction:column;justify-content:center;color:#E6EBF5;transition:.3s}
.v-asm .lb:last-child{margin-bottom:0}
.v-asm .lb small{font-size:9.5px;color:#7FA6FF;font-family:var(--mono);letter-spacing:.04em}
.v-asm .lb b{font-size:11.5px;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dp.on .v-asm .lb{animation:lbGlow .9s ease var(--g) forwards}
@keyframes lbGlow{30%{border-color:#3FD9F0;box-shadow:0 0 0 3px rgba(63,217,240,.25),0 0 18px rgba(63,217,240,.45);background:rgba(63,217,240,.14)}100%{border-color:rgba(63,217,240,.5);background:rgba(63,217,240,.07)}}
.v-asm .lk{width:100%;margin-top:30px;overflow:visible}
.v-asm .lk path{fill:none;stroke:#3FD9F0;stroke-width:1.6;stroke-dasharray:300;stroke-dashoffset:300;vector-effect:non-scaling-stroke;opacity:1!important;filter:drop-shadow(0 0 3px rgba(63,217,240,.8))}
.v-asm .doc2{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:10px 12px}
.v-asm .doc2 .bh{color:var(--ink);font-weight:700;font-family:var(--sans);font-size:12px}
.v-asm .sc{position:relative;height:38px;margin-bottom:8px;border-radius:8px;border:1px dashed var(--line2);padding:5px 9px;display:flex;flex-direction:column;gap:4px;justify-content:center;transition:.3s}
.v-asm .sc:last-child{margin-bottom:0}
.v-asm .sc b{font-size:11.5px;font-weight:600;color:var(--ink3)}
.v-asm .sc i{display:block;height:4px;border-radius:2px;background:#EAECF0;width:0}
.v-asm .sc i.s{display:none}
.dp.on .v-asm .sc{animation:scFill .4s ease var(--f) forwards}
.dp.on .v-asm .sc i{animation:lineW .6s ease var(--f) forwards}
@keyframes scFill{to{border-style:solid;border-color:rgba(47,107,255,.3);background:#F5F8FF}}
@keyframes lineW{to{width:78%}}
.dp.on .v-asm .sc b{animation:bInk .3s ease var(--f) forwards}
@keyframes bInk{to{color:var(--ink)}}
.v-asm .sc .src{position:absolute;right:7px;top:5px;font-family:var(--mono);font-size:9px;color:#2F6BFF;background:#EEF3FF;border-radius:4px;padding:0 5px}
.v-asm .sc .fl{position:absolute;right:7px;bottom:4px;font-size:9.5px;font-weight:700;color:#B54708;background:#FFFAEB;border:1px solid #FEC84B;border-radius:4px;padding:0 5px}
.dp.on .v-asm .sc.warn{animation:scWarn .4s ease var(--f) forwards}
@keyframes scWarn{to{border-style:solid;border-color:#FEC84B;background:#FFFCF5}}
/* 生产计划：外部变化 → 预判 → 人选 */
.v-plan{display:grid;grid-template-columns:34% 1fr;gap:12px}
.v-plan .evs{display:flex;flex-direction:column;gap:7px}
.v-plan .ev{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:start;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:7px 9px;box-shadow:0 8px 16px -14px rgba(15,23,42,.5)}
.v-plan .src2{grid-row:span 2;font-family:var(--mono);font-size:9px;font-weight:700;color:#fff;background:#0B1020;border-radius:5px;padding:2px 5px;margin-top:2px}
.v-plan .ev small{font-size:9.5px;color:var(--ink3)}
.v-plan .ev p{font-size:11.5px;font-weight:600;line-height:1.35}
.v-plan .ev .tg{grid-column:2;justify-self:start;font-size:9.5px}
.v-plan .rt{display:flex;flex-direction:column;gap:7px;min-width:0}
.v-plan .gantt2{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 8px 8px}
.v-plan .gh2{display:grid;grid-template-columns:52px 1fr;height:16px}
.v-plan .dd{display:grid;grid-template-columns:repeat(5,1fr);font-size:9.5px;color:var(--ink3);text-align:center}
.v-plan .gl{display:grid;grid-template-columns:52px 1fr;height:22px;align-items:center}
.v-plan .gl .mono{font-size:9.5px;color:var(--ink3)}
.v-plan .tk{position:relative;height:16px;background:repeating-linear-gradient(90deg,#F7F8FA 0 calc(20% - 1px),#EAECF0 calc(20% - 1px) 20%);border-radius:4px}
.v-plan .br{position:absolute;top:2px;height:12px;border-radius:3px;background:#C7D7FE;font-family:var(--mono);font-size:8px;color:#1D3A8A;padding-left:4px;line-height:12px;overflow:hidden;white-space:nowrap;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .6s}
.v-plan .ov{position:absolute;top:0;height:16px;border-radius:3px}
.v-plan .mat{background:repeating-linear-gradient(135deg,rgba(247,144,9,.45) 0 3px,rgba(247,144,9,.1) 3px 6px);border:1px solid #F79009}
.v-plan .mnt{background:repeating-linear-gradient(135deg,rgba(240,68,56,.5) 0 3px,rgba(240,68,56,.12) 3px 6px);border:1px solid #F04438}
.v-plan .cf{position:absolute;top:-6px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#F04438;color:#fff;font-size:9px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 3px rgba(240,68,56,.2)}
.v-plan .flex{position:absolute;top:0;height:16px;border-radius:3px;border:1.5px dashed #12B76A}
.v-plan .ghost{position:absolute;left:calc(60px + (100% - 68px) * .60);top:calc(22px + 22px + 2px);width:calc((100% - 68px) * .24);height:13px;border-radius:3px;border:1.5px dashed #2F6BFF;background:rgba(47,107,255,.12);font-family:var(--mono);font-size:8.5px;font-weight:700;color:#2F6BFF;display:flex;align-items:center;padding-left:4px;transition:all .9s cubic-bezier(.16,1,.3,1);z-index:2;box-shadow:0 0 0 0 rgba(240,68,56,.0)}
.dp.on .v-plan .ghost{animation:vFade .5s ease var(--d) forwards,ghostWarn .4s ease 1s forwards}
@keyframes ghostWarn{to{box-shadow:0 0 0 2px rgba(240,68,56,.35)}}
.v-plan .lgs{display:flex;gap:10px;font-size:9.5px;color:var(--ink3)}
.v-plan .lg::before{content:"";display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.v-plan .l0::before{background:repeating-linear-gradient(135deg,rgba(247,144,9,.5) 0 2px,transparent 2px 4px);border:1px solid #F79009}
.v-plan .l1::before{background:repeating-linear-gradient(135deg,rgba(240,68,56,.5) 0 2px,transparent 2px 4px);border:1px solid #F04438}
.v-plan .l2::before{border:1.5px dashed #2F6BFF;background:rgba(47,107,255,.12)}
.v-plan .pred{background:#0B1020;border-radius:10px;padding:8px 10px;color:#fff}
.v-plan .ph{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;color:#7FA6FF;margin-bottom:6px}
.v-plan .ops{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v-plan .op2{border-radius:8px;border:1px solid rgba(127,166,255,.3);background:rgba(255,255,255,.04);padding:6px 9px;display:flex;flex-direction:column;gap:1px;transition:.4s}
.v-plan .op2 b{font-size:11.5px;color:#fff}
.v-plan .op2 span{font-size:10px;color:rgba(255,255,255,.7)}
.v-plan .op2 span:last-child{color:#3DDC97}
/* 选定后 */
.dp.pickA .v-plan .ghost,.dp.pickB .v-plan .ghost{border-style:solid;background:linear-gradient(90deg,#2F6BFF,#12B5C9);color:#fff;box-shadow:0 0 12px rgba(47,107,255,.6)!important}
.dp.pickA .v-plan .ghost{top:calc(22px + 2px);left:calc(60px + (100% - 68px) * .74);width:calc((100% - 68px) * .24)}
.dp.pickB .v-plan .ghost{left:calc(60px + (100% - 68px) * .46);width:calc((100% - 68px) * .34)}
.dp.pickB .v-plan .b87{transform:translateX(160%);opacity:.35}
.dp.pickA .v-plan .o0,.dp.pickB .v-plan .o1{border-color:#3DDC97;background:rgba(61,220,151,.12);box-shadow:0 0 0 2px rgba(61,220,151,.25)}
.dp.pickA .v-plan .o1,.dp.pickB .v-plan .o0{opacity:.4}
/* 复杂图纸 */
.v-draw2{display:grid;grid-template-columns:62% 1fr;gap:12px}
.v-draw2 .sheet2{background:#fff;border:1px solid var(--line2);border-radius:10px;padding:6px;align-self:start;background-image:linear-gradient(rgba(47,107,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(47,107,255,.05) 1px,transparent 1px);background-size:14px 14px}
.v-draw2 svg{width:100%;display:block}
.v-draw2 svg *{vector-effect:non-scaling-stroke}
.v-draw2 .frame{fill:none;stroke:#98A2B3;stroke-width:.8}
.v-draw2 g.a{opacity:1;stroke:#1D2939;stroke-width:1.3;fill:none;stroke-dasharray:1400;stroke-dashoffset:1400}
.dp.on .v-draw2 g.a{animation:drawL 1.2s ease var(--d) forwards}
.v-draw2 .kw{fill:#fff}
.v-draw2 .th{stroke-width:.7;stroke-dasharray:3 2}
.v-draw2 .thin,.v-draw2 .ext{fill:none;stroke:#475467;stroke-width:.8}
.v-draw2 .cl{stroke:#98A2B3;stroke-width:.7;stroke-dasharray:10 3 2 3}
.v-draw2 .dm{stroke:#2F6BFF;stroke-width:.8}
.v-draw2 .cut{stroke:#1D2939;stroke-width:2}
.v-draw2 .gd{fill:#fff;stroke:#475467;stroke-width:.8}
.v-draw2 .dt{fill:#1D2939}
.v-draw2 .hatch line{stroke:#98A2B3;stroke-width:.6}
.v-draw2 text{font-family:var(--mono);font-size:9px;fill:#1D2939;text-anchor:middle;font-weight:600}
.v-draw2 text.sm{font-size:8px}
.v-draw2 text.blur{filter:blur(1.3px);fill:#667085}
.v-draw2 .tb rect,.v-draw2 .tb line{fill:none;stroke:#475467;stroke-width:.8}
.v-draw2 .tb text{font-size:8.5px}
.v-draw2 .hl{fill:rgba(18,181,201,.12);stroke:#12B5C9;stroke-width:1.2;opacity:0}
.v-draw2 .hl.bad{fill:rgba(240,68,56,.1);stroke:#F04438}
.dp.on .v-draw2 .hl{animation:hlIn .35s ease var(--d) forwards}
@keyframes hlIn{0%{opacity:0;transform:scale(1.4)}100%{opacity:1;transform:none}}
.v-draw2 .hl{transform-box:fill-box;transform-origin:center}
.v-draw2 .sweep{stroke:#12B5C9;stroke-width:1.5;opacity:0;filter:drop-shadow(0 0 4px #12B5C9)}
.dp.on .v-draw2 .sweep{animation:sweepX 3.4s linear .8s forwards}
@keyframes sweepX{0%{opacity:1;transform:translateX(0)}95%{opacity:1}100%{opacity:0;transform:translateX(440px)}}
.v-draw2 .plist{display:flex;flex-direction:column;gap:3px}
.v-draw2 .pr2{display:flex;justify-content:space-between;gap:6px;font-size:11px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.v-draw2 .pr2 .mono{font-size:10.5px;font-weight:600}
.v-draw2 .pr2.bad{border-color:#FDA29B;background:#FEF3F2;color:#B42318}
.v-draw2 .sum{margin-top:4px;font-family:var(--mono);font-size:10px;font-weight:700;color:#079455;background:#ECFDF3;border-radius:6px;padding:4px 8px}
/* 会议：实时转写 → 待办 → 派发 */
.v-meet2{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr auto;gap:10px 12px}
.v-meet2 .tr2{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.v-meet2 .lh2{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:#B42318}
.v-meet2 .rec{width:8px;height:8px;border-radius:50%;background:#F04438;animation:blink 1.2s ease-in-out infinite}
.v-meet2 .wave{display:flex;align-items:center;gap:2px;height:16px;margin-left:auto;width:90px}
.v-meet2 .wave i{flex:1;border-radius:1px;background:linear-gradient(#2F6BFF,#12B5C9);height:calc(var(--h) * 1%)}
.dp.on .v-meet2 .wave i{animation:wv .8s ease-in-out infinite alternate}
.v-meet2 .wave i:nth-child(odd){animation-delay:.25s!important}
.v-meet2 .tl{display:flex;gap:8px;align-items:flex-start}
.v-meet2 .av{flex:none;width:22px;height:22px;border-radius:50%;background:#0B1020;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}
.v-meet2 .tl small{font-size:9px;color:var(--ink3)}
.v-meet2 .tl p{font-size:11.5px;line-height:1.4}
.v-meet2 mark{background:linear-gradient(90deg,rgba(255,184,77,.55),rgba(255,184,77,.55)) no-repeat left bottom/0 40%;color:inherit;font-weight:700;padding:0 1px}
.dp.on .v-meet2 mark{animation:mk .5s ease var(--m) forwards}
@keyframes mk{to{background-size:100% 40%}}
.v-meet2 .tds{display:flex;flex-direction:column;gap:7px}
.v-meet2 .tc{background:#fff;border:1px solid var(--line2);border-radius:10px;padding:7px 10px;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 16px -14px rgba(15,23,42,.5)}
.v-meet2 .t1{display:flex;align-items:center;gap:7px}
.v-meet2 .t1 b{font-size:12px}
.v-meet2 .t2{display:flex;justify-content:space-between;font-size:10px;color:var(--ink3)}
.v-meet2 .t2 .due{color:#B54708;font-weight:600}
.v-meet2 .t3{display:flex;gap:5px}
.v-meet2 .pu{font-size:9.5px;font-weight:700;color:#079455;background:#ECFDF3;border-radius:4px;padding:1px 6px}
.v-meet2 .trk{grid-column:1/-1;position:relative;height:24px;border-radius:7px;background:#F2F4F7;overflow:hidden;display:flex;align-items:center;padding:0 10px}
.v-meet2 .trk .mono{position:relative;font-size:10px;font-weight:700;color:var(--ink)}
.v-meet2 .fillb{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(47,107,255,.2),rgba(18,181,201,.25))}
.dp.on .v-meet2 .fillb{animation:lineW2 1.2s ease 4s forwards}
@keyframes lineW2{to{width:66%}}
@media (max-width:900px){.v-asm .bd{grid-template-columns:44% 8% 48%}.v-plan,.v-draw2,.v-meet2{grid-template-columns:1fr}.vz{height:auto}.v-meet2 .trk{grid-column:1}}
.v-asm .lb{gap:1px}
.v-asm .lb small,.v-asm .lb b{line-height:1.25;display:block}
.v-asm .lb b{font-size:11px}
/* 三步：动画替代插图 */
.stc .im{background:radial-gradient(circle at 50% 40%,#F5F8FF,#E8EEFF 80%);display:grid;place-items:center}
.sv{position:relative;width:86%;height:78%;font-size:12px}
.sv1 .fl2{position:absolute;left:0;right:0;top:34%;display:flex;justify-content:space-between;align-items:center}
.sv1 .fl2::before{content:"";position:absolute;left:6%;right:6%;top:50%;height:2px;background:repeating-linear-gradient(90deg,#B3C6FF 0 6px,transparent 6px 10px)}
.sv1 .fn{position:relative;z-index:1;font-weight:600;font-size:12px;padding:6px 9px;border-radius:9px;background:#fff;border:1px solid var(--line2);box-shadow:0 6px 12px -10px rgba(15,23,42,.4);transition:.4s}
.sv1 .lens{position:absolute;top:50%;left:0;width:54px;height:54px;margin:-27px 0 0 -8px;border-radius:50%;border:2px solid #2F6BFF;background:rgba(47,107,255,.08);box-shadow:0 0 0 6px rgba(47,107,255,.06);opacity:0}
.rv.in .sv1 .lens{animation:lensMv 2.4s ease-in-out .4s forwards}
@keyframes lensMv{0%{opacity:1;left:0}60%{left:44%}100%{opacity:1;left:40%}}
.rv.in .sv1 .pn{animation:pnOn .4s ease 2.6s forwards}
@keyframes pnOn{to{border-color:#F79009;background:#FFFAEB;color:#B54708;box-shadow:0 0 0 4px rgba(247,144,9,.18)}}
.sv1 .tagp,.sv1 .tags{position:absolute;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;border-radius:6px;padding:2px 8px;opacity:0;white-space:nowrap}
.sv1 .tagp{top:6%;color:#B54708;background:#FFFAEB;border:1px solid #FEC84B}
.sv1 .tags{bottom:6%;color:#fff;background:linear-gradient(95deg,#2F6BFF,#12B5C9)}
.rv.in .sv1 .tagp{animation:vFade .4s ease 2.8s forwards}.rv.in .sv1 .tags{animation:vFade .4s ease 3.2s forwards}
.sv2{display:flex;flex-direction:column;justify-content:center;gap:14px}
.sv2 .rw small{font-size:11px;color:var(--ink2);font-weight:600}
.sv2 .pb{height:12px;border-radius:6px;background:#fff;border:1px solid var(--line);overflow:hidden;margin-top:5px}
.sv2 .pb i{display:block;height:100%;width:0;border-radius:6px}
.sv2 .slow{background:#C7CDD8}.sv2 .fast{background:linear-gradient(90deg,#2F6BFF,#12B5C9)}
.rv.in .sv2 .slow{animation:pbW 6s linear .4s forwards}
.rv.in .sv2 .fast{animation:pbF 1.2s ease .4s forwards}
@keyframes pbW{to{width:45%}}@keyframes pbF{to{width:100%}}
.sv2 .jd{align-self:flex-start;font-size:11.5px;font-weight:700;color:#079455;background:#ECFDF3;border:1px solid #ABEFC6;border-radius:6px;padding:3px 9px;opacity:0}
.rv.in .sv2 .jd{animation:vPop .5s ease 1.9s forwards}
.sv3 svg{position:absolute;inset:0;width:100%;height:100%}
.sv3 path{stroke:#2F6BFF;stroke-width:1.5;fill:none;stroke-dasharray:80;stroke-dashoffset:80}
.rv.in .sv3 path{animation:drawL .6s ease forwards}.rv.in .sv3 path:nth-child(2){animation-delay:.5s}.rv.in .sv3 path:nth-child(3){animation-delay:1s}
.sv3 .orb2{fill:none;stroke:#12B5C9;stroke-width:1.2;stroke-dasharray:4 7;transform-box:fill-box;transform-origin:center;animation:spin 14s linear infinite}
.sv3 .hub,.sv3 .sy{position:absolute;z-index:1;transform:translate(-50%,-50%);font-weight:700;border-radius:9px;white-space:nowrap}
.sv3 .hub{left:50%;top:50%;font-size:12px;color:#fff;background:#0B1020;padding:7px 12px;box-shadow:0 0 0 5px rgba(47,107,255,.12),0 10px 20px -8px rgba(47,107,255,.6)}
.sv3 .sy{font-size:11px;background:#fff;border:1px solid var(--line2);padding:4px 9px;opacity:0}
.sv3 .s0{left:20%;top:21%}.sv3 .s1{left:80%;top:21%}.sv3 .s2{left:50%;top:90%}
.rv.in .sv3 .s0{animation:vPop .4s ease .5s forwards}.rv.in .sv3 .s1{animation:vPop .4s ease 1s forwards}.rv.in .sv3 .s2{animation:vPop .4s ease 1.5s forwards}
.sv3 .lp{position:absolute;right:0;top:48%;font-size:10.5px;font-weight:700;color:#12B5C9}
@media (prefers-reduced-motion:reduce){.sv *{animation:none!important;opacity:1!important}}
.v-asm .bd>*{min-width:0}
.v-asm .sc b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:64px}
.dk-cv{min-width:0;overflow:hidden}
.gate2 button{white-space:nowrap}

/* ===== v5.3 报销 14 张 / 运价归集 / 决策层晨报 ===== */
/* 报销：14 张不同样式票据，逐张快速识别 */
.v-ocr2{display:flex;flex-direction:column;gap:10px}
.v-ocr2 .grid14{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.rc2{position:relative;height:104px;border-radius:7px;background:#fff;border:1px solid var(--line2);padding:7px 6px 16px;overflow:hidden;box-shadow:0 6px 12px -10px rgba(15,23,42,.4)}
.rc2 .art{display:flex;flex-direction:column;gap:5px}
.rc2 .art i{display:block;height:4px;border-radius:2px;background:#E4E7EC}.rc2 .art i.s{width:55%}
.rc2 .nm{position:absolute;left:5px;right:5px;bottom:3px;font-size:9px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.rc2::before{content:"";position:absolute;left:0;right:0;top:-30%;height:30%;background:linear-gradient(180deg,transparent,rgba(18,181,201,.45));border-bottom:2px solid #12B5C9;opacity:0;z-index:2}
.dp.on .rc2::before{animation:rcS .22s linear var(--d) forwards}
@keyframes rcS{0%{opacity:1;top:-30%}100%{opacity:0;top:100%}}
.dp.on .rc2{animation:rcDone .25s ease calc(var(--d) + .2s) forwards}
@keyframes rcDone{to{border-color:#12B5C9;box-shadow:0 0 0 2px rgba(18,181,201,.18)}}
.rc2 .okc{position:absolute;right:4px;top:4px;width:14px;height:14px;border-radius:50%;background:#12B76A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/10px no-repeat;transform:scale(0);z-index:3}
.dp.on .rc2 .okc{animation:pop2 .25s ease calc(var(--d) + .2s) forwards}
@keyframes pop2{to{transform:scale(1)}}
/* 各种票样 */
.k-vat{border:1.5px solid #6B8DD6;background:linear-gradient(#EEF3FF 0 14px,#fff 14px)}
.k-vat .art::after{content:"";position:absolute;right:8px;bottom:20px;width:18px;height:18px;border-radius:50%;border:1.5px solid #E5484D;opacity:.7}
.k-ev{background:linear-gradient(#E8F4FF 0 16px,#fff 16px)}
.k-ev .art::after{content:"";position:absolute;right:6px;bottom:18px;width:14px;height:14px;background:repeating-conic-gradient(#344054 0 25%,#fff 0 50%) 0 0/4px 4px}
.k-rail{background:#E6F2FF;border-color:#9CC3F5;border-radius:10px}
.k-rail .art::before{content:"G7521";font-family:var(--mono);font-size:11px;font-weight:800;color:#1F4E9E}
.k-air{background:linear-gradient(#F2F4F7 0 16px,#fff 16px)}
.k-air .art::before{content:"✈";font-size:11px;color:#475467}
.k-taxi{width:78%;margin:0 auto;border-style:dashed;background:#FFFEF5}
.k-taxi .art::before{content:"¥ 46.00";font-family:var(--mono);font-size:10px;font-weight:700}
.k-pos{background:#FCFCFA;-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 5px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/8px 5px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 5px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/8px 5px repeat-x}
.k-pos .art i{height:3px}
.k-hotel{background:linear-gradient(#FFF7E8 0 16px,#fff 16px)}
.k-hotel .art::before{content:"★ HOTEL";font-size:8px;font-weight:800;color:#B54708;letter-spacing:.06em}
.k-quota{border:1.5px solid #E5484D;background:#FFF8F7}
.k-quota .art::before{content:"¥50";font-size:18px;font-weight:800;color:#C4320A}
.k-toll{background:linear-gradient(#E7F8EE 0 14px,#fff 14px)}
.k-ride{border-radius:11px;background:linear-gradient(#fff 0 60%,#F2F7FF 60%)}
.k-ride .art::before{content:"";height:20px;border-radius:4px;background:linear-gradient(135deg,transparent 45%,#2F6BFF 45% 52%,transparent 52%),#EEF3FF}
.v-ocr2 .ft{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.v-ocr2 .ctr{display:flex;align-items:baseline;gap:6px;font-size:11.5px;color:var(--ink2)}
.v-ocr2 .stk{position:relative;display:inline-block;width:2.2ch;height:22px;font-family:var(--mono);font-size:20px;font-weight:800}
.v-ocr2 .stk b{position:absolute;right:0;top:-3px;background:#fff;opacity:0}
.dp.on .v-ocr2 .stk b{animation:cntIn 0s linear var(--d) forwards}
@keyframes cntIn{to{opacity:1}}
.v-ocr2 .pbar{height:6px;border-radius:3px;background:#F2F4F7;overflow:hidden}
.v-ocr2 .pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2F6BFF,#12B5C9)}
.dp.on .v-ocr2 .pbar i{animation:pbF var(--t) linear .35s forwards}
.v-ocr2 .sums{display:flex;gap:6px}
.v-ocr2 .sm2{font-size:11px;font-weight:600;border-radius:6px;padding:3px 8px;display:flex;gap:5px;align-items:baseline}
.v-ocr2 .sm2 b{font-family:var(--mono);font-size:13px}
.v-ocr2 .sm2.ok{background:#ECFDF3;color:#079455}.v-ocr2 .sm2.mid{background:#FFFAEB;color:#B54708}.v-ocr2 .sm2.warn{background:#FEF3F2;color:#B42318}

/* 运价归集 */
.v-frt{display:flex;flex-direction:column;gap:8px}
.v-frt .srcs2{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.v-frt .sh2{position:relative;background:#fff;border:1px solid var(--line2);border-radius:8px;padding:6px;display:flex;flex-direction:column;gap:2px}
.v-frt .sh2 b{font-size:10.5px}
.v-frt .sh2 small{font-size:9px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-frt .mini{height:30px;display:grid;gap:2px;margin-bottom:3px}
.v-frt .mini i{background:#E4E7EC;border-radius:1px}
.v-frt .f0 .mini{grid-template-columns:repeat(3,1fr);grid-template-rows:6px 1fr}
.v-frt .f0 .mini i:nth-child(-n+3){background:#9DB7FF}
.v-frt .f1 .mini{grid-template-columns:1fr 3fr;grid-template-rows:repeat(3,1fr)}.v-frt .f1 .mini i:nth-child(odd){background:#C7D7FE}
.v-frt .f2 .mini{grid-template-columns:repeat(6,1fr)}.v-frt .f2 .mini i:nth-child(1){background:#FECDCA}.v-frt .f2 .mini i:nth-child(2){background:#FEDF89}.v-frt .f2 .mini i:nth-child(3){background:#ABEFC6}.v-frt .f2 .mini i:nth-child(4){background:#C7D7FE}
.v-frt .f3 .mini{grid-template-columns:repeat(3,1fr);grid-template-rows:8px 1fr}.v-frt .f3 .mini i:nth-child(-n+3){background:#344054}
.v-frt .f4 .mini{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr 6px}.v-frt .f4 .mini i:nth-child(n+4){background:#9DB7FF;border-radius:2px 2px 0 0}
.v-frt .f5 .mini{grid-template-rows:repeat(6,1fr)}.v-frt .f5 .mini i:nth-child(3n){width:60%}
.v-frt .sh2 .okc{position:absolute;right:4px;top:4px;width:13px;height:13px;border-radius:50%;background:#12B76A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/9px no-repeat;transform:scale(0)}
.dp.on .v-frt .sh2 .okc{animation:pop2 .25s ease var(--c) forwards}
.v-frt .rules{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.v-frt .rl{display:flex;gap:6px;align-items:center;font-size:10.5px;background:#0B1020;color:#fff;border-radius:7px;padding:4px 8px;white-space:nowrap;overflow:hidden}
.v-frt .rl s{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.4);color:rgba(255,255,255,.6);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis}
.v-frt .rl b{color:#5FE3F2;font-weight:600}
.v-frt .out{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.v-frt .fr{display:grid;grid-template-columns:1fr 1fr .8fr .7fr 1fr 1fr 1fr;padding:3px 10px;font-family:var(--mono);font-size:10.5px;border-top:1px solid var(--line)}
.v-frt .fr span:nth-child(n+5){text-align:right}
.v-frt .hd3{background:#F6F7FA;color:var(--ink3);font-size:9.5px;border-top:0;font-family:var(--sans);font-weight:600}
.v-frt .fr:nth-child(3) span:nth-child(4){color:#B54708;font-weight:700}
.v-frt .fb{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.v-frt .st2{font-size:10.5px;font-weight:700;color:var(--ink);margin-right:4px}
.v-frt .ck2{font-size:10px;font-weight:700;color:#079455;background:#ECFDF3;border-radius:5px;padding:2px 7px}
.v-frt .rv2{margin-left:auto;font-size:10px;font-weight:700;color:#B54708;background:#FFFAEB;border:1px solid #FEC84B;border-radius:5px;padding:1px 7px}

/* 决策层晨报 */
.v-brief{display:grid;grid-template-columns:auto 44px 1fr;gap:8px;align-items:center}
.v-brief .bsrc{display:flex;flex-direction:column;gap:8px}
.v-brief .bs{font-size:11.5px;font-weight:600;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid var(--line2);white-space:nowrap}
.v-brief .bflow{display:flex;flex-direction:column;gap:22px}
.v-brief .bflow i{height:2px;background:linear-gradient(90deg,#C7D7FE,#2F6BFF);position:relative;overflow:hidden;border-radius:1px}
.v-brief .bflow i::after{content:"";position:absolute;top:0;bottom:0;width:30%;background:#fff;opacity:.85;animation:fl 1.1s linear infinite}
.v-brief .phone2{background:#fff;border:1px solid var(--line2);border-radius:16px;padding:10px 12px;box-shadow:0 20px 36px -22px rgba(15,23,42,.5);display:flex;flex-direction:column;gap:6px}
.v-brief .ph2{display:flex;align-items:center;gap:7px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.v-brief .ph2 b{font-size:12px;flex:1}
.v-brief .ph2 .mono{font-size:10.5px;color:var(--ink3)}
.v-brief .bi{border-radius:8px;border:1px solid var(--line);padding:5px 9px}
.v-brief .bi .r1{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600}
.v-brief .bi .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v-brief .bi .amt{font-size:10.5px;color:var(--ink2)}
.v-brief .bi.top{border-color:#FEC84B;background:#FFFCF5}
.v-brief .ex{max-height:0;overflow:hidden;transition:max-height .5s}
.dp.on .v-brief .ex{animation:exOpen .5s ease 2.4s forwards}
@keyframes exOpen{to{max-height:60px}}
.v-brief .ex p{font-size:10.5px;color:var(--ink2);margin-top:3px;padding-left:8px;border-left:2px solid #FEC84B}
.v-brief .chat{display:flex;flex-direction:column;gap:5px;margin-top:2px}
.v-brief .q{align-self:flex-end;font-size:11px;background:#2F6BFF;color:#fff;border-radius:10px 10px 2px 10px;padding:4px 10px}
.v-brief .an{align-self:flex-start;font-size:11px;background:#F2F4F7;border-radius:10px 10px 10px 2px;padding:4px 10px}
@media (max-width:900px){.v-ocr2 .grid14{grid-template-columns:repeat(5,1fr)}.v-frt .srcs2{grid-template-columns:repeat(3,1fr)}.v-frt .rules{grid-template-columns:1fr}.v-brief{grid-template-columns:1fr}.v-brief .bsrc{flex-direction:row;flex-wrap:wrap}.v-brief .bflow{display:none}}
.v-brief .phone2{gap:5px;padding:8px 11px}
.v-brief .bi{padding:4px 9px}
.k-taxi .art::before{font-size:9px}
.k-taxi .okc{top:auto!important;bottom:16px}
.vz{overflow:hidden}
@media (min-width:1001px){.dk{height:474px;min-height:0}.dk>div{overflow:hidden}}
@media (max-width:600px){.pillb .nw,.pillb .ar{display:none}.pillb{font-size:12px;white-space:nowrap;padding:4px 12px 4px 6px}}

/* ===== v5.4 报销：扫描台 ===== */
.v-ocr3{display:grid;grid-template-columns:58% 1fr;gap:12px}
.stage3{position:relative;border-radius:14px;background:#070B16;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 1px rgba(79,134,255,.25) inset}
.stage3::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(63,217,240,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(63,217,240,.07) 1px,transparent 1px);background-size:18px 18px;-webkit-mask:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 80%);mask:radial-gradient(ellipse at 50% 50%,#000 30%,transparent 80%)}
.stage3::after{content:"";position:absolute;left:50%;top:48%;width:260px;height:260px;margin:-130px 0 0 -130px;background:radial-gradient(circle,rgba(47,107,255,.35),transparent 65%);pointer-events:none}
.sh3{position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:9px 12px;font-family:var(--mono);font-size:10.5px;color:rgba(255,255,255,.65)}
.sh3 .rec{width:7px;height:7px;border-radius:50%;background:#3FD9F0;box-shadow:0 0 8px #3FD9F0;animation:blink 1s ease-in-out infinite}
.ctr3{margin-left:auto;display:flex;align-items:baseline;gap:4px;color:#fff}
.ctr3 .stk{position:relative;display:inline-block;width:2.2ch;height:18px;font-size:16px;font-weight:800}
.ctr3 .stk b{position:absolute;right:0;top:-2px;background:#070B16;opacity:0;color:#5FE3F2}
.dp.on .ctr3 .stk b{animation:cntIn 0s linear var(--d) forwards}
.win3{position:relative;z-index:1;flex:1;margin:0 18px;perspective:800px}
.win3 .cn{position:absolute;width:18px;height:18px;border-color:#3FD9F0;border-style:solid;filter:drop-shadow(0 0 4px #3FD9F0);z-index:3}
.win3 .c1{left:22%;top:4%;border-width:2px 0 0 2px}.win3 .c2{right:22%;top:4%;border-width:2px 2px 0 0}
.win3 .c3{left:22%;bottom:4%;border-width:0 0 2px 2px}.win3 .c4{right:22%;bottom:4%;border-width:0 2px 2px 0}
.rc3{position:absolute;left:50%;top:50%;width:130px;height:176px;margin:-88px 0 0 -65px;border-radius:8px;background:#fff;border:1px solid #D0D5DD;padding:12px 10px;opacity:0;box-shadow:0 20px 40px -10px rgba(0,0,0,.6)}
.rc3 .art{display:flex;flex-direction:column;gap:7px}
.rc3 .art i{display:block;height:5px;border-radius:3px;background:#E4E7EC}.rc3 .art i.s{width:55%}
.rc3 .am{position:absolute;left:10px;bottom:24px;font-size:12px;font-weight:800;color:#101828}
.rc3 .nm{position:absolute;left:10px;right:8px;bottom:7px;font-size:9.5px;color:#667085;font-weight:600}
.rc3.k-taxi{width:104px;margin-left:-52px}
.dp.on .rc3{animation:fly3 .56s cubic-bezier(.3,.7,.3,1) var(--d) forwards}
.dp.on .rc3.last{animation:flyIn3 .5s cubic-bezier(.16,1,.3,1) var(--d) forwards}
@keyframes fly3{0%{opacity:0;transform:translateX(-190%) rotateY(35deg) scale(.8)}28%{opacity:1;transform:none}62%{opacity:1;transform:none;box-shadow:0 0 0 2px #3FD9F0,0 0 30px rgba(63,217,240,.6)}100%{opacity:0;transform:translateX(190%) rotateY(-35deg) scale(.6)}}
@keyframes flyIn3{0%{opacity:0;transform:translateX(-190%) rotateY(35deg) scale(.8)}100%{opacity:1;transform:scale(1.08);box-shadow:0 0 0 2px rgba(63,217,240,.6),0 24px 48px -12px rgba(0,0,0,.7)}}
.laser{position:absolute;left:18%;right:18%;top:8%;height:2px;z-index:4;background:linear-gradient(90deg,transparent,#5FE3F2 20%,#fff 50%,#5FE3F2 80%,transparent);box-shadow:0 0 12px 3px rgba(63,217,240,.7);opacity:0}
.dp.on .laser{animation:laser3 .4s ease-in-out .3s 8 alternate,laserFade .3s ease 3.5s forwards}
@keyframes laser3{0%{opacity:1;top:8%}100%{opacity:1;top:90%}}
@keyframes laserFade{from{opacity:1}to{opacity:0}}
.fb3{position:absolute;z-index:5;margin-left:calc(50% - 65px);transform:translate(-8px,-4px);display:flex;flex-direction:column;opacity:0}
.fb3::before{content:"";position:absolute;left:-4px;top:-3px;width:118px;height:22px;border:1.5px solid #3FD9F0;border-radius:4px;background:rgba(63,217,240,.12);box-shadow:0 0 10px rgba(63,217,240,.6)}
.fb3 em{position:absolute;left:122px;top:-4px;font-style:normal;font-family:var(--mono);font-size:8.5px;color:#7FA6FF;white-space:nowrap}
.fb3 b{position:absolute;left:122px;top:6px;font-family:var(--mono);font-size:10px;color:#fff;white-space:nowrap}
.fb3.hot::before{border-color:#FFB84D;background:rgba(255,184,77,.15);box-shadow:0 0 12px rgba(255,184,77,.7)}
.fb3.hot b{color:#FFB84D}
.dp.on .fb3{animation:vPop .35s ease var(--d) forwards}
.win3 .fb3{left:0!important}
.flag3{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);z-index:6;white-space:nowrap;font-size:10.5px;font-weight:700;color:#FFD9A3;background:rgba(255,184,77,.14);border:1px solid rgba(255,184,77,.6);border-radius:6px;padding:3px 9px}
.dots3{position:relative;z-index:2;display:flex;gap:4px;justify-content:center;padding:8px 0 10px}
.dots3 i{width:14px;height:4px;border-radius:2px;background:rgba(255,255,255,.14)}
.dp.on .dots3 i{animation:dotOn .2s ease var(--d) forwards}
@keyframes dotOn{to{background:#3FD9F0;box-shadow:0 0 6px #3FD9F0}}
.side3{display:flex;flex-direction:column;gap:8px;min-width:0}
.sh4{font-family:var(--mono);font-size:10.5px;color:var(--ink3);letter-spacing:.08em}
.lst{height:220px;overflow:hidden;border-radius:10px;background:#fff;border:1px solid var(--line);-webkit-mask:linear-gradient(transparent,#000 12%,#000 100%);mask:linear-gradient(transparent,#000 12%,#000 100%)}
.lsi{display:flex;flex-direction:column}
.dp.on .lsi{animation:listUp 1.6s steps(8) var(--ls) forwards}
@keyframes listUp{to{transform:translateY(-176px)}}
.sr3{display:grid;grid-template-columns:22px 1fr auto auto;gap:8px;align-items:center;height:22px;padding:0 10px;font-size:10.5px;border-bottom:1px solid var(--line)}
.sr3 .ix{color:var(--ink3);font-size:9.5px}
.sr3 .t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.sr3 .mono{font-size:10px}
.st3{font-size:9.5px;font-weight:700;border-radius:4px;padding:0 5px}
.st3.ok{background:#ECFDF3;color:#079455}.st3.mid{background:#FFFAEB;color:#B54708}.st3.warn{background:#FEF3F2;color:#B42318}
.side3 .sums{display:flex;gap:6px;flex-wrap:wrap}
@media (max-width:900px){.v-ocr3{grid-template-columns:1fr}.stage3{height:300px}.lst{height:132px}}
@keyframes flyIn3{0%{opacity:0;transform:translateX(-190%) rotateY(35deg) scale(.8)}100%{opacity:1;transform:translateX(-46px);box-shadow:0 0 0 2px rgba(63,217,240,.6),0 24px 48px -12px rgba(0,0,0,.7)}}
.fb3{margin-left:calc(50% - 65px - 46px)}
.fb3::before{width:112px;left:0;top:-4px;height:20px}
.fb3 em{left:124px;top:-6px}
.fb3 b{left:124px;top:4px}
.v-ocr3 .sm2{font-size:11px;font-weight:600;border-radius:6px;padding:3px 8px;display:flex;gap:5px;align-items:baseline}
.v-ocr3 .sm2 b{font-family:var(--mono);font-size:13px}
.v-ocr3 .sm2.ok{background:#ECFDF3;color:#079455}.v-ocr3 .sm2.mid{background:#FFFAEB;color:#B54708}.v-ocr3 .sm2.warn{background:#FEF3F2;color:#B42318}
.fb3 em,.fb3 b{left:140px}
.flag3{bottom:1%;left:62%}

/* ===================== v6 ===================== */
/* 标题网络字体：Mac 用苹方，Windows 等无苹方的系统用裁剪版思源黑体 */
@font-face{font-family:"AvantHead";src:url("fonts/avant-head.woff2") format("woff2");font-weight:700;font-display:swap}
.hero h1,.phero h1,.sh h2,.promise h2,.contact h2{font-family:"SF Pro Display",-apple-system,"PingFang SC","AvantHead","Microsoft YaHei",sans-serif}

/* 部门切换：当前场景的倒计时进度条；悬停暂停 */
.dk-dept button{position:relative;overflow:hidden}
.dk-dept button .pg{position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:1px;background:transparent;overflow:hidden}
.dk-dept button.on .pg{background:rgba(47,107,255,.12)}
.dk-dept button.on .pg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2F6BFF,#12B5C9);transform-origin:left;transform:scaleX(0);animation:pgRun 7s linear forwards}
.desk.paused .dk-dept button.on .pg::after{animation-play-state:paused}
@keyframes pgRun{to{transform:scaleX(1)}}
.dk-dept button{font-size:14.5px;padding:10px 12px}

/* 首屏演示字号下限提高 */
.dk-st .st{font-size:14px}
.dk-st .cite{font-size:11.5px}
.v-plan .ev p{font-size:12.5px}.v-plan .ev small,.v-plan .src2{font-size:10.5px}.v-plan .ev .tg{font-size:10.5px}
.v-plan .gl .mono,.v-plan .dd{font-size:11px}.v-plan .br{font-size:9px}.v-plan .lgs{font-size:11px}
.v-plan .ph{font-size:11px}.v-plan .op2 b{font-size:12.5px}.v-plan .op2 span{font-size:11px}
.sh3{font-size:11.5px}.sr3{font-size:11.5px}.sr3 .mono{font-size:11px}.sr3 .ix{font-size:10.5px}.st3{font-size:10.5px}
.rc3 .nm{font-size:10.5px}.fb3 em{font-size:9.5px}.fb3 b{font-size:11px}.flag3{font-size:11.5px}.sh4{font-size:11.5px}
.v-asm .pr .tx{font-size:13px}.v-asm .bh{font-size:11.5px}.v-asm .lb small{font-size:10.5px}.v-asm .lb b{font-size:12px}
.v-asm .sc b{font-size:12.5px}.v-asm .sc .src,.v-asm .sc .fl{font-size:10px}
.v-frt .sh2 b{font-size:11.5px}.v-frt .sh2 small{font-size:10px}.v-frt .rl{font-size:11.5px}.v-frt .fr{font-size:11px}.v-frt .hd3{font-size:10.5px}
.v-frt .st2,.v-frt .ck2,.v-frt .rv2{font-size:11px}
.v-brief .bs{font-size:12.5px}.v-brief .ph2 b{font-size:13px}.v-brief .bi .r1{font-size:12.5px}.v-brief .bi .amt{font-size:11.5px}
.v-brief .ex p,.v-brief .q,.v-brief .an{font-size:11.5px}

/* 问题 → 解法 */
.pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pair{position:relative;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.7);overflow:hidden}
.pair .pq{padding:26px 26px 22px}
.pair .pq .mono{font-size:12px;color:var(--ink3)}
.pair h3{font-size:19px;font-weight:650;margin:10px 0 6px}
.pair p{font-size:14.5px;color:var(--ink2)}
.pair .pa{position:relative;padding:22px 26px 26px;background:linear-gradient(180deg,rgba(47,107,255,.06),rgba(18,181,201,.06));border-top:1px solid rgba(47,107,255,.15)}
.pair .pa::before{content:"";position:absolute;left:26px;top:-9px;width:16px;height:16px;border-radius:50%;background:#fff;border:1.5px solid #2F6BFF;box-shadow:0 0 0 4px rgba(47,107,255,.1)}
.pair .pa::after{content:"↓";position:absolute;left:30px;top:-9px;font-size:10px;line-height:16px;color:#2F6BFF;font-weight:700}
.pair .pa .lab{color:#2F6BFF}
.pair .pa h3{margin-top:4px}
.rv.in .pair .pa,.pair.rv.in .pa{animation:paIn .7s cubic-bezier(.16,1,.3,1) .35s both}
@keyframes paIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* 架构下方：AI / 人 分工条 */
.split2{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-top:12px}
.split2>div{border-radius:14px;padding:16px 22px;display:flex;align-items:center;gap:16px}
.split2 .ai{background:#fff;border:1px solid var(--line)}
.split2 .hu{background:#0B1020;color:#fff}
.split2 .lab{margin:0}
.split2 .hu .lab{color:rgba(255,255,255,.5)}
.split2 b{font-size:clamp(17px,1.8vw,22px);font-weight:650;letter-spacing:.02em}

/* 品牌符号：企业大脑 + 写回回路 */
.motif{width:100%;height:100%;overflow:visible}
.motif circle,.motif path,.motif rect{fill:none;vector-effect:non-scaling-stroke}
.motif .m1{stroke:rgba(47,107,255,.18);stroke-width:1;stroke-dasharray:2 9;transform-box:fill-box;transform-origin:center;animation:spin 80s linear infinite}
.motif .m2{stroke:rgba(18,181,201,.28);stroke-width:1.2;stroke-dasharray:80 24 6 24;transform-box:fill-box;transform-origin:center;animation:spin 46s linear infinite reverse}
.motif .m3{stroke:rgba(47,107,255,.3);stroke-width:1;stroke-dasharray:1 6;transform-box:fill-box;transform-origin:center;animation:spin 60s linear infinite}
.motif .mw{stroke:url(#mw);stroke-width:2;stroke-linecap:round;stroke-dasharray:6 10;animation:mwf 3s linear infinite}
@keyframes mwf{to{stroke-dashoffset:-64}}
.motif .mwa{stroke:#12B76A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.motif .mc{stroke:url(#mg);stroke-width:1.6}
.motif .mo1,.motif .mo2{transform-origin:200px 200px}
.motif .mo1{animation:spin 16s linear infinite}.motif .mo2{animation:spin 11s linear infinite reverse}
.motif .mo1 circle{fill:#12B5C9}.motif .mo2 circle{fill:#2F6BFF}
.hero-motif{position:absolute;left:50%;top:-40px;width:760px;height:760px;margin-left:-380px;z-index:-1;opacity:.55;pointer-events:none;-webkit-mask:radial-gradient(circle,#000 35%,transparent 70%);mask:radial-gradient(circle,#000 35%,transparent 70%)}
.hero-motif .mc{opacity:.35}

/* 预约表单 */
.cbox2{position:relative;display:grid!important;grid-template-columns:.9fr 1.1fr!important;gap:40px!important;align-items:start!important;overflow:hidden}
.cbox2 .motif-bg{position:absolute;left:-160px;bottom:-200px;width:520px;height:520px;opacity:.5;pointer-events:none}
.cbox2 .cl2{position:relative}
.cbox2 .alt{font-size:14px;color:var(--ink2);display:flex;gap:8px;margin:4px 0 18px}
.cbox2 .alt a{color:var(--blue);font-weight:600}
.cbox2 .qr{display:flex;align-items:center;gap:12px;text-align:left}
.cbox2 .qr img{width:96px;margin:0}
.lead{position:relative;display:flex;flex-direction:column;gap:12px}
.lead .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ff{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink2);font-weight:600}
.ff input,.ff select,.ff textarea{font:inherit;font-weight:400;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:10px;padding:11px 12px;outline:none;transition:.15s;resize:vertical}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:#2F6BFF;box-shadow:0 0 0 4px rgba(47,107,255,.12)}
.lead .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead .btn{align-self:flex-start;height:48px;padding:0 28px}
.lead .btn:disabled{opacity:.6}
.lead .msg{font-size:14px;min-height:20px}
.lead .msg.ok{color:#079455}.lead .msg.warn{color:#B54708}

/* 关于：企业大脑 / 不做什么 */
.brainrow{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.bcards{display:grid;gap:12px}
.bcard{padding:24px}
.bcard .mono{font-size:12px;color:var(--blue)}
.bcard h3{font-size:18px;font-weight:650;margin:8px 0 6px}
.bcard p{font-size:14.5px;color:var(--ink2)}
.bmotif{aspect-ratio:1;max-width:420px;justify-self:center;width:100%}
.bmotif .mc{fill:#0B1020}
.notdo{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.notdo li{display:flex;gap:12px;align-items:center;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:15px;font-weight:600}
.notdo .x{flex:none;width:24px;height:24px;border-radius:50%;background:#FEF3F2;color:#D92D20;font-size:11px;display:grid;place-items:center}

@media (max-width:900px){
  .pairs,.split2,.brainrow{grid-template-columns:1fr}
  .cbox2{grid-template-columns:1fr!important;gap:24px!important}
  .lead .row2{grid-template-columns:1fr}
  .hero-motif{width:520px;height:520px;margin-left:-260px}
  .bmotif{max-width:280px}
}
@media (prefers-reduced-motion:reduce){.motif *{animation:none!important}.dk-dept button.on .pg::after{animation:none;transform:scaleX(1)}}

.split2 .hu b{color:#fff}
.hero-motif{opacity:.9;top:-60px}
.hero-motif .m1{stroke:rgba(47,107,255,.28)}.hero-motif .m2{stroke:rgba(18,181,201,.4)}.hero-motif .m3{stroke:rgba(47,107,255,.4)}
.hero-motif .mc{display:none}
.bmotif{position:relative}
.bmotif .bm-t{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-weight:650;font-size:16px;letter-spacing:.02em;white-space:nowrap}
.bmotif .bm-w{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);font-family:var(--mono);font-size:11.5px;font-weight:700;color:#B54708;background:#FFFAEB;border:1px solid #FEC84B;border-radius:6px;padding:2px 8px;white-space:nowrap}
.bmotif .mc{fill:#0B1020}

/* ===== 定制需求预判（结构微定制） ===== */
.cxwrap{border-radius:20px;background:rgba(255,255,255,.8);border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(15,23,42,.25);overflow:hidden}
.cxfoot{font-size:12px;color:var(--ink3);padding:8px 16px;border-top:1px solid var(--line);background:#F9FAFB}
.cxd{display:grid;grid-template-columns:260px 1fr 1.05fr;gap:14px;padding:14px;--ok:#079455;--ok-bg:#ECFDF3;--warn:#DC6803;--warn-bg:#FFFAEB;--bad:#D92D20;--bad-bg:#FEF3F2;--ask:#2F6BFF;--ask-bg:#EEF3FF;--ai:#12B5C9;--ai-bg:#E8F9FB}
.cxd>div{min-width:0;display:flex;flex-direction:column;gap:12px}
.cxd .dotc{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:0}
.cxd .dotc.g{background:#12B76A}.cxd .dotc.y{background:#F79009}.cxd .dotc.r{background:#F04438}
.cx-sc{display:flex;gap:6px}
.cx-sc button{flex:1;font-family:inherit;text-align:left;padding:8px 9px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;line-height:1.3}
.cx-sc button b{display:block;font-size:13px}.cx-sc button span{font-size:11px;color:var(--ink3)}
.cx-sc button.on{border-color:#2F6BFF;box-shadow:0 0 0 3px rgba(47,107,255,.12)}
.cx-wx{flex:1;min-height:340px;border-radius:14px;background:#EDEDED;display:flex;flex-direction:column;overflow:hidden}
.cx-wx .wt{padding:10px 12px;background:#F7F7F7;border-bottom:1px solid #E0E0E0;font-size:13px;font-weight:600}
.cx-wx .wt small{color:var(--ink3);font-weight:400;margin-right:8px}
.cx-wx .wb{flex:1;padding:12px;display:flex;flex-direction:column;gap:10px}
.cx-wx .tip{text-align:center;font-size:11px;color:#999}
.cx-wx .msg{display:flex;gap:8px;align-items:flex-start;animation:vFade .35s both}
.cx-wx .av{width:30px;height:30px;border-radius:5px;background:#B9C4D2;color:#fff;font-size:12px;display:grid;place-items:center;flex:none}
.cx-wx .bb{background:#fff;padding:7px 10px;border-radius:5px;font-size:13.5px;line-height:1.6}
.phr{border-radius:3px;padding:0 2px;transition:.3s}
.phr.lit{background:var(--ai-bg);box-shadow:0 0 0 1.5px var(--ai) inset}
.phr.lit.warn{background:var(--warn-bg);box-shadow:0 0 0 1.5px var(--warn) inset}
.phr.lit.bad{background:var(--bad-bg);box-shadow:0 0 0 1.5px var(--bad) inset}
.phr.lit.ask{background:var(--ask-bg);box-shadow:0 0 0 1.5px var(--ask) inset}
.cx-run{height:44px;border:0;border-radius:11px;background:linear-gradient(95deg,#2F6BFF,#12B5C9);color:#fff;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
.cx-run .play{background:rgba(255,255,255,.25)}
.cx-run:disabled{background:#B8C2CF;cursor:default}
.cxd .pn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.cxd .ph{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);font-weight:600;margin-bottom:10px}
.cxd .ph i{font-style:normal;width:20px;height:20px;border-radius:50%;background:#0B1020;color:#fff;font-size:11px;display:grid;place-items:center}
.cxd .tg2{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;background:#F2F4F7;color:var(--ink2)}
.cxd .tg2.ai{background:var(--ai-bg);color:#0E7C8A}
.cxd .p1,.cxd .p2{opacity:.35;transition:opacity .4s}.cxd .p1.show,.cxd .p2.show{opacity:1}
.cxd .req{display:grid;grid-template-columns:72px 1fr;gap:6px 10px;font-size:13.5px;align-items:start;min-height:84px}
.cxd .rk{color:var(--ink3);font-size:12px;padding-top:2px}
.cxd .rw{font-weight:600}
.cxd .chips{display:flex;flex-wrap:wrap;gap:5px}
.cxd .chip{font-size:12px;padding:2px 8px;border-radius:6px;background:var(--ai-bg);color:#0E7C8A;border:1px solid #B4ECF2;opacity:0;transform:translateY(4px);transition:.3s;white-space:nowrap}
.cxd .chip.show{opacity:1;transform:none}.cxd .chip.der{background:#F2F4F7;color:#2F6BFF;border-color:#D0D5DD}.cxd .chip.miss{background:var(--ask-bg);color:var(--ask);border-color:#C7D7FE}
.cxd .chip code{font-family:var(--mono);font-size:11.5px}
.cxd table.rules{width:100%;border-collapse:collapse;font-size:12.5px}
.cxd .rules td,.cxd .rules th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;line-height:1.35}
.cxd .rules th{font-size:11px;color:var(--ink3);font-weight:500}
.cxd .rules td:first-child{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.cxd .rules td:nth-child(3){font-family:var(--mono);font-size:11.5px;white-space:nowrap}
.cxd .rules td:last-child{text-align:right}
.cxd .rules small{color:var(--ink3);font-size:11px}
.cxd .rules tr.chk{background:#F1F5FA}
.cxd .rules .st{opacity:0;transition:.25s}.cxd .rules tr.done .st{opacity:1}
.cxd .st{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap}
.cxd .st.ok{background:var(--ok-bg);color:var(--ok)}.cxd .st.warn{background:var(--warn-bg);color:var(--warn)}.cxd .st.bad{background:var(--bad-bg);color:var(--bad)}.cxd .st.ask{background:var(--ask-bg);color:var(--ask)}.cxd .st.na{background:#F2F4F7;color:var(--ink3)}
.cxd .rnote{font-size:11px;color:var(--ink3);margin-top:6px}
.cxd .verdict{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;border:2px solid transparent;opacity:0;transform:scale(.97);transition:.4s;min-height:62px}
.cxd .verdict.show{opacity:1;transform:none}
.cxd .verdict .big{font-size:22px;font-weight:800;white-space:nowrap}
.cxd .verdict .vd{font-size:13px;color:var(--ink2);line-height:1.5}
.cxd .verdict.g{background:var(--ok-bg);border-color:#12B76A}.cxd .verdict.g .big{color:var(--ok)}
.cxd .verdict.y{background:var(--warn-bg);border-color:#F79009}.cxd .verdict.y .big{color:var(--warn)}
.cxd .verdict.r{background:var(--bad-bg);border-color:#F04438}.cxd .verdict.r .big{color:var(--bad)}
.cxd .extra{display:none;padding:10px 14px;border-radius:12px;font-size:12.5px;line-height:1.55;opacity:0;transition:.4s}
.cxd .extra.prec,.cxd .extra.alt{display:block}.cxd .extra.show{opacity:1}
.cxd .extra b{display:block;font-size:13px;margin-bottom:3px}
.cxd .extra.prec{background:#FFFCF5;border:1px dashed #FEC84B}.cxd .extra.alt{background:var(--bad-bg);border:1px dashed #FDA29B}
.cxd .viewer{position:relative;height:360px;padding:0;overflow:hidden}
.cxd .viewer .ph{position:absolute;left:14px;top:12px;right:14px;z-index:3;pointer-events:none}
.cxd .tog{pointer-events:auto;margin-left:auto;display:flex;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cxd .tog span{padding:4px 12px;font-size:12px;cursor:pointer;color:var(--ink2);font-weight:500}
.cxd .tog span.on{background:#0B1020;color:#fff}
.cxd .three{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#fff 0%,#EEF2F7 70%,#E3E9F1 100%)}
.cxd .three canvas{display:block}
.cxd .three .ld{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--ink3)}
.cxd .labels{position:absolute;inset:0;pointer-events:none;z-index:2}
.cxd .lbl{position:absolute;transform:translate(-50%,-100%);font-size:11.5px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.95);border:1px solid var(--line);white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.cxd .lbl.below{transform:translate(-50%,12px)}
.cxd .lbl.chg{border-color:#2F6BFF;color:#1D4ED8;background:#F5F8FF}
.cxd .lbl.chg::before{content:attr(data-c);font-weight:700}
.cxd .lbl.bad{border-color:#F04438;color:#B42318;background:#FEF3F2;font-weight:600}
.cxd .lbl.warn{border-color:#F79009;color:#B54708;background:#FFFAEB}
.cxd .vnote{position:absolute;left:14px;right:14px;bottom:8px;font-size:10.5px;color:var(--ink3);z-index:3;pointer-events:none}
.cxd .stamp3{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:4;background:rgba(255,255,255,.55);backdrop-filter:blur(2px)}
.cxd .stamp3.show{display:flex}
.cxd .stamp3 div{padding:14px 24px;border:3px solid #F04438;border-radius:12px;color:#D92D20;font-size:22px;font-weight:800;background:#fff;transform:rotate(-4deg);text-align:center}
.cxd .stamp3 small{display:block;font-size:12.5px;font-weight:500;color:var(--ink2);margin-top:4px}
.cxd .met{display:grid;grid-template-columns:1.25fr 1fr;gap:12px}
.cxd table.vars{width:100%;border-collapse:collapse;font-size:12px}
.cxd .vars td,.cxd .vars th{padding:3px 5px;border-bottom:1px solid var(--line);text-align:left}
.cxd .vars th{font-size:10.5px;color:var(--ink3);font-weight:500}
.cxd .vars td:first-child{font-family:var(--mono);font-size:11px;color:var(--ink2)}
.cxd .vars td.c{color:#2F6BFF;font-weight:700}
.cxd .checks{display:flex;flex-direction:column;gap:6px}
.cxd .ck{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;padding:6px 8px;border-radius:8px;background:#F9FAFB}
.cxd .exp{display:flex;gap:5px}.cxd .exp span{flex:1;text-align:center;font-size:11px;color:var(--ink3);border:1px solid var(--line);border-radius:6px;padding:4px 0}
.cxd .replyp{opacity:0;transition:.4s;min-height:90px}.cxd .replyp.show{opacity:1}
.cxd .rh{font-size:12px;color:var(--ink3);margin-bottom:6px;display:flex;gap:8px}.cxd .rh b{color:#0E7C8A}
.cxd .reply{font-size:13px;line-height:1.7;background:#F5FBFC;border-left:3px solid #12B5C9;padding:8px 12px;border-radius:0 8px 8px 0}
@media (max-width:1100px){.cxd{grid-template-columns:1fr 1fr}.cxd .cx-r{grid-column:1/-1}}
@media (max-width:700px){.cxd{grid-template-columns:1fr}.cxd .met{grid-template-columns:1fr}.cxd .viewer{height:320px}}
.cxd .chips{position:static;background:none;padding:0;margin:0;top:auto;z-index:auto}
.cxd .st{display:inline-block;border-top:0;animation:none;transform:none;opacity:1;gap:0}
.cxd .rules .st{opacity:0}.cxd .rules tr.done .st{opacity:1}
.cxd .rules th{white-space:nowrap}

@media (max-width:1100px){.cxd{grid-template-columns:1fr 1fr}.cxd .cx-r{grid-column:1/-1}}
@media (max-width:700px){.cxd{grid-template-columns:1fr;padding:10px}.cxd .cx-r{grid-column:auto}.cx-wx{min-height:0}.cxd .viewer{height:320px}.cxd .met{grid-template-columns:1fr}}

/* ===== v7 整体节奏 ===== */
/* 章节标题收一档，给页头主标题让出层级 */
.sh h2{font-size:clamp(28px,3.4vw,44px)}
.sh{margin-bottom:40px}
section{padding:96px 0}
/* 子页页头：更紧凑，右侧品牌环 */
.phero{padding:80px 0 56px}
.phero h1{font-size:clamp(36px,5vw,60px)}
.phero .wrap{z-index:1}
.phero-motif{position:absolute;right:max(24px,calc(50% - 640px));top:50%;width:420px;height:420px;transform:translateY(-50%);opacity:.85;pointer-events:none;z-index:0}
.phero-motif .mc{fill:rgba(11,16,32,.04)}
.phero .lead{max-width:620px}
.toc{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}
.toc a{font-size:13.5px;font-weight:600;color:var(--ink2);padding:7px 14px;border-radius:99px;background:rgba(255,255,255,.8);border:1px solid var(--line)}
.toc a:hover{color:var(--blue);border-color:rgba(47,107,255,.35)}
section[id]{scroll-margin-top:72px}
/* 精选演示：比章节标题低一级 */
#custom{padding-top:24px}
.feat{display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:end;margin-bottom:18px}
.feat .fb{display:inline-block;font-size:12px;font-weight:700;color:#B54708;background:#FFFAEB;border:1px solid #FEDF89;border-radius:99px;padding:3px 10px;margin-bottom:10px}
.feat h3{font-size:clamp(22px,2.4vw,30px);font-weight:650;letter-spacing:-.02em;line-height:1.3}
.feat p{font-size:15px;color:var(--ink2);margin-top:8px;max-width:620px}
.cflow{display:flex;align-items:center;gap:8px;margin:0}
.cfi{display:flex;flex-direction:column;padding:9px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);min-width:108px}
.cfi .mono{font-size:10.5px;color:var(--blue)}.cfi b{font-size:13.5px}.cfi small{font-size:11.5px;color:var(--ink3)}
.cfar{width:18px;height:2px;background:linear-gradient(90deg,#2F6BFF,#12B5C9);position:relative;flex:none}
.cfar::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left-color:#12B5C9}
/* 不做什么：一行五条 */
.notdo{grid-template-columns:repeat(5,1fr)}
.notdo li{flex-direction:column;align-items:flex-start;gap:10px;font-size:14.5px;padding:18px}
@media (max-width:1100px){.feat{grid-template-columns:1fr}.phero-motif{opacity:.35;right:-120px}.notdo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.cflow{flex-wrap:wrap}.cfar{display:none}.cfi{flex:1 1 40%}.phero-motif{display:none}.notdo{grid-template-columns:1fr}.notdo li{flex-direction:row;align-items:center}}
.phero-motif .mc{display:none}
/* 关于 · 我们是谁 */
.whorow{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.wv h2{font-size:clamp(34px,4.4vw,56px);font-weight:600;letter-spacing:-.03em;line-height:1.12;margin:10px 0 16px;font-family:"SF Pro Display",-apple-system,"PingFang SC","AvantHead",sans-serif}
.wv p{font-size:16px;color:var(--ink2);max-width:440px}
.wl{display:grid;gap:0;border-top:1px solid var(--line2)}
.wi{display:grid;grid-template-columns:90px 1fr;gap:4px 20px;padding:22px 0;border-bottom:1px solid var(--line)}
.wi .mono{grid-row:span 2;font-size:12px;color:var(--blue);padding-top:4px;letter-spacing:.08em}
.wi h3{font-size:18px;font-weight:650}
.wi p{font-size:14.5px;color:var(--ink2)}
.reserve{margin-top:28px}
@media (max-width:900px){.whorow{grid-template-columns:1fr;gap:28px}.wi{grid-template-columns:1fr}.wi .mono{grid-row:auto}}
/* v9 去产品化：场景「装在哪里」标签 + 说明 */
.dk-cv h4 .at{margin-left:auto;font-size:11.5px;font-weight:600;color:#067647;background:#ECFDF3;border:1px solid #ABEFC6;border-radius:99px;padding:2px 10px;white-space:nowrap}
.desk-note{text-align:center;font-size:13.5px;color:var(--ink3);margin-top:14px}
/* 老板晨报 */
.v-boss{display:flex;flex-direction:column;gap:9px}
.v-boss .bh3{display:flex;align-items:center;gap:8px}
.v-boss .bh3 b{font-size:13px;flex:1}.v-boss .bh3 .mono{font-size:11px;color:var(--ink3)}
.v-boss .kps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.v-boss .kp{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 10px 26px;overflow:hidden}
.v-boss .kp small{font-size:11px;color:var(--ink3);display:block}
.v-boss .kp b{font-size:18px;font-weight:700;letter-spacing:-.02em;display:block;margin:1px 0}
.v-boss .kp .dl{font-size:11px;font-weight:700}
.v-boss .kp.up .dl{color:#079455}.v-boss .kp.dn .dl{color:#D92D20}.v-boss .kp.wn .dl{color:#DC6803}
.v-boss .kp.dn{border-color:#FDA29B;background:#FFFBFA}
.v-boss .sp{position:absolute;left:8px;right:8px;bottom:5px;height:18px;width:calc(100% - 16px)}
.v-boss .sp path{fill:none;stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-dasharray:300;stroke-dashoffset:300;opacity:1!important}
.dp.on .v-boss .sp path{animation:drawL 1.2s ease var(--d) forwards}
.v-boss .sp.up path{stroke:#12B76A}.v-boss .sp.dn path{stroke:#F04438}.v-boss .sp.wn path{stroke:#F79009}
.v-boss .bb2{display:grid;grid-template-columns:1.4fr 1fr;gap:9px}
.v-boss .whys{background:#0B1020;border-radius:12px;padding:10px 12px;color:#fff;display:flex;flex-direction:column;gap:8px}
.v-boss .whys .lab{color:#7FA6FF;margin:0}
.v-boss .wy{border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(127,166,255,.22);padding:7px 9px}
.v-boss .wh{display:flex;align-items:center;gap:8px}.v-boss .wh b{font-size:12.5px;flex:1}
.v-boss .wh .cite{background:rgba(127,166,255,.15);color:#A9C4FF}
.v-boss .wy p{font-size:12px;color:rgba(255,255,255,.75);margin-top:3px}
.v-boss .wbs{display:flex;flex-direction:column;gap:4px;margin-top:5px}
.v-boss .wb{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:11.5px;color:rgba(255,255,255,.75)}
.v-boss .wb i{height:7px;border-radius:4px;background:linear-gradient(90deg,#F79009,#F04438);width:0}
.dp.on .v-boss .wb i{animation:wbW .7s ease var(--d) forwards}
@keyframes wbW{to{width:var(--w)}}
.v-boss .wb b{font-size:11.5px;color:#FFB84D}
.v-boss .todo{background:#FFFCF5;border:1px solid #FEDF89;border-radius:12px;padding:10px 12px}
.v-boss .todo .lab{color:#B54708;margin-bottom:6px}
.v-boss .todo ol{list-style:none;display:flex;flex-direction:column;gap:7px}
.v-boss .todo li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;font-weight:600;line-height:1.4}
.v-boss .todo li span{flex:none;width:18px;height:18px;border-radius:50%;background:#FEF0C7;color:#B54708;font-size:10.5px;display:grid;place-items:center}
@media (max-width:900px){.v-boss .kps{grid-template-columns:1fr 1fr}.v-boss .bb2{grid-template-columns:1fr}}
/* AI 化地图（合作模式） */
.adopt{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:center;margin-top:40px}
.ad-t h3{font-size:clamp(22px,2.4vw,28px);font-weight:650;letter-spacing:-.02em;line-height:1.3}
.ad-t p{font-size:15px;color:var(--ink2);margin:10px 0 16px}
.ad-r{list-style:none;display:flex;flex-direction:column;gap:6px}
.ad-r li{font-size:13.5px;color:var(--ink2);padding-left:20px;position:relative}
.ad-r li::before{content:"✓";position:absolute;left:0;color:#079455;font-weight:700}
.ad-b{padding:0!important}
.ad-in{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;padding:16px}
.ad-m .wk{font-size:12px;font-weight:700;color:#2F6BFF;margin-bottom:8px}
.grid5{display:grid;grid-template-columns:44px repeat(5,1fr);gap:5px;font-size:11px;color:var(--ink3);text-align:center}
.grid5>b{font-weight:600}
.grid5 .rl{grid-column:1;grid-row:2/span 5;display:grid;grid-template-rows:repeat(5,1fr);gap:5px;text-align:left}
.grid5 .rl b{font-weight:600;display:flex;align-items:center;color:var(--ink2)}
.grid5 .cells{grid-column:2/span 5;grid-row:2/span 5;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.ac{height:30px;border-radius:6px;border:1px dashed var(--line2);background:#fff;transition:background .5s,border-color .5s,transform .3s;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:700;color:#fff}
.ac.idle{border:1px solid #FEC84B;background:#FFFAEB}
.ac.on{border:1px solid #2F6BFF;background:linear-gradient(135deg,#2F6BFF,#12B5C9)}
.ac.pop{transform:scale(1.12)}
.lgs2{display:flex;gap:12px;margin-top:10px;font-size:11px;color:var(--ink3)}
.lgs2 i{display:inline-block;width:12px;height:9px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.lgs2 .on i{background:#2F6BFF}.lgs2 .idle i{background:#FFFAEB;border:1px solid #FEC84B}.lgs2 .off i{border:1px dashed var(--line2)}
.ad-s{display:flex;flex-direction:column;gap:10px}
.st3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.st3>div{border-radius:10px;padding:8px 10px;background:#F9FAFB;border:1px solid var(--line)}
.st3 b{display:block;font-size:22px;font-weight:700;font-family:var(--mono)}
.st3 small{font-size:11px;color:var(--ink3)}
.st3 .on b{color:#2F6BFF}.st3 .idle b{color:#DC6803}.st3 .off b{color:var(--ink3)}
.spark3{display:flex;align-items:flex-end;gap:5px;height:54px;padding:6px 8px;border-radius:10px;background:#F9FAFB;border:1px solid var(--line)}
.spark3 i{flex:1;border-radius:3px 3px 0 0;background:#C7D7FE;height:4%;transition:height .6s}
.spark3 i.cur{background:linear-gradient(#2F6BFF,#12B5C9)}
.calls{font-size:11.5px;color:var(--ink2)}.calls b{font-size:14px;color:var(--ink)}
.pend{border-radius:10px;background:#FFFCF5;border:1px solid #FEDF89;padding:8px 10px;opacity:0;transition:opacity .5s}
.pend.show{opacity:1}
.pend .lab{color:#B54708;margin-bottom:4px}
.pend ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.pend li{font-size:11.5px;display:flex;flex-direction:column}.pend li b{font-size:12px}.pend li span{color:var(--ink2)}
@media (max-width:1000px){.adopt,.ad-in{grid-template-columns:1fr}}
/* 3. 培训 / 软件 / 咨询 → 接成一条线 */
.gap3{margin-top:16px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.75);padding:24px 26px}
.gh3{font-size:13px;font-weight:600;color:var(--ink3);margin-bottom:12px}
.gsegs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gs{position:relative;border-radius:12px;background:#F9FAFB;border:1px dashed var(--line2);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.gs .gk{font-size:12px;font-weight:700;color:var(--ink3)}
.gs b{font-size:16px}.gs small{font-size:13px;color:#B54708}
.gs .cut{position:absolute;right:-9px;top:50%;width:6px;height:6px;border-radius:50%;background:#F04438;box-shadow:0 0 0 3px rgba(240,68,56,.15)}
.gs:last-child .cut{display:none}
.gjoin{margin-top:16px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}
.gjoin .lab{margin:0;color:#2F6BFF}
.gline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.gline::before{content:"";position:absolute;left:4%;right:4%;top:50%;height:3px;border-radius:2px;background:linear-gradient(90deg,#2F6BFF,#12B5C9);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1) .2s}
.gap3.in .gline::before{transform:none}
.gline span{position:relative;z-index:1;justify-self:center;font-size:13px;font-weight:600;background:#fff;border:1.5px solid #2F6BFF;border-radius:99px;padding:5px 12px;opacity:0;transform:translateY(6px);transition:.5s;transition-delay:calc(.4s + var(--i) * .25s)}
.gap3.in .gline span{opacity:1;transform:none}
.gres{font-size:clamp(16px,1.7vw,20px);font-weight:650;white-space:nowrap;opacity:0;transition:.6s 1.6s}
.gap3.in .gres{opacity:1}
/* 2. 场景页行业：横排文字版，与首页图片卡区分 */
.irows{display:grid;border-top:1px solid var(--line2)}
.irow{display:grid;grid-template-columns:260px 1fr 1fr;gap:28px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.irow .mono{font-size:12px;color:var(--blue)}
.irow h3{font-size:20px;font-weight:650;margin:4px 0 4px}
.irow .sub{font-size:13px;color:var(--ink3);font-weight:500}
.irow p{font-size:14.5px;color:var(--ink2)}
.isc{display:flex;flex-direction:column;gap:6px}
.isc span{font-size:14px;font-weight:600;padding-left:18px;position:relative}
.isc span::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:2px;background:linear-gradient(135deg,#2F6BFF,#12B5C9)}
/* 6. 物料柜演示：收窄、更精密 */
.cxwrap{max-width:1120px;margin:0 auto}
.cxd{grid-template-columns:232px 1fr 1fr;gap:10px;padding:10px;align-items:start}
.cxd>div{gap:10px}
.cx-wx{flex:none;min-height:0}
.cx-wx .wb{padding:10px;gap:8px}.cx-wx .bb{font-size:12.5px;padding:6px 9px}.cx-wx .av{width:26px;height:26px}
.cxd .pn{padding:10px 12px;border-radius:12px}
.cxd .ph{font-size:12px;margin-bottom:8px}
.cxd .req{font-size:12.5px;min-height:0}
.cxd table.rules{font-size:11.5px}.cxd .rules td,.cxd .rules th{padding:3px 5px}
.cxd .verdict{min-height:0;padding:9px 12px}.cxd .verdict .big{font-size:18px}.cxd .verdict .vd{font-size:12px}
.cxd .viewer{height:300px}
.cxd .reply{font-size:12px}.cxd .replyp{min-height:0}
.cx-run{height:38px;font-size:14px}
.feat{max-width:1120px;margin-left:auto;margin-right:auto}
@media (max-width:1100px){.cxd{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.gsegs,.gjoin{grid-template-columns:1fr}.gline{grid-template-columns:1fr 1fr;gap:8px}.gline::before{display:none}.gs .cut{display:none}.irow{grid-template-columns:1fr;gap:10px}}
@media (max-width:700px){.cxd{grid-template-columns:1fr}}
/* 4. 架构图 v2 */
.arch{background:radial-gradient(ellipse 80% 70% at 50% 40%,#0F1830 0%,#070A14 70%)!important;padding:12px 16px 4px!important}
.a2 .hd{fill:rgba(255,255,255,.55);font-size:12px;font-weight:600;letter-spacing:.2em;text-anchor:middle}
.a2 .hr{stroke:rgba(255,255,255,.1);stroke-width:1}
.a2 .bl{fill:none;stroke:rgba(127,166,255,.14);stroke-width:1.2}
.a2 .f1{fill:none;stroke:url(#lg);stroke-width:2;stroke-linecap:round;stroke-dasharray:14 400;animation:fl2 2.6s linear infinite;filter:url(#glow)}
@keyframes fl2{from{stroke-dashoffset:414}to{stroke-dashoffset:0}}
.a2 .wbl{fill:none;stroke:rgba(255,184,77,.22);stroke-width:1.4;stroke-dasharray:3 6}
.a2 .wbp{fill:none;stroke:url(#wg);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:22 700;animation:fl3 3.2s linear infinite;filter:url(#glow)}
@keyframes fl3{from{stroke-dashoffset:722}to{stroke-dashoffset:0}}
.a2 .nd rect:first-child{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.12)}
.a2 .nd .ic{fill:rgba(91,140,255,.16);stroke:none}
.a2 .nd .it{fill:#A9C4FF;font-size:11px;font-weight:700;text-anchor:middle}
.a2 .nd .tx{fill:#E8EEFA;font-size:13.5px;font-weight:600;text-anchor:start}
.a2 .agt rect:first-child{stroke:rgba(61,220,151,.3);fill:rgba(61,220,151,.04)}
.a2 .agt .ic{fill:rgba(61,220,151,.14)}.a2 .agt .it{fill:#3DDC97;font-size:9px;animation:blink 2.4s ease-in-out infinite}
.a2 .ring{fill:none;transform-box:fill-box;transform-origin:center}
.a2 .r1{stroke:rgba(127,166,255,.22);stroke-dasharray:2 10;animation:spin 60s linear infinite}
.a2 .r2{stroke:rgba(63,217,240,.3);stroke-width:1.2;stroke-dasharray:90 30 4 30;animation:spin 30s linear infinite reverse}
.a2 .orb{fill:#3FD9F0;filter:url(#glow);transform-box:view-box;transform-origin:560px 236px}
.a2 .chip{fill:url(#cg);filter:drop-shadow(0 0 30px rgba(79,134,255,.5))}
.a2 .chipline{fill:none;stroke:url(#lg);stroke-width:1.5}
.a2 .ct{fill:#fff;font-size:26px;font-weight:650;text-anchor:middle;letter-spacing:-.5px}
.a2 .cs{fill:rgba(207,224,255,.75);font-size:12.5px;text-anchor:middle;letter-spacing:.06em}
.a2 .ver{fill:#3DDC97;font-family:var(--mono);font-size:11px;text-anchor:middle}
.a2 .fc rect{fill:rgba(12,18,36,.9);stroke:rgba(127,166,255,.45)}
.a2 .fc text{fill:#CFE0FF;font-size:12px;font-weight:600;text-anchor:middle}
.a2 .fc{animation:fcP 2.8s ease-in-out infinite}
.a2 .hum rect{fill:rgba(255,184,77,.07);stroke:rgba(255,184,77,.7);stroke-width:1.2}
.a2 .hs{fill:#FFD08A;font-size:15px;font-weight:650;text-anchor:middle}
.a2 .wbc rect{fill:rgba(12,18,36,.95);stroke:rgba(255,184,77,.5)}
.a2 .wbc text{fill:#FFD9A3;font-size:12px;font-weight:600;text-anchor:middle}
.a2 .wbn{fill:rgba(255,255,255,.5);font-size:12px;text-anchor:middle;letter-spacing:.06em}
.a2 .halo{animation:halo 5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.arch .arch-svg.a2 .nd .tx{text-anchor:start;fill:#E8EEFA;font-size:13.5px}
.arch .arch-svg.a2 .nd .it{text-anchor:middle;fill:#A9C4FF;font-size:11px}
.arch .arch-svg.a2 .agt .it{fill:#3DDC97;font-size:9px}
.arch .arch-svg.a2 .nd rect{fill:rgba(255,255,255,.035);stroke:rgba(255,255,255,.12)}
.arch .arch-svg.a2 .nd .ic{fill:rgba(91,140,255,.16);stroke:none}
.arch .arch-svg.a2 .agt rect:first-child{stroke:rgba(61,220,151,.3);fill:rgba(61,220,151,.04)}
.arch .arch-svg.a2 .agt .ic{fill:rgba(61,220,151,.14)}
/* 场景按钮改为竖排列表 */
.cx-sc{flex-direction:column;gap:6px}
.cx-sc button{display:flex;align-items:baseline;gap:8px;padding:8px 10px}
.cx-sc button b{display:inline;font-size:13px;white-space:nowrap}
.cx-sc button span{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
