/* kit: hand-composed illustration vocabulary (same visual language as service.css: glass, round green checks, drawing lines, stamps) */
.jx,.jp,.jw,.jtw{--g:#16A34A;--in:#121027}
:is(.jx,.jp,.jw,.jt) .pn{background:#fff;border-radius:10px;box-shadow:0 10px 20px -14px rgba(18,16,39,.5),inset 0 1px 0 #fff}
:is(.jx,.jp,.jw,.jt) .sk{display:block;height:6px;border-radius:4px;background:#ECEAF6;width:100%;transform-origin:left}
:is(.jx,.jp,.jw,.jt) .sk.s{width:58%}
:is(.jx,.jp,.jw,.jt) .ck{width:16px;height:16px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;flex:none}
:is(.jx,.jp,.jw,.jt) .ck svg{width:10px;height:10px;stroke:#fff;fill:none;stroke-width:3}
.jx{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 12px}
.jx>*{min-width:0}
.jx,.jp,.jw{contain:inline-size}
.jp{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 12px}
.jw .stg{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;height:100%;padding:0 22px}
.jw .stg>*{min-width:0}
.jx .led{width:88%;max-width:230px;padding:8px 12px;display:grid;gap:4px}
.ln2{display:flex;align-items:center;justify-content:space-between;gap:8px;font:500 10.5px/14px var(--b);color:var(--ink-70)}
.ln2 b{font-weight:600;color:var(--ink);margin-left:auto}.ln2 b.up{color:#15803D}.ln2 b.dn{color:#B4232A}
.ln2.tot{margin-top:2px;padding-top:5px;border-top:1px dashed rgba(18,16,39,.18);color:var(--ink);font-weight:600}
.ln2.tot b{margin-left:auto;margin-right:2px;font-size:12px}
.chp{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:99px;background:#fff;box-shadow:0 6px 14px -10px rgba(18,16,39,.5);font:500 10.5px/1 var(--b);color:var(--ink);white-space:nowrap}
.chp svg:first-child{width:12px;height:12px;stroke:var(--purple);fill:none;stroke-width:1.9;flex:none}
.chp.dk{background:var(--in);color:#fff}.chp.dk svg:first-child{stroke:#fff}
.chp .ck{margin-left:2px;width:14px;height:14px}.chp .ck svg{width:9px;height:9px}
.dc{width:72px;padding:9px 9px 10px;display:grid;gap:6px;align-content:start;flex:none}
.dc .tg{justify-self:start;padding:2px 6px;border-radius:5px;background:#EDE9FF;color:var(--purple);font:700 9px/1.2 var(--b);letter-spacing:.08em}
.arr{display:block;flex:none;overflow:visible}.arr path{fill:none;stroke:var(--in);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.cr{position:relative;width:42px;height:42px;border-radius:50%;background:var(--in);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 0 0 4px rgba(255,255,255,.85)}
.cr svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7}
.cr.lt{background:#fff;color:var(--purple)}
.cr .ck{position:absolute;right:-6px;top:-6px;box-shadow:0 0 0 3px #fff}
.rg{position:relative;display:inline-grid;place-items:center;flex:none}
.rg svg{width:100%;height:100%}.rg .trk{fill:none;stroke:rgba(18,16,39,.1);stroke-width:3.6}.rg .fl{fill:none;stroke-width:3.6;stroke-linecap:round}
.rg .tx{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.rg .tx b{font:500 17px/1 var(--h);color:var(--ink);letter-spacing:-.4px}.rg .tx small{font:500 8.5px/1.2 var(--b);color:var(--ink-70);margin-top:2px}
.cl{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;padding:9px;width:150px;flex:none}
.cl .c{display:block;aspect-ratio:1;border-radius:4px;background:#F0EEF9}
.cl .c.m1{background:var(--g)}.cl .c.m2{background:var(--in)}.cl .c.m3{background:#C9C1FF}.cl .c.m4{background:#fff;box-shadow:inset 0 0 0 2px var(--purple)}
.tgl{display:flex;align-items:center;gap:8px;padding:5px 9px;border-radius:8px;background:#fff;box-shadow:0 6px 12px -10px rgba(18,16,39,.45);font:500 10.5px/1 var(--b);color:var(--ink)}
.tgl b{font-weight:500}
.sw{margin-left:auto;position:relative;width:26px;height:14px;border-radius:99px;background:var(--g);flex:none}
.sw s{position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#fff}
.bb{display:block;max-width:78%;padding:7px 10px;border-radius:12px 12px 12px 3px;background:#fff;box-shadow:0 6px 14px -10px rgba(18,16,39,.5);font:500 10.5px/14px var(--b);color:var(--ink);display:grid;gap:5px}
.bb.r{justify-self:end;border-radius:12px 12px 3px 12px;background:var(--in);color:#fff}.bb.r .sk{background:rgba(255,255,255,.28)}
.stmp{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:2px solid var(--g);border-radius:8px;color:#15803D;font:700 9.5px/1 var(--b);letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.8);transform:rotate(-4deg)}
.stmp svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:3}.stmp em{font-style:normal}
.lc{display:block;overflow:visible;width:100%}.lc .gl{stroke:rgba(18,16,39,.08);stroke-width:1;stroke-dasharray:2 4;fill:none}
.lc .ln{fill:none;stroke:var(--g);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.lc .ar{fill:rgba(22,163,74,.12)}.lc .dt{fill:#fff;stroke:var(--g);stroke-width:2}
/* replay: any ancestor .on (cards, art) or .cur (process step) */
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .a,.jt.on .a{animation:ivIn .5s var(--ease) both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .p,.jt.on .p{animation:ivPop .4s var(--spring) both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .f,.jt.on .f{animation:ivFill .6s var(--ease) both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .d,.jt.on .d{animation:ivDraw 1.2s var(--ease) both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .s,.jt.on .s{animation:ivStamp .6s var(--spring) both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .fd,.jt.on .fd{animation:ivFade .7s ease both;animation-delay:calc(.15s + var(--k,0)*.35s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .q,.jt.on .q{animation:ivPop .3s var(--spring) both;animation-delay:calc(.3s + var(--k,0)*.12s)}
:is(.on,.cur) :is(.jx,.jp,.jw,.jt) .sw s,.jt.on .sw s{animation:jKnob .4s var(--ease) both;animation-delay:calc(.3s + var(--k,0)*.35s)}
@keyframes jKnob{from{transform:translateX(-12px)}to{transform:none}}
.jp .pn{border-radius:9px}
.jtw{position:absolute;right:56px;top:50%;margin-top:-130px;width:300px;z-index:2}
.jt{position:relative;padding:18px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,246,252,.94));color:var(--ink);box-shadow:0 40px 70px -30px rgba(0,0,0,.7),inset 0 1px 0 #fff;transform:rotate(3deg)}
.jt .ch{display:flex;gap:10px;align-items:center}.jt .lg{width:34px;height:34px;border-radius:50%;background:#121027;color:#fff;display:grid;place-items:center;font:500 15px var(--h);flex:none}
.jt .ch b{display:block;font:500 13.5px/17px var(--b)}.jt .ch small{font:400 11px var(--b);color:var(--ink-70)}
.jt .bd{display:grid;gap:7px;margin:14px 0 12px}
@media (max-width:1100px){.jtw{position:relative;right:auto;top:auto;margin:40px 0 0;width:100%;max-width:300px}}
@media (prefers-reduced-motion:reduce){:is(.jx,.jp,.jw,.jt) *{animation:none!important}}
@media (max-width:640px){.jx{padding:0 8px;gap:8px}.jw .stg{padding:0 14px;gap:10px}}

.row{display:flex;align-items:center;gap:7px;padding:6px 9px;background:#fff;border-radius:9px;box-shadow:0 6px 12px -10px rgba(18,16,39,.45);font:500 10.5px/1 var(--b);color:var(--ink)}
.row .av{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#B9ACFF,#5F4CE0);flex:none}
.row .nm{flex:1;height:5px;border-radius:4px;background:#ECEAF6;min-width:10px}.row .am{font-weight:600;font-size:10.5px}
.jt .row{background:#F4F3FB;box-shadow:none}
.jt .stmpw{display:flex;justify-content:flex-end;margin:0 0 0}

.ten{position:relative;width:90%;max-width:236px;padding:12px 14px 10px;display:grid;gap:10px}
.trkw{position:relative;height:30px}.trkw svg{position:absolute;left:0;right:0;top:12px;width:100%;height:6px}.trkw path{fill:none;stroke:#D9D5EE;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.yrs{position:absolute;inset:0;display:flex;justify-content:space-between}.yr{display:grid;justify-items:center;gap:3px;font:600 8.5px/1 var(--b);color:var(--ink-70)}.yr i{display:block;width:13px;height:13px;border-radius:50%;margin-top:6px;box-shadow:0 0 0 3px #fff}.yr i.g{background:var(--g)}.yr i.n{background:var(--in)}
.seg{display:inline-flex;align-items:center;gap:6px;font:600 10.5px var(--b);color:var(--ink)}.seg u{display:block;width:9px;height:9px;border-radius:50%}.seg u.g{background:var(--g)}.seg u.n{background:var(--in)}.ten{grid-template-columns:1fr 1fr}.ten .trkw{grid-column:1/-1}
.led .nm{flex:1;height:0}.led .mo{margin-left:0;color:var(--ink-70);font-weight:500;width:26px}
.let{position:relative;width:90%;max-width:236px;padding:9px 12px 8px;display:grid;gap:4px}.sig{width:92px;height:22px;margin-top:2px}.sig path{fill:none;stroke:var(--in);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.dfan{display:flex;gap:7px}.dfan .dc{padding:8px 6px}.dfan .tg{font-size:7px;letter-spacing:.04em;padding:2px 4px}
.stmpw2{position:absolute;right:9px;bottom:9px}
.opt{display:grid;gap:6px}.opt .chp{justify-self:start}
.cn{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.cn i{display:block;width:24px;height:16px;border-radius:5px;background:#fff;box-shadow:0 4px 8px -5px rgba(18,16,39,.45);position:relative}.cn i::after{content:"";position:absolute;left:4px;right:4px;top:6px;height:4px;border-radius:3px;background:var(--g)}
.let2{width:116px;padding:11px 12px;display:grid;gap:6px}.let2 svg{width:100%;height:20px}.let2 path{fill:none;stroke:var(--in);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.tkr{display:grid;gap:22px;width:100%;max-width:290px}.tr1{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;font:500 11px var(--b);color:var(--ink-70)}
.tr1 .dash{display:block;height:0;border-top:3px dotted #B3AECF}.tr1 u{display:block;width:12px;height:12px;border-radius:50%;background:#B3AECF}
.tr1 .live{display:block;height:5px;border-radius:5px;background:var(--g);width:34%;transform-origin:left}.tr1:nth-child(1) .dash{margin-right:-4px}
.tr1 .ck{width:22px;height:22px;justify-self:start;margin-left:-10px}.tr1 .ck svg{width:12px;height:12px}
.bk{width:82%;max-width:250px;padding:12px 16px;display:grid;gap:8px}.bh{display:grid;grid-template-columns:1fr 1fr;font:600 10px var(--b);color:var(--ink-70);letter-spacing:.1em;text-transform:uppercase}.bh b{text-align:center}
.bg{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.bg i{display:block;height:11px;border-radius:3px;background:#E6E2F9}.bg i:nth-child(odd){background:#C9C1FF}
.bt{display:flex;justify-content:space-between;align-items:center;padding-top:7px;border-top:1px dashed rgba(18,16,39,.18);font:600 11px var(--b)}
.jw .stg{position:relative}.scl{width:240px;max-width:100%;height:150px;overflow:visible}.scl path{fill:none;stroke:var(--in);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.scl .pan{fill:#fff;stroke-width:2.4}.scl circle{fill:var(--in)}
.scl .beam{transform-origin:120px 40px}.scl .beam{animation:none}
:is(.on,.cur) .jw .beam{animation:jtilt 1.6s var(--ease) .6s both}
@keyframes jtilt{from{transform:rotate(-5deg)}60%{transform:rotate(3deg)}to{transform:rotate(-2deg)}}
#process .sec-head .t-h2{max-width:620px}
.jt .mn{font:600 11px var(--b);width:50px}.jt .row .nm{height:0;background:none;flex:1}
