/* How Lleverage works: 5 scroll stages, one visual at a time. Scoped to .v3-platform.
   Mobile-first: stages stack. From 761px, with JS (.v3p-js), the stages pin to the viewport
   and build as you scroll. Every rule stays under .v3-platform. */
.v3-platform{--v3p-bg:#141e28;--v3p-paper:#f9f7f0;--v3p-muted:#9aa6b1;--v3p-faint:#6f7d89;--v3p-hair:#ffffff1a;--v3p-node:#222e3a;--v3p-card:#182330;--v3p-orange:#ff9626;--v3p-tan:#d7a675;--v3p-teal:#78a499;--v3p-mauve:#a895b7;--v3p-nav:84px;--f-display:var(--ll-font-display,'Abhaya Libre',Georgia,serif);--f-sans:var(--ll-font-sans,'Public Sans',system-ui,sans-serif);--f-mono:var(--ll-font-mono,'Roboto Mono',ui-monospace,monospace);background:var(--v3p-bg);color:var(--v3p-paper);font-family:var(--f-sans);padding:30px 0 0;-webkit-font-smoothing:antialiased;position:relative;z-index:0}
.v3-platform *{box-sizing:border-box}
.v3-platform .v3p-rule{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--v3p-hair);padding-top:16px;font-family:var(--f-mono);text-transform:uppercase;font-size:9px;line-height:1.5;letter-spacing:.08em;color:#ffffff80}
.v3-platform .v3p-rule>span:last-child{text-align:right}
.v3-platform .v3p-rail{display:none}
.v3-platform .v3p-stage{padding:44px 0 42px;border-bottom:1px solid var(--v3p-hair)}
.v3-platform .v3p-stage:last-child{border-bottom:0}

/* Copy: one kicker, one title, one line. */
.v3-platform .v3p-copy{margin:0 0 28px}
.v3-platform .v3p-kicker{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--v3p-orange);margin-bottom:14px}
.v3-platform h2,.v3-platform h3{font-family:var(--f-display);font-weight:400;letter-spacing:-.03em;line-height:1;margin:0;color:var(--v3p-paper)}
.v3-platform h3{font-size:clamp(32px,8vw,40px)}
.v3-platform .v3p-copy>p{font-size:14px;line-height:1.65;color:var(--v3p-muted);margin:14px 0 0;max-width:520px}
.v3-platform .v3p-statement h2{font-size:clamp(42px,11vw,60px);letter-spacing:-.035em}
.v3-platform h2 em{font-style:normal;color:#9aa8b6}
.v3-platform .v3p-statement>p{font-size:15px;max-width:560px;margin-top:22px}
.v3-platform .v3p-scroll-hint{display:none}
.v3-platform .v3p-link{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--v3p-orange);text-decoration:none;padding:8px 0;transition:gap .25s ease,color .25s ease}
.v3-platform .v3p-link span{font-family:var(--f-sans);font-size:16px;line-height:1}
.v3-platform .v3p-link:hover{gap:16px;color:#ffb25a}
.v3-platform a:focus-visible{outline:2px solid var(--v3p-orange);outline-offset:5px}

/* Build-up: elements carry data-s="1..4"; the stage gets s1..s4 as you scroll (or as it enters on mobile).
   --i staggers siblings inside one step. */
.v3-platform.v3p-js [data-s]{opacity:0;transition:opacity .6s ease calc(var(--i,0) * .22s),translate .6s ease calc(var(--i,0) * .22s)}
.v3-platform.v3p-js .v3p-in[data-s]{translate:0 10px}
.v3-platform.v3p-js .s1 [data-s="1"],.v3-platform.v3p-js .s2 [data-s="2"],.v3-platform.v3p-js .s3 [data-s="3"],.v3-platform.v3p-js .s4 [data-s="4"],.v3-platform.v3p-js .s5 [data-s="5"],.v3-platform.v3p-js .s6 [data-s="6"]{opacity:1;translate:none}
.v3-platform .v3p-visual{position:relative;width:100%}
/* One frame without transitions when a stage is reset, so no half state ever shows. */
.v3-platform .v3p-stage.v3p-noanim *{transition:none!important}

/* Shared: the Lleverage core, open system logos with a soft glow, small glyphs, column captions. */
.v3-platform .v3p-core{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 30% 18%,#818b9340,#25282b 49%,#131518 76%);box-shadow:inset 0 1px 2px #d7e4ef6b,inset 0 -4px 9px #000a,0 18px 45px #0009,0 0 70px #a6b1bd12;border:1px solid #9fb1c223}
.v3-platform .v3p-core img{width:42px;height:42px;filter:grayscale(1)}
.v3-platform .v3p-core i{position:absolute;inset:-12px;border:1px solid #ffffff12;border-top-color:#d7a06599;border-radius:50%;transform:scaleY(.42) rotate(-20deg);animation:v3p-orbit 14s linear infinite;animation-play-state:paused}
.v3-platform .v3p-sys{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;width:66px;z-index:2}
.v3-platform .v3p-sys>span{width:50px;height:42px;display:grid;place-items:center;position:relative;animation:v3p-float 6s ease-in-out infinite;animation-play-state:paused}
.v3-platform .v3p-sys:nth-of-type(3n)>span{animation-delay:-2s}.v3-platform .v3p-sys:nth-of-type(3n+1)>span{animation-delay:-4s}
.v3-platform .v3p-sys>span::before{content:'';position:absolute;inset:0 -4px;background:radial-gradient(ellipse,#f6f3ee 20%,#c1cad7b0 40%,#aeb8c342 60%,transparent 73%);filter:blur(9px);opacity:.35;z-index:-1}
.v3-platform .v3p-sys img{width:36px;height:28px;object-fit:contain;filter:drop-shadow(0 5px 4px #0004)}
.v3-platform .v3p-sys strong{font-size:8.5px;line-height:1.25;font-weight:400;text-align:center;color:#a7b1ba;text-shadow:0 2px 10px #141e28}
.v3-platform .v3p-glyph{fill:none;stroke:#dfe5ea;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v3-platform .v3p-colcap{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8391a0;white-space:nowrap}

/* 01 Systems: Lleverage in the centre, 13 systems on an open orbit, revealed in 3 groups. */
.v3-platform .v3p-orbit{aspect-ratio:1000/1220;isolation:isolate}
.v3-platform .v3p-orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.v3-platform .v3p-orbit-ring{fill:none;stroke:#9aaab526;stroke-width:1;stroke-dasharray:2 7;vector-effect:non-scaling-stroke}
.v3-platform .v3p-orbit-ring-inner{stroke:#9aaab50f;stroke-dasharray:none}
.v3-platform .v3p-wires line{stroke:#90a5b3;stroke-opacity:.22;stroke-width:1;vector-effect:non-scaling-stroke}
.v3-platform .v3p-flows line{stroke:#d3a16e;stroke-opacity:.8;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:3 240;vector-effect:non-scaling-stroke;animation:v3p-flow 7s var(--fd,0s) linear infinite;animation-play-state:paused}
.v3-platform .v3p-hub{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:3}
.v3-platform .v3p-hub strong{font-family:var(--f-display);font-size:19px;font-weight:400;letter-spacing:-.02em;color:#f2f1ee}
.v3-platform .v3p-captions{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px;text-align:left;font-size:12px;line-height:1.55;color:var(--v3p-muted);max-width:560px;width:100%}
.v3-platform .v3p-captions b{display:block;font-family:var(--f-mono);font-weight:400;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#d2d9dc;margin-bottom:2px}
.v3-platform .v3p-captions li[data-c="4"]{color:var(--v3p-faint);margin-top:4px}

/* 02 Company brain: 3 open isometric planes, observations at the bottom, curated knowledge on top. */
.v3-platform .v3p-brain-visual{display:flex;flex-direction:column;gap:22px}
.v3-platform .v3p-layers{order:2;display:grid;gap:14px}
.v3-platform .v3p-layer{text-align:left}
.v3-platform .v3p-layer>span{display:flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d2d9dc}
.v3-platform .v3p-layer i{width:6px;height:6px;border-radius:50%;background:var(--v3p-tan);flex:none}
.v3-platform .v3p-layer-mid i{background:var(--v3p-teal)}.v3-platform .v3p-layer-base i{background:var(--v3p-mauve)}
.v3-platform .v3p-layer p{margin:6px 0 0 15px;font-size:12px;line-height:1.55;color:var(--v3p-muted)}
.v3-platform .v3p-planes{display:block;width:100%;height:auto;overflow:visible}
.v3-platform .v3p-plane-face{fill:#8a9ba506;stroke:#b6c2c752;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.v3-platform .v3p-plane-edge{fill:#0b1219;stroke:#b6c2c72e;stroke-width:1;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.v3-platform .v3p-plane-mid .v3p-plane-face{fill:#93a7ad0c;stroke:#a8bbc46b}
.v3-platform .v3p-plane-top .v3p-plane-face{fill:#e1ad7f10;stroke:#d7a675b0}
.v3-platform .v3p-plane-leader{display:none;stroke:#8593a0;stroke-width:1;stroke-dasharray:1 3;vector-effect:non-scaling-stroke}
.v3-platform .v3p-tile{fill:var(--v3p-tan);fill-opacity:.85;stroke:#f1d3b3;stroke-width:1;vector-effect:non-scaling-stroke}
.v3-platform .v3p-brain-flow line{stroke:#c9d1d8;stroke-opacity:.5;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:0 6;vector-effect:non-scaling-stroke;animation:v3p-dots 1.6s linear infinite;animation-play-state:paused}
.v3-platform .v3p-packet{fill:var(--v3p-orange);opacity:0;animation:v3p-rise 3.6s var(--d) ease-in-out infinite;animation-play-state:paused}

/* 03 Agents: in, thinking, out. Cards with real marks, the agent with a 3-line trace. */
.v3-platform .v3p-agent{display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:left}
.v3-platform .v3p-a-lines{display:none}
.v3-platform .v3p-col{display:flex;flex-direction:column;gap:12px}
.v3-platform .v3p-col .v3p-colcap{margin:6px 0 2px}
.v3-platform .v3p-icard{display:flex;align-items:center;gap:14px;padding:13px 15px;background:var(--v3p-card);border:1px solid #ffffff1c;border-radius:8px;box-shadow:0 20px 50px #00000059}
.v3-platform .v3p-ilogo{flex:none;width:42px;height:42px;border-radius:10px;background:var(--v3p-node);border:1px solid #ffffff14;display:grid;place-items:center;position:relative}
.v3-platform .v3p-ilogo img{width:25px;height:25px;object-fit:contain}
.v3-platform .v3p-ipdf{font-family:var(--f-mono);font-size:9px;letter-spacing:.08em;color:#e8edf2}
.v3-platform .v3p-ipdf::before{content:'';position:absolute;inset:9px 11px;border:1.5px solid #c9d1d8;border-radius:2px;opacity:.55}
.v3-platform .v3p-ipdf span{position:relative;background:var(--v3p-node);padding:0 2px}
.v3-platform .v3p-icard b{font-weight:500;font-size:13.5px;line-height:1.3;color:#f4f5f6}
.v3-platform .v3p-tick{margin-left:auto;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid #d7a67588;color:var(--v3p-tan);font-size:11px;display:grid;place-items:center;font-style:normal}
.v3-platform .v3p-tick-orange{border-color:var(--v3p-orange);color:#141e28;background:var(--v3p-orange)}
.v3-platform .v3p-agentcore{display:flex;flex-direction:column;align-items:center;gap:18px;padding:10px 0 4px}
.v3-platform .v3p-agentcore .v3p-colcap{align-self:flex-start;margin:0 0 -6px}
.v3-platform .v3p-trace{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;align-self:stretch}
.v3-platform .v3p-trace li{display:flex;align-items:center;gap:10px;font-size:12.5px;line-height:1.35;color:#c9d1d8}
.v3-platform .v3p-trace li>i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--v3p-node);border:1px solid #ffffff14;display:grid;place-items:center;font-style:normal}
.v3-platform .v3p-trace svg{width:13px;height:13px}
.v3-platform .v3p-trace img{width:14px;height:14px;object-fit:contain}

/* 04 Automation: set up once (5 blocks land one by one), then runs on repeat (dot, ticks, loop). */
.v3-platform .v3p-build{display:flex;flex-direction:column;gap:0;text-align:left;position:relative}
.v3-platform .v3p-bcap{font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8391a0;white-space:nowrap;transition:opacity .4s ease}
.v3-platform .v3p-cap-once{display:none}
.v3-platform .v3p-cap-repeat{order:3;margin:18px 0 10px}
.v3-platform .v3p-blocks{display:flex;flex-direction:column;gap:14px;position:relative;padding-left:26px}
.v3-platform .v3p-blocks::before{content:'';position:absolute;left:8px;top:22px;bottom:22px;border-left:1px solid #8593a08c}
.v3-platform .v3p-conn{display:none}
.v3-platform .v3p-blk{position:relative;display:flex;align-items:center;gap:12px;min-height:74px;padding:13px 14px 12px;background:var(--v3p-card);border:1px solid #ffffff1c;border-radius:8px;box-shadow:0 20px 50px #00000059;transition:opacity .45s ease,translate .45s ease,border-color .45s ease,box-shadow .45s ease}
.v3-platform .v3p-blk::before{content:'';position:absolute;left:-23px;top:50%;width:9px;height:9px;border-radius:50%;background:#141e28;border:1px solid #8593a0;transform:translateY(-50%)}
.v3-platform .v3p-bico{flex:none;width:36px;height:36px;border-radius:9px;background:var(--v3p-node);border:1px solid #ffffff14;display:grid;place-items:center;grid-auto-flow:column;gap:2px}
.v3-platform .v3p-bico img{width:22px;height:22px;object-fit:contain}
.v3-platform .v3p-bico-two img{width:17px;height:17px}
.v3-platform .v3p-bico svg{width:19px;height:19px}
.v3-platform .v3p-blk b{display:block;font-weight:500;font-size:13px;line-height:1.25;color:#f4f5f6}
.v3-platform .v3p-blk small{display:block;margin-top:5px;font-family:var(--f-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#8391a0}
.v3-platform .v3p-blk small:empty{display:none}
.v3-platform .v3p-st-add{display:none;color:#dfe5ea}
.v3-platform .v3p-blk-team{border-color:#ff9626aa;box-shadow:0 20px 50px #00000059,0 0 0 4px #ff96260f}
.v3-platform .v3p-blk-team .v3p-glyph{stroke:var(--v3p-orange)}
.v3-platform .v3p-blk-team small{color:#ffb25a}
.v3-platform .v3p-btick{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;background:var(--v3p-orange);color:#141e28;font-size:11px;display:grid;place-items:center;font-style:normal;border:2px solid #141e28}
.v3-platform .v3p-loop,.v3-platform .v3p-dot{display:none}
.v3-platform .v3p-loop-m{order:3;width:26px;height:26px;margin:16px 0 0 0;stroke:#8593a0;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.v3-platform .v3p-runs{order:4;display:flex;align-items:center;gap:8px;transition:opacity .6s ease}
.v3-platform .v3p-runs.is-reset{opacity:0}
.v3-platform .v3p-runs i{width:16px;height:16px;border-radius:50%;border:1px solid #8593a066;display:grid;place-items:center;font-style:normal;font-size:8px;color:transparent;transition:border-color .3s ease,color .3s ease}
.v3-platform .v3p-runs i::before{content:'\2713'}
.v3-platform .v3p-runs i.is-done{border-color:#d7a67588;color:var(--v3p-tan)}
.v3-platform .v3p-runs i.is-half{border-color:var(--v3p-orange);background:conic-gradient(var(--v3p-orange) 0 62%,transparent 62% 100%)}

@keyframes v3p-dots{to{stroke-dashoffset:-14}}
@keyframes v3p-flow{to{stroke-dashoffset:-486}}
@keyframes v3p-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes v3p-orbit{to{transform:scaleY(.42) rotate(340deg)}}
@keyframes v3p-dotrun{0%{left:8.1%;opacity:0}3%{opacity:1}97%{opacity:1}100%{left:91.9%;opacity:0}}
@keyframes v3p-btick{0%,70%{opacity:0;scale:.5}76%,100%{opacity:1;scale:1}}
@keyframes v3p-rise{0%{transform:translate(0,0);opacity:0}12%{opacity:1}70%{opacity:1}85%,100%{transform:translate(var(--dx),var(--dy));opacity:0}}

/* ---------- Desktop: centred stage, visual large, pinned narrative with JS ---------- */
@media(min-width:761px){
.v3-platform{padding-top:40px}
.v3-platform .v3p-rule{font-size:10px}
.v3-platform .v3p-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;justify-items:center;align-content:start;text-align:center;padding:64px 0 56px;border-bottom:1px solid var(--v3p-hair)}
.v3-platform .v3p-copy{max-width:680px;margin:0 auto 18px}
.v3-platform .v3p-kicker{font-size:11px;margin-bottom:16px}
.v3-platform h3{font-size:clamp(34px,3.4vw,48px)}
.v3-platform .v3p-copy>p{font-size:15px;margin:14px auto 0;max-width:600px}
.v3-platform .v3p-statement{max-width:900px}
.v3-platform .v3p-statement h2{font-size:clamp(50px,5.8vw,86px)}
.v3-platform .v3p-statement>p{font-size:17px;margin:26px auto 0}
.v3-platform .v3p-stage-statement{grid-template-rows:minmax(0,1fr) auto;align-items:center;min-height:70vh}
.v3-platform .v3p-scroll-hint{display:flex;flex-direction:column;align-items:center;gap:10px;align-self:end;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--v3p-faint)}
.v3-platform .v3p-scroll-hint i{width:1px;height:34px;background:linear-gradient(#ffffff00,#ffffff59)}
.v3-platform .v3p-visual-area{container-type:size;width:100%;min-height:0;height:min(600px,66vh);display:grid;place-items:center;padding:0 60px}
.v3-platform .v3p-visual{max-width:1040px}
.v3-platform .v3p-a-lines,.v3-platform .v3p-auto-lines{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0}
.v3-platform .v3p-colcap{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);transform:translate(-50%,-50%);margin:0}
/* 01 */
.v3-platform .v3p-orbit{aspect-ratio:1000/600;width:min(100cqw,1040px,calc(100cqh * 1000 / 600))}
.v3-platform .v3p-sys{width:130px;gap:8px}
.v3-platform .v3p-sys>span{width:61px;height:50px}
.v3-platform .v3p-sys img{width:45px;height:34px}
.v3-platform .v3p-sys strong{font-size:10px;white-space:nowrap}
.v3-platform .v3p-core{width:94px;height:94px}
.v3-platform .v3p-core img{width:48px;height:48px}
.v3-platform .v3p-hub strong{font-size:24px}
.v3-platform .v3p-captions{position:relative;min-height:40px;margin:16px auto 0;max-width:640px;text-align:center;display:block;font-size:12.5px}
.v3-platform .v3p-captions li{position:absolute;left:0;right:0;top:0;opacity:0;transition:opacity .45s ease}
.v3-platform .v3p-captions b{display:inline;margin:0 12px 0 0;font-size:10px}
.v3-platform .v3p-captions li[data-c="4"]{margin:0}
.v3-platform:not(.v3p-js) .v3p-captions li,.v3-platform .v3p-stage[data-step="1"] .v3p-captions li[data-c="1"],.v3-platform .v3p-stage[data-step="2"] .v3p-captions li[data-c="2"],.v3-platform .v3p-stage[data-step="3"] .v3p-captions li[data-c="3"],.v3-platform .v3p-stage[data-step="4"] .v3p-captions li[data-c="4"]{opacity:1}
.v3-platform:not(.v3p-js) .v3p-captions li{position:static}
/* 02 */
.v3-platform .v3p-brain-visual{flex-direction:row;justify-content:center;align-items:stretch;gap:0;height:min(100cqh,600px);width:auto;max-width:none}
.v3-platform .v3p-layers{order:0;display:block;position:relative;width:min(30cqw,290px);flex:none}
.v3-platform .v3p-layer{position:absolute;right:0;top:calc(var(--y)*1%);transform:translateY(-50%);width:100%;padding-right:36px}
.v3-platform .v3p-layer::after{content:'';position:absolute;right:0;top:50%;width:28px;border-top:1px dotted #8593a0}
.v3-platform .v3p-layer>span{font-size:10.5px}
.v3-platform .v3p-layer p{font-size:12.5px;margin-top:8px}
.v3-platform .v3p-planes{height:100%;width:auto;flex:none}
.v3-platform .v3p-plane-leader{display:block}
/* 03 */
.v3-platform .v3p-agent{display:block;aspect-ratio:1040/560;width:min(100cqw,1040px,calc(100cqh * 1040 / 560))}
.v3-platform .v3p-dotted path{fill:none;stroke:#8593a0;stroke-opacity:.6;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:1 6;vector-effect:non-scaling-stroke;clip-path:inset(0 100% 0 0);transition:clip-path .9s ease calc(var(--i,0) * .18s)}
.v3-platform.v3p-js .s2 .v3p-dotted path[data-s="2"],.v3-platform.v3p-js .s4 .v3p-dotted path[data-s="4"]{clip-path:inset(0 0 0 0)}
.v3-platform .v3p-col{position:absolute;top:50%;transform:translateY(-50%);width:29%;gap:18px}
.v3-platform .v3p-col-in{left:0}.v3-platform .v3p-col-out{right:0}
.v3-platform .v3p-col .v3p-colcap{left:50%;top:-30px}
.v3-platform .v3p-icard{padding:14px 16px}
.v3-platform .v3p-ilogo{width:44px;height:44px}
.v3-platform .v3p-ilogo img{width:26px;height:26px}
.v3-platform.v3p-js .v3p-col-in .v3p-icard{translate:-18px 0}
.v3-platform.v3p-js .v3p-col-out .v3p-icard{translate:18px 0}
.v3-platform.v3p-js .v3p-col-out .v3p-tick{opacity:0;scale:.5;transition:opacity .35s ease calc(var(--i,0) * .22s + .5s),scale .35s ease calc(var(--i,0) * .22s + .5s)}
.v3-platform.v3p-js .s4 .v3p-col-out .v3p-tick{opacity:1;scale:1}
.v3-platform .v3p-agentcore{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:34%;padding:0;gap:22px}
.v3-platform .v3p-agentcore .v3p-colcap{left:50%;top:-52px;align-self:auto;margin:0}
.v3-platform .v3p-agentcore .v3p-core{width:104px;height:104px}
.v3-platform .v3p-agentcore .v3p-core img{width:52px;height:52px}
.v3-platform .v3p-trace{align-self:center}
.v3-platform .v3p-trace li{white-space:nowrap}
.v3-platform.v3p-js .v3p-trace li{transition-delay:calc(var(--i,0) * .8s)}
.v3-platform.v3p-js .v3p-trace li span{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;vertical-align:bottom;transition:max-width .8s steps(28,end) calc(var(--i,0) * .8s + .1s)}
.v3-platform.v3p-js .s3 .v3p-trace li span{max-width:460px}
/* 04 */
.v3-platform .v3p-build{display:block;aspect-ratio:1040/360;width:min(100cqw,1040px,calc(100cqh * 1040 / 360))}
.v3-platform .v3p-bcap{position:absolute;left:0;top:22%;margin:0}
.v3-platform .v3p-cap-once{display:block}
.v3-platform .v3p-cap-repeat{opacity:0}
.v3-platform:not(.v3p-js) .v3p-cap-once{display:none}
.v3-platform:not(.v3p-js) .v3p-cap-repeat{opacity:1}
.v3-platform .v3p-blocks{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);flex-direction:row;align-items:center;gap:0;padding:0}
.v3-platform .v3p-blocks::before,.v3-platform .v3p-blk::before{display:none}
.v3-platform .v3p-blk{flex:none;width:168px}
.v3-platform .v3p-conn{display:block;flex:1;height:1px;background:#8593a0;opacity:.55;transition:opacity .45s ease,background .45s ease}
.v3-platform .v3p-loop{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.v3-platform .v3p-loop path{fill:none;stroke:#8593a0;stroke-opacity:.55;stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
.v3-platform .v3p-loop .v3p-loop-head{fill:#8593a0;fill-opacity:.7;stroke:none}
.v3-platform .v3p-loop-m{display:none}
.v3-platform .v3p-runs{position:absolute;left:50%;top:75%;transform:translate(-50%,-50%);background:var(--v3p-bg);padding:0 12px;margin:0}
.v3-platform .v3p-dot{display:block;position:absolute;top:50%;left:44%;width:12px;height:12px;border-radius:50%;background:var(--v3p-orange);transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ff962626,0 0 14px #ff962699;z-index:2}
.v3-platform .s6 .v3p-dot{animation:v3p-dotrun 3s linear infinite;animation-play-state:paused}
.v3-platform .s6 .v3p-btick{animation:v3p-btick 3s linear infinite;animation-play-state:paused}
/* Landing: the block that just arrived is dashed and offset, its connector dashed, its status reads Adding. */
.v3-platform.v3p-js .v3p-stage.s1:not(.s2) .v3p-blk[data-s="1"],.v3-platform.v3p-js .v3p-stage.s2:not(.s3) .v3p-blk[data-s="2"],.v3-platform.v3p-js .v3p-stage.s3:not(.s4) .v3p-blk[data-s="3"],.v3-platform.v3p-js .v3p-stage.s4:not(.s5) .v3p-blk[data-s="4"],.v3-platform.v3p-js .v3p-stage.s5:not(.s6) .v3p-blk[data-s="5"]{translate:14px 12px;border-style:dashed;border-color:#8593a0aa;background:#18233099;box-shadow:none}
.v3-platform.v3p-js .v3p-stage.s1:not(.s2) .v3p-blk[data-s="1"] .v3p-st,.v3-platform.v3p-js .v3p-stage.s2:not(.s3) .v3p-blk[data-s="2"] .v3p-st,.v3-platform.v3p-js .v3p-stage.s3:not(.s4) .v3p-blk[data-s="3"] .v3p-st,.v3-platform.v3p-js .v3p-stage.s4:not(.s5) .v3p-blk[data-s="4"] .v3p-st,.v3-platform.v3p-js .v3p-stage.s5:not(.s6) .v3p-blk[data-s="5"] .v3p-st{display:none}
.v3-platform.v3p-js .v3p-stage.s1:not(.s2) .v3p-blk[data-s="1"] .v3p-st-add,.v3-platform.v3p-js .v3p-stage.s2:not(.s3) .v3p-blk[data-s="2"] .v3p-st-add,.v3-platform.v3p-js .v3p-stage.s3:not(.s4) .v3p-blk[data-s="3"] .v3p-st-add,.v3-platform.v3p-js .v3p-stage.s4:not(.s5) .v3p-blk[data-s="4"] .v3p-st-add,.v3-platform.v3p-js .v3p-stage.s5:not(.s6) .v3p-blk[data-s="5"] .v3p-st-add{display:inline}
.v3-platform.v3p-js .v3p-stage.s2:not(.s3) .v3p-conn[data-s="2"],.v3-platform.v3p-js .v3p-stage.s3:not(.s4) .v3p-conn[data-s="3"],.v3-platform.v3p-js .v3p-stage.s4:not(.s5) .v3p-conn[data-s="4"],.v3-platform.v3p-js .v3p-stage.s5:not(.s6) .v3p-conn[data-s="5"]{background:repeating-linear-gradient(90deg,#8593a0 0 3px,transparent 3px 7px)}
/* Running: caption swaps, the loop draws back to the start, the dot and the team tick run, the tick row fills. */
.v3-platform.v3p-js .v3p-loop path{clip-path:inset(0 0 0 100%);transition:clip-path 1.1s ease .2s}
.v3-platform.v3p-js .s6 .v3p-loop path{clip-path:inset(0 0 0 0)}
.v3-platform.v3p-js .v3p-btick,.v3-platform.v3p-js .v3p-dot{opacity:0}
.v3-platform.v3p-js .s6 .v3p-cap-once{opacity:0}
.v3-platform.v3p-js .s6 .v3p-cap-repeat{opacity:1}
/* Stacked stages (JS present): one screen each, the statement shorter. */
.v3-platform.v3p-js .v3p-stage{position:relative;height:100vh;height:100svh;min-height:640px;padding:calc(var(--v3p-nav) + 22px) 0 28px;border-bottom:0}
.v3-platform.v3p-js .v3p-stage-statement{height:60vh;height:60svh;min-height:420px;padding-bottom:40px}
.v3-platform.v3p-js .v3p-visual-area{height:auto;padding:0 170px}
/* The rail is a page-level sticky element: it follows the reader through the pinned block and the stages after it. */
.v3-platform.v3p-js .v3p-rail{position:sticky;top:50%;height:0;z-index:3;display:block;margin:0;padding:0;visibility:hidden}
.v3-platform.v3p-js.v3p-rail-ready .v3p-rail{visibility:visible}
.v3-platform .v3p-rail-in{position:absolute;left:0;top:0;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;max-width:120px}
.v3-platform .v3p-rail a{display:flex;align-items:center;gap:12px;text-decoration:none;color:#6f7d89;font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;transition:color .25s ease}
.v3-platform .v3p-rail a span{width:16px}
.v3-platform .v3p-rail a b{font-weight:400;position:relative;padding-left:16px}
.v3-platform .v3p-rail a b::before{content:'';position:absolute;left:0;top:50%;width:8px;height:1px;background:currentColor;transition:width .25s ease}
.v3-platform .v3p-rail a:hover{color:var(--v3p-paper)}
.v3-platform .v3p-rail a[aria-current]{color:var(--v3p-orange)}
.v3-platform .v3p-rail a[aria-current] b::before{width:14px}
/* Motion runs only while the section is on screen, the tab is visible and the stage is active. */
.v3-platform.v3p-playing .v3p-stage.is-active :is(.v3p-flows line,.v3p-sys>span,.v3p-core i,.v3p-brain-flow line,.v3p-packet){animation-play-state:running}
.v3-platform.v3p-playing .v3p-stage.is-active.s6 :is(.v3p-dot,.v3p-btick){animation-play-state:running}
}
@media(min-width:761px) and (max-width:1300px){
.v3-platform .v3p-icard b{font-size:12.5px}
.v3-platform .v3p-trace li{font-size:11.5px}
}
@media(min-width:761px) and (max-width:1300px){
.v3-platform .v3p-rail a b{display:none}
.v3-platform.v3p-js .v3p-visual-area{padding:0 90px}
}
@media(min-width:761px) and (max-width:1100px){
.v3-platform.v3p-js .v3p-rail{display:none}
.v3-platform.v3p-js .v3p-visual-area{padding:0 56px}
.v3-platform .v3p-sys{width:100px}
.v3-platform .v3p-sys strong{font-size:9px}
.v3-platform .v3p-col{width:30%}
.v3-platform .v3p-icard{padding:11px 12px;gap:10px}
.v3-platform .v3p-icard b{font-size:11.5px}
.v3-platform .v3p-ilogo{width:38px;height:38px}
.v3-platform .v3p-trace li{font-size:10.5px}
.v3-platform .v3p-blk{width:150px;padding:11px 11px 10px;gap:9px;min-height:66px}
.v3-platform .v3p-blk b{font-size:11.5px}
.v3-platform .v3p-layers{width:min(34cqw,240px)}
}
@media(min-width:761px) and (max-height:760px){
.v3-platform.v3p-js .v3p-stage{padding-top:calc(var(--v3p-nav) + 10px);padding-bottom:20px}
.v3-platform .v3p-copy{margin-bottom:10px}
.v3-platform .v3p-kicker{margin-bottom:10px}
.v3-platform h3{font-size:34px}
.v3-platform .v3p-copy>p{font-size:13.5px;margin-top:10px}
.v3-platform .v3p-statement h2{font-size:clamp(44px,5vw,66px)}
.v3-platform .v3p-captions{margin-top:10px;min-height:32px;font-size:12px}
.v3-platform .v3p-link{margin-top:12px}
.v3-platform .v3p-sys>span{width:52px;height:42px}
.v3-platform .v3p-sys img{width:38px;height:30px}
.v3-platform .v3p-core,.v3-platform .v3p-agentcore .v3p-core{width:80px;height:80px}
.v3-platform .v3p-core img,.v3-platform .v3p-agentcore .v3p-core img{width:40px;height:40px}
.v3-platform .v3p-agentcore{gap:14px}
.v3-platform .v3p-icard{padding:10px 12px}
}
/* Mobile: stacked stages, all steps show as each stage enters; the orbit and brain still animate. */
@media(max-width:760px){
.v3-platform .v3p-orbit{aspect-ratio:1000/1260}
.v3-platform .v3p-orbit-lines{transform:scaleX(1.08);transform-origin:50% 50%}
.v3-platform .v3p-sys{left:calc(50% + (var(--x) - 50) * 1.08%);width:62px}
.v3-platform .v3p-sys>span{width:44px;height:36px}
.v3-platform .v3p-sys img{width:32px;height:26px}
.v3-platform .v3p-sys strong{font-size:8px}
.v3-platform.v3p-playing .v3p-stage.is-active :is(.v3p-flows line,.v3p-sys>span,.v3p-core i,.v3p-brain-flow line,.v3p-packet){animation-play-state:running}
.v3-platform.v3p-js .v3p-in[data-s]{transition-delay:calc((var(--v3p-i,1) - 1) * .12s)}
.v3-platform.v3p-js [data-s="2"]{--v3p-i:2}.v3-platform.v3p-js [data-s="3"]{--v3p-i:3}.v3-platform.v3p-js [data-s="4"]{--v3p-i:4}
.v3-platform .v3p-icard b{font-size:13px}
.v3-platform .v3p-trace li{align-items:flex-start}
.v3-platform .v3p-trace li>i{margin-top:-2px}
.v3-platform .v3p-runs i:nth-child(-n+6){border-color:#d7a67588;color:var(--v3p-tan)}
.v3-platform .v3p-runs i:nth-child(7){border-color:var(--v3p-orange);background:conic-gradient(var(--v3p-orange) 0 62%,transparent 62% 100%)}
}
@media(prefers-reduced-motion:reduce){
.v3-platform *,.v3-platform *::before,.v3-platform *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.v3-platform [data-s]{opacity:1!important;translate:none!important}
.v3-platform .v3p-packet{display:none!important}
.v3-platform .v3p-captions{display:grid!important;text-align:left}
.v3-platform .v3p-captions li{position:static!important;opacity:1!important}
.v3-platform .v3p-dotted path{clip-path:none!important}
.v3-platform .v3p-trace li span{max-width:none!important}
.v3-platform .v3p-col-out .v3p-tick{opacity:1!important;scale:1!important}
.v3-platform .v3p-cap-once{display:none!important}
.v3-platform .v3p-cap-repeat{opacity:1!important}
.v3-platform .v3p-loop path{clip-path:none!important}
.v3-platform .v3p-btick,.v3-platform .v3p-dot{opacity:1!important}
.v3-platform .v3p-runs i{border-color:#d7a67588!important;color:var(--v3p-tan)!important}
}
