/* The Ops Layer · Execution OS Install. Builds on tokens/base/components (Home v3 system). */

/* hero */
.hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.3) 52%,rgba(0,0,0,0) 74%),linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.2) 45%,rgba(0,0,0,0) 60%)}
.sentinel{position:absolute;top:120px;left:0;width:1px;height:1px}
.ol.js:not(.is-static) .hero [data-h]{opacity:0;translate:0 24px;filter:blur(6px);transition:opacity 1.3s var(--ex),translate 1.5s var(--ex),filter 1.3s var(--ex);transition-delay:var(--d,0ms)}
.ol.js:not(.is-static).loaded .hero [data-h]{opacity:1;translate:0 0;filter:blur(0)}
.btn .ic-up{transition:transform .6s var(--ex)}
.btn:hover .ic-up{transform:translateY(-3px)}

.in-hero{min-height:max(800px,min(100vh,1080px));display:flex;flex-direction:column}
.in-hero>.wrap{width:100%}
.in-in{flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:112px;padding-bottom:32px}
.in-h1{font-size:clamp(56px,7.4vw,116px);line-height:.92}
.in-h1 .ln+.ln{padding-left:clamp(0px,14vw,240px)}
.in-row{margin-top:clamp(32px,3vw,48px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px clamp(40px,6vw,104px);align-items:start}
.in-promise{font-family:var(--disp);font-weight:700;font-size:clamp(23px,2.1vw,33px);line-height:1.22;letter-spacing:-.012em;color:var(--fg);max-width:17em;text-wrap:balance}
.in-body .hero-sub{font-size:clamp(15.5px,1.1vw,17px);line-height:1.72;color:var(--on-d2);max-width:56ch;text-wrap:pretty}
.in-three{margin-top:22px;display:flex;flex-direction:column;gap:2px;font-family:var(--disp);font-style:italic;font-size:clamp(18px,1.4vw,21px);line-height:1.4;color:var(--fg)}
.in-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:24px 0 32px;border-top:1px solid var(--hair2)}
.in-terms{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;font-size:14px;color:var(--on-d2)}
.in-terms span{display:inline-flex;align-items:center}
.in-terms span+span::before{content:"";width:10px;height:6px;margin:0 18px;background:currentColor;opacity:.45;transform:skewX(-29deg)}
.in-terms span:first-child{font-family:var(--disp);font-weight:700;font-size:19px;color:var(--fg)}
.in-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 34px}
.in-cta .cta{display:flex;align-items:center;gap:16px}
.note{font-size:13px;line-height:1.5;color:var(--on-d2)}
.note a{color:var(--fg);text-underline-offset:3px}

/* seven components: the layer, as a stack above your tools */
.os-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px clamp(40px,7vw,120px);align-items:end}
.os-lead p{font-size:clamp(16px,1.2vw,18px);line-height:1.72;color:var(--on-d2)}
.os-lead .os-say{margin-top:18px;font-family:var(--disp);font-style:italic;font-size:clamp(20px,1.7vw,26px);line-height:1.35;color:var(--fg)}
.os{margin-top:clamp(64px,6vw,104px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,104px);align-items:start}
.os-l{position:sticky;top:calc(50vh - 280px);height:560px}
.sk{position:relative;height:100%;perspective:1800px;display:grid;place-items:center}
.sk-in{position:relative;width:min(360px,78%);aspect-ratio:1.5;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-36deg)}
.sk-s{position:absolute;inset:0;border-radius:4px;border:1px solid rgb(255 255 255 / .2);background:linear-gradient(135deg,rgba(28,28,28,.95),rgba(8,8,8,.92));display:flex;align-items:flex-end;padding:16px 20px;transform:translateZ(calc(var(--i) * 26px + 30px));transition:transform 1.1s var(--ex),background-color .6s var(--ease),border-color .6s}
.sk-s b{font-family:var(--disp);font-size:20px;font-weight:700;color:var(--fg);opacity:0;transition:opacity .5s}
.sk-s.on{background:linear-gradient(135deg,rgb(255 255 255 / .92),rgb(236 236 234 / .8));border-color:#fff;transform:translateZ(calc(var(--i) * 26px + 30px)) translateX(-46%)}
.sk-s.on b{opacity:1;color:#0F0F0F}
.sk-s.done{border-color:rgb(255 255 255 / .34);background:rgba(26,26,26,.92)}
.sk-base{background:none;border:1px dashed rgb(255 255 255 / .3);flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px}
.sk-base b{opacity:1;font-size:17px;color:var(--on-d2)}
.sk-base span{font-size:12px;color:var(--on-d3)}
.ol.js:not(.is-static) .sk-s{opacity:0}
.ol.js:not(.is-static) .os-l.in .sk-s{opacity:1;transition:opacity .9s var(--ease),transform 1.1s var(--ex),background-color .6s var(--ease),border-color .6s;transition-delay:calc((7 - var(--i)) * 70ms),0s,0s,0s}
.os-r{display:flex;flex-direction:column}
.cp{min-height:min(56vh,520px);display:flex;flex-direction:column;justify-content:center;gap:20px;padding-block:44px;border-top:1px solid var(--hair);scroll-margin-top:100px;transition:opacity .7s var(--ease)}
.cp:first-child{border-top:0}
.cp-h{display:flex;align-items:center;gap:18px;font-family:var(--disp);font-weight:700;font-size:clamp(30px,3vw,48px);line-height:1.05;letter-spacing:-.018em;color:var(--fg)}
.cp-h .ic{font-size:.62em;color:var(--on-d2)}
.cp p{font-size:clamp(16px,1.2vw,18px);line-height:1.72;color:var(--on-d2);max-width:52ch}
.os.live .cp{opacity:.3}
.os.live .cp.on{opacity:1}

/* how it runs: a 13-week ruler drawn to scale, each phase dropping to its notes */
.rn-h{font-size:clamp(46px,6vw,104px);line-height:.98;max-width:12em}
.rn-h span{display:inline-block}
.rn{margin-top:clamp(64px,6vw,104px)}
.rl{position:relative}
.rl-ticks{position:relative;height:30px;border-bottom:1px solid var(--hair2)}
.rl-t{position:absolute;left:var(--x);bottom:8px;font-size:12px;font-weight:700;color:var(--on-d3);font-variant-numeric:tabular-nums}
.rl-t::after{content:"";position:absolute;left:0;bottom:-9px;width:1px;height:6px;background:var(--hair2)}
.rl-tt{font-family:var(--disp);font-style:italic;font-weight:400;font-size:14px}
.rl-bands{position:relative;height:14px;margin-top:12px}
.rl-b{position:absolute;left:var(--x);top:0;height:12px;width:calc(var(--w) - 6px);background:#F0EFEE;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ex);transition-delay:calc(var(--k) * 260ms + .2s)}
.rl-b:nth-child(odd){background:rgb(255 255 255 / .62)}
.rl-tail{background:repeating-linear-gradient(-61deg,rgb(255 255 255 / .5) 0 1px,transparent 1px 6px)!important}
.rn.in .rl-b,.ol:not(.js) .rl-b,.ol.is-static .rl-b{transform:none}
.rl-drop{display:block;width:100%;height:80px;overflow:visible}
.rl-drop path{fill:none;stroke:rgb(255 255 255 / .35);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ex);transition-delay:calc(var(--k) * 260ms + .9s)}
.rn.in .rl-drop path,.ol:not(.js) .rl-drop path,.ol.is-static .rl-drop path{stroke-dashoffset:0}
.rn-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px clamp(24px,2.6vw,40px)}
.rn-c{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--hair2)}
.rn-w{font-family:var(--disp);font-style:italic;font-size:17px;color:var(--on-d2)}
.rn-c h3{font-family:var(--disp);font-weight:700;font-size:clamp(22px,1.9vw,29px);line-height:1.1;letter-spacing:-.012em;color:var(--fg)}
.rn-c p:last-child{font-size:15px;line-height:1.7;color:var(--on-d2)}
.rn-tail{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 22px;margin-top:20px;border-top:1px dashed rgb(255 255 255 / .28)}
.rn-tail h3{font-size:clamp(19px,1.5vw,23px)}

/* included: the Install mark drawn on paper; each item, as you reach it, is pinned into its plane */
.inc-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px clamp(40px,7vw,120px);align-items:end}
.inc-sub{font-family:var(--disp);font-style:italic;font-size:clamp(19px,1.6vw,24px);color:var(--on-d2)}

/* who: four columns, the one you look at opens */
.wh{margin-top:clamp(56px,5vw,88px);display:flex;min-height:420px;border-top:1px solid var(--hair2);border-bottom:1px solid var(--hair2)}
.wh-c{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:22px;padding:34px clamp(20px,2vw,32px) 36px;border-left:1px solid var(--hair);text-align:left;transition:flex-grow 1s var(--ex),background-color .6s var(--ease)}
.wh-c:first-child{border-left:0;padding-left:0}
.wh-c.on{flex-grow:2.4}
.wh-t{font-family:var(--disp);font-weight:700;font-size:clamp(19px,1.7vw,26px);line-height:1.2;letter-spacing:-.01em;color:var(--on-d3);transition:color .5s}
.wh-b{font-size:16px;line-height:1.7;color:var(--on-d2);max-width:38ch;opacity:0;translate:0 10px;transition:opacity .5s var(--ease),translate .8s var(--ex)}
.wh-c.on .wh-t{color:var(--fg)}
.wh-c.on .wh-b{opacity:1;translate:0 0;transition-delay:.25s}
.wh-c::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ex)}
.wh-c.on::after{transform:scaleX(1)}
.wh-c:focus-visible{outline:2px solid #F26B21;outline-offset:-2px}
.ol:not(.js) .wh-b{opacity:1;translate:0 0}

/* ninety days later: each outcome tied to the component that produces it */
.cg-h{font-size:clamp(46px,5.6vw,96px)}
.cg-end{margin-top:clamp(64px,6vw,104px);font-size:clamp(32px,3.4vw,56px);line-height:1.08;max-width:16em;color:var(--fg)}

/* pricing: we frame the house */
.pc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px clamp(48px,7vw,120px);align-items:center}
.pc-n{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .22em;font-size:clamp(64px,7.2vw,116px);line-height:.92;letter-spacing:-.04em;color:var(--fg);font-variant-numeric:lining-nums}
.pc-from{flex-basis:100%;font-size:.3em;font-style:italic;font-weight:400;letter-spacing:0;color:var(--on-d2);margin-bottom:.15em}
.pc-n em{font-size:.32em;font-weight:400;letter-spacing:-.01em;color:var(--on-d2)}
.pc-p{margin-top:28px;font-size:16px;line-height:1.72;color:var(--on-d2);max-width:52ch}
.pc-p a{color:var(--fg);text-underline-offset:3px}
.pc-l .btn{margin-top:36px}
.pc-r{margin:0}
.hs{display:block;width:100%;max-width:560px;height:auto;overflow:visible}
.hs-frame path{fill:none;stroke:#F0EFEE;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ex)}
.hs-frame path:nth-child(2){transition-delay:.2s}.hs-frame path:nth-child(3),.hs-frame path:nth-child(4){transition-delay:.6s}.hs-frame path:nth-child(5){transition-delay:.9s}.hs-frame path:nth-child(6){transition-delay:1.2s;stroke:rgb(255 255 255 / .35)}
.hs-furn path{fill:none;stroke:rgb(255 255 255 / .55);stroke-width:1.2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;opacity:0;transition:opacity 1s var(--ease) 2.2s}
.pc-r.in .hs-frame path,.ol:not(.js) .hs-frame path,.ol.is-static .hs-frame path{stroke-dashoffset:0}
.pc-r.in .hs-furn path,.ol:not(.js) .hs-furn path,.ol.is-static .hs-furn path{opacity:1}
.pc-r figcaption{margin-top:28px;display:flex;flex-direction:column;gap:12px}
.pc-say{font-size:clamp(26px,2.4vw,38px);line-height:1.12;color:var(--fg);margin-bottom:8px}
.pc-key{display:flex;align-items:baseline;gap:16px;font-size:14.5px;line-height:1.6;color:var(--on-d2);max-width:50ch}
.pc-key span{flex:none;width:30px;height:0;border-top:1.5px solid #F0EFEE;translate:0 -4px}
.pc-key .k-dash{border-top:1.5px dashed rgb(255 255 255 / .55)}

/* ancillary */
.an2-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px clamp(40px,7vw,120px);align-items:end}
.an2-head .h2{font-size:clamp(34px,3.4vw,56px)}
.an2-sub{font-size:15px;line-height:1.7;color:var(--on-d2)}
.an2-sub a{color:var(--fg);text-underline-offset:3px}
.an2{margin-top:clamp(48px,4.4vw,72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--hair2)}
.an2-c{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:36px 40px 8px 0}
.an2-c+.an2-c{padding-left:40px;border-left:1px solid var(--hair)}
.an2-c h3{font-family:var(--disp);font-weight:700;font-size:clamp(23px,2vw,31px);line-height:1.1;color:var(--fg)}
.an2-px{font-size:13px;font-weight:700;color:var(--on-d3)}
.an2-c p:not(.an2-px){font-size:15.5px;line-height:1.72;color:var(--on-d2)}
.an2-c .lk{margin-top:6px}

.faq-a a{color:var(--fg);text-underline-offset:3px}

@media (max-width:1100px){
.in-row,.os-head,.inc-head,.an2-head,.pc{grid-template-columns:minmax(0,1fr)}
.os{grid-template-columns:minmax(0,1fr)}
.os-l{position:relative;top:0;height:380px}
.cp{min-height:0;padding-block:32px}
.os.live .cp{opacity:1}
.rl,.rl-drop{display:none}
.rn-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.wh{flex-direction:column;min-height:0;border-bottom:0}
.wh-c,.wh-c:first-child{padding:28px 0;border-left:0;border-bottom:1px solid var(--hair)}
.wh-b{opacity:1;translate:0 0}
.wh-t{color:var(--fg)}
.an2{grid-template-columns:minmax(0,1fr)}
.an2-c+.an2-c{padding-left:0;border-left:0;border-top:1px solid var(--hair)}
}
@media (max-width:760px){
.in-h1 .ln+.ln{padding-left:0}
.in-cta .cta{flex-direction:column;align-items:flex-start;gap:10px}
.in-terms{flex-direction:column;align-items:flex-start}
.in-terms span+span::before{display:none}
.rn-cols{grid-template-columns:minmax(0,1fr)}
.os-l{display:none}
}
@media (prefers-reduced-motion:reduce){
.ol *,.ol *::before,.ol *::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
.rn-l{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column}
.rn-l li{position:relative;padding:9px 0 9px 18px;border-top:1px solid var(--hair);font-size:15px;line-height:1.45;color:var(--on-d2)}
.rn-l li:first-child{border-top:0;padding-top:4px;font-family:var(--disp);font-size:clamp(17px,1.35vw,20px);line-height:1.3;color:var(--fg)}
.rn-l li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:5px;background:currentColor;opacity:.45;transform:skewX(-29deg)}
.rn-l li:first-child::before{top:13px}

/* included (6 Oct): sticky drawing left, grouped list right */
.ib{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);margin-top:clamp(56px,5vw,88px);align-items:start}
.ib-fig{position:sticky;top:max(110px,14vh);margin:0}
.ib-fig svg{display:block;width:100%;max-width:560px;height:auto;overflow:visible}
.ib-pl{transform:translateX(var(--of));transition:transform 1.3s var(--ex)}
.ib-pl.on{transform:none}
.ib-o{fill:none;stroke:rgb(0 0 0 / .3);stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke 1s var(--ease)}
.ib-t{fill:none;stroke:#0F0F0F;stroke-width:1.4;vector-effect:non-scaling-stroke;opacity:.25;transition:opacity 1s var(--ease)}
.ib-pl.on .ib-o{stroke:rgb(0 0 0 / .55)}
.ib-pl.on .ib-t{opacity:1}
.ib-h path{stroke:#0F0F0F;stroke-width:.8;vector-effect:non-scaling-stroke;opacity:0;transition:opacity 1.2s var(--ease)}
.ib-h path:nth-child(odd){transition-delay:.12s}
.ib-pl[data-f] .ib-h path{opacity:calc(var(--f,0) * .32)}
.ib-pin .ib-dot{fill:#0F0F0F;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s cubic-bezier(.3,1.6,.5,1) .35s}
.ib-pin .ib-ring{fill:none;stroke:#0F0F0F;stroke-width:1;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(1.6)}
.ib-pin.on .ib-dot{transform:scale(1)}
.ib-pin.on .ib-ring{animation:ib-drive 1s var(--ex) forwards}
@keyframes ib-drive{0%{opacity:0;transform:scale(1.6)}30%{opacity:.7}100%{opacity:0;transform:scale(.24)}}
.ib-n{margin-top:28px;font-family:var(--disp);font-style:italic;font-variant-numeric:lining-nums tabular-nums;font-size:clamp(18px,1.4vw,22px);color:var(--on-d2)}
.ib-n b{font-style:normal;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}
.ib-g+.ib-g{margin-top:clamp(40px,4vw,64px)}
.ib-gh{margin:0 0 6px;font-family:var(--disp);font-style:italic;font-weight:400;font-size:clamp(22px,1.8vw,28px);letter-spacing:-.01em;color:var(--fg)}
.ib-g ul{list-style:none;margin:0;padding:0;border-top:1px solid rgb(0 0 0 / .14)}
.ib-g li{display:flex;align-items:baseline;gap:18px;padding:18px 0;border-bottom:1px solid rgb(0 0 0 / .09);font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:var(--on-d);opacity:var(--io,.42);transition:opacity .8s var(--ease)}
.ib-g li.on{opacity:1}
.ib-g .pin{position:relative;flex:none;width:9px;height:9px;border-radius:50%;border:1px solid #0F0F0F;translate:0 -1px;transition:background-color .4s .3s}
.ib-g li.on .pin{background:#0F0F0F}
.ol:not(.js) .ib-g li,.ol.is-static .ib-g li{opacity:1}

/* what changes (6 Oct): six lanes. Day 1 they all route through one point, you; by day 90 each runs straight to its owner */
.cg-wrap{position:relative;margin-top:clamp(48px,4.4vw,80px)}
.cg-day{position:relative;height:30px;margin-left:calc(var(--c1) + var(--gp));width:var(--c2);font-family:var(--disp);font-style:italic;font-size:clamp(18px,1.4vw,22px);color:var(--on-d2);text-align:center}
.cg-day span{position:absolute;inset:0;transition:opacity .6s var(--ease)}
.cg-d90{opacity:0}
.cg-wrap.late .cg-d1{opacity:0}.cg-wrap.late .cg-d90{opacity:1}
.cg-wrap{--c1:clamp(150px,15vw,230px);--c2:clamp(180px,24vw,380px);--gp:clamp(20px,2.4vw,40px)}
.cg-svg{position:absolute;left:calc(var(--c1) + var(--gp));top:30px;width:var(--c2);height:calc(100% - 30px);overflow:visible;pointer-events:none}
.cg-svg path{fill:none;stroke:#0F0F0F;stroke-width:1;vector-effect:non-scaling-stroke}
.cg-svg .you{fill:#0F0F0F}
.cg-svg text{font-family:var(--disp);font-style:italic;font-size:19px;fill:#0F0F0F}
.cg-svg .own{fill:#0F0F0F}
.cg{list-style:none;margin:0;padding:0;border-top:1px solid rgb(0 0 0 / .14)}
.cg li{display:grid;grid-template-columns:var(--c1) var(--c2) minmax(0,1fr);column-gap:var(--gp);align-items:center;min-height:clamp(96px,8vw,124px);padding:16px 0;border-bottom:1px solid rgb(0 0 0 / .09)}
.cg-c{font-size:14px;font-weight:700;line-height:1.35;color:var(--fg)}
.cg li p{margin:0;font-size:clamp(16px,1.2vw,18px);line-height:1.5;color:var(--on-d2);max-width:36em;text-wrap:pretty;opacity:calc(.35 + .65 * var(--p,0))}
.cg li p mark{background:none;color:var(--fg);font-family:var(--disp);font-size:1.18em;line-height:1.3;letter-spacing:-.006em}
.ol:not(.js) .cg li p,.ol.is-static .cg li p{opacity:1}
@media (max-width:900px){
.ib{grid-template-columns:minmax(0,1fr);--io:1}
.ib-fig{position:relative;top:0;max-width:420px}
.cg-day,.cg-svg,.cg-lane{display:none}
.cg li{grid-template-columns:minmax(0,1fr);row-gap:8px;align-items:start}
.cg li p{opacity:1}
}
@media (prefers-reduced-motion:reduce){.ib-pl,.ib-h path,.ib-g li,.ib-pin .ib-dot{transition:none}.ib-pin.on .ib-ring{animation:none}}

/* Diagram pass (6 Oct 2026): the active component slid 46% out to the left and was cut off by the page edge.
   Shorter slide, and the stack sits a little right of centre to leave it room. */
@media (min-width:1101px){
.sk-in{translate:9% 0}
.sk-s.on{transform:translateZ(calc(var(--i) * 26px + 30px)) translateX(-32%)}
}

/* hero foot: the ROI instrument (12 Oct). Each figure draws what it means:
   90 days = the thirteen weeks tick in; 40% = the decision line compresses to 60% of its old length;
   AI ROI = T0 to T90, the rise measured against the baseline. Runs once when the strip is revealed. */
.in-foot{display:block}
.in-roi-k{font-family:var(--disp);font-weight:700;font-size:clamp(22px,1.9vw,30px);line-height:1.2;letter-spacing:-.01em;color:var(--fg);text-wrap:balance}
.in-roi-k em{font-weight:400;color:var(--on-d2)}
.in-stats{margin:clamp(26px,2.6vw,40px) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(28px,4vw,72px)}
.rs-g{display:block;width:100%;max-width:260px;height:auto;overflow:visible;margin-bottom:18px;fill:none;stroke:currentColor;stroke-width:1;color:var(--fg)}
.rs-g text{fill:var(--on-d3);stroke:none;font-family:var(--sans);font-size:10.5px;letter-spacing:.02em;font-variant-numeric:lining-nums}
.in-stats dt{font-family:var(--disp);font-weight:700;font-size:clamp(34px,3.2vw,50px);line-height:1.02;letter-spacing:-.015em;color:var(--fg);font-variant-numeric:lining-nums}
.in-stats dd{margin:10px 0 0;font-size:14.5px;line-height:1.5;color:var(--on-d2);max-width:24ch}
.in-roi-f{margin-top:clamp(28px,2.8vw,44px);padding-top:18px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px}
.in-roi-n{font-size:12.5px;line-height:1.5;color:var(--on-d3)}
/* the drawings, final state */
.rb{opacity:.55}
.rt{opacity:.5}.rt-e{opacity:1}
.rg{stroke-dasharray:3 4;opacity:.4}.rgc{opacity:.4}
.ra{stroke-width:1.5;transform-box:fill-box;transform-origin:0 50%;transform:scaleX(.6)}
.rk{opacity:.7}.rk-t{fill:var(--fg)}
.r0{stroke-dasharray:3 4;opacity:.4}
.rc{stroke-width:1.5}
.rm line{stroke-dasharray:2 3;opacity:.7}.rm rect{fill:var(--fg);stroke:none;transform-box:fill-box;transform-origin:50% 50%;transform:skewX(-29deg)}
/* the drawings, before the reveal */
.ol.js:not(.is-static) .lead2-x:not(.in) .rb,.ol.js:not(.is-static) .lead2-x:not(.in) .r0,.ol.js:not(.is-static) .lead2-x:not(.in) .rc{stroke-dashoffset:1}
.ol.js:not(.is-static) .rb,.ol.js:not(.is-static) .rc{stroke-dasharray:1;transition:stroke-dashoffset 1.2s var(--ex) calc(var(--k)*180ms + 200ms)}
.ol.js:not(.is-static) .rc{transition-duration:1.4s;transition-delay:calc(var(--k)*180ms + 650ms)}
.ol.js:not(.is-static) .r0{stroke-dasharray:3 4;transition:opacity .6s var(--ease) calc(var(--k)*180ms + 200ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) .r0{opacity:0}
.ol.js:not(.is-static) .rt{transition:opacity .35s var(--ease) calc(var(--k)*180ms + 500ms + var(--t)*70ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) .rt{opacity:0}
.ol.js:not(.is-static) .ra{transition:transform 1.3s var(--ex) calc(var(--k)*180ms + 900ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) .ra{transform:scaleX(1)}
.ol.js:not(.is-static) .rg,.ol.js:not(.is-static) .rgc,.ol.js:not(.is-static) .rs-g text{transition:opacity .6s var(--ease) calc(var(--k)*180ms + 300ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) :is(.rg,.rgc,.rs-g text){opacity:0}
.ol.js:not(.is-static) .rk,.ol.js:not(.is-static) .rm{transition:opacity .6s var(--ease) calc(var(--k)*180ms + 1700ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) :is(.rk,.rm){opacity:0}
.ol.js:not(.is-static) .rk-t{transition:opacity .6s var(--ease) calc(var(--k)*180ms + 1800ms)}
.ol.js:not(.is-static) .lead2-x:not(.in) .rk-t{opacity:0}
.in-stats .ln>span{transition-delay:calc(var(--k)*180ms + 350ms)}
@media (prefers-reduced-motion:reduce){.in-roi *{transition:none!important}}
@media (max-width:900px){
.in-stats{grid-template-columns:minmax(0,1fr);gap:34px}
.rs{display:grid;grid-template-columns:minmax(0,1fr);max-width:420px}
.in-stats dd{max-width:none}
}
