@charset "UTF-8";
:root{--bg:#f5f7fa;--surface:#fff;--text:#111e2b;--muted:#576573;--line:#d8dfe5;--accent:#007c95;--bright:#69e6ed;--dark:#081622;--pad:clamp(22px,6vw,100px);--sans:"Source Han Sans SC","Source Han Sans CN","Noto Sans CJK SC","Noto Sans SC",sans-serif;--ease:cubic-bezier(.2,.75,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.3}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ec971a;outline-offset:5px}::selection{background:#62dce6;color:#06131c}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;color:#111;padding:10px}.skip:focus{top:10px}.header{height:86px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:14px;line-height:1.1;white-space:nowrap}.brand strong{font-family:var(--sans);font-size:30px;letter-spacing:-1.8px;font-weight:900}.brand strong span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:3px}.brand small{font-size:14px;letter-spacing:3px;border-left:1px solid #80949f;padding:4px 0 4px 15px}.header nav{display:flex;align-items:center;gap:34px;font-size:14px}.header nav a{padding:9px 0;position:relative}.header nav a[aria-current=page]:after{content:"";position:absolute;height:2px;bottom:0;left:0;width:24px;background:var(--accent)}.header nav a:hover{color:var(--accent)}.header nav .nav-contact{border:1px solid var(--line);padding:10px 20px;margin-left:10px}.nav-contact span{margin-left:20px}.menu-toggle{display:none;background:none;border:1px solid #80949f;padding:6px 12px}.hero{height:100vh;height:100svh;min-height:650px;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--dark);display:flex;align-items:center;padding:55px var(--pad) 130px}.hero-media{position:absolute;inset:0;z-index:-2}.hero-poster,.hero video{position:absolute;width:100%;height:100%;object-fit:cover}.hero-poster{object-position:center 42%;filter:saturate(.5);animation:hero-enter 1.6s var(--ease) both}.hero video{opacity:0;transition:opacity .8s}.hero video.is-playing{opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,12,20,.85),rgba(2,12,20,.30) 75%),linear-gradient(0deg,#06131dde,transparent 50%)}.hero-copy{max-width:940px;animation:copy-enter .9s .12s var(--ease) both}.eyebrow{font:12px/1.5 var(--sans);font-weight:600;letter-spacing:2.5px;color:var(--accent);margin-bottom:24px}.hero .eyebrow{color:#b7cbd3;display:flex;align-items:center;gap:12px}.status-dot{width:6px;height:6px;background:var(--bright);display:inline-block}.hero h1{font-size:clamp(40px,5.7vw,86px);font-weight:600;line-height:1.22;letter-spacing:-2px;margin:24px 0}.accent-text{color:var(--bright)}.hero p{font-size:clamp(16px,1.45vw,20px);line-height:1.9;color:#e0e7eb;margin-top:24px}.period{color:var(--bright)}.hero-actions{display:flex;gap:34px;align-items:center;margin-top:38px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;min-height:54px;padding:14px 26px;border:1px solid transparent;font-size:16px;transition:transform .25s,background .25s}.primary{background:var(--accent);color:#fff}.hero .primary{background:var(--bright);color:#082028}.button:hover{transform:translateY(-3px)}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;border-bottom:1px solid currentColor;padding:7px 0}.text-link:hover span{transform:translateX(4px)}.text-link span{transition:transform .25s}.hero-bottom{position:absolute;bottom:36px;left:var(--pad);right:var(--pad);display:flex;align-items:center;gap:30px;border-top:1px solid #ffffff40;padding-top:20px;font-size:12px;letter-spacing:1px}.video-toggle{background:#08162280;border:1px solid #ffffff60;color:#fff;padding:8px 16px;font-size:12px;min-width:150px}.video-toggle span{padding-left:12px}.scroll-link{margin-left:auto}.technical-rail{display:none}.scan-line{display:none}.section{padding:100px var(--pad)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:44px}.section-heading h2,.technology h2,.contact h2{font-size:clamp(30px,3.15vw,48px);font-weight:550;letter-spacing:-1px}.section-description{color:var(--muted);max-width:380px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solution-card{padding:36px 30px 30px 0;position:relative}.solution-card+.solution-card{border-left:1px solid var(--line);padding-left:30px}.card-number{font:12px var(--sans);letter-spacing:1.5px;color:var(--accent);display:block;margin-bottom:55px}.solution-card h3{font-size:23px;font-weight:550;margin-bottom:20px}.solution-card p{color:var(--muted);min-height:90px;max-width:320px}.solution-card a{display:flex;justify-content:space-between;align-items:center;margin-top:32px;font-size:14px}.solution-card a span{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .25s}.solution-card:hover a span{background:var(--accent);color:#fff}.technology{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;background:var(--surface);align-items:start}
.technology>.section-heading{grid-column:1/-1}.technology-image{position:relative;overflow:hidden}.technology-image img{aspect-ratio:4/5;height:auto;filter:saturate(.55)}.technology-image>span{position:absolute;bottom:20px;left:20px;right:20px;color:#fff;background:#071923b8;padding:12px;font:11px var(--sans);letter-spacing:1.5px}.technology-copy>p:not(.eyebrow){color:var(--text);font-size:17px;margin:64px 0 30px}.process{list-style:none;padding:0;margin:30px 0}.process li{display:flex;gap:24px;border-top:1px solid var(--line);padding:16px 0}.process li>span{font:14px var(--sans);color:var(--accent);padding-top:6px}.process h3{font-size:17px;font-weight:600}.process p{font-size:14px;color:var(--muted);margin-top:6px}.sample-line{font-size:13px;color:var(--muted);margin:-20px 0 28px}.contact{background:var(--dark);color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center}.contact .eyebrow{color:var(--bright)}.contact>div>p:not(.eyebrow){color:#c3d1da;margin-top:25px}.contact-card{border-top:1px solid #ffffff40;padding-top:28px}.contact-card>span{font-size:14px;color:#bbcbd5}.contact-card h3{font-size:27px;margin-top:20px}.contact-card p{font-size:14px;color:#bbcbd5;margin:15px 0 24px}.contact .primary{background:var(--bright);color:#09232c}.footer{padding:45px var(--pad) 100px;background:#06111b;color:#adbdc8;display:flex;gap:32px;align-items:center;flex-wrap:wrap;font-size:12px}.footer .brand{color:#fff}.footer .brand strong{font-size:25px}.footer .brand small{font-size:12px}.footer>small{margin-left:auto;letter-spacing:1px}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);padding:40px;max-width:560px;width:calc(100% - 32px);max-height:85vh;max-height:85svh;overflow:auto}dialog::backdrop{background:#041018b3}dialog h2{font-size:28px;margin-bottom:20px}dialog p{color:var(--muted);font-size:14px;margin-bottom:20px}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px}dialog label{display:block;font-size:14px;margin-top:25px}textarea{resize:vertical;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);padding:15px;margin:10px 0 20px;font-size:16px}.copy-status{min-height:24px;margin-top:14px}.page-hero{padding:75px var(--pad) 55px;background:var(--surface);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(38px,5vw,70px);font-weight:550;letter-spacing:-1px}.page-hero .description{margin-top:24px;color:var(--muted);max-width:580px}.breadcrumb{display:flex;gap:14px;color:var(--muted);font-size:13px;margin-bottom:35px}







@keyframes hero-enter{from{transform:scale(1.035);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes copy-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes scan{0%,100%{transform:translateY(15px);opacity:0}15%,85%{opacity:.6}50%{transform:translateY(380px)}}
@media(min-width:1600px){.section,.header,.footer,.page-hero{padding-left:max(var(--pad),calc((100vw - 1480px)/2));padding-right:max(var(--pad),calc((100vw - 1480px)/2))}}
@media(max-width:1050px){.header nav{gap:20px}.brand small{display:none}.hero{min-height:620px}.hero h1{font-size:58px}.section{padding-top:75px;padding-bottom:75px}.technology{gap:5%}.hero-caption{display:none}.solution-card p{min-height:115px}.hero .eyebrow{font-size:10px}}
@media(max-width:760px){.header{height:70px}.brand strong{font-size:27px}.brand small{display:block}.menu-toggle{display:block}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--surface);color:var(--text);padding:24px var(--pad);flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav .nav-contact{margin:0}.header nav a{font-size:16px}.hero{height:100vh;height:100svh;min-height:600px;padding:65px var(--pad) 130px;align-items:center}.hero h1{font-size:clamp(36px,8.9vw,62px);letter-spacing:-1px}.hero .eyebrow{font-size:9px;letter-spacing:1.25px;line-height:1.8}.hero p{font-size:15px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-bottom{bottom:26px;gap:12px;padding-top:16px}.hero-bottom .scroll-link{font-size:11px}.section{padding-top:60px;padding-bottom:60px}.section-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:30px}.section-heading h2,.technology h2,.contact h2{font-size:32px}.section-description{font-size:15px}.solution-grid{grid-template-columns:1fr}.solution-card,.solution-card+.solution-card{border-left:0;padding:28px 0}.solution-card+.solution-card{border-top:1px solid var(--line)}.card-number{margin-bottom:22px}.solution-card p{min-height:0;max-width:none;font-size:15px}.solution-card a{margin-top:18px}.technology{grid-template-columns:1fr;gap:20px}.technology-copy{display:contents}.technology-copy>.eyebrow{order:1;margin:0}.technology-copy>h2{order:2;margin:0}.technology-image{order:3}.technology-copy>.trial-evaluation{order:5;margin:0}.technology-copy>.button{margin-top:6px;order:6;justify-self:start}.technology-copy>.visit-us{margin-top:0;order:6}.technology-image img{aspect-ratio:auto;height:220px;width:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.4);transform-origin:50% 42%}.technology-copy>p:not(.eyebrow){order:4;font-size:15px;margin:0 0 6px}.contact{grid-template-columns:1fr;gap:40px}.contact-card{padding-top:25px}.footer{gap:20px;padding-top:35px}.footer>p{width:100%;order:2}.footer>small{margin-left:0;order:3}.footer>a:last-of-type{margin-left:auto}dialog{padding:32px 23px}.page-hero{padding-top:45px;padding-bottom:40px}.page-hero h1{font-size:40px}.sample-line{margin-top:0}.technical-rail{display:none!important}
  }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scan-line{display:none!important}}
@media print{.video-toggle,.menu-toggle,.header,.hero-media,dialog{display:none!important}body{background:#fff;color:#111}.section,.page-hero{padding:25px}.hero{height:auto;min-height:0;padding:30px;color:#111;background:#fff}.hero p,.hero .eyebrow{color:#333}.hero-bottom{display:none}.footer{padding:20px}}


.systems{padding-top:35px;background:var(--bg)}
.systems .section-description small{font-size:12px;color:var(--muted)}



.system-deck{--sheet-bg:#102939;--sheet-line:#476b7c;--sheet-ink:#e0eff4;--sheet-accent:#78dfeb;--sheet-node:#163749;border:1px solid var(--sheet-line);background:var(--sheet-bg);color:var(--sheet-ink);overflow:hidden}
.system-stage{display:flex;height:410px;isolation:isolate}
.system-sheet{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:var(--sheet-bg);transition:flex-grow .65s var(--ease);padding:28px 0 22px}
.system-sheet+.system-sheet{border-left:1px solid var(--sheet-line)}
.system-deck[data-variant=accordion][data-active="0"] [data-sheet="0"],.system-deck[data-variant=accordion][data-active="1"] [data-sheet="1"],.system-deck[data-variant=accordion][data-active="2"] [data-sheet="2"]{flex-grow:3.2}
.sheet-top,.sheet-bottom{position:relative;z-index:2;margin:0 24px;display:flex;flex-direction:column;gap:10px;white-space:nowrap}
.sheet-top{padding-bottom:18px;font-size:19px}
.sheet-top span:first-child{font:11px var(--sans);letter-spacing:1.6px;color:var(--sheet-accent)}
.sheet-bottom{position:absolute;bottom:24px;left:0;right:0;font-size:12px;flex-direction:row;justify-content:space-between;color:var(--sheet-accent)}
.sheet-bottom span:first-child{opacity:0;transition:opacity .4s;white-space:nowrap}
.sheet-bottom span:last-child{font:28px var(--sans)}
.system-deck[data-active="0"] [data-sheet="0"] .sheet-bottom span:first-child,.system-deck[data-active="1"] [data-sheet="1"] .sheet-bottom span:first-child,.system-deck[data-active="2"] [data-sheet="2"] .sheet-bottom span:first-child{opacity:1}
.system-sheet svg{position:absolute;left:50%;top:90px;width:480px;max-width:none;height:272px;transform:translateX(-50%) scale(.74);opacity:.25;transition:transform .65s var(--ease),opacity .4s;pointer-events:none;z-index:1}
.system-deck[data-active="0"] [data-sheet="0"] svg,.system-deck[data-active="1"] [data-sheet="1"] svg,.system-deck[data-active="2"] [data-sheet="2"] svg{transform:translateX(-50%) scale(1);opacity:1}
.diagram-lines{fill:none;stroke:var(--sheet-line);stroke-width:2}
.diagram-node{fill:var(--sheet-node);stroke:var(--sheet-accent);stroke-width:1.4}
.diagram-label{fill:var(--sheet-ink);font:17px var(--sans);text-anchor:middle}
.diagram-signal{fill:none;stroke:var(--sheet-accent);stroke-width:2.5}
.diagram-junction{fill:var(--sheet-accent)}
.system-sheet>button{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;z-index:5;cursor:pointer}
.system-sheet>button span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.system-sheet>button:focus-visible{outline:3px solid #edaf45;outline-offset:-5px}
.system-detail{border-top:1px solid var(--sheet-line);padding:25px 30px;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:36px;min-height:122px}
.system-counter{font:11px var(--sans);letter-spacing:2px;color:var(--sheet-accent)}
.system-detail h3{font-size:23px;font-weight:550;margin-top:8px}
.system-detail p{color:var(--sheet-ink);font-size:14px;opacity:.8}
.system-detail .text-link{white-space:nowrap}
.system-photo{display:none}



















@media(max-width:1050px){.system-stage{height:360px}.system-sheet svg{width:380px;height:216px}.sheet-top,.sheet-bottom{margin-left:18px;margin-right:18px}.sheet-top{font-size:16px}.system-detail{grid-template-columns:1fr 1.4fr;gap:18px}.system-detail .text-link{grid-column:2;justify-self:start}}
@media(max-width:760px){.systems{padding-top:20px}.system-stage{height:340px}.system-sheet{padding-top:22px}.sheet-top{margin:0 12px}.sheet-top span:first-child{font-size:9px;letter-spacing:.5px}.sheet-top span:last-child{writing-mode:vertical-rl;font-size:17px;letter-spacing:3px}.system-deck[data-variant=accordion][data-active="0"] [data-sheet="0"] .sheet-top span:last-child,.system-deck[data-variant=accordion][data-active="1"] [data-sheet="1"] .sheet-top span:last-child,.system-deck[data-variant=accordion][data-active="2"] [data-sheet="2"] .sheet-top span:last-child{writing-mode:horizontal-tb;letter-spacing:0}.system-sheet svg{top:110px;width:260px;height:148px}.sheet-bottom{margin:0 12px;bottom:20px}.sheet-bottom span:first-child{display:none}.sheet-bottom span:last-child{font-size:19px}.system-detail{grid-template-columns:1fr;padding:23px;gap:14px}.system-detail h3{font-size:22px}.system-detail .text-link{grid-column:auto;justify-self:start}.system-detail p{min-height:50px}}
@media(prefers-reduced-motion:reduce){.system-sheet,.system-sheet svg,.system-photo,.system-sheet:after{transition:none!important}}

.system-deck[data-variant=accordion]{--sheet-bg:#091c28;--sheet-line:#507183;--sheet-ink:#edf5f8;--sheet-accent:#9ee7ee;--sheet-node:#102b3eef}
[data-variant=accordion] .system-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.55);opacity:.5;transform:scale(1.02);transition:transform .75s var(--ease),opacity .5s}
[data-variant=accordion] [data-sheet="0"]{--panel-glow:#247e7255}
[data-variant=accordion] [data-sheet="1"]{--panel-glow:#30789b55}
[data-variant=accordion] [data-sheet="2"]{--panel-glow:#a6763055}
[data-variant=accordion] .system-sheet:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#06131cef,transparent 46%,#06131cef),linear-gradient(90deg,#06131c55,var(--panel-glow));}
[data-variant=accordion] .system-sheet:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:linear-gradient(#bee5f208 1px,transparent 1px),linear-gradient(90deg,#bee5f208 1px,transparent 1px);background-size:40px 40px}
[data-variant=accordion] .sheet-top,[data-variant=accordion] .sheet-bottom{z-index:3}
[data-variant=accordion] .sheet-top span:last-child{color:#fff;text-shadow:0 2px 12px #0008}
[data-variant=accordion] .system-sheet svg{z-index:3;opacity:0}
[data-variant=accordion] .diagram-lines{stroke:#a9d8e7}
[data-variant=accordion] .diagram-node{stroke:#afeaf1}
.system-deck[data-variant=accordion][data-active="0"] [data-sheet="0"] .system-photo,.system-deck[data-variant=accordion][data-active="1"] [data-sheet="1"] .system-photo,.system-deck[data-variant=accordion][data-active="2"] [data-sheet="2"] .system-photo{opacity:.9;transform:scale(1.1)}
.system-deck[data-variant=accordion][data-active="0"] [data-sheet="0"] svg,.system-deck[data-variant=accordion][data-active="1"] [data-sheet="1"] svg,.system-deck[data-variant=accordion][data-active="2"] [data-sheet="2"] svg{opacity:1}
@media(prefers-reduced-motion:reduce){[data-variant=accordion] .system-photo{transition:none!important}}

/* Shared machine concept: photograph and anchored labels form one coordinate system. */
.system-deck[data-variant] .system-stage{height:460px}
.system-deck[data-variant] .system-sheet[data-sheet] svg.system-scene{display:block;position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:none;transform:none;opacity:1;z-index:1;transition:transform .65s var(--ease)}
.system-scene .scene-wash{fill:#061823;opacity:.15;pointer-events:none}
.system-deck[data-variant] .system-sheet:after{z-index:2;background:linear-gradient(180deg,#06131cef,transparent 26%,transparent 74%,#06131cf0);opacity:1;pointer-events:none}
.system-deck[data-variant] .system-sheet:before{display:none}
.system-deck[data-variant] .sheet-top,.system-deck[data-variant] .sheet-bottom{z-index:3}
.system-deck[data-variant] .sheet-top{position:relative;top:0;bottom:auto;padding:0;font-size:21px}

.system-deck[data-variant] .sheet-top span:first-child{color:#d5e9ed}
.scene-annotations{opacity:0;transition:opacity .3s .15s}
.system-deck[data-active="0"] [data-sheet="0"] .scene-annotations,.system-deck[data-active="1"] [data-sheet="1"] .scene-annotations,.system-deck[data-active="2"] [data-sheet="2"] .scene-annotations{opacity:1}
.scene-pin-ring{fill:#79e7e229;stroke:#a3f4ef;stroke-width:1.2}
.scene-pin{fill:#bafffa;stroke:#07393d;stroke-width:1}
.scene-leader{fill:none;stroke:#a3f4ef;stroke-width:1.6}
.scene-tag rect,.scene-trend rect{fill:#071c2bed;stroke:#88c3cf;stroke-width:1}
.scene-tag text{fill:#fff;font:18px var(--sans)}
.scene-trend text{fill:#c8e9ed;font:13px var(--sans)}
.scene-flow{fill:none;stroke:#b0f2e9;stroke-width:2;stroke-dasharray:6 5}
.system-deck[data-active="0"] [data-sheet="0"] .scene-flow,.system-deck[data-active="1"] [data-sheet="1"] .scene-flow,.system-deck[data-active="2"] [data-sheet="2"] .scene-flow{animation:signal-pass 1.8s ease-out 1}


@keyframes signal-pass{from{stroke-dashoffset:50}to{stroke-dashoffset:0}}
@media(max-width:1050px){.system-deck[data-variant] .system-stage{height:400px}.system-deck[data-variant] .sheet-top{font-size:17px}}
@media(max-width:760px){.system-deck[data-variant] .system-stage{height:350px}.system-deck[data-variant] .sheet-top{font-size:17px}.scene-annotations{display:none}.system-deck[data-variant] .sheet-top span:last-child{font-size:17px}.system-deck[data-variant] .sheet-top span:first-child{font-size:9px}}
@media(prefers-reduced-motion:reduce){.scene-annotations,.system-deck[data-variant] .system-sheet[data-sheet] svg.system-scene{transition:none!important}.scene-flow{animation:none!important}}


/* Measured callout choreography: locate, trace, label, then one directional pass. */
.scene-annotations{transition:opacity .18s}
.scene-wire path,.scene-flow-track,.scene-flow,.scene-packet{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.scene-wire path{stroke-dasharray:100;stroke-dashoffset:100}
.scene-casing{stroke:#041019;stroke-width:5;opacity:.8}
.scene-leader{stroke:#b9f4f0;stroke-width:1.45}
.scene-pin{fill:#e7fffc;stroke:#205965;stroke-width:1.3;filter:drop-shadow(0 0 3px #76e4dd80)}
.scene-pin-ring{fill:#8be4db12;stroke:#8be4db;stroke-width:1;transform-box:fill-box;transform-origin:center;opacity:.7}
.scene-tag{opacity:0;transform:translateY(4px)}
.scene-tag rect{fill:#081e2cf0;stroke:#84b4be;stroke-width:.8}
.scene-tag text{fill:#f1fcfe}
.scene-flow-track{stroke:#052431;stroke-width:4;opacity:.8}
.scene-flow{stroke:#75c7c9;stroke-width:1.1;stroke-dasharray:100;stroke-dashoffset:100}
.scene-packet{stroke:#effffe;stroke-width:2.3;stroke-dasharray:7 93;stroke-dashoffset:107;opacity:0;filter:drop-shadow(0 0 3px #84fff2b0)}
@keyframes line-trace{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes locate-point{0%{transform:scale(.6);opacity:0}45%{transform:scale(1.6);opacity:.9}100%{transform:scale(1);opacity:.7}}
@keyframes callout-label{to{opacity:1;transform:translateY(0)}}
@keyframes signal-packet{0%{stroke-dashoffset:107;opacity:0}12%{opacity:1}82%{opacity:1}100%{stroke-dashoffset:-8;opacity:0}}
.system-deck[data-active="0"] [data-sheet="0"] .scene-pin-ring,.system-deck[data-active="1"] [data-sheet="1"] .scene-pin-ring,.system-deck[data-active="2"] [data-sheet="2"] .scene-pin-ring{animation:locate-point .65s var(--ease) both}
.system-deck[data-active="0"] [data-sheet="0"] .scene-wire path,.system-deck[data-active="1"] [data-sheet="1"] .scene-wire path,.system-deck[data-active="2"] [data-sheet="2"] .scene-wire path{animation:line-trace .6s var(--ease) calc(.12s + var(--callout-order,0)*.12s) both}
.system-deck[data-active="0"] [data-sheet="0"] .scene-tag,.system-deck[data-active="1"] [data-sheet="1"] .scene-tag,.system-deck[data-active="2"] [data-sheet="2"] .scene-tag{animation:callout-label .3s var(--ease) calc(.5s + var(--callout-order,0)*.12s) both}
.system-deck[data-active="0"] [data-sheet="0"] .scene-flow,.system-deck[data-active="1"] [data-sheet="1"] .scene-flow,.system-deck[data-active="2"] [data-sheet="2"] .scene-flow{animation:line-trace .75s var(--ease) .25s both}
.system-deck[data-active="0"] [data-sheet="0"] .scene-packet,.system-deck[data-active="1"] [data-sheet="1"] .scene-packet,.system-deck[data-active="2"] [data-sheet="2"] .scene-packet{animation:signal-packet 1.15s linear .85s both}
@media(prefers-reduced-motion:reduce){.scene-wire path,.scene-flow{animation:none!important;stroke-dasharray:none;stroke-dashoffset:0}.scene-tag{animation:none!important;opacity:1;transform:none}.scene-pin-ring{animation:none!important;transform:none;opacity:.7}.scene-packet{display:none!important}}

.media-note{display:inline-flex;align-items:center;min-height:34px;padding:8px 16px;border:1px solid #ffffff60;color:#e0e7eb;font-size:12px;letter-spacing:.3px}


@media print{.media-note{display:none!important}}


/* About page */
.about-heading h1{line-height:1.3}.page-hero.about-label{padding-top:52px;padding-bottom:36px}.about-profile{padding-top:48px}.about-photo{margin:0 0 64px;overflow:hidden;border:1px solid var(--line)}.about-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.about-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start}.about-intro h2{font-size:clamp(24px,2.8vw,40px);font-weight:550;line-height:1.55}.about-prose p{font-size:17px;line-height:2;color:var(--muted)}.about-prose p+p{margin-top:22px}.about-prose strong{color:var(--text);font-weight:600}.about-facts{display:grid;grid-template-columns:1fr 1fr 1.3fr;margin:56px 0 0;border-top:1px solid var(--line)}.about-facts>.about-address{grid-column:1/-1;margin-top:30px;border-top:1px solid var(--line);padding:22px 24px 0 0}.about-facts .about-address dd{font-size:16px;line-height:1.8;color:var(--muted)}.about-facts>div{padding:30px 24px 0 0}.about-facts dt{font-size:13px;color:var(--muted);margin-bottom:12px}.about-facts dd{margin:0;font-size:clamp(30px,4vw,54px);line-height:1.35}.about-facts dd span{font-size:16px;margin-left:14px;color:var(--muted)}.about-facts .about-focus{font-size:clamp(24px,3vw,38px)}.about-facts .about-focus span{display:block;margin:8px 0 0}.about-mission{background:var(--surface);border-top:1px solid var(--line);text-align:center}.about-mission h2{font-size:clamp(32px,4.8vw,64px);line-height:1.4;font-weight:550}.about-mission>p:not(.eyebrow){color:var(--muted);margin:24px 0 32px}.about-mission .text-link{margin-left:24px}.about-mission .eyebrow{font-size:16px;letter-spacing:3px}
.about-strategy{background:var(--surface);color:var(--text);border-top:1px solid var(--line)}.about-strategy-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:8%;align-items:start}.about-strategy .eyebrow{color:var(--accent)}.about-strategy .accent-text{color:var(--accent)}.about-strategy-lead h2{font-size:clamp(35px,4.6vw,70px);line-height:1.25;font-weight:550;letter-spacing:-1px}.about-strategy-lede{max-width:430px;margin-top:30px;color:var(--muted);font-size:17px;line-height:2}.about-strategy-copy{min-width:0}.about-market-pulse{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-market-pulse>div{padding:18px 22px 20px 0}.about-market-pulse>div+div{border-left:1px solid var(--line);padding-left:20px}.about-market-pulse strong{display:block;font-size:clamp(22px,2.8vw,38px);line-height:1.2;letter-spacing:-.5px}.about-market-pulse strong span{font-size:15px;margin-left:4px;color:var(--muted);letter-spacing:0}.about-market-pulse strong .pulse-arrow{margin:0 5px}.about-market-pulse p{margin-top:9px;color:var(--muted);font-size:12px;line-height:1.7}.about-market{margin-bottom:34px}.about-market .about-market-pulse{margin-bottom:0}.about-market-pulse>div{display:flex;flex-direction:column;justify-content:space-between}.about-market-pulse strong{white-space:nowrap}.about-market-source{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.7}@media(max-width:1120px){.about-market{margin-bottom:26px}.about-market-pulse{grid-template-columns:1fr}.about-market-pulse>div{padding:14px 0}.about-market-pulse>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}}.about-strategy-copy>p:not(.about-strategy-emphasis){color:var(--muted);font-size:17px;line-height:2}.about-strategy-emphasis{margin-top:26px;color:var(--accent);font-size:22px;line-height:1.6}.about-strategy-emphasis strong{font-weight:600}.about-choice{margin-top:32px;padding:24px 26px;border:1px solid var(--line);background:var(--bg)}.about-choice>p{margin-bottom:12px;color:var(--text);font-size:15px;font-weight:600}.about-choice ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.about-choice li{position:relative;padding-left:20px;color:var(--muted);font-size:15px;line-height:1.8}.about-choice li::before{content:"•";position:absolute;left:0;color:var(--accent)}.about-choice li strong{color:var(--text);font-weight:600}.about-vision{display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:start;margin-top:74px;padding-top:46px;border-top:1px solid var(--line)}.about-vision-title h3{font-size:clamp(24px,3vw,42px);line-height:1.45;font-weight:550}.about-vision-copy{color:var(--muted);font-size:17px;line-height:2}
@media(max-width:760px){.about-photo{margin-bottom:36px}.about-intro{grid-template-columns:1fr;gap:24px}.about-prose p{font-size:16px}.about-facts{grid-template-columns:1fr 1fr;gap:0 16px;margin-top:32px}.about-facts>div:nth-child(3){grid-column:1/-1}.about-facts>div:last-child{grid-column:1/-1;padding-bottom:0}.about-facts dd span{margin-left:8px}.about-facts .about-focus span{display:inline;margin-left:12px}.about-mission .text-link{display:table;margin:22px auto 0}.about-heading h1{font-size:clamp(30px,7vw,52px)}.about-strategy-grid{grid-template-columns:1fr;gap:42px}.about-strategy-lede{margin-top:22px;font-size:16px}.about-market-pulse{grid-template-columns:1fr;margin-bottom:30px}.about-market-pulse>div{padding:16px 0}.about-market-pulse>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.about-strategy-copy>p:not(.about-strategy-emphasis){font-size:16px}.about-strategy-emphasis{font-size:20px}.about-choice{padding:20px 18px}.about-choice li{font-size:14px}.about-vision{grid-template-columns:1fr;gap:24px;margin-top:50px;padding-top:36px}.about-vision-copy{font-size:16px}}

/* Filing and copyright */
.footer-legal{flex:0 0 100%;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #ffffff26;padding-top:20px;font-size:12px;line-height:1.8;color:#adbdc8}.footer-legal a:hover{text-decoration:underline;text-underline-offset:3px}.footer-legal span{overflow-wrap:anywhere}
/* 2026-09-22 公安联网备案：图标在前、编号在右（备案平台要求的挂载格式），
   排在 ICP 备案号之前；图标自带透明通道，深色页脚上直接合成。 */
.footer-legal .footer-police{display:inline-flex;align-items:center;gap:6px}
.footer-legal .footer-police img{display:block;flex:none;width:18px;height:20px}

/* Contact information */
.contact-details{grid-template-columns:minmax(0,1fr) 260px;gap:8%;align-items:center}.contact-list{margin:30px 0 20px;padding:20px 0;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}.contact-list>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:10px 0;font-size:16px;line-height:1.8}.contact-list dt{color:#bbcbd5}.contact-list dd{margin:0;overflow-wrap:anywhere}.contact-list a:hover{text-decoration:underline;text-underline-offset:4px}.contact-information .contact-open{background:none;border:0;border-bottom:1px solid #ffffff40;color:#c3d1da;padding:8px 0;font-size:14px;cursor:pointer}.contact-wechat{margin:0;text-align:center}.contact-wechat img{display:block;width:240px;max-width:100%;height:auto;margin:0 auto;background:#fff;border:12px solid #fff;box-sizing:content-box}.contact-wechat figcaption{margin-top:20px}.contact-wechat strong{display:block;font-size:20px;font-weight:550}.contact-wechat figcaption span{display:block;margin-top:6px;color:#c3d1da;font-size:14px}
@media(max-width:760px){.contact-details{grid-template-columns:1fr;gap:38px}.contact-list>div{grid-template-columns:64px minmax(0,1fr);gap:12px;font-size:14px}.contact-wechat img{width:220px;max-width:calc(100% - 24px)}.contact-wechat{justify-self:start;text-align:left}.contact-wechat figcaption{text-align:center}}

/* Spindle body cooling: schematic liquid flow and thermal regions */
.spindle-cutaway{background:#081b2a}.spindle-cutaway text{font-family:var(--sans)}.spindle-channel{fill:none;stroke:url(#spindle-fluid);stroke-width:15;stroke-linejoin:round;stroke-linecap:round;opacity:.72}.spindle-stream{fill:none;stroke:#d3fbff;stroke-width:4;stroke-dasharray:8 24;stroke-linejoin:round;animation:spindle-circulation 2s linear infinite}.spindle-heat{animation:spindle-exchange 4s ease-in-out infinite}.spindle-sensors{filter:drop-shadow(0 0 5px #64dbe9)}
@keyframes spindle-circulation{to{stroke-dashoffset:-64}}@keyframes spindle-exchange{0%,100%{opacity:.65}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.spindle-stream,.spindle-heat{animation:none}}

/* Contact: one light surface, aligned information and inquiry panel. */
.inquiry-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.inquiry-form .button:disabled{opacity:.65;cursor:wait;transform:none}
.contact.contact-details{background:#edf3f6;color:#193347;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(36px,6vw,90px);align-items:start;border-top:1px solid #dce6ec}
.contact-details .eyebrow{color:#16718c;margin-bottom:18px}.contact-details h2{font-weight:600}.contact-details .contact-information>p.contact-intro{color:#637583;font-size:18px;line-height:1.9;margin-top:22px}
.contact-details .contact-list{margin:28px 0;padding:22px 0;border-color:#cfdee6}.contact-details .contact-list>div{grid-template-columns:64px minmax(0,1fr);gap:20px;font-size:14px;padding:9px 0}.contact-details .contact-list dt{color:#6b7e8c}.contact-details .contact-list dd{color:#294356}.contact-details .contact-list a{color:#096d87}
.contact-details .contact-wechat{display:flex;align-items:center;gap:22px;text-align:left}.contact-details .contact-wechat img{width:112px;height:112px;border:8px solid #fff;margin:0;flex-shrink:0;box-sizing:content-box}.contact-details .contact-wechat figcaption{margin:0}.contact-details .contact-wechat strong{font-size:17px;color:#193347}.contact-details .contact-wechat figcaption span{font-size:13px;color:#637583;margin-top:5px}.contact-details .contact-information .contact-open{color:#16718c;border-color:#b7cbd6;font-size:12px;padding:4px 0;margin-top:10px}
.inquiry-form{min-width:0;background:#fff;border:1px solid #dce6ec;padding:clamp(24px,3vw,42px);border-radius:8px;box-shadow:0 14px 40px #24475f06}.inquiry-heading{margin-bottom:26px}.inquiry-heading .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:10px}.inquiry-heading h3{font-size:26px;font-weight:600}.inquiry-heading>p:last-child{font-size:13px;color:#72818d;margin-top:10px}.inquiry-form label{display:block;font-size:13px;font-weight:500;color:#294356}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inquiry-form>label,.inquiry-intents{margin-top:20px}.inquiry-form label>span,.inquiry-intents legend>span{color:#12758d}.inquiry-form input:not([type=checkbox]),.inquiry-form textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:11px 13px;border:1px solid #d5e0e6;border-radius:4px;background:#fbfcfd;color:#193347;font-size:14px;line-height:1.6;transition:border-color .2s,background .2s}.inquiry-form textarea{resize:vertical;min-height:92px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#8796a0}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#16718c;background:#fff}.inquiry-form small{font-size:12px;font-weight:400;color:#7b8993}.inquiry-form label>small{display:inline-block;margin-top:5px}.inquiry-form label[for=inquiry-message]>small{margin-left:8px}.inquiry-intents{border:0;padding:0;min-width:0}.inquiry-intents legend{font-size:13px;font-weight:500;margin-bottom:10px;padding:0}.inquiry-intents legend small{margin-left:10px}.intent-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.intent-options label{display:flex;gap:9px;align-items:center;border:1px solid #dce6ec;border-radius:4px;padding:10px;cursor:pointer;background:#fff;font-size:12px}.intent-options label:has(input:checked){border-color:#16718c;background:#eef7fa}.intent-options input{width:15px;height:15px;accent-color:#16718c;margin:0;flex-shrink:0}.inquiry-form .intent-options span{color:#385365}.inquiry-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.contact-details .inquiry-form .primary{background:#116f89;color:#fff;border-radius:4px;min-height:46px;font-size:13px}.inquiry-copy{background:none;border:0;border-bottom:1px solid #c4d5df;font-size:12px;padding:5px 0;color:#587180}.inquiry-note{color:#7b8993;font-size:11px;line-height:1.8;margin-top:15px}.inquiry-status{color:#166b81;font-size:12px;margin-top:10px}.inquiry-status:empty{display:none}
@media(max-width:960px){.contact.contact-details{grid-template-columns:1fr;gap:36px}.contact-details .contact-information{max-width:620px}.inquiry-form{max-width:760px;width:100%}}
@media(max-width:480px){.inquiry-fields{grid-template-columns:1fr;gap:18px}.inquiry-form{padding:23px 18px}.intent-options{gap:8px}.intent-options label{padding:9px 7px;font-size:11px}.contact-details .contact-list>div{gap:12px}.contact-details .contact-wechat{gap:16px}.contact-details .contact-wechat img{width:96px;height:96px}.contact-details .contact-wechat figcaption span{font-size:12px}.inquiry-heading h3{font-size:23px}}

/* Contact drawer: keep the inquiry flow beside the page on desktop and above the fold on mobile. */
body.drawer-open{overflow:hidden}.contact-side-trigger{position:fixed;z-index:25;top:50%;right:0;display:flex;align-items:center;gap:8px;padding:17px 11px;border:1px solid var(--line);border-right:0;background:var(--surface);color:var(--text);box-shadow:-6px 8px 24px #07192318;transform:translateY(-50%);writing-mode:vertical-rl;font-size:13px;letter-spacing:1px;transition:background .2s,color .2s,transform .2s}.contact-side-trigger span{font-size:16px;line-height:1}.contact-side-trigger:hover{background:var(--text);color:var(--surface);transform:translateY(-50%) translateX(-3px)}.contact-drawer{position:fixed;z-index:40;inset:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .25s ease}.contact-drawer.is-open{visibility:visible;opacity:1;pointer-events:auto}.contact-drawer-backdrop{position:absolute;inset:0;background:#07192366;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.contact-panel{position:absolute;top:0;right:0;width:min(560px,100%);height:100%;max-height:100vh;max-height:100svh;overflow-y:auto;padding:clamp(24px,4vw,48px);background:var(--surface);color:var(--text);box-shadow:-18px 0 55px #0719231f;transform:translateX(100%);transition:transform .35s var(--ease)}.contact-drawer.is-open .contact-panel{transform:translateX(0)}.contact-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.contact-panel-header .eyebrow{margin-bottom:13px}.contact-panel-header h2{font-size:clamp(26px,3vw,38px);line-height:1.35;font-weight:600}.contact-drawer-close{flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:26px;line-height:1}.contact-drawer-close:hover{background:var(--text);color:var(--surface)}.contact-panel-description{margin:20px 0;color:var(--muted);font-size:15px;line-height:1.9}.contact-panel-direct{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-panel-direct>div{min-width:0}.contact-panel-direct a{display:block;overflow-wrap:anywhere;color:var(--accent);font-size:15px}.contact-panel-direct span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.contact-panel-direct img{width:82px;height:82px;flex-shrink:0;padding:4px;background:#fff;object-fit:contain}.contact-panel .inquiry-form{max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.contact-panel .inquiry-heading{margin-bottom:20px}.contact-panel .inquiry-heading h3{font-size:23px}.contact-panel .inquiry-form .primary{background:var(--accent);color:#fff;border-radius:4px;min-height:46px;font-size:13px}.contact-invite{padding:clamp(25px,4vw,42px);border:1px solid #dce6ec;background:#fff;box-shadow:0 14px 40px #24475f06}.contact-invite-index{display:block;color:#16718c;font:11px var(--sans);font-weight:600;letter-spacing:1.8px}.contact-invite h3{margin:22px 0 16px;color:#193347;font-size:clamp(23px,2.5vw,34px);font-weight:600;line-height:1.45}.contact-invite p{color:#637583;font-size:15px;line-height:1.9}.contact-invite .button{margin-top:28px}.contact-invite>small{display:block;margin-top:15px;color:#7b8993;font-size:11px;line-height:1.7}
@media(max-width:760px){.contact-side-trigger{top:auto;right:14px;bottom:calc(76px + env(safe-area-inset-bottom));padding:10px 15px;border-right:1px solid var(--line);border-radius:999px;transform:none;writing-mode:horizontal-tb;box-shadow:0 8px 25px #07192324;font-size:12px}.contact-side-trigger:hover{transform:translateY(-2px)}.contact-side-trigger span{font-size:18px}.contact-panel{left:0;right:0;top:auto;bottom:0;width:100%;height:min(92vh,760px);height:min(92svh,760px);max-height:92vh;max-height:92svh;padding:22px 18px calc(24px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;box-shadow:0 -18px 55px #07192326;transform:translateY(100%)}.contact-panel-header h2{font-size:26px}.contact-panel-description{font-size:14px}.contact-panel-direct img{width:64px;height:64px}.contact-invite{padding:25px 20px}.contact-invite .button{width:100%}}
@media(prefers-reduced-motion:reduce){.contact-drawer,.contact-panel,.contact-side-trigger{transition:none!important}}

/* 首屏沉浸态：右侧联系图标收起（滑出首屏后自动回来）。
   由 app.js 里**驱动页头的那同一个 IntersectionObserver**给它加 is-collapsed ——
   两者共用一份状态，永远同步，不会出现"页头已变实底、图标还浮在视频上"。
   桌面它是右侧竖排胶囊（基线 transform 含 translateY(-50%)），故收起时保留该位移再往右推出屏；
   窄屏它变成右下角横排悬浮胶囊（基线 transform:none），所以单独给一条只做横推的规则。
   ⚠️ 窄屏那条必须排在基础规则之后：两者特异性相同，靠源码顺序取胜。 */
.contact-side-trigger.is-collapsed{transform:translateY(-50%) translateX(120%);opacity:0;pointer-events:none;
  transition:transform .3s var(--ease),opacity .3s var(--ease)}
@media(max-width:760px){.contact-side-trigger.is-collapsed{transform:translateX(140%)}}

.cooling-v2 .cooling-overlay{pointer-events:none}.v2-channel{fill:none;stroke:url(#v2-fluid);stroke-width:8;stroke-linejoin:round;stroke-linecap:round;opacity:.62}.v2-flow{fill:none;stroke:#ddffff;stroke-width:2.6;stroke-dasharray:7 23;stroke-linejoin:round;filter:drop-shadow(0 0 4px #7de9ff);animation:v2-liquid 2s linear infinite}.v2-sensors{fill:#bdffff;stroke:#55dce6;stroke-width:2}.v2-pulses{fill:none;stroke:#8ffff3;stroke-width:1.6;animation:v2-sense 2.8s ease-in-out infinite}.v2-leaders{fill:none;stroke:#a1ecee;stroke-width:1.4}.v2-label rect{fill:#071e30;fill-opacity:.88;stroke:#82c8df;stroke-opacity:.5}.v2-label text{fill:#e4f7ff;font-family:var(--sans);font-size:18px}.v2-heat{animation:v2-thermal 5s ease-in-out infinite}.v2-feedback{fill:none;stroke:#9ffff0;stroke-width:1.8;stroke-dasharray:4 7;animation:v2-liquid 3s linear infinite}
@keyframes v2-liquid{to{stroke-dashoffset:-60}}@keyframes v2-sense{0%,100%{opacity:.35;stroke-width:1}50%{opacity:1;stroke-width:3}}@keyframes v2-thermal{0%,100%{opacity:.5}50%{opacity:.18}}
.system-sheet:not(.is-active) .cooling-v2 *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.cooling-v2 *{animation:none!important}}

/* One shared visual language for the three functional areas. */
.system-overlay{font-family:var(--sans);pointer-events:none;opacity:0;transition:opacity .35s ease}
.system-deck[data-active="0"] [data-sheet="0"] .system-overlay,.system-deck[data-active="1"] [data-sheet="1"] .system-overlay,.system-deck[data-active="2"] [data-sheet="2"] .system-overlay{opacity:1}
.system-overlay .fx-route,.system-overlay .v2-channel{fill:none;stroke:#9fe7e7;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.system-overlay .fx-packet,.system-overlay .v2-flow{fill:none;stroke:#e3ffff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 23;filter:drop-shadow(0 0 4px #7de9ff);animation:system-flow 2.2s linear infinite}
.system-overlay .fx-leader,.system-overlay .v2-leaders path{fill:none;stroke:#b8f2ed;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.system-overlay .fx-halo,.system-overlay .v2-pulses{fill:none;stroke:#8cf1e4;stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:system-pulse 2.8s ease-in-out infinite}
.system-overlay .fx-dot,.system-overlay .v2-sensors circle{fill:#e7fffc;stroke:#4fd5d0;stroke-width:1.5;filter:drop-shadow(0 0 4px #76e4dd)}
.system-overlay .fx-label rect,.system-overlay .v2-label rect{fill:#071d2ce8;stroke:#a6dfe4;stroke-width:1;stroke-opacity:.75}
.system-overlay .fx-label text,.system-overlay .v2-label text{fill:#f0fcff;font:18px var(--sans);letter-spacing:.2px}
.system-overlay .fx-chart{fill:#071d2cd9;stroke:#a6dfe4;stroke-width:1;stroke-opacity:.75}
.system-overlay .fx-chart .fx-grid{fill:none;stroke:#9edce333;stroke-width:1}
.system-overlay .fx-chart .fx-target{fill:none;stroke:#f0c27e;stroke-width:2;stroke-dasharray:5 6}
.system-overlay .fx-chart .fx-trend{fill:none;stroke:#b6f3e9;stroke-width:2.5;filter:drop-shadow(0 0 3px #8ffff280)}
.system-overlay .fx-chart text{fill:#e5f8fb;font:16px var(--sans)}
.system-overlay .fx-chart .fx-small{fill:#b4d2db;font-size:13px}
.system-overlay .v2-heat{animation:system-heat 5s ease-in-out infinite}
.system-overlay .v2-feedback{fill:none;stroke:#a7fff1;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:4 7;animation:system-flow 3s linear infinite}
.system-sheet:not(.is-active) .system-overlay *{animation-play-state:paused}
.systems-disclaimer{max-width:980px;margin:13px 0 0 auto;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7;text-align:right}
@keyframes system-flow{to{stroke-dashoffset:-60}}@keyframes system-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes system-heat{0%,100%{opacity:.5}50%{opacity:.18}}
@media(max-width:760px){.systems-disclaimer{margin-top:11px;font-size:11px}.system-overlay .fx-label text,.system-overlay .v2-label text{font-size:16px}}
@media(prefers-reduced-motion:reduce){.system-overlay *{animation:none!important}.system-overlay{transition:none!important}}

/* Abstract temperature sensing: surface field and independent measurement points. */
.sensing-overlay .sense-field{opacity:.38;animation:sense-breathe 6s ease-in-out infinite}
.sensing-overlay .sense-warmth{opacity:.6;animation:sense-breathe 6s ease-in-out -2s infinite}
.sense-contours{fill:none;stroke:#fff4bf;stroke-width:1.2;opacity:.5}
.sense-scan{fill:#c9fffa;opacity:.5;animation:sense-sweep 7s ease-in-out infinite}
.sense-wavefield{fill:none;stroke:#81e9df;stroke-width:1;opacity:.4}
.sense-wavefield ellipse{transform-box:fill-box;transform-origin:center;animation:sense-wave 5s ease-out infinite}
.sense-wavefield ellipse:nth-child(2){animation-delay:-2.5s}
.sense-surface{opacity:.52}
.sense-point{color:#83fff0}.sense-point-warm{color:#ffd68c}
.sense-ring{fill:none;stroke:currentColor;stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:sense-wave 3.6s ease-out infinite;animation-delay:var(--sense-delay)}
.sense-ring-outer{stroke-width:1;opacity:.5}
.sense-core{fill:#f1fffb;stroke:currentColor;stroke-width:2;filter:drop-shadow(0 0 6px #84f8e7)}
.sensing-overlay .sense-label rect{fill:#071d2ce8;stroke:#a6dfe4;stroke-width:1;stroke-opacity:.65}
.sensing-overlay .sense-label text{fill:#f0fcff;font:18px var(--sans)}
.sensing-overlay .sense-legend text{fill:#d9eeef;font:13px var(--sans);letter-spacing:1px}
@keyframes sense-breathe{0%,100%{opacity:.32}50%{opacity:.56}}
@keyframes sense-wave{0%{transform:scale(.8);opacity:.65}100%{transform:scale(1.3);opacity:.08}}
@keyframes sense-sweep{0%,100%{transform:translateY(0);opacity:0}15%,85%{opacity:.55}90%{transform:translateY(219px);opacity:0}}
@media(max-width:760px){.sensing-overlay .sense-label text{font-size:26px}.sensing-overlay .sense-legend{display:none}}
@media(prefers-reduced-motion:reduce){.sensing-overlay *{animation:none!important}.sensing-overlay .sense-scan{display:none}}

.system-deck[data-variant] .system-sheet[data-sheet="0"]:after{background:linear-gradient(180deg,#031019b0,transparent 28%,transparent 70%,#03101960)}

/* Multi-point inputs converge on the controller; outputs and feedback have distinct directions. */
.control-overlay .control-route{fill:none;stroke:#83e8dc;stroke-width:1.5;opacity:.65}
.control-overlay .control-output{stroke:#ffd28b;stroke-width:2.3}
.control-overlay .control-route.control-feedback{stroke-dasharray:4 7;opacity:.65}
.control-overlay .control-packet{fill:none;stroke:#d5fff8;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:8 92;opacity:0;filter:drop-shadow(0 0 4px #82eee0);animation:control-input-travel 6s linear infinite}
.control-overlay .control-packet.control-output{stroke:#ffe5b3;filter:drop-shadow(0 0 5px #ffcb80);animation-name:control-output-travel}
.control-overlay .control-packet.control-feedback{animation-name:control-feedback-travel;stroke-width:2.5}
.control-sensor{fill:#ecfffa;stroke:#5ee3d1;stroke-width:2;filter:drop-shadow(0 0 5px #8bffe9)}
.control-sensor-ring{fill:none;stroke:#92f1df;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:sense-wave 3s ease-out infinite}
.control-target{fill:none;stroke:#ffd99b;stroke-width:2}
.control-response{animation:control-response 6s ease-in-out infinite}
.control-hub-halo{fill:#133d4699;stroke:#9cf3e0;stroke-width:1;stroke-dasharray:3 5}
.control-hub-core{fill:#092a39ed;stroke:#c0fff1;stroke-width:1.5}
.control-hub path{fill:none;stroke:#f6d598;stroke-width:1.5}.control-hub>circle:last-child{fill:#f7e1ad}
.control-hub{filter:drop-shadow(0 0 6px #7ee2d988)}
.control-overlay .control-label rect{fill:#071d2cee;stroke:#98dcd3;stroke-width:1;stroke-opacity:.7}
.control-overlay .control-label text{fill:#ecfffa;font:18px var(--sans)}
.control-overlay .control-output-label rect{stroke:#ffd28b}.control-overlay .control-output-label text{fill:#ffe3af}
.control-overlay .control-label .control-small{font-size:14px;fill:#acd5d1}
@keyframes control-input-travel{0%{stroke-dashoffset:108;opacity:0}5%{opacity:1}35%{stroke-dashoffset:-8;opacity:1}40%,100%{stroke-dashoffset:-8;opacity:0}}
@keyframes control-output-travel{0%,36%{stroke-dashoffset:108;opacity:0}40%{opacity:1}68%{stroke-dashoffset:-8;opacity:1}73%,100%{stroke-dashoffset:-8;opacity:0}}
@keyframes control-feedback-travel{0%,68%{stroke-dashoffset:108;opacity:0}72%{opacity:1}96%{stroke-dashoffset:-8;opacity:1}100%{stroke-dashoffset:-8;opacity:0}}
@keyframes control-response{0%,48%,100%{opacity:.35}67%,80%{opacity:1}}
@media(max-width:760px){.control-overlay .control-label text{font-size:25px}.control-overlay .control-output-label text{font-size:22px}.control-overlay .control-label .control-small{font-size:22px}}
@media(prefers-reduced-motion:reduce){.control-overlay *{animation:none!important}.control-overlay .control-packet{display:none}.control-overlay .control-response{opacity:.7}}

/* Compact contact tab, expanding leftward without covering the main navigation. */
.contact-side-trigger{top:66.667%;bottom:auto;right:0;width:54px;height:54px;padding:0 15px;gap:0;writing-mode:horizontal-tb;letter-spacing:0;border-radius:8px 0 0 8px;transform:translateY(-50%);overflow:hidden;transition:width .25s ease,background .2s,color .2s}
.contact-side-trigger .contact-envelope{display:block;flex:0 0 24px;width:24px;height:24px}
.contact-side-trigger .contact-side-label{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;line-height:1.4;transition:max-width .25s ease,opacity .2s,margin .25s}
.contact-side-trigger:hover,.contact-side-trigger:focus-visible{width:140px;transform:translateY(-50%);background:var(--text);color:var(--surface)}
.contact-side-trigger:hover .contact-side-label,.contact-side-trigger:focus-visible .contact-side-label{max-width:70px;opacity:1;margin-left:12px}
@media(max-width:760px){.contact-side-trigger{top:auto;bottom:110px;right:12px;width:48px;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:50%;transform:none}.contact-side-trigger:hover,.contact-side-trigger:focus-visible{transform:none;border-radius:24px}}
@media(prefers-reduced-motion:reduce){.contact-side-trigger,.contact-side-trigger .contact-side-label{transition:none!important}}

  /* ===== 暗色段（痛点开场） ===== */
  .pain-dark{background:#05060A;padding:clamp(48px,6vw,90px) 48px 58px;position:relative;overflow:hidden}
  .pain-dark::before{content:"";position:absolute;inset:0;
    background:radial-gradient(120% 90% at 50% 20%,rgba(45,107,255,.20),transparent 68%),
               radial-gradient(80% 60% at 12% 90%,rgba(243,144,0,.10),transparent 70%);
    pointer-events:none}
  .pain-dark > *{position:relative;z-index:1}
  .pain-eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;
    background:rgba(34,211,238,.12);border:1px solid rgba(34,211,238,.45);
    color:#7DEFFF;font-size:12px;font-weight:800;letter-spacing:.06em}
  .pain-dark h2{font-size:clamp(26px,3.2vw,38px);font-weight:900;line-height:1.24;color:#F5F6FA;margin:20px 0 0;letter-spacing:-.01em}
  .pain-dark h2 em{font-style:normal;color:#7DEFFF}
  .pain-lead{font-size:15px;color:#9AA5B6;max-width:760px;margin-top:14px}

  .pain-metric{display:flex;align-items:flex-end;gap:18px;margin-top:30px;flex-wrap:wrap;
    padding:20px 24px;border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.10)}
  .pain-metric .pain-num{font-size:clamp(40px,6vw,64px);font-weight:900;line-height:1;letter-spacing:-.02em;
    background:linear-gradient(180deg,#FFD79A,#F39000);-webkit-background-clip:text;background-clip:text;color:transparent}
  .pain-metric .pain-cap{font-size:13.5px;color:#B9C2D0;max-width:560px;padding-bottom:4px}
  .pain-metric .pain-cap b{color:#F5F6FA;font-weight:800;display:block;font-size:15px;margin-bottom:2px}
  {display:block;font-size:11.5px;color:#6E7A8C;margin-top:6px}

  .pain-chain{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:26px;
    font-size:14.5px;color:#8E9AAC;letter-spacing:.02em}
  .pain-chain span{padding:8px 15px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.03)}
  .pain-chain i{color:#3E4A5C;font-style:normal}
  .pain-chain span.pain-hot{border-color:rgba(243,144,0,.45);color:#FFD0A0;background:rgba(243,144,0,.08)}

  .pain-split{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;margin-top:34px}
  .pain-shot{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0A0C11}
  .pain-shot img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10}
  .pain-cap-list{list-style:none;display:flex;flex-direction:column;gap:16px}
  .pain-cap-list li{padding-left:16px;border-left:2px solid rgba(125,239,255,.5)}
  .pain-cap-list b{display:block;color:#F5F6FA;font-size:15px;font-weight:800}
  .pain-cap-list p{font-size:13px;color:#93A0B1;margin-top:3px}
  .pain-figcap{font-size:11.5px;color:#6E7A8C;margin-top:10px;text-align:center}

  /* ===== 浅色段 ===== */
  .pain-light{background:#fff;padding:clamp(48px,6vw,90px) 48px}
  .pain-light.pain-alt{background:#F5F7FA}
  .pain-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:#2D6BFF;text-transform:uppercase}
  .pain-light h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;color:#14202E;margin:10px 0 0;letter-spacing:-.01em;line-height:1.3}
  .pain-sub{font-size:14.5px;color:#7A8798;margin-top:8px;max-width:800px}

  .pain-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
  .pain-path{background:#fff;border:1px solid #E3E8EF;border-radius:14px;padding:20px;position:relative}
  .pain-path.pain-pick{border-color:rgba(45,107,255,.55);box-shadow:0 14px 34px rgba(45,107,255,.14)}
  .pain-path .pain-tag{font-size:11px;font-weight:800;letter-spacing:.1em;color:#9AA5B6}
  .pain-path h3{font-size:16.5px;font-weight:800;color:#14202E;margin:8px 0 0}
  .pain-path dl{margin-top:12px;font-size:13px}
  .pain-path dt{color:#9AA5B6;font-size:11.5px;font-weight:800;letter-spacing:.06em;margin-top:10px}
  .pain-path dt:first-child{margin-top:0}
  .pain-path dd{color:#4A5366;margin-top:2px}
  .pain-path.pain-pick .pain-tag{color:#2D6BFF}
  .pain-path.pain-pick::after{content:"MTPCS 的选择";position:absolute;top:14px;right:14px;
    font-size:10.5px;font-weight:800;color:#fff;background:#2D6BFF;padding:3px 9px;border-radius:999px}

  .pain-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
  .pain-card{background:#fff;border:1px solid #E3E8EF;border-radius:14px;padding:22px;
    transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1),border-color .35s}
  .pain-card:hover{transform:translateY(-6px);border-color:rgba(45,107,255,.45);box-shadow:0 18px 44px rgba(20,32,46,.13)}
  .pain-card .pain-no{font-size:12px;font-weight:800;color:#2D6BFF;letter-spacing:.04em}
  .pain-card h3{font-size:16.5px;font-weight:800;color:#14202E;margin:8px 0 0}
  .pain-card .pain-sym{font-size:13px;color:#4A5366;margin-top:12px;padding:12px 14px;background:#F5F7FA;border-radius:10px;border-left:2px solid #F39000}
  .pain-card .pain-sym b{display:block;font-size:11px;letter-spacing:.08em;color:#B08A50;font-weight:800;margin-bottom:3px}
  .pain-card .pain-lim{font-size:12.5px;color:#7A8798;margin-top:12px}
  .pain-card .pain-lim b{color:#8A96A6;font-weight:800}
  .pain-card .pain-fix{font-size:12.5px;color:#14202E;margin-top:8px}
  .pain-card .pain-fix b{color:#2D6BFF;font-weight:800}

  /* ===== 转折 + CTA ===== */
  .pain-turn{background:#05060A;padding:calc(clamp(48px,6vw,90px) + 10px) 48px;text-align:center;position:relative;overflow:hidden}
  .pain-turn::before{content:"";position:absolute;inset:0;
    background:radial-gradient(90% 120% at 50% 0%,rgba(15,182,208,.16),transparent 70%);pointer-events:none}
  .pain-turn > *{position:relative;z-index:1}
  .pain-turn .pain-line{font-size:clamp(20px,2.8vw,32px);font-weight:900;color:#F5F6FA;line-height:1.4;letter-spacing:-.01em}
  .pain-turn .pain-line em{font-style:normal;color:#7DEFFF}
  .pain-turn .pain-brandline{font-size:14px;color:#93A0B1;margin-top:14px}
  .pain-turn .pain-trial{font-size:13px;color:#8E9AAC;margin:16px auto 0;letter-spacing:.02em}
  .pain-turn.pain-legal-block{text-align:left;padding:40px 48px}
  .pain-legal-title{font-size:11.5px;font-weight:800;letter-spacing:.14em;color:#8E9AAC}
  .pain-legal{font-size:12.5px;color:#A9B4C1;margin-top:16px;line-height:1.9}
  .pain-legal b{color:#B9C2D0;font-weight:700}
  .pain-turn .pain-btns{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap}
  .pain-btn{padding:13px 26px;border-radius:12px;font-size:14px;font-weight:800;transition:transform .28s,box-shadow .28s}
  .pain-btn-primary{background:#2D6BFF;color:#fff}
  .pain-btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(45,107,255,.34)}
  .pain-btn-ghost{border:1px solid rgba(255,255,255,.25);color:#F5F6FA;background:rgba(255,255,255,.06)}
  .pain-btn-ghost:hover{transform:translateY(-3px);border-color:#22D3EE}


.pain-dark{padding-left:var(--pad);padding-right:var(--pad)}
.pain-dark h2{font-size:clamp(30px,3.8vw,54px);max-width:1050px}
.pain-lead{font-size:16px;max-width:850px}
.pain-shot img{aspect-ratio:1672/941;height:auto;object-fit:contain}
.pain-metric .pain-cap{max-width:650px}.pain-source{margin-top:8px;font-size:12px;color:#b6c5d6}.pain-source summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.pain-source p{max-width:600px;margin-top:10px;line-height:1.7}
.pain-figcap{color:#a3afbf;line-height:1.8}
.pain-card .pain-no{font-size:12px}
@media(max-width:960px){}
@media(max-width:600px){.pain-dark h2{font-size:30px}.pain-metric{padding:22px 18px;gap:16px}.pain-chain{gap:9px;font-size:13px}.pain-chain span{padding:7px 11px}.pain-dark{padding-top:48px;padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){}

/* Keep the pain-point story in the site's light visual language. */
.pain-dark{background:#f3f6fa;color:#34485d}.pain-dark:before{background:radial-gradient(90% 70% at 95% 5%,#dceaff80,transparent 75%)}
.pain-dark .pain-eyebrow{color:#2460a9;background:#e7effa;border-color:#c6d7ed}.pain-dark h2{color:#142a3c}.pain-dark h2 em{color:#2668b7}.pain-lead{color:#617387}
.pain-metric{background:#ffffff;border-color:#dce5ef;box-shadow:0 8px 28px #264b7005}.pain-metric .pain-num{background:none;color:#2668b7}.pain-metric .pain-cap{color:#617387}.pain-metric .pain-cap b{color:#203b52}.pain-source{color:#5a7290}
.pain-chain{color:#203b52}.pain-chain span{background:#fff;border-color:#d7e2ed}.pain-chain i{color:#90a2b6}.pain-chain span.hot{color:#a46727;border-color:#e6c9a4;background:#fff6e9}
.pain-shot{border-color:#d5e0eb;box-shadow:0 14px 36px #183c5610}
.pain-light{background:#fff}
.pain-turn{background:#edf3fa;color:#223d55}

/* Compact transition from workshop symptoms to the three mechanisms. */
.pain-quick-signs{gap:24px}
.pain-bridge{padding:0 var(--pad) 40px;background:#f5f7fa;color:#617387}.pain-bridge:before{content:"";display:block;height:1px;background:#dce5ef;margin-bottom:28px}.pain-bridge .pain-bridge-title{font-size:clamp(20px,2vw,28px);font-weight:500;color:#244c70;line-height:1.5;margin-bottom:10px}.pain-bridge>p:last-child{font-size:15px;line-height:1.9;max-width:850px}
@media(max-width:600px){.pain-bridge{padding-bottom:28px}}

/* On-site trial invitation */
.trial-evaluation{margin:28px 0 30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trial-evaluation h3{font-size:20px;margin-bottom:12px}.trial-evaluation p{color:var(--muted);font-size:16px;line-height:1.85}

/* Compact contact drawer and visit link */
.technology-copy .visit-us{display:flex;width:fit-content;min-width:164px;justify-content:space-between;gap:24px;margin-top:12px;background:#fff;color:#193347;border:1px solid #cbd8e0}
.technology-copy .visit-us:hover{background:#f0f5f8;border-color:#16718c}
.contact-panel{width:min(600px,100%);padding:22px 30px}
.contact-panel-header{gap:12px;align-items:center}
.contact-panel-header .eyebrow{font-size:10px;margin-bottom:5px}
.contact-panel-header h2{font-size:24px;line-height:1.4;text-wrap:balance}
.contact-drawer-close{width:34px;height:34px;font-size:24px}
.contact-panel-description{margin:8px 0 10px;font-size:13px;line-height:1.6}
.contact-panel-direct{padding:8px 0;margin-bottom:12px;gap:12px}
.contact-panel-direct img{width:112px;height:112px;padding:4px}
.contact-panel .inquiry-heading{margin-bottom:12px}
.contact-panel .inquiry-heading .eyebrow{display:none}
.contact-panel .inquiry-heading h3{font-size:20px}
.contact-panel .inquiry-heading>p:last-child{margin-top:4px;font-size:12px}
.contact-panel .inquiry-fields{gap:14px}
.contact-panel .inquiry-form>label,.contact-panel .inquiry-intents{margin-top:12px}
.contact-panel .inquiry-form input:not([type=checkbox]),.contact-panel .inquiry-form textarea{margin-top:5px;padding:8px 10px;font-size:13px;line-height:1.5}
.contact-panel .inquiry-form textarea{min-height:58px;height:58px}
.contact-panel .inquiry-intents legend{margin-bottom:6px}
.contact-panel .intent-options{gap:7px}
.contact-panel .intent-options label{padding:8px}
.contact-panel .inquiry-actions{margin-top:12px}
.contact-panel .inquiry-form .primary{min-height:40px;padding:8px 20px}
.contact-panel .inquiry-note{margin-top:7px;font-size:11px}
@media(max-width:760px){.contact-panel{height:100vh;height:100svh;max-height:100vh;max-height:100svh;padding:18px 20px calc(18px + env(safe-area-inset-bottom));border-radius:0}.contact-panel-header h2{font-size:22px}.contact-panel-direct img{width:104px;height:104px}}
@media(max-width:480px){.contact-panel .inquiry-fields{grid-template-columns:1fr 1fr;gap:10px}.contact-panel-header h2{font-size:20px}.contact-panel-direct a{font-size:14px}}

@media(min-width:761px) and (max-height:800px){
.contact-panel{padding:14px 26px}
.contact-panel-header .eyebrow{display:none}
.contact-panel-description{margin:5px 0 7px}
.contact-panel-direct{padding:5px 0;margin-bottom:8px}
.contact-panel-direct img{width:96px;height:96px}
.contact-panel .inquiry-heading{margin-bottom:8px}
.contact-panel .inquiry-heading>p:last-child{display:none}
.contact-panel .inquiry-form>label,.contact-panel .inquiry-intents{margin-top:8px}
.contact-panel .inquiry-form input:not([type=checkbox]){padding:6px 9px}
.contact-panel .intent-options label{padding:6px 8px}
.contact-panel .inquiry-form textarea{height:48px;min-height:48px}
.contact-panel .inquiry-actions{margin-top:8px}
.contact-panel .inquiry-note{margin-top:4px}
}

.contact-invite.contact-invite-simple{align-self:center}.contact-invite-simple h3{margin:0;font-size:clamp(22px,2.1vw,30px);line-height:1.65}.contact-invite-simple .button{margin-top:24px}

/* Combined thermal symptoms and solutions */
.pain-dark{overflow:visible}.thermal-story{position:relative;margin-top:32px}.thermal-story.is-scroll{height:calc(var(--thermal-height) + 276px)}.thermal-pin{position:relative}.is-scroll .thermal-pin{position:sticky;top:100px}.thermal-progress{display:flex;align-items:center;gap:18px;padding:10px 0 16px;font-size:12px;color:#627f90}.thermal-count{color:#118299}.thermal-progress a{margin-left:auto}.thermal-progress .thermal-cta{max-width:none;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:10px 24px;border:1px solid #118299;color:#118299;font-size:15px;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .25s,color .25s,transform .25s}.thermal-progress .thermal-cta:hover{background:#118299;color:#fff;transform:translateY(-2px)}.thermal-progress .thermal-cta span{transition:transform .25s}.thermal-progress .thermal-cta:hover span{transform:translateY(3px)}.thermal-layout{display:grid;grid-template-columns:45fr 55fr;gap:34px;align-items:start}.thermal-layout figure{margin:0}.thermal-layout img{width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;border-radius:12px}.thermal-layout figcaption{font-size:11px;color:#788d9b;text-align:center;padding:12px 0}.thermal-note{border-top:1px solid #d8e4eb;padding-top:16px;margin-top:8px}.thermal-note strong{font-size:21px;line-height:1.6}.thermal-note p{font-size:13px;color:#728694;margin-top:12px}.thermal-hint{font-size:11px;color:#718794;margin:0 0 9px}.thermal-cards{display:grid;gap:10px}.thermal-card{background:#fff;border:1px solid #d7e3eb;border-radius:10px;overflow:hidden;cursor:pointer;color:#19394d}.thermal-card header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid #e5edf2}.thermal-card header>span{font-size:11px;color:#829baa}.thermal-card h3{margin:0;font-size:18px;line-height:1.4}.thermal-toggle{background:none;border:0;padding:0;text-align:left;font:inherit;color:inherit;font-weight:600}.thermal-state{margin-left:auto;color:#628696;font-size:10px}.thermal-stage{display:grid;overflow:hidden}.thermal-symptom,.thermal-answer{grid-area:1/1;padding:12px 16px;min-height:116px}.thermal-symptom p{font-size:13px;line-height:1.8;color:#69808e;margin:0}.thermal-symptom>span{display:block;margin-top:16px;font-size:12px;color:#147e92}.thermal-answer{position:relative;z-index:1;background:#12384b;color:white;transform:translateY(102%);transition:transform .38s cubic-bezier(.2,.7,.2,1)}.thermal-card.is-open .thermal-answer{transform:translateY(0)}.thermal-answer strong{font-size:16px;display:block;margin-bottom:6px;line-height:1.5}.thermal-answer p{font-size:12px;line-height:1.8;color:#c7dde6;margin:0 0 7px}.thermal-answer a{font-size:11px;color:#7de1e1}.thermal-card:focus-within{outline:2px solid #2e9aac;outline-offset:3px}
@media(max-width:800px){.thermal-layout{grid-template-columns:1fr;gap:16px}.thermal-note{display:none}.thermal-progress{gap:10px;font-size:11px}.thermal-card header{padding:12px}.thermal-card h3{font-size:17px}.thermal-state{font-size:9px}.thermal-symptom,.thermal-answer{min-height:134px}.thermal-progress a{max-width:120px}}
@media(prefers-reduced-motion:reduce){.thermal-answer{transition:none}}

/* Keep the full transition copy inside the pinned composition. */
.thermal-pin .pain-bridge{padding:16px 0 12px;margin-top:14px;background:transparent;border-bottom:1px solid #dce5ef}.thermal-pin .pain-bridge:before{display:none}.thermal-pin .pain-bridge-title{font-size:22px;margin-bottom:5px}.thermal-pin .pain-bridge>p:last-child{font-size:13px;line-height:1.7}
@media(min-width:801px) and (max-height:850px){.thermal-progress{padding:4px 0 9px}.thermal-hint{margin-bottom:5px}.thermal-card header{padding:7px 14px}.thermal-symptom,.thermal-answer{min-height:100px;padding:9px 14px}.thermal-cards{gap:8px}.thermal-answer strong{font-size:15px;margin-bottom:3px}.thermal-answer p{margin-bottom:4px}.thermal-pin .pain-bridge{padding:10px 0;margin-top:8px}.thermal-pin .pain-bridge-title{font-size:20px}.thermal-note{padding-top:10px}.thermal-note strong{font-size:18px}}

@media(min-width:801px) and (max-height:850px){.thermal-card header{padding-top:5px;padding-bottom:5px}.thermal-symptom,.thermal-answer{min-height:90px;padding-top:6px;padding-bottom:6px}.thermal-symptom>span{margin-top:12px}}

.header nav a[aria-current="location"]:after{content:"";position:absolute;height:2px;bottom:0;left:0;width:24px;background:var(--accent)}

/* 首页沉浸式页头：页头固定浮在 hero 之上并【完全透明】（氛围视频直透），
   滑出 hero 区后切回不透明实底。全宽度生效（窄屏 hero 同样是深色）。 */
.home .header{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom-color:transparent;transition:background-color .35s var(--ease),border-bottom-color .35s var(--ease)}
.home .header.is-solid{background:#081622;border-bottom-color:#ffffff20}
.home .hero{padding-top:calc(86px + 55px)}
@media(max-width:760px){.home .hero{padding-top:calc(70px + 65px)}}

/* 首页眉标「OUR MISSION / 我们的使命」按屏宽分三档：宽屏更醒目，窄屏收敛。
   全部置于文件真正末尾（顶层，大括号深度 0），压过原有的
   @media(max-width:1050px){font-size:10px} 与 @media(max-width:760px){font-size:9px} —— 同权重靠源码序取胜。 */
.hero .eyebrow{font-size:28px;letter-spacing:2.5px;line-height:1.35}
@media(max-width:1050px){.hero .eyebrow{font-size:20px;letter-spacing:2px}}
@media(max-width:760px){.hero .eyebrow{font-size:14px;letter-spacing:1.5px;line-height:1.4}}
/* —— 首页「01 行业难题」段：段顶收紧 / 橙色胶囊对比修复 / 链条末端「如何应对」 / 首屏底部雪佛龙 —— */

/* ① 段顶收紧：原 clamp(48px,6vw,90px)，宽屏实取 90px。 */
.pain-dark{padding-top:clamp(26px,2.8vw,38px)}

/* ② 衔接（按反馈撤掉上一版的深色渐变过渡带，改学参考图做法）：
      首屏底部一条分隔线上，居中放双层 V 形雪佛龙，跨在线上。
      .hero-bottom 是 absolute + 自身即包含块，top:0 正好压在它的 border-top 上。 */
.hero-bottom:before,.hero-bottom:after{content:"";position:absolute;left:50%;width:20px;height:20px;
  border-right:2px solid #ffffffcc;border-bottom:2px solid #ffffffcc;transform:rotate(45deg)}
.hero-bottom:before{top:0;margin:-10px 0 0 -10px}
.hero-bottom:after{top:-8px;margin:-10px 0 0 -10px;border-color:#ffffff7a}

/* 首屏播放提示：**一旦确认自动播放被拒就立刻出现**（不等定时器、不淡入）。
   判定从「定时器」改成「事件」：第一次 play() 被拒的那一刻就显示 —— 微信里通常几十到几百
   毫秒就到，观感上就是「一进来就有」；而能正常自动播放的浏览器上它**从不出现**，
   桌面端因此完全没有「先闪一下」的问题。（另有 1.2s 兜底，覆盖 play() 的 promise 挂起不结算。）
   位置落在首屏的下内边距带里（桌面 bottom:96px / 窄屏 78px），不压文案也不压底部雪佛龙。
   它作为 .hero-media 的最后一个子元素，与 video 同层、压在 .hero-shade 之上。
   ⚠️ 为什么不干脆放到 video 下面「被视频盖住」：.hero-shade 必须压在 video 之上才能压暗
      画面、保证标题可读；任何放到 video 下面的元素同时也在这层渐变下面，实测只剩约 10%
      亮度（＝看不见）。所以改用下面那条 :has() 规则做等价的硬保证。 */
.hero-play-hint{position:absolute;left:var(--pad);bottom:96px;z-index:1;display:inline-flex;align-items:center;
  gap:9px;padding:9px 16px;border:1px solid #ffffff4d;border-radius:999px;background:#06131d80;
  color:#e6f0f4;font-size:12px;letter-spacing:1px;line-height:1;cursor:pointer;
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
/* ⚠️ [hidden] 必须显式 display:none —— 上一条设了 display:inline-flex，会盖掉 UA 默认的
   [hidden]{display:none}，不写这条「没确认失败就不显示」就失效了。 */
.hero-play-hint[hidden]{display:none}
/* 纯 CSS 硬保证：只要 video 带 is-playing（＝正在出画），提示一律收起。
   不依赖 JS 的 hideHint 状态 —— 就算哪天两者不同步，也绝不会出现「提示盖在正在播放的视频上」。
   :has() 在新内核（Chromium 105+ / Safari 15.4+，含微信 XWEB）生效；
   老内核不认这条会整条丢弃，自动退回 JS 的 hideHint 那条路，不会报错。 */
.hero-media:has(video.is-playing) .hero-play-hint{display:none}
.hero-play-hint:hover{background:#ffffff1f;color:#fff}
.hero-play-hint:focus-visible{outline:2px solid #ffffffcc;outline-offset:3px}
.hero-play-hint-tri{flex:none;margin-top:1px}
@media(max-width:760px){.hero-play-hint{bottom:78px;padding:8px 14px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-play-hint{transition:none}}

/* ③ 两个橙色胶囊：深色主题遗留的 #FFD0A0 字色落在浅底上只有 1.23:1。
      根因是浅色规则写的是 .pain-chain span.hot，而 HTML 是 class="pain-hot"，从未匹配；
      这里按正确类名给到 #7a3d05 / #fff4e4 = 7.73:1。 */
.pain-chain span.pain-hot{color:#7a3d05;border-color:#e0b57e;background:#fff4e4;font-weight:700}

/* ④ 链条末端「如何应对」：2026-09-21 起改为与其它胶囊同形的蓝色胶囊，前置箭头与其它箭头同风格。 */
.pain-chain .chain-arrow-hot{color:#d97706;font-weight:800;font-style:normal;font-size:15px}
.pain-chain .pain-answer{color:#7DEFFF;font-weight:800;letter-spacing:.02em}
.pain-dark .pain-chain .pain-answer{color:#2668b7;border-color:#c6d7ed;background:#eef4fc}

/* 商标图（2026-09-21 主人令）：页头/页脚品牌位改用注册商标图；沉浸态＝纯白剪影，滑出实底后回归「白＋品牌红」 */
.brand-logo{width:auto;height:44px;object-fit:contain}
.brand-reg{font-size:12px;line-height:1;align-self:flex-start;margin:2px 0 0 2px}
.header .brand,.footer .brand{gap:2px}
.home .header:not(.is-solid) .brand-logo{filter:brightness(0) invert(1)}
.brand-logo{transition:filter .35s ease}
.footer .brand-logo{height:36px}
@media(max-width:760px){.brand-logo{height:38px}.footer .brand-logo{height:32px}}

/* 2026-09-21 主人令：滑出沉浸区后页头改【浅色方案】（原彩商标在深底上不可见）；页脚 logo 用白底贴图 */
.home .header.is-solid{background:var(--surface);border-bottom-color:var(--line);color:var(--text)}
.home .header{transition:background-color .35s var(--ease),border-bottom-color .35s var(--ease),color .35s var(--ease)}
/* 首页沉浸态（hero 之上、未滑出）：基色已改浅，这里反向恢复透明底+白字+亮色，否则会白底白字 */
.home .header:not(.is-solid){color:#fff}
.home .header:not(.is-solid) nav a:hover{color:var(--bright)}
.home .header:not(.is-solid) nav a[aria-current=page]:after{background:var(--bright)}
.home .header:not(.is-solid) nav a[aria-current="location"]:after{background:var(--bright)}
.home .header:not(.is-solid) nav .nav-contact{border-color:#ffffff50}
.footer .brand-logo{height:47px}
@media(max-width:760px){.footer .brand-logo{height:42px}}

/* 2026-09-21 页脚版本号（芯片式打标）：等宽 + 宽字距 + 比页脚正文再暗一档，
   独立一行放在备案号行之下 —— 备案号必须保持“主页底部中央”，不能被动摇。 */
.footer-version{flex:0 0 100%;margin-top:10px;font-family:Consolas,"Courier New",monospace;font-size:11.5px;letter-spacing:.08em;color:#adbdc8;opacity:.72}

/* 2026-09-23 新闻配图规范：不放大、不另存（规范见官网 docs/新闻内容与发布流程.md「配图规范」）。
   覆盖四类图：列表卡片图、焦点动态图、文章封面、正文插图。
   这是「提高随手保存门槛」的轻量做法，不构成下载防护 —— 图片 URL 直连仍可获取。 */

/* 关于我们和新闻动态共用页面顶部层次与留白。 */
.page-hero.page-label{padding-top:38px;padding-bottom:24px}
.page-label .eyebrow{margin-bottom:8px}
.page-label .page-label-title{font-size:clamp(24px,2.4vw,32px);letter-spacing:0}
.section.page-content-start{padding-top:32px}
@media(max-width:760px){.page-hero.page-label{padding-top:30px;padding-bottom:20px}.section.page-content-start{padding-top:24px}}
