/* Polish layer, core. Sits on top of site.css. build.py joins polish/*.css in name order into /assets/polish.css. */
:root{--pv-ease:cubic-bezier(.22,1,.36,1);--good:#17915E;--sline:rgba(10,22,51,.10);--sline-2:rgba(10,22,51,.18)}

/* 1. Text no longer fades in. Figures still play when they scroll in. */
.js [data-reveal],.js [data-reveal]>*{opacity:1!important;transform:none!important;transition:none!important}

/* 2. No smeared bottoms on the dark windows. They end as clean rounded panels. */
.win.win-fade{-webkit-mask:none!important;mask:none!important;border-radius:var(--r-l)!important}
.band.win-fade{padding-bottom:clamp(72px,9vw,140px)!important}
.statement.win-fade{padding-bottom:clamp(80px,10vw,150px)!important}

/* 3. Section tints. Each light section gets one flat colour. With motion on, the dot paints it in. */
[data-tint]{position:relative;isolation:isolate;background:var(--tint)!important}
[data-tint=paper]{--tint:#F6F7FC}[data-tint=pale]{--tint:#E7ECFF}[data-tint=warm]{--tint:#FFF1EA}[data-tint=white]{--tint:#fff}[data-tint=green]{--tint:#E8F6EF}
.pv-paint{display:none}
html.pv-run [data-tint]{background:#fff!important}
html.pv-run .pv-paint{display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--tint);clip-path:circle(0 at var(--px,50%) var(--py,0));transition:clip-path .6s var(--pv-ease)}
html.pv-run .painted>.pv-paint{clip-path:circle(var(--pr,150%) at var(--px,50%) var(--py,0));transition:clip-path 1.3s var(--pv-ease)}
.win[data-tint]{background:transparent!important}

/* 4. The dot slots after headings. The running dot lands in these. */
.pv-slot{display:inline-block!important;width:.22em;height:.22em;border-radius:50%;background:var(--orange);margin-left:.12em;vertical-align:baseline}
[data-dark] .pv-slot{background:var(--orange)}
.hero h1 .pv-h1dot{display:inline-block;width:.2em;height:.2em;border-radius:50%;background:var(--orange);margin-left:.1em;vertical-align:baseline}
/* An h1 stop the build added hangs past the line end, so the h1 wraps the same in the fallback and web font (no jump when the font loads). */
.hero h1 .pv-h1dot{margin-right:-.3em}
.page-hero h1 .pv-h1dot[aria-hidden]{margin-right:-.44em}
html.pv-run .pv-slot,html.pv-run .pv-h1dot{visibility:hidden}

/* 5. The running dot and the closing button */
.pv-dotlayer{position:absolute;left:0;top:0;width:100%;height:0;overflow-x:clip;overflow-y:visible;z-index:30;pointer-events:none}
.bd{position:absolute;left:0;top:0;border-radius:50%;background:var(--orange);transform:translate(-50%,-50%);will-change:transform,left,top}
.bd.fly{background:radial-gradient(circle at 34% 30%,#FFC3A6 0 16%,var(--orange) 52%)}
.bd.land{animation:bdLand .6s cubic-bezier(.3,1.4,.5,1)}
@keyframes bdLand{0%{transform:translate(-50%,-50%) scale(1.6,.55)}40%{transform:translate(-50%,-50%) scale(.85,1.25)}70%{transform:translate(-50%,-50%) scale(1.07,.94)}100%{transform:translate(-50%,-50%)}}
.bd.in{animation:bdIn .22s ease-in forwards}
@keyframes bdIn{55%{transform:translate(-30%,-50%) scale(.6,1.35)}to{transform:translate(0,-50%) scale(.2,.5);opacity:0}}
.brip{position:absolute;border-radius:50%;border:1.5px solid var(--orange);transform:translate(-50%,-50%);animation:bRip .8s ease-out forwards}
@keyframes bRip{from{opacity:.7}to{transform:translate(-50%,-50%) scale(7);opacity:0}}
.btn.pv-end{position:relative;gap:0}
.btn.pv-end .bdot{flex:none;width:0;height:7px;margin-right:0;border-radius:50%;background:#fff;transition:width .3s var(--pv-ease),margin .3s var(--pv-ease)}
.btn.pv-end::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.btn.pv-end.hit{animation:btnHit .55s ease-out,btnJelly .7s ease-out}
.btn.pv-end.hit .bdot,.btn.pv-end.lit .bdot{width:7px;margin-right:9px}
.btn.pv-end.hit .bdot{animation:bdotIn .5s cubic-bezier(.34,1.56,.64,1)}
.btn.pv-end.hit::after{animation:btnRing .7s ease-out 2}
.btn.pv-end.lit::after{animation:btnIdle 3.2s ease-out infinite}
.btn.pv-end.lit .bdot{animation:bdotBreathe 3.2s ease-in-out infinite}
@keyframes btnHit{from{background:#FF8A57}}
@keyframes btnJelly{25%{transform:scale(1.08,.86)}50%{transform:scale(.95,1.07)}75%{transform:scale(1.02,.98)}}
@keyframes bdotIn{from{transform:scale(0)}}
@keyframes btnRing{from{box-shadow:0 0 0 0 rgba(255,107,44,.6)}to{box-shadow:0 0 0 14px rgba(255,107,44,0)}}
@keyframes btnIdle{0%{box-shadow:0 0 0 0 rgba(255,107,44,.45)}35%,100%{box-shadow:0 0 0 12px rgba(255,107,44,0)}}
@keyframes bdotBreathe{40%{opacity:.45}}

/* 6. Inner page heroes: centred, no side picture, the people scene underneath */
.page-hero.pv-hl{padding:calc(var(--header-h) + 18px + clamp(36px,5vw,64px)) 0 clamp(36px,4vw,56px);text-align:center}
.page-hero.pv-hl .wrap{display:block!important}
.page-hero.pv-hl .hero-copy{max-width:none}
.page-hero.pv-hl h1{margin-inline:auto;max-width:15em}
.page-hero.pv-hl .lead{margin-inline:auto}
.page-hero.pv-hl .cta{justify-content:center}
.page-hero.pv-hl .eyebrow,.page-hero.pv-hl .crumbs{justify-content:center}
.pv-scene-wrap{margin:clamp(28px,4vw,44px) auto 0;max-width:980px;text-align:left}

/* 7. Home hero: proof strip and the lane under the buttons */
.hero .hero-inner .pv-strip{max-width:760px;margin:26px auto 0;text-align:left}
.hero .hero-inner .pv-scene{max-width:820px;margin:22px auto 0;text-align:left;height:236px}
.hero:has(.pv-scene){min-height:0;padding-bottom:clamp(48px,6vw,80px)}
.hero:has(.pv-scene) .hero-inner .cta{margin-top:clamp(24px,3vw,36px)}

/* 8. Proof strip */
.pv-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--sline-2);border-bottom:1px solid var(--sline-2)}
.pv-strip a{display:block;padding:14px 16px 14px 0;text-decoration:none;color:var(--ink);font-size:13px;line-height:1.35;transition:color .2s}
.pv-strip a:hover{color:var(--blue)}
.pv-strip a+a{padding-left:16px;border-left:1px solid var(--sline)}
.pv-strip .n{display:block;font:500 15px var(--mono);color:var(--blue);margin-bottom:3px}
.pv-strip .stars{color:var(--orange);letter-spacing:2px;font-size:14px}
.page-hero.pv-hl .pv-strip{max-width:760px;margin:26px auto 0;text-align:left}

/* 9. People scenes */
.scene{position:relative;border-radius:22px;background:#fff;box-shadow:0 0 0 1px var(--sline),0 24px 50px -36px rgba(10,22,51,.35);height:240px;overflow:hidden}
.scene .cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}
.scene .col{border-right:1px dashed rgba(10,22,51,.12);padding:12px 8px;text-align:center;transition:background-color .3s}
.scene .col:last-child{border-right:0}
.scene .col span,.hm-lane .gates span{font:500 10.5px var(--mono);color:var(--muted)}
.scene .col.hot{background:rgba(30,58,237,.05)}.scene .col.stop{background:rgba(255,107,44,.09)}
.scene .track{position:absolute;left:4%;right:4%;top:50%;height:2px;background:rgba(10,22,51,.1)}
.scene .status{position:absolute;left:12px;right:12px;bottom:10px;font:500 11px var(--mono);color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.scene .status .s{color:var(--good)}.scene .status .s.stop{color:var(--orange-deep)}
.scene .status .d{white-space:nowrap}
.pp{position:absolute;display:flex;align-items:center;gap:7px;transform:translate(-50%,-50%);transition:left .75s var(--pv-ease),opacity .4s,transform .6s var(--pv-ease),background-color .3s,box-shadow .3s;z-index:2;white-space:nowrap}
.pp .av{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 10px/1 var(--sans);transition:background-color .3s,box-shadow .3s}
.pp .f{flex:none;display:grid;place-items:center;width:23px;height:19px;border-radius:6px;border:1.5px solid transparent;background:var(--pale);color:var(--blue);transition:background-color .3s,color .3s,border-color .3s}
.pp .f svg{width:12px;height:12px}
.pp .f.miss{background:transparent;color:rgba(10,22,51,.35);border:1.5px dashed rgba(10,22,51,.35)}
.pp .f.found{background:var(--blue);color:#fff;animation:r2pop .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes r2pop{from{transform:scale(.55)}}
.pp.bad .f.miss{border-color:var(--orange);color:var(--orange-deep)}.pp.bad .av{background:var(--orange)!important}
.pp.gone{opacity:0}.pp.dropped{opacity:0;transform:translate(-50%,-10%)}
.st-card .pp{background:#fff;border-radius:12px;padding:6px 8px 6px 6px;box-shadow:0 0 0 1px var(--sline-2),0 8px 18px -12px rgba(10,22,51,.5)}
.st-card .tx{display:grid;line-height:1.2;text-align:left}.st-card .tx b{font-size:12px;font-weight:600;color:var(--ink)}
.st-card .cot{font-size:10.5px;color:var(--muted);min-height:13px}
.st-card .cot.blank{width:72px;height:10px;min-height:0;margin-top:2px;border:1.5px dashed rgba(10,22,51,.3);border-radius:3px}
.st-card .cot.found{color:var(--blue);animation:r2pop .5s cubic-bezier(.34,1.56,.64,1)}
.st-card .pp.ok{box-shadow:0 0 0 1.5px var(--good),0 8px 18px -12px rgba(10,22,51,.5)}
.st-card .pp.bad{background:#FFF1EA;box-shadow:0 0 0 2px var(--orange)}
.hm .pp.bad .tx b{text-decoration:line-through;text-decoration-color:var(--orange-deep)}
.hm-lane .gates{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr 1fr 1.45fr}
.hm-lane .g,.hm-lane .team{padding:12px 8px;text-align:center;border-right:1px dashed rgba(10,22,51,.12)}
.hm-lane .team{border-right:0;background:rgba(23,145,94,.05)}
.hm-lane .lane{position:absolute;left:10px;top:50%;height:2px;background:rgba(10,22,51,.1)}
.hm-lane .pp.dropped{transform:translate(-50%,40%)}

/* 10. List and preview (replaces the stacked cards) */
.pv-lp{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:repeat(8,auto) 1fr;column-gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(32px,4vw,52px)}
.pv-lp-btn{grid-column:1;display:flex;align-items:center;gap:14px;width:100%;padding:18px 4px;border:0;border-top:1px solid var(--sline-2);background:none;font:inherit;color:var(--muted-2);text-align:left;cursor:pointer;transition:color .25s}
.pv-lp-btn:last-of-type{border-bottom:1px solid var(--sline-2)}
.pv-lp-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(10,22,51,.06);transition:background-color .25s,color .25s}
.pv-lp-ic svg{width:22px;height:22px;color:inherit}
.pv-lp-ic{color:var(--muted)}
.pv-lp-btn:hover .pv-lp-ic{color:var(--ink)}
.pv-lp-big .pv-i{stroke-width:1.5}
.pv-lp-nm{flex:1;font-size:clamp(22px,2.2vw,30px);font-weight:720;letter-spacing:-.03em;line-height:1.05}
.pv-lp-ar{flex:none;width:10px;height:10px;border-radius:50%;background:transparent;transition:background-color .25s,transform .4s var(--pv-ease);transform:scale(.4)}
.pv-lp-btn:hover{color:var(--ink)}
.pv-lp-btn.on{color:var(--ink)}
.pv-lp-btn.on .pv-lp-ar{background:var(--orange);transform:none}
.pv-lp-btn.on .pv-lp-ic{background:var(--ink);color:#fff}
.pv-lp-btn.on .pv-lp-ic svg{color:#fff}
.pv-lp-btn.on[data-c=blue] .pv-lp-ic{background:var(--blue)}.pv-lp-btn.on[data-c=orange] .pv-lp-ic{background:var(--orange)}
.pv-lp-btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:8px}
.pv-lp-body{grid-column:2;grid-row:1/-1;min-width:0}
.pv-lp-body:not(.on){display:none}
.pv-lp-body.on{animation:lpIn .45s var(--pv-ease)}
@keyframes lpIn{from{opacity:0;transform:translateY(10px)}}
/* home: the existing panels become the preview */
.pv-lp .panel{grid-template-columns:1fr!important;gap:22px;padding:clamp(26px,3.4vw,44px)}
.pv-lp .panel .svc-text{order:0!important}
.pv-lp .panel .fig{max-height:300px;overflow:hidden}
.pv-lp .panel h3{font-size:clamp(26px,2.8vw,38px)}
/* inner pages: ledger rows become colour cards */
.pv-lp-card{border-radius:var(--r-l);padding:clamp(28px,3.6vw,48px);background:var(--navy);color:#fff;min-height:300px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}
.pv-lp-card.blue{background:var(--blue)}.pv-lp-card.orange{background:var(--orange)}
.pv-lp-big{display:block;width:92px;height:92px;margin-bottom:auto}
.pv-lp-big svg{width:100%;height:100%}
.pv-lp-card .ico .a,.pv-lp-big .a{fill:#fff}
.pv-lp-card h3{margin-top:28px;font-size:clamp(28px,3vw,42px);font-weight:740;letter-spacing:-.035em;line-height:1}
.pv-lp-card p{margin-top:12px;font-size:clamp(17px,1.3vw,19px);line-height:1.45;color:rgba(255,255,255,.88);max-width:28em}
.pv-lp-card .cta{margin-top:20px;display:flex;gap:8px;flex-wrap:wrap}
.pv-lp-card .btn{background:#fff;color:var(--ink);box-shadow:none}.pv-lp-card .btn:hover{background:var(--paper)}

/* 11. Toys */
.pv-toy-sec{padding:clamp(56px,7vw,100px) 0}
.pv-toy-head{max-width:40em}
.pv-toy-head h2{font-size:clamp(32px,3.8vw,52px);line-height:1.02;letter-spacing:-.035em;font-weight:720}
.pv-toy-head p{margin-top:14px;font-size:clamp(17px,1.3vw,19px);color:var(--muted)}
.toy{margin-top:clamp(24px,3vw,36px);background:#fff;border-radius:var(--r-m);box-shadow:0 0 0 1px var(--sline),0 24px 50px -36px rgba(10,22,51,.35);padding:26px 26px 22px}
.toy button:disabled{opacity:.55;cursor:default}
.toy-ctl{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.toy-msg{font-size:14px;color:var(--muted);flex:1;min-width:200px}
.toy-msg.stop{color:var(--orange-deep);font-weight:600}.toy-msg.done{color:var(--good);font-weight:600}
.spot-out{margin-top:16px;border-radius:16px;background:var(--paper);padding:20px 22px;min-height:120px}
.spot-out h3{font-size:20px;font-weight:700;letter-spacing:-.02em}
.spot-out p{margin-top:8px;color:var(--muted);max-width:44em}
.spot-out a{display:inline-block;margin-top:10px;font-weight:650;font-size:15px;color:var(--blue);text-decoration:none;border-bottom:2px solid rgba(30,58,237,.3)}
.spot-out.swap{animation:lpIn .4s var(--pv-ease)}
/* bounce slider */
/* DP: the delivered file in the blue pane */
.pv-rows{display:grid;gap:8px;padding:clamp(18px,2.4vw,28px)}
.pv-rows .r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-size:14px}
.pv-rows .r b{font-weight:650}
.pv-rows .r span{color:rgba(255,255,255,.78)}
.pv-rows .r em{font:500 11px var(--mono);font-style:normal;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.18)}
.pv-rows .r.held{background:#FFF1EA;color:var(--ink)}
.pv-rows .r.held span{color:var(--muted)}
.pv-rows .r.held em{background:var(--orange);color:#fff}
.js [data-fig] .pv-rows .r{opacity:0;transform:translateY(12px)}
.js [data-fig].in .pv-rows .r{opacity:1;transform:none;transition:opacity .5s,transform .6s var(--pv-ease)}
.js [data-fig].in .pv-rows .r:nth-child(2){transition-delay:.12s}.js [data-fig].in .pv-rows .r:nth-child(3){transition-delay:.24s}.js [data-fig].in .pv-rows .r:nth-child(4){transition-delay:.36s}.js [data-fig].in .pv-rows .r:nth-child(5){transition-delay:.48s}

/* 12. Header wordmark shuffle (desktop hover only) */
html.pv-wm .bar .brand .rest{display:none}
html.pv-wm .bar .mark:focus-visible .brand .rest{display:inline}
html.pv-wm .bar .mark:focus-visible .brand .pv-wmg{display:none}
.pv-wmg text{font-family:var(--sans);font-weight:750;font-size:985px;letter-spacing:0;fill:currentColor}
.pv-wmg .l{transform-box:fill-box;opacity:0}
.pv-wmg.show .l{opacity:1}
.pv-wmg.v-slide.show{animation:wmSlide .75s cubic-bezier(.34,1.56,.64,1) both}
@keyframes wmSlide{from{clip-path:inset(-200px 100% -200px 0);transform:translateX(-220px)}to{clip-path:inset(-200px -60px -200px 0);transform:none}}
.pv-wmg.v-drop.show .l{animation:wmDrop .6s cubic-bezier(.3,1.45,.5,1) both;animation-delay:calc(var(--i)*48ms)}
@keyframes wmDrop{from{transform:translateY(-120%);opacity:0}to{transform:none;opacity:1}}
.pv-wmg.v-wave.show .l{animation:wmWave .62s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--i)*55ms);transform-origin:50% 100%}
@keyframes wmWave{from{transform:translateY(75%) scaleY(.6);opacity:0}to{transform:none;opacity:1}}
.pv-wmg.v-flip.show .l{animation:wmFlip .5s var(--pv-ease) both;animation-delay:calc(var(--i)*52ms);transform-origin:50% 100%}
@keyframes wmFlip{from{transform:scaleY(0);opacity:0}to{transform:none;opacity:1}}
.pv-wmg.v-stamp.show{animation:wmStamp .34s cubic-bezier(.2,1.5,.4,1) both;transform-origin:0 80%;transform-box:fill-box}
@keyframes wmStamp{from{transform:scale(1.4);opacity:0}to{transform:none;opacity:1}}
.pv-wmg.v-type.show .l,.pv-wmg.v-dot.show .l,.pv-wmg.v-scram.show .l{opacity:0}
.pv-wmg.show .l.vis{opacity:1}
.pv-wmg .cur{fill:var(--orange)}
.pv-wmg .wdot{fill:var(--orange)}
.pv-wmg.hiding{animation:wmHide .22s ease both}
@keyframes wmHide{to{opacity:0}}

/* 13. Page changes lift away and rise in. The header stays put. */
@view-transition{navigation:auto}
.header{view-transition-name:pvhead}
::view-transition-old(root){animation:pvOut .35s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:pvIn .55s var(--pv-ease) both}
@keyframes pvOut{to{opacity:0;transform:translateY(-24px)}}
@keyframes pvIn{from{opacity:0;transform:translateY(28px)}}

/* 14. Phones */
@media (max-width:760px){
  .pv-lp{display:block}
  .pv-lp-btn:last-of-type{border-bottom:0}
  .pv-lp{border-bottom:1px solid var(--sline-2)}
  .pv-lp-body.on{margin:4px 0 18px}
  .pv-lp-card{min-height:0}
  .pv-lp-big{width:64px;height:64px;margin-bottom:0}
}
@media (max-width:720px){
  .st-card .tx{display:none}
  .st-card .pp{gap:4px;padding:4px 5px 4px 4px}
  .pp .av{width:22px;height:22px;font-size:9px}
  .pp .f{width:18px;height:16px}
  .pp .f svg{width:10px;height:10px}
  .hm-lane .gates{grid-template-columns:1fr 1fr 1fr 1.75fr}
  .scene .col span,.hm-lane .gates span{font-size:9px}
  .hm-lane .pp .f.co{display:none}
  .scene.people{height:250px}
  .hero .hero-inner .pv-scene{height:262px}
  .scene .status{font-size:9.5px;flex-direction:column;align-items:flex-start;gap:2px}
  .pv-strip{grid-template-columns:1fr}
  .pv-strip a+a{padding-left:0;border-left:0;border-top:1px solid var(--sline)}
  .toy{padding:18px 16px 16px}
  .pv-rows .r{grid-template-columns:1fr auto}
  .pv-rows .r span{display:none}
}

/* 15. Reduced motion: everything sits in its final state */
@media (prefers-reduced-motion:reduce){
  .btn.pv-end .bdot{width:7px;margin-right:9px;transition:none}
  .pv-lp-body.on,.spot-out.swap{animation:none}
  .js [data-fig] .pv-rows .r{opacity:1;transform:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
.pane:has(.pv-rows){grid-template-columns:minmax(0,1fr)}
.pv-rows,.pv-rows .r>*{min-width:0}
.pv-rows .r>b,.pv-rows .r>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 16. Toy: the line of five stations (home) */
.pv-line{--mh:46px;--pt:58px}
.ln-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:500 12px var(--mono);color:var(--muted-2)}
.ln-n b{font-weight:600;color:var(--ink);margin:0 4px 0 12px}
.ln-n b.lost{color:var(--orange-deep)}
.ln-stage{position:relative;padding-top:var(--pt)}
.ln-track{position:absolute;left:0;right:0;top:calc(var(--pt) + var(--mh)/2 - 1px);height:2px;background:repeating-linear-gradient(90deg,var(--sline-2) 0 6px,transparent 6px 12px)}
.ln-sts{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.ln-st{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0 2px 4px;cursor:pointer;font:inherit;color:var(--ink);text-align:center}
.ln-st .m{position:relative;width:var(--mh);height:var(--mh);border-radius:14px;background:#fff;box-shadow:0 0 0 1.5px var(--sline-2);display:grid;place-items:center;overflow:hidden;color:var(--ink);transition:background-color .3s,box-shadow .3s,transform .4s var(--pv-ease)}
.ln-st .m::before{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--p,0)*100%);background:rgba(30,58,237,.14)}
.ln-st .m svg{position:relative;width:20px;height:20px}
.ln-st .i-ours{display:none}
.ln-st b{font:600 13.5px/1.25 var(--sans)}
.ln-st em{margin-top:auto;font:500 10.5px var(--mono);font-style:normal;color:var(--muted-2)}
.ln-st:hover .m{transform:translateY(-3px);box-shadow:0 0 0 1.5px var(--ink)}
.ln-st[aria-pressed=true] .m{background:var(--blue);color:#fff;box-shadow:0 0 0 1.5px var(--blue),0 10px 22px -10px rgba(30,58,237,.7)}
.ln-st[aria-pressed=true] .m::before{background:rgba(255,255,255,.22)}
.ln-st[aria-pressed=true] .i-team{display:none}.ln-st[aria-pressed=true] .i-ours{display:block}
.ln-st[aria-pressed=true] em{color:var(--blue);font-weight:600}
.ln-st.down .m{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange-deep);color:var(--orange-deep)}
.ln-st.down em{color:var(--orange-deep);font-weight:600}
.ln-st:focus-visible{outline:none}.ln-st:focus-visible .m{outline:2px solid var(--orange);outline-offset:3px}
.ln-dots{position:absolute;inset:0;pointer-events:none}
.ln-dots i{position:absolute;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);transition:background-color .25s,opacity .15s}
.ln-dots i.q{background:var(--orange)}
.ln-dots i.lost{background:var(--orange-deep)}
.pv-line .spot-out{margin-top:18px}

/* 17. Toy: the bounce gauge and breaker (outbound) */
.pv-gauge{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(20px,3.4vw,44px);align-items:center}
.ga-l{display:flex;flex-direction:column;align-items:center}
.ga{width:100%;max-width:300px;display:block;touch-action:none;cursor:grab;border-radius:12px}
.pv-gauge.drag .ga{cursor:grabbing}
.ga:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.ga .ok{fill:none;stroke:#BFE6D2;stroke-width:16}
.ga .hot{fill:none;stroke:var(--orange);stroke-width:16}
.ga .tk{stroke:var(--sline-2);stroke-width:2}
.ga text{font:500 10.5px var(--mono);fill:var(--muted-2);text-anchor:middle}
.ga text.t3{fill:var(--orange-deep);font-weight:600}
.ga-nd{transform-box:view-box;transform-origin:130px 130px;transition:transform .12s ease-out}
.pv-gauge.drag .ga-nd{transition:none}
.ga-nd line{stroke:var(--ink);stroke-width:4;stroke-linecap:round}
.ga-nd circle{fill:var(--ink);transition:fill .2s}
.pv-gauge.hot .ga-nd circle,.pv-gauge.hot .ga-nd line{fill:var(--orange-deep);stroke:var(--orange-deep)}
.ga-o{margin-top:4px;font:500 34px/1 var(--mono);color:var(--good);transition:color .2s}
.pv-gauge.hot .ga-o{color:var(--orange-deep)}
.ga-k{margin-top:4px;font:500 12px var(--mono);color:var(--muted-2)}
.ga-hint{margin-top:10px;font-size:13px;color:var(--muted)}
.ga-ib{display:grid;gap:8px}
.ga-ib .ib{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--paper);transition:background-color .3s}
.ga-ib .ib b{display:block;font:600 13px var(--sans)}
.ga-ib .ib em{font:500 11px var(--mono);font-style:normal;color:var(--good)}
.pv-gauge.stopped .ga-ib .ib{background:#FFF1EA}
.pv-gauge.stopped .ga-ib .ib em{color:var(--orange-deep)}
.ga-ib .lane{position:relative;height:22px;background:linear-gradient(90deg,var(--sline-2) 0 0) left 50%/100% 1px no-repeat}
.ga-ib .ev{position:absolute;left:0;top:2px;width:18px;height:18px;color:var(--ink);transition:color .2s}
.ga-ib .ev.bo{color:var(--orange-deep)}
.ga-ib .ev svg{display:block;width:18px;height:18px}
.ga-bk{display:inline-flex;align-items:center;gap:10px;border:0;background:var(--ink);color:#fff;border-radius:12px;padding:9px 14px 9px 10px;font:650 14px var(--sans);cursor:pointer}
.ga-bk .sw{position:relative;flex:none;width:34px;height:20px;border-radius:6px;background:var(--good);transition:background-color .25s}
.ga-bk .sw i{position:absolute;top:3px;left:17px;width:14px;height:14px;border-radius:4px;background:#fff;transition:left .25s var(--pv-ease)}
.pv-gauge.stopped .ga-bk{background:var(--orange-deep)}
.pv-gauge.stopped .ga-bk .sw{background:rgba(255,255,255,.3)}
.pv-gauge.stopped .ga-bk .sw i{left:3px}
.ga-bk.shake{animation:gaShake .4s}
.ga-bk:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
@keyframes gaShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}

/* 18. Toy: the belt of rows (pipelines) */
.bt-zones{display:grid;grid-template-columns:repeat(4,1fr);font:500 11px var(--mono);color:var(--muted-2);text-align:center}
.bt-zones span{padding-bottom:8px}
.bt-belt{position:relative;height:132px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,transparent calc(25% - .5px),var(--sline) 0 calc(25% + .5px),transparent 0 calc(50% - .5px),var(--sline) 0 calc(50% + .5px),transparent 0 calc(75% - .5px),var(--sline) 0 calc(75% + .5px),transparent 0),var(--paper)}
.bt-belt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:repeating-linear-gradient(90deg,var(--sline-2) 0 2px,transparent 2px 14px);animation:btRun 1.4s linear infinite}
.pv-belt.hold .bt-belt::after{animation-play-state:paused}
@keyframes btRun{to{background-position:14px 0}}
.bt-cards{position:absolute;left:0;right:0;top:12px;bottom:14px}
.bt-card{position:absolute;left:0;top:0;width:var(--cw,176px);display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--sline),0 8px 18px -12px rgba(10,22,51,.35);transition:box-shadow .3s}
.bt-card .f{position:relative;display:block;width:calc(100% + 8px);margin:0 -4px;padding:2px 4px;border:0;border-radius:5px;background:none;font:500 11.5px/1.35 var(--mono);color:var(--ink);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.bt-card .f-name{font:650 13px/1.35 var(--sans)}
.bt-card .f:hover{background:#FFF1EA;text-decoration:line-through;text-decoration-color:var(--orange-deep)}
.bt-card .f:focus-visible{outline:2px solid var(--blue);outline-offset:0}
.bt-card .f.gone{color:transparent;cursor:default;background:none;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(214,79,8,.45)}
.bt-card .f.gone::after{content:"no " attr(data-c);position:absolute;left:5px;top:2px;font:500 11px/1.35 var(--mono);color:var(--orange-deep)}
.bt-card .f.rip{animation:btRip .38s var(--pv-ease) forwards}
.bt-card .f.fill{animation:btFill 1.2s ease}
.bt-card.chk .f{pointer-events:none}
.bt-card.ok{box-shadow:0 0 0 1.5px rgba(23,145,94,.6),0 8px 18px -12px rgba(10,22,51,.35)}
.bt-card.held{box-shadow:0 0 0 2px var(--orange-deep),0 8px 18px -12px rgba(10,22,51,.35)}
.bt-card .tag{display:none;align-self:flex-start;margin-top:3px;padding:2px 6px;border-radius:5px;background:var(--orange-deep);color:#fff;font:600 10.5px var(--mono)}
.bt-card.held .tag{display:block}
@keyframes btRip{to{transform:translate(16px,-12px) rotate(-9deg);opacity:0}}
@keyframes btFill{from{background:rgba(30,58,237,.18);color:var(--blue)}}
.bt-foot{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:12px}
.bt-held{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:26px}
.bt-held>b{font:600 12px var(--mono);color:var(--muted-2)}
.bt-tray{display:flex;gap:6px;flex-wrap:wrap}
.bt-tray span{padding:4px 8px;border-radius:6px;background:#FFF1EA;color:var(--orange-deep);font:500 11.5px var(--mono);animation:lpIn .4s var(--pv-ease)}
.bt-n{font:500 12px var(--mono);color:var(--muted-2)}
.bt-n b{margin:0 4px 0 12px;font-weight:600;color:var(--ink)}
.pv-belt .toy-ctl{margin-top:8px}

/* 19. Reworked figures: the capsule diagrams become small working objects */
.fig.pv-auth,.fig.pv-ls,.fig.pv-pipe{aspect-ratio:auto}
.au-card{max-width:440px;margin-left:auto;padding:16px 20px 14px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 30px 60px -30px rgba(5,12,40,.6)}
.au-h{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--sline)}
.au-h svg{flex:none;width:18px;height:18px;color:var(--blue)}
.au-h b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.au-h em{margin-left:auto;font:500 11.5px var(--mono);font-style:normal;color:var(--muted-2)}
.au-r{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--sline)}
.au-r b{font:600 12px var(--mono)}
.au-r span{font-size:14px;line-height:1.3;color:var(--muted)}
.au-r i{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:#E8F6EF;color:var(--good);font:600 11px var(--mono);font-style:normal}
.au-r i::before{content:"";width:8px;height:4px;border:solid currentColor;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}
.au-f{display:flex;align-items:center;justify-content:space-between;padding-top:12px}
.au-f span{font:500 11.5px var(--mono);color:var(--muted-2)}
.au-f b{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--blue)}
.au-f b svg{width:20px;height:20px}
.js [data-fig].in .au-r{animation:fgUp .5s var(--pv-ease) both;animation-delay:var(--d)}
.js [data-fig].in .au-r i{animation:fgPop .45s var(--pv-ease) both;animation-delay:calc(var(--d) + .35s)}
.js [data-fig].in .au-f{animation:fgUp .5s var(--pv-ease) both;animation-delay:1.95s}
@keyframes fgUp{from{opacity:0;transform:translateY(8px)}}
@keyframes fgPop{from{opacity:0;transform:scale(.6)}}

.ls-card{padding:14px 16px 10px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 50px -28px rgba(60,20,0,.55)}
.ls-h{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--sline);font:500 11.5px var(--mono);color:var(--muted-2)}
.ls-h b{color:var(--ink);font-weight:600}
.ls-n{display:grid}
.ls-n em{grid-area:1/1;font-style:normal;text-align:right}
.ls-n .a{opacity:0}
.ls-r{position:relative;display:grid;grid-template-columns:26px minmax(0,auto) minmax(0,1fr) 18px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--sline);max-height:48px;overflow:hidden}
.ls-r:last-child{border-bottom:0}
.ls-r i{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--paper);font:600 10px var(--mono);font-style:normal;color:var(--muted)}
.ls-r b{font-size:13.5px;font-weight:650;white-space:nowrap}
.ls-r span{font:500 11px var(--mono);color:var(--muted-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-r u{position:relative;width:18px;height:18px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--sline-2)}
.ls-r u::after{content:"";position:absolute;inset:0;border-radius:6px;background:var(--ink) no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.3l2.6 2.6L10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ls-r.x u::after{background:var(--orange-deep) no-repeat center/9px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2L2 8' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.ls-r s{position:absolute;right:28px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:5px;background:var(--orange-deep);color:#fff;font:600 10px var(--mono);text-decoration:none}
.ls-r.x b,.ls-r.x span{text-decoration:line-through;text-decoration-color:var(--orange-deep);color:var(--muted-2)}
.js [data-fig].in .ls-card{animation:lsCard 9s linear infinite}
.js [data-fig].in .ls-r u::after{animation:9s linear infinite both}
.js [data-fig].in .r1 u::after{animation-name:lsC1}.js [data-fig].in .r2 u::after{animation-name:lsC2}.js [data-fig].in .r3 u::after{animation-name:lsC3}
.js [data-fig].in .r4 u::after{animation-name:lsC4}.js [data-fig].in .r5 u::after{animation-name:lsC5}
.js [data-fig].in .ls-r.x{animation:lsGone 9s linear infinite}
.js [data-fig].in .ls-r.x b,.js [data-fig].in .ls-r.x span{animation:lsStrike 9s linear infinite}
.js [data-fig].in .ls-r.x s{animation:lsTag 9s linear infinite}
.js [data-fig].in .ls-n .a{animation:lsA 9s linear infinite}
.js [data-fig].in .ls-n .b{animation:lsB 9s linear infinite}
@keyframes lsCard{0%{opacity:0;transform:translateY(6px)}5%,92%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes lsC1{0%,13%{transform:scale(0)}17%,100%{transform:scale(1)}}
@keyframes lsC2{0%,24%{transform:scale(0)}28%,100%{transform:scale(1)}}
@keyframes lsC3{0%,35%{transform:scale(0)}39%,100%{transform:scale(1)}}
@keyframes lsC4{0%,58%{transform:scale(0)}62%,100%{transform:scale(1)}}
@keyframes lsC5{0%,69%{transform:scale(0)}73%,100%{transform:scale(1)}}
@keyframes lsStrike{0%,36%{text-decoration-color:transparent;color:inherit}40%,100%{text-decoration-color:var(--orange-deep);color:var(--muted-2)}}
@keyframes lsTag{0%,38%{opacity:0;transform:translateY(-50%) scale(.7)}42%,100%{opacity:1;transform:translateY(-50%)}}
@keyframes lsGone{0%,46%{max-height:48px;padding:8px 0;opacity:1}52%,95%{max-height:0;padding:0;opacity:0;border-bottom-width:0}100%{max-height:48px;padding:8px 0;opacity:1}}
@keyframes lsA{0%,78%{opacity:1}82%,100%{opacity:0}}
@keyframes lsB{0%,78%{opacity:0}82%,100%{opacity:1}}

.pv-pipe{position:relative;padding:6px 0 0}
.pi-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pi-slots div{display:flex;flex-direction:column;justify-content:flex-end;height:128px;border-radius:14px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
.pi-slots span{transform:translateY(26px);text-align:center;font:500 11.5px var(--mono);color:rgba(255,255,255,.7)}
.pv-pipe{padding-bottom:30px}
.pi-card{position:absolute;left:0;top:6px;width:calc((100% - 28px)/3);height:128px;display:flex;flex-direction:column;gap:3px;padding:14px 12px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 20px 40px -20px rgba(0,0,0,.6);transform:translateX(calc(200% + 28px))}
.pi-card b{font-size:14px;font-weight:700}
.pi-card i{display:block;font:500 11px/1.4 var(--mono);font-style:normal;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pi-card i.co{display:grid}
.pi-card .co em,.pi-card .co span{grid-area:1/1;font-style:normal;overflow:hidden;text-overflow:ellipsis}
.pi-card .co em{color:var(--orange-deep);opacity:0}
.pi-card .co span{color:var(--blue);font-weight:600}
.pi-card u{margin-top:auto;align-self:flex-start;padding:3px 8px;border-radius:6px;background:#E8F6EF;color:var(--good);font:600 11px var(--mono);text-decoration:none}
.js [data-fig].in .pi-card{animation:piMove 8s var(--pv-ease) infinite}
.js [data-fig].in .pi-card .co em{animation:piEmpty 8s linear infinite}
.js [data-fig].in .pi-card .co span{animation:piFill 8s linear infinite}
.js [data-fig].in .pi-card u{animation:piOk 8s var(--pv-ease) infinite}
@keyframes piMove{0%{opacity:0;transform:translateY(8px)}5%,28%{opacity:1;transform:none}36%,60%{transform:translateX(calc(100% + 14px))}68%,92%{opacity:1;transform:translateX(calc(200% + 28px))}100%{opacity:0;transform:translateX(calc(200% + 28px))}}
@keyframes piEmpty{0%,38%{opacity:1}42%,100%{opacity:0}}
@keyframes piFill{0%,38%{opacity:0}42%,100%{opacity:1}}
@keyframes piOk{0%,70%{opacity:0;transform:scale(.6)}74%,100%{opacity:1;transform:none}}

@media (max-width:760px){
  .pv-gauge{grid-template-columns:1fr}
  .ga-ib .ib{grid-template-columns:74px minmax(0,1fr)}
}
@media (max-width:560px){
  .pv-line{--mh:38px;--pt:52px}
  .ln-sts{gap:4px}
  .ln-st .m{border-radius:11px}
  .ln-st .m svg{width:17px;height:17px}
  .ln-st b{font-size:11px;line-height:1.2}
  .ln-st em{font-size:9px}
  .ln-n b{margin-left:8px}
  .bt-zones{font-size:9.5px}
  .bt-card{padding:7px 8px}
  .bt-card .f{font-size:10px}
  .bt-card .f-name{font-size:11.5px}
  .bt-card .f.gone::after{font-size:10px}
  .au-card{padding:14px 14px 12px}
  .au-r{grid-template-columns:48px minmax(0,1fr) auto;gap:8px}
  .au-r span{font-size:12.5px}
  .pi-slots{gap:8px}
  .pi-card{width:calc((100% - 16px)/3);padding:10px 8px}
  .pi-card b{font-size:12px}
  .pi-card i{font-size:9.5px}
  @keyframes piMove{0%{opacity:0;transform:translateY(8px)}5%,28%{opacity:1;transform:none}36%,60%{transform:translateX(calc(100% + 8px))}68%,92%{opacity:1;transform:translateX(calc(200% + 16px))}100%{opacity:0;transform:translateX(calc(200% + 16px))}}
  .pi-card{transform:translateX(calc(200% + 16px))}
  .ls-r{grid-template-columns:24px minmax(0,auto) minmax(0,1fr) 18px;gap:8px}
  .ls-r span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ga-nd{transition:none}
  .bt-belt::after{animation:none}
  .js [data-fig].in .ls-card,.js [data-fig].in .ls-r,.js [data-fig].in .ls-r *,.js [data-fig].in .ls-r u::after,.js [data-fig].in .ls-n em,.js [data-fig].in .pi-card,.js [data-fig].in .pi-card *,.js [data-fig].in .au-r,.js [data-fig].in .au-r i,.js [data-fig].in .au-f{animation:none}
  .ls-n .a{opacity:0}
}

/* 20. Home: fewer boxes. The offer and the steps run edge to edge as bands. The rest sits open on the page. */
.flagship,.hero+.flagship{position:relative;overflow:hidden;background:var(--navy);padding:clamp(72px,9vw,128px) 0}
.flagship-panel{position:static;overflow:visible;border-radius:0;box-shadow:none;background:none;padding:0}
.starts{position:relative;overflow:hidden;background:var(--orange-surface);padding:clamp(72px,9vw,120px) 0}
.starts-panel{position:static;overflow:visible;border-radius:0;background:none;padding:0}
.starts+.contact{padding-top:clamp(80px,10vw,140px)}

.how{background:#fff;padding:clamp(80px,10vw,140px) 0}
.how .wrap{overflow:visible;background:none;color:var(--ink);border-radius:0;box-shadow:none;padding:0}
.how .wrap::before,.how .wrap::after{display:none}
.how .intro{color:var(--muted)}
.how .intro strong,.pillar p strong{color:var(--ink)}
.pillar+.pillar{border-top:1px solid var(--sline);padding-top:clamp(28px,4vw,56px)}
.pillar:nth-child(1) h3{color:var(--orange)}
.pillar:nth-child(2) h3{color:var(--ink)}
.pillar:nth-child(3) h3{color:var(--blue)}
.pillar p{color:var(--muted)}

.proof-card{overflow:visible;background:none;border-radius:0;box-shadow:none;padding:0}
.proof-card::before,.proof-card::after{display:none}
.proof-qmark{position:static;display:block;height:.4em;font-size:clamp(96px,10vw,140px);line-height:.78;color:var(--blue);opacity:1}
.proof-quote{font-size:clamp(23px,2.8vw,34px);line-height:1.24}

.team-home .member{overflow:visible;grid-template-columns:auto minmax(0,1fr);align-items:start;background:none;color:var(--ink);border-radius:0;padding:clamp(28px,3vw,40px) 0 0;border-top:1px solid var(--sline)}
.team-home .member::after,.team-home .member-mark::after{display:none}
.team-home .member-mark{aspect-ratio:auto;width:clamp(96px,11vw,150px);max-width:none;background:none;border-radius:0;overflow:visible;justify-self:start}
.team-home .member-mark svg{width:100%}
.team-home .member-text h3{color:var(--ink)}
.team-home .member-role{color:var(--muted-2)}
.team-home .member-text>p:not(.member-role){color:var(--muted)}
.team-home .member-links .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--sline-2)}
.team-home .member-links .btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

.contact .card{overflow:visible;background:none;border-radius:0;box-shadow:none;padding:0}
@media (max-width:560px){
  .team-home .member{grid-template-columns:1fr;gap:18px}
  .team-home .member-mark{width:84px}
}

/* Managed Outbound pages */
.pv-clock .ck-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:center}
.pv-clock .ck-svg{width:100%;height:auto;display:block}
.pv-clock .ck-wz{fill:var(--pale)}
.pv-clock .ck-capl{stroke:var(--orange);stroke-width:1.5;stroke-dasharray:4 4}
.pv-clock .ck-ghost{fill:none;stroke:var(--sline-2,#cfd5ea);stroke-width:2;stroke-dasharray:3 4}
.pv-clock .ck-area{fill:rgba(30,58,237,.12)}
.pv-clock .ck-line{fill:none;stroke:var(--blue);stroke-width:2.5;stroke-linejoin:round}
.pv-clock .ck-now{stroke:var(--navy);stroke-width:1;opacity:.35}
.pv-clock .ck-pt{fill:var(--orange);stroke:#fff;stroke-width:2}
.pv-clock .ck-ax{stroke:var(--sline-2,#cfd5ea);stroke-width:1}
.pv-clock .ck-t{font:600 10px var(--sans);fill:var(--muted)}
.pv-clock .ck-t.cap{fill:var(--orange-deep)}
.pv-clock .ck-ib{display:grid;gap:8px}
.pv-clock .ib{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:center;font:600 12px var(--sans);color:var(--navy)}
.pv-clock .ib b{display:block}.pv-clock .ib em{font-style:normal;font-weight:500;color:var(--muted);font-size:11px}
.pv-clock .lane{position:relative;height:6px;border-radius:3px;background:var(--pale)}
.pv-clock .lane i{position:absolute;top:-3px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--blue)}
.pv-clock[data-state="at about 20 a day"] .lane{background:rgba(30,58,237,.18)}
.pv-clock[data-state="ramp on hold"] .lane i{background:var(--muted-2,#8a92b0)}
.pv-clock .ck-sl{margin:14px 0 4px}
.pv-clock .ck-range{width:100%;accent-color:var(--blue);min-height:28px}
.pv-clock .ck-land{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sline-2,#cfd5ea);background:#fff;border-radius:999px;padding:6px 12px;font:600 13px var(--sans);color:var(--navy);cursor:pointer}
.pv-clock .ck-land .sw{width:30px;height:16px;border-radius:9px;background:var(--muted-2,#aab);position:relative;transition:background .2s}
.pv-clock .ck-land .sw i{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}
.pv-clock .ck-land[aria-pressed="true"] .sw{background:var(--good,#1a8f5a)}
.pv-clock .ck-land[aria-pressed="true"] .sw i{transform:translateX(14px)}
.pv-clock button:focus-visible,.pv-clock .ck-range:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (max-width:720px){.pv-clock .ck-grid{grid-template-columns:1fr}.pv-clock .ib{grid-template-columns:92px minmax(0,1fr)}}

/* AI agents family: hero scenes and the two "pick one" toys */

/* Scenes: one white card, a body area above the status line, a different layout per page */
.pv-scene.ag-scene{height:236px}
.ag-body{position:absolute;left:16px;right:16px;top:14px;bottom:38px;transition:opacity .4s}
.ag-body.swap{opacity:0}
.ag-body .av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;font:600 12px var(--sans,inherit)}
.ag-body small{display:block;font-size:11px;line-height:1.25;color:var(--muted)}
.ag-body b{font-weight:600;color:var(--ink)}
.ag-scene .status{z-index:2}
.ag-scene .status .s,.ag-scene .status .d{min-width:0}

/* call and hand-off */
.ag-call{display:grid;grid-template-columns:168px minmax(0,1fr) 208px;gap:20px}
.cl-who{display:grid;align-content:center;justify-items:start;gap:7px;padding-right:18px;border-right:1px dashed rgba(10,22,51,.14)}
.cl-who .av{width:46px;height:46px;font-size:14px}
.cl-n b{display:block;font-size:14px}
.cl-t{font:600 15px var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.cl-wave{display:flex;align-items:center;gap:3px;height:22px}
.cl-wave i{display:block;width:3px;height:5px;border-radius:2px;background:rgba(10,22,51,.2)}
.cl-who.live .cl-wave i{background:var(--blue);animation:agwave .9s ease-in-out infinite}
.cl-who.live .cl-wave i:nth-child(2){animation-delay:-.2s}.cl-who.live .cl-wave i:nth-child(3){animation-delay:-.45s}.cl-who.live .cl-wave i:nth-child(4){animation-delay:-.1s}.cl-who.live .cl-wave i:nth-child(5){animation-delay:-.6s}.cl-who.live .cl-wave i:nth-child(6){animation-delay:-.3s}.cl-who.live .cl-wave i:nth-child(7){animation-delay:-.75s}
@keyframes agwave{0%,100%{height:5px}50%{height:20px}}
.cl-tr{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:0}
.cl-tr .b{margin:0;padding:7px 12px;width:fit-content;max-width:100%;border-radius:15px;font-size:12.5px;line-height:1.3;opacity:0;transform:translateY(7px);transition:opacity .45s,transform .45s}
.cl-tr .b.on{opacity:1;transform:none}
.cl-tr .b.q{background:#EEF1F8;color:var(--ink);border-bottom-left-radius:4px}
.cl-tr .b.a{margin-left:auto;background:var(--blue);color:#fff;border-bottom-right-radius:4px}
.cl-out{display:grid;align-content:center;gap:10px;min-width:0}
.cl-note{padding:11px 13px;border-radius:14px;background:#fff;opacity:0;transform:translateY(8px);box-shadow:0 0 0 1.5px var(--good),0 8px 18px -12px rgba(10,22,51,.5);transition:opacity .5s,transform .9s cubic-bezier(.5,0,.3,1)}
.cl-note.on{opacity:1;transform:none}
.cl-note b{display:block;font-size:13px}
.cl-note.team{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange),0 8px 18px -12px rgba(10,22,51,.5)}
.cl-note.slid{opacity:0;transform:translateY(calc(100% + 18px)) scale(.55)}
.cl-rep{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:12px;box-shadow:0 0 0 1px var(--sline-2);background:#fff;transition:box-shadow .4s,background-color .4s}
.cl-rep .rp{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--pale);color:var(--blue);flex:none}
.cl-rep .rp svg{width:13px;height:13px}
.cl-rep b{display:block;font-size:12.5px}
.cl-rep.got{box-shadow:0 0 0 1.5px var(--good);background:#fff}
.cl-rep.got .rp{background:var(--good);color:#fff}

/* inbox */
.ag-mail{display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:22px}
.ml-list{display:grid;grid-template-rows:repeat(5,1fr);gap:4px;margin:0;padding:0;list-style:none}
.ml-r{position:relative;display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px 0 14px;border-radius:10px;box-shadow:0 0 0 1px var(--sline-2);background:#fff;font-size:12.5px;line-height:1.2;transition:background-color .3s,box-shadow .3s}
.ml-r::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:2px;background:var(--blue);opacity:0;transition:opacity .3s}
.ml-r.cur{background:var(--pale);box-shadow:0 0 0 1.5px var(--blue)}
.ml-r.cur::before{opacity:1}
.ml-w{font-weight:600;color:var(--ink);white-space:nowrap}
.ml-s{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ml-c{padding:3px 9px;border-radius:999px;font:500 10.5px var(--mono);white-space:nowrap;background:#E6F4EC;color:#146C3C;opacity:0;transform:scale(.8);transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.ml-c.k3{background:#FFF1EA;color:var(--orange-deep)}
.ml-c.k2{background:var(--pale);color:var(--blue)}
.ml-r.done .ml-c{opacity:1;transform:none}
.ml-r.done:not(.cur) .ml-s{opacity:.7}
.ml-tally{display:grid;align-content:center;gap:7px}
.ml-tally span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:10px;background:#F6F8FC;font-size:12px;color:var(--muted)}
.ml-tally b{order:2;font:600 15px var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.ml-tally b.pop{animation:r2pop .5s cubic-bezier(.34,1.56,.64,1)}
.ml-tally .k3 b{color:var(--orange-deep)}

/* queue */
.ag-q{display:grid;grid-template-columns:200px minmax(0,1fr) 200px;gap:20px}
.qq-l{display:block;margin-bottom:8px;font:500 10.5px var(--mono);color:var(--muted)}
.qq-l .n{color:var(--ink);font-weight:600}
.qq-jobs,.qq-chips{display:grid;gap:6px;align-content:start}
.jb{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--sline-2),0 6px 14px -10px rgba(10,22,51,.5);font-size:12px;font-weight:600;color:var(--ink);transition:opacity .5s,transform .6s cubic-bezier(.5,0,.3,1)}
.jb{max-height:36px;overflow:hidden}
.jb.out{opacity:0;transform:translateX(34px);max-height:0;padding-top:0;padding-bottom:0;margin-bottom:-6px;box-shadow:none}
.jb .ini{display:none}
.jb.ok{box-shadow:0 0 0 1.5px var(--good)}.jb.ok::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--good)}
.jb.bad{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange)}.jb.bad::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.qq-chips .jb{animation:r2pop .5s cubic-bezier(.34,1.56,.64,1)}
.qq-work{align-self:center;padding:12px 16px;border-radius:16px;background:#F6F8FC;box-shadow:0 0 0 1px var(--sline-2);transition:background-color .3s,box-shadow .3s}
.qq-work.held{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange)}
.qq-h{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.qq-h b{font-size:14px}
.qq-h small{display:inline}
.qq-steps{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.qq-steps li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);transition:color .3s}
.qq-steps .tk{flex:none;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(10,22,51,.22);transition:background-color .3s,box-shadow .3s}
.qq-steps li.on{color:var(--ink)}
.qq-steps li.on .tk{background:var(--good) center/10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5'/%3E%3C/svg%3E");box-shadow:none}
.qq-steps li.stopped{color:var(--orange-deep);font-weight:600}
.qq-steps li.stopped .tk{background:var(--orange);box-shadow:none}

/* mix (index) */
.ag-mix{display:grid;grid-template-rows:auto 1fr;gap:12px}
.mx-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mx-t{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border-radius:12px;box-shadow:0 0 0 1px var(--sline-2);background:#fff;font-size:13px;color:var(--muted);transition:background-color .3s,box-shadow .3s,color .3s}
.mx-t svg{width:15px;height:15px;flex:none}
.mx-t .tk{display:none;width:14px;height:14px;border-radius:50%;background:var(--good);color:#fff;place-items:center}
.mx-t .tk svg{width:9px;height:9px}
.mx-t.done .tk{display:grid}
.mx-t.cur{background:var(--pale);box-shadow:0 0 0 1.5px var(--blue);color:var(--ink)}
.mx-panel{position:relative;display:grid;align-content:center;gap:12px;padding:14px 18px;border-radius:16px;background:#F6F8FC;box-shadow:0 0 0 1px var(--sline-2);opacity:0;transition:opacity .4s}
.mx-panel.shown{opacity:1}
.mx-row{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:10px}
.mx-row small{font:500 10.5px var(--mono)}
.mx-row p{margin:0;font-size:13.5px;line-height:1.3;color:var(--ink)}
.mx-chip{position:absolute;right:16px;top:14px;padding:3px 10px;border-radius:999px;background:#E6F4EC;color:#146C3C;font:500 10.5px var(--mono)}

/* replay (methods) */
.ag-rp{display:grid;grid-template-rows:auto repeat(4,1fr);gap:4px}
.rp-h,.rp-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 84px;gap:16px;align-items:center}
.rp-h{padding:0 14px;font:500 10.5px var(--mono);color:var(--muted)}
.rp-r{padding:0 14px;border-radius:10px;box-shadow:0 0 0 1px var(--sline-2);background:#fff;transition:background-color .3s,box-shadow .3s}
.rp-r.cur{background:var(--pale);box-shadow:0 0 0 1.5px var(--blue)}
.rp-a b{display:block;font-size:12.5px;line-height:1.2}
.rp-a small{font-size:11.5px}
.rp-b{font-size:12.5px;color:var(--ink);opacity:0;transform:translateX(-6px);transition:opacity .5s,transform .5s}
.rp-r.shown .rp-b{opacity:1;transform:none}
.rp-m{justify-self:start;padding:3px 10px;border-radius:999px;font:500 10.5px var(--mono);opacity:0;transform:scale(.8);transition:opacity .3s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.rp-m.same{background:#E6F4EC;color:#146C3C}.rp-m.diff{background:#FFF1EA;color:var(--orange-deep)}
.rp-r.marked .rp-m{opacity:1;transform:none}
.rp-r.marked.shown:has(.diff){background:#FFF8F4;box-shadow:0 0 0 1.5px var(--orange)}

/* 720 and under: one column, every word still showing */
@media (max-width:720px){
  .pv-scene.ag-scene{height:258px}
  .ag-body{left:12px;right:12px;top:12px;bottom:48px}
  .ag-call{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:8px}
  .cl-who{grid-template-columns:auto 1fr auto auto;align-items:center;justify-items:start;gap:10px;padding:0 0 8px;border-right:0;border-bottom:1px dashed rgba(10,22,51,.14)}
  .cl-who .av{width:32px;height:32px;font-size:12px}
  .cl-n b{font-size:13px}
  .cl-t{font-size:13px}
  .cl-wave{height:18px}
  .cl-tr{gap:5px}
  .cl-tr .b{padding:5px 11px;font-size:12px}
  .cl-out{grid-template-columns:minmax(0,1fr) 112px;gap:8px}
  .ag-call:not(.hand) .cl-out{grid-template-columns:minmax(0,1fr)}
  .cl-note{padding:7px 10px}
  .cl-note b{font-size:12px}
  .cl-note small{font-size:10.5px}
  .cl-note.slid{transform:translateX(calc(100% + 16px)) scale(.5)}
  .cl-rep{padding:6px 8px;gap:6px}
  .cl-rep .rp{width:22px;height:22px}
  .cl-rep b{font-size:11.5px}
  .cl-rep small{font-size:10px}
  .ag-mail{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;gap:8px}
  .ml-list{gap:3px}
  .ml-r{grid-template-columns:68px minmax(0,1fr) auto;gap:6px;padding:0 7px 0 10px;font-size:11px}
  .ml-c{padding:2px 6px;font-size:9.5px}
  .ml-tally{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:4px}
  .ml-tally span{padding:5px 7px;gap:5px;font-size:10px}
  .ml-tally b{font-size:12px}
  .ag-q{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:8px}
  .qq-l{margin-bottom:4px}
  .qq-jobs,.qq-chips{display:flex;flex-wrap:nowrap;gap:5px}
  .jb{padding:4px 9px;font-size:11px;gap:5px;white-space:nowrap}
  .jb{max-height:none;max-width:140px}
  .jb.out{transform:translateY(8px);max-height:none;max-width:0;padding-left:0;padding-right:0;margin:0 -5px 0 0;box-shadow:none}
  .qq-chips .jb .nm{display:none}.qq-chips .jb .ini{display:inline}
  .qq-work{padding:8px 12px}
  .qq-h{margin-bottom:6px}
  .qq-steps{grid-template-columns:repeat(2,1fr);gap:4px 10px}
  .qq-steps li{font-size:12px}
  .ag-mix{gap:8px}
  .mx-tabs{gap:6px}
  .mx-t{padding:8px 4px;gap:5px;font-size:11.5px}
  .mx-t svg{display:none}
  .mx-t .tk svg{display:block}
  .mx-panel{padding:10px 12px;gap:8px}
  .mx-row{grid-template-columns:minmax(0,1fr);gap:1px}
  .mx-row p{font-size:12.5px}
  .mx-chip{top:10px;right:10px}
  .ag-rp{grid-template-rows:repeat(4,1fr);gap:4px}
  .rp-h{display:none}
  .rp-r{grid-template-columns:minmax(0,1fr) 62px;grid-template-rows:auto auto;gap:1px 8px;padding:0 10px;align-content:center}
  .rp-a{display:flex;gap:7px;align-items:baseline;min-width:0;overflow:hidden;white-space:nowrap}
  .rp-a b{display:inline;font-size:12px}
  .rp-a small{font-size:11px}
  .rp-b{grid-column:1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rp-b::before{content:"Replay: ";color:var(--muted)}
  .rp-m{grid-column:2;grid-row:1/3;align-self:center;font-size:10px;padding:2px 8px}
}

/* Toys: pick one, watch the agent decide */
.pv-ask{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,40px);align-items:start}
.ak-opts{display:grid;gap:8px}
.ak-o{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:14px;background:var(--paper);box-shadow:0 0 0 1px var(--sline);color:var(--ink);font:inherit;font-size:15px;font-weight:600;line-height:1.25;text-align:left;cursor:pointer;transition:background-color .25s,box-shadow .25s,transform .25s var(--pv-ease)}
.ak-o:hover{box-shadow:0 0 0 1.5px var(--blue);transform:translateX(3px)}
.ak-o.on{background:var(--pale);box-shadow:0 0 0 2px var(--blue)}
.ak-o:focus-visible,.pv-ask .btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.ak-o small{display:block;margin-top:2px;font-size:12px;font-weight:500;color:var(--muted)}
.ak-ic{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff;color:var(--blue);box-shadow:0 0 0 1px var(--sline)}
.ak-ic svg{width:16px;height:16px}
.ak-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);gap:14px;align-items:center;min-height:236px;padding:16px;border-radius:18px;background:var(--paper);box-shadow:0 0 0 1px var(--sline);overflow:hidden}
.ak-l{display:block;font:500 10.5px var(--mono);color:var(--muted);text-transform:none}
.ak-from{min-height:96px;padding:12px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--sline-2)}
.ak-q{display:block;margin-top:6px;font-size:14.5px;line-height:1.3;font-weight:650;color:var(--ink)}
.ak-w{display:block;margin-top:4px;font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.ak-ag{display:grid;justify-items:center;gap:6px;text-align:center}
.ak-ag svg{width:48px;height:42px;padding:9px 7px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--sline-2);box-sizing:content-box;transition:box-shadow .3s}
.ak-ag.busy svg{box-shadow:0 0 0 2px var(--blue)}
.ak-st{font:500 10.5px var(--mono);color:var(--muted)}
.ak-bins{display:grid;gap:8px}
.ak-bin{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--sline-2);transition:box-shadow .3s,background-color .3s}
.ak-bin .ak-n{grid-column:2;grid-row:1;font:600 15px var(--mono);color:var(--ink)}
.ak-bin em{grid-column:1/-1;font-style:normal;font-size:11.5px;color:var(--muted);min-height:14px}
.ak-bin.hit{box-shadow:0 0 0 2px var(--good);background:#fff}
.ak-bin.team.hit{box-shadow:0 0 0 2px var(--orange);background:#FFF1EA}
.ak-bin.pop{animation:r2pop .5s cubic-bezier(.34,1.56,.64,1)}
.ak-pk{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--orange);opacity:0;pointer-events:none;z-index:3;box-shadow:0 0 0 4px rgba(255,107,44,.2)}
.pv-ask .toy-ctl{grid-column:1/-1;margin-top:0}
@media (max-width:860px){
  .pv-ask{grid-template-columns:minmax(0,1fr)}
  .ak-opts{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:520px){
  .ak-stage{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:8px;padding:12px;min-height:220px}
  .ak-ag svg{width:30px;height:26px}
  .ak-from{padding:9px}
  .ak-q{font-size:13px}
  .ak-bin{padding:8px 9px}
  .ak-bin em{display:none}
  .ak-st{font-size:9px}
}
@media (prefers-reduced-motion:reduce){
  .ak-o:hover{transform:none}
  .ak-bin.pop,.ml-tally b.pop,.qq-chips .jb{animation:none}
  .cl-who.live .cl-wave i{animation:none}
}

/* Infrastructure and lead generation: monitor scene and three toys. Core people scenes are used as they are. */

/* Monitor scene. Same card and status line as the people scenes. */
.scene.mon{height:236px}
.mn-grid{position:absolute;left:14px;right:14px;top:14px;bottom:40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mn-t{position:relative;display:flex;flex-direction:column;min-width:0;padding:10px 12px 8px;border-radius:14px;background:var(--paper);box-shadow:0 0 0 1px var(--sline);transition:box-shadow .3s,background-color .3s}
.mn-h{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}
.mn-h b{font:650 12.5px var(--sans);color:var(--ink);letter-spacing:-.01em}
.mn-c{font:500 10px var(--mono);font-style:normal;color:var(--good);white-space:nowrap}
.mn-gr{position:relative;flex:1;min-height:0;margin-top:8px}
.mn-gr svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.mn-band{fill:rgba(23,145,94,.12)}
.mn-ln{fill:none;stroke:var(--blue);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.mn-thr-l{stroke:var(--orange-deep);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}
.mn-thr{position:absolute;right:0;top:36%;transform:translateY(-120%);font:600 9.5px var(--mono);font-style:normal;color:var(--orange-deep)}
.mn-t.off{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange)}
.mn-t.pz{background:repeating-linear-gradient(135deg,#FFF1EA 0 7px,#fff 7px 14px);box-shadow:0 0 0 1.5px var(--orange)}
.mn-t.fx{box-shadow:0 0 0 1.5px var(--blue)}
.mn-t.off .mn-ln,.mn-t.pz .mn-ln{stroke:var(--orange-deep)}
.mn-t.off .mn-c,.mn-t.pz .mn-c{color:var(--orange-deep)}
.mn-t.fx .mn-c{color:var(--blue)}

/* Toy buttons shared by the three toys */
.pv-trip button:focus-visible,.pv-drill button:focus-visible,.pv-shrink button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.pv-trip [data-a=hold][aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--good)}
.pv-trip [data-a=hold][aria-pressed=false]{box-shadow:inset 0 0 0 2px var(--orange)}

/* Trip a check */
.tr-rows{display:grid;gap:14px}
.tr-row{display:grid;grid-template-columns:150px minmax(0,1fr) 108px;gap:18px;align-items:center}
.tr-nm{font:650 16px var(--sans);color:var(--ink);letter-spacing:-.01em;display:grid;line-height:1.2}
.tr-nm small{font:500 12px var(--sans);color:var(--muted);letter-spacing:0}
.tr-track{position:relative;height:36px;margin:0 14px;border-radius:10px;touch-action:none;cursor:pointer;
  background:linear-gradient(90deg,transparent 0 20%,#FFF1EA 20% 35%,#E8F6EF 35% 65%,#FFF1EA 65% 80%,transparent 80%),repeating-linear-gradient(135deg,rgba(255,138,76,.30) 0 5px,#fff 5px 10px);box-shadow:0 0 0 1px var(--sline-2)}
.tr-knob{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px #fff,0 6px 14px -6px rgba(10,22,51,.6);cursor:grab;transition:background-color .25s}
.tr-knob:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.tr-row.pz .tr-knob,.tr-row.sk .tr-knob{background:var(--orange-deep);cursor:default}
.tr-row.fx .tr-knob{background:var(--blue)}
.tr-row.hd .tr-knob{background:var(--good)}
.tr-chip{font:600 12px var(--mono);color:var(--good);text-align:right;white-space:nowrap}
.tr-row.pz .tr-chip,.tr-row.sk .tr-chip{color:var(--orange-deep)}
.tr-row.fx .tr-chip{color:var(--blue)}
.tr-key{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 0 168px;font:500 11.5px var(--mono);color:var(--muted)}
.tr-key span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px;box-shadow:0 0 0 1px var(--sline-2)}
.tr-key .k-ok::before{background:#E8F6EF}.tr-key .k-nr::before{background:#FFF1EA}
.tr-key .k-fr::before{background:repeating-linear-gradient(135deg,rgba(255,138,76,.45) 0 3px,#fff 3px 6px)}

/* Restore drill */
.dr-h{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:10px;font:600 11.5px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.dr-h span:last-child{grid-column:3}
.dr-rows{display:grid;gap:8px}
.dr-row{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:10px;align-items:center}
.dr-src,.dr-dst{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:46px;padding:8px 14px;border-radius:12px;font:inherit;text-align:left;border:0;background:var(--paper);box-shadow:0 0 0 1px var(--sline-2);color:var(--ink)}
.dr-src{cursor:pointer;transition:background-color .2s,box-shadow .2s}
.dr-src:hover{box-shadow:0 0 0 1.5px var(--blue)}
.dr-src b,.dr-dst b{font:650 15px var(--sans);letter-spacing:-.01em}
.dr-src em,.dr-dst em{font:500 11.5px var(--mono);font-style:normal;color:var(--muted);text-align:right}
.dr-src.mt{background:#FFF1EA;box-shadow:0 0 0 1.5px var(--orange)}
.dr-src.mt em{color:var(--orange-deep)}
.dr-lane{position:relative;height:46px}
.dr-lane::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed var(--sline-2)}
.dr-lane i{position:absolute;top:50%;left:calc(var(--p,0) * (100% - 18px));width:18px;height:18px;margin-top:-9px;border-radius:5px;background:var(--blue);opacity:0}
.dr-dst{transition:background-color .3s,box-shadow .3s}
.dr-dst.ok{background:#E8F6EF;box-shadow:0 0 0 1.5px var(--good)}
.dr-dst.ok em{color:var(--good)}
.dr-dst.bad{background:#FFF1EA;box-shadow:0 0 0 2px var(--orange)}
.dr-dst.bad em{color:var(--orange-deep);font-weight:600}

/* Watch the list shrink */
.pv-shrink{--rh:48px}
.sh-top{display:flex;gap:22px;flex-wrap:wrap;font:500 13px var(--mono);color:var(--muted);margin-bottom:10px}
.sh-top b{font:700 18px var(--sans);color:var(--ink);margin-left:4px}
.sh-head,.sh-row{display:grid;grid-template-columns:34px minmax(0,1.3fr) 150px minmax(0,1fr);gap:14px;align-items:center}
.sh-head{padding:0 14px;font:600 10.5px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;grid-template-columns:34px minmax(0,1.3fr) 150px minmax(0,1fr)}
.sh-head>span:first-child{grid-column:1/3}
.sh-pips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sh-head .sh-pips u{text-decoration:none;text-align:center;font-size:9.5px}
.sh-list{display:grid;gap:4px;min-height:calc(7 * var(--rh) + 6 * 4px);align-content:start}
.sh-row{height:var(--rh);padding:0 14px;border:0;border-radius:12px;background:var(--paper);box-shadow:0 0 0 1px var(--sline);font:inherit;text-align:left;color:var(--ink);cursor:pointer;overflow:hidden;
  transition:max-height .5s var(--pv-ease),height .5s var(--pv-ease),opacity .4s,margin .5s,padding .5s,background-color .3s,box-shadow .3s}
.sh-row:hover{box-shadow:0 0 0 1.5px var(--blue)}
.sh-row:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sh-row .av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font:700 11px var(--sans);font-style:normal}
.sh-nm{display:grid;line-height:1.2;min-width:0}
.sh-nm b{font:650 14px var(--sans)}
.sh-nm small{font:500 11.5px var(--mono);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-pips u{display:block;height:8px;border-radius:4px;background:rgba(10,22,51,.12);transition:background-color .25s}
.sh-pips u.g{background:var(--good)}.sh-pips u.b{background:var(--orange)}
.sh-res{font:600 12px var(--mono);color:var(--muted)}
.sh-res.g{color:var(--good)}.sh-res.b{color:var(--orange-deep)}
.sh-row.bad{background:#FFF1EA}
.sh-row.drop{height:0;opacity:0;margin-top:-4px;padding:0 14px;box-shadow:none;pointer-events:none}

@media (max-width:720px){
  .scene.mon{height:256px}
  .mn-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));bottom:50px;gap:8px}
  .mn-t{padding:7px 9px 6px}
  .mn-h b{font-size:11px}.mn-c{font-size:9px}
  .mn-gr{margin-top:4px}

  .tr-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}
  .tr-track{grid-column:1/-1;grid-row:2}
  .tr-nm small{display:inline;margin-left:6px}
  .tr-key{margin-left:0}

  .dr-h,.dr-row{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:6px}
  .dr-src,.dr-dst{padding:6px 8px;flex-direction:column;align-items:flex-start;gap:0;justify-content:center}
  .dr-src b,.dr-dst b{font-size:13px}.dr-src em,.dr-dst em{font-size:10px;text-align:left}
  .dr-h{font-size:9.5px}

  .pv-shrink{--rh:56px}
  .sh-head{display:none}
  .sh-row{grid-template-columns:30px minmax(0,1fr) 68px;grid-template-areas:"av nm pips" "av res pips";gap:0 10px;padding:0 10px}
  .sh-row .av{grid-area:av}.sh-nm{grid-area:nm}.sh-pips{grid-area:pips;gap:3px}.sh-res{grid-area:res;font-size:10.5px}
  .sh-nm small{display:none}
  .sh-nm b{font-size:13px}
  .sh-top{gap:14px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .sh-row,.dr-dst,.mn-t,.tr-knob{transition:none}
}
