/* Mix 1 + video: explainer video in the hero */
.hv-wrap{position:relative;z-index:3;margin:54px auto 0;width:min(1120px,100%);perspective:1600px}
.hv{--k:1;position:relative;margin:0;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#06071A;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 90px rgba(4,6,30,.55),0 0 0 6px rgba(255,255,255,.06),0 0 80px rgba(37,50,214,.45);transform:rotateX(calc((1 - var(--k)) * 16deg)) scale(calc(.88 + var(--k) * .12));transform-origin:50% 0;will-change:transform}
.hv video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.hv-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.15)}
.hv-bar i{display:block;height:100%;width:calc(var(--p,0) * 100%);background:#FF3D3D}
.hv-ctl{position:absolute;left:16px;bottom:18px;display:flex;gap:8px}
.hv-ctl button{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px 0 12px;border:0;border-radius:999px;background:rgba(6,7,26,.62);color:#fff;font:700 14px/1 "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);transition:background .25s}
.hv-ctl button:hover{background:#2532D6}
.hv-ctl button.snd{background:#FF3D3D;box-shadow:none}
.hv-ctl button.snd.on{background:rgba(6,7,26,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.hv-ctl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hv-cap{margin:16px 0 0;text-align:center;color:#C4C8EE;font-size:14px}
@media(max-width:640px){
 .hv-wrap{margin-top:36px}
 .hv{border-radius:18px}
 .hv-ctl{left:10px;bottom:12px}
 .hv-ctl button{height:36px;font-size:12.5px;padding:0 12px 0 9px}
}
.mq .peek{display:none}
.mxh{padding-top:118px}
.mxh h1{font-size:clamp(64px,10.5vw,184px)}
.mxh .sub{margin-top:20px}
.mxh .hv-wrap{margin-top:30px}
@media(max-width:640px){.mxh{padding-top:96px}.mxh .hv-wrap{margin-top:26px}}
/* mix-3 look: the living skyline sits behind the whole page */
body.s3{background:#06071A}
.s3 .hero.mx{background:transparent}
.s3 .hero.mx .mesh{opacity:.55}
.s3 .mq{background:transparent}
.s3 .mq small{color:#C4C8EE}
.s3 .orb2,.s3 .px,.s3 .gal,.s3 .svc,.s3 .ext{background:transparent}
.s3 .orb2>.stars{display:none}
.s3 .svc h2.hx{color:#fff}.s3 .svc h2.hx em{color:#AEB5FF}
.s3 .gal .gal-head h2,.s3 .gal .gal-head h2 em{color:#fff}.s3 .gal .gal-head h2 em{color:#AEB5FF}
.s3 .gal .gal-head .lead,.s3 .gal .gal-head p{color:#C4C8EE}
.s3 .gal .eyebrow{color:#AEB5FF}
.s3 .prod-s .gl.prod{background:rgba(8,10,38,.72)}
.s3 .rw .gl.lt h2.hx{color:var(--ink)}
.s3s{padding:0 0 60px}
.s3 .vs3,.s3 .msky,.s3 .rw,.s3 .fqs{padding:0 0 60px}
.s3 .three{padding-top:20px}
.s3 .mq-t span{color:#fff;opacity:.92}
.s3 .mq-t img[src*="chatgpt"],.s3 .mq-t img[src*="grok"]{filter:invert(1)}
@media(max-width:760px){.cityfx .you .lab,.cityfx .you .peek,.cityfx .you .bcn{display:none}.cityfx .you{opacity:.5;right:5%;width:56px}}
.s3run.pin .s3pin{position:sticky}
.s3run .tp-bar{display:none}
.s3run.pin .tp-bar{display:block;height:4px;border-radius:4px;background:rgba(174,181,255,.18);margin-top:26px;overflow:hidden}
.s3run.pin .tp-bar i{display:block;height:100%;width:calc(var(--tp,0) * 100%);background:#FF3D3D;border-radius:4px}
.s3run .tp-hint{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:14px;font-weight:700;color:#C4C8EE}
.s3run{position:relative;z-index:1}
.s3run.pin .gl{padding:30px 44px 34px}
.s3run.pin h2.hx{font-size:clamp(40px,4.6vw,70px)}
.s3run.pin .bento{margin-top:18px}
.s3run.pin .bento .stage{height:clamp(300px,calc(100vh - 430px),430px)}
/* Mix 1 scroll chapters over the skyline */
.s3 .sx-intro,.s3 .sx{background:transparent}
.s3 .sx-intro .hx,.s3 .sx .hx{color:#fff}
.s3 .sx-intro .hx em,.s3 .sx .hx em{color:#AEB5FF}
.s3 .sx-intro .kick,.s3 .sx .kick{color:#AEB5FF}
.s3 .sx-intro .subp,.s3 .sx .subp{color:#C4C8EE}
.s3 .sx .ck li{color:#7F84B8}
.s3 .sx .ck li.on{color:#fff}
.s3 .sx .ck li i{border-color:rgba(174,181,255,.35)}
.s3 .sx .ck li.on i{background:#4B57F0;border-color:#4B57F0}
.s3 .sx .sx-n span{background:rgba(174,181,255,.18)}
.s3 .sx .sx-n span i{background:#AEB5FF}
.s3 .sx .sx-note{color:#9EA3D6}
.s3 .sx .engs span{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(174,181,255,.25)}
.s3 .sx .engs span img.inv{filter:invert(1)}
.s3 .sx .engs span.on{background:#fff;border-color:#fff;color:#0B0B0F}
.s3 .sx .engs span.on img.inv{filter:none}
/* seamless logo strip */
.mq .mq-t{gap:0}
.mq .mq-g{display:flex;flex:none}
.mq .mq-g>span{padding-right:70px}
@media(max-width:640px){.mq .mq-g>span{padding-right:44px}}
/* back-to-top with scroll progress ring (same as the live site) */
.totop{position:fixed;right:20px;bottom:20px;z-index:55;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(11,11,15,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(174,181,255,.28);box-shadow:0 0 0 1px rgba(37,50,214,.25),0 10px 30px rgba(37,50,214,.45);opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s}
.totop.show{opacity:1;transform:none;pointer-events:auto}
.totop .tri{width:16px;height:13px;position:relative;z-index:1;fill:#fff;stroke:#fff;transition:transform .2s}
.totop:hover .tri{transform:translateY(-3px)}
.totop .ring{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg)}
.totop .ring circle{fill:none;stroke:rgba(255,255,255,.1);stroke-width:2.5}
.totop .ring .rp{stroke:#FF3D3D;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0)*100);filter:drop-shadow(0 0 4px rgba(255,61,61,.8))}
.totop .ring{margin:0;aspect-ratio:auto}.totop .ring::before,.totop .ring::after{content:none}
/* one pinned stage for the chapters */
.sx1 .sx-st{position:sticky;top:0;height:100vh;height:100svh;display:block;padding:0;overflow:hidden}
.sx1 .sx-ch{position:absolute;inset:0;height:auto;display:grid;align-items:center;padding-top:84px;box-sizing:border-box;will-change:opacity}
.sx1 .sx-copy,.sx1 .sx-dev{will-change:transform}
.sx1.sx-static{height:auto!important}
.sx1.sx-static .sx-st{position:static;height:auto;overflow:visible}
.sx1.sx-static .sx-ch{position:relative;inset:auto;padding:60px 0}
/* menu: no highlight band under the links */
.dnav .hl,.hdr .hl,.s-mnav .hl{background:none}
/* contact buttons: light that runs around the edge + a soft sweep, like the live site's main button */
.btn,.pxb{position:relative;isolation:isolate}
.btn::after,.pxb::after{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a),transparent 0 60%,rgba(255,255,255,.95) 72%,rgba(174,181,255,.7) 79%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 3.6s linear infinite;pointer-events:none}
.btn::before,.pxb::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.42) 50%,transparent 62%) no-repeat;background-size:260% 100%;background-position:130% 0;animation:sheen 4.6s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}
.pxb::before{background-image:linear-gradient(110deg,transparent 38%,rgba(37,50,214,.16) 50%,transparent 62%)}
@keyframes sheen{0%,55%{background-position:130% 0}85%,100%{background-position:-30% 0}}
.btn-a{box-shadow:0 0 0 0 rgba(255,61,61,0),0 10px 30px rgba(255,61,61,.35)}
.btn-a:hover{box-shadow:0 0 34px rgba(255,61,61,.6),0 10px 30px rgba(255,61,61,.35)}
.btn-p{box-shadow:0 10px 30px rgba(37,50,214,.38)}
.btn-p:hover{box-shadow:0 0 34px rgba(75,87,240,.7),0 10px 30px rgba(37,50,214,.38)}
.btn-o:hover{box-shadow:0 0 28px rgba(174,181,255,.45)}
.pxb:hover{box-shadow:0 0 30px rgba(174,181,255,.5),0 14px 34px rgba(255,255,255,.18)}
@media(prefers-reduced-motion:reduce){.btn::after,.pxb::after,.btn::before,.pxb::before{animation:none}.btn::before,.pxb::before{display:none}}
/* megacity: one canvas, sky follows the smoothed scroll */
.s3 .cityfx .dusk{opacity:calc(1 - var(--ts,0) * .82)}
.cityfx canvas.mega{opacity:1}
.cityfx canvas.stars{opacity:calc(.3 + var(--ts,0) * .7)}
.sx1 .sx-st::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,7,26,.72),rgba(6,7,26,.25) 48%,rgba(6,7,26,0) 70%)}
@media(max-width:900px){.sx1 .sx-st::before{background:linear-gradient(rgba(6,7,26,.75),rgba(6,7,26,.35) 45%,rgba(6,7,26,.1))}}
/* keep text readable over the city */
.s3 .pxc:not(.pop){background:rgba(8,10,38,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.cityfx::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(6,7,26,.32);opacity:calc(min(1, var(--ts,0) * 8))}
/* hero ribbon: same blue, as a soft neon tube */
.mxh .rib{--rib1:#C9CEFF;--rib2:#7884FF;--rib3:#4B57F0;opacity:.9;filter:drop-shadow(0 0 6px rgba(110,123,255,.9)) drop-shadow(0 0 22px rgba(75,87,240,.55))}
.mxh .rib .r1{stroke-width:9}
.mxh .rib .r2{stroke:rgba(255,255,255,.92);stroke-width:2.6;transform:none}
.mxh .rib .r0{display:none}
@media(max-width:640px){.mxh .rib .r1{stroke-width:12}.mxh .rib .r2{stroke-width:3.4}}
/* orbit: logos circle Sky, who floats in a helmet in front of a full moon */
.orb2 .ring{display:none}
.orbx{--W:min(860px,94vw);position:relative;width:var(--W);height:calc(var(--W) * .74);margin:40px auto 0}
.ox-glow{position:absolute;left:50%;top:50%;width:80%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(220,224,255,.22),rgba(174,181,255,.08) 45%,transparent 70%);pointer-events:none}
.ox-path{position:absolute;left:50%;top:50%;width:94%;height:30%;transform:translate(-50%,-50%) rotate(-11deg);border-radius:50%;border:1.5px dashed rgba(174,181,255,.35);box-shadow:0 0 24px rgba(75,87,240,.25)}
.ox-moon{position:absolute;left:50%;top:50%;width:54%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;z-index:2;
 background:radial-gradient(ellipse 30% 22% at 34% 38%,rgba(120,124,150,.32),transparent 70%),radial-gradient(ellipse 26% 30% at 66% 58%,rgba(120,124,150,.28),transparent 70%),radial-gradient(ellipse 18% 14% at 58% 26%,rgba(120,124,150,.25),transparent 70%),radial-gradient(circle at 36% 30%,#FFFFFF,#ECECF4 40%,#CFD0DE 74%,#A7A9C2);
 box-shadow:0 0 50px rgba(225,228,255,.55),0 0 140px rgba(174,181,255,.45),inset -26px -30px 70px rgba(37,44,120,.45)}
.ox-moon i{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(110,112,140,.28),rgba(150,152,175,.12) 60%,transparent 72%);box-shadow:inset 2px 3px 4px rgba(90,92,120,.25),inset -1px -2px 3px rgba(255,255,255,.5)}
.ox-moon i:nth-child(1){left:18%;top:52%;width:13%;height:13%}
.ox-moon i:nth-child(2){left:70%;top:30%;width:9%;height:9%}
.ox-moon i:nth-child(3){left:44%;top:78%;width:8%;height:8%}
.ox-moon i:nth-child(4){left:26%;top:22%;width:6%;height:6%}
.ox-moon i:nth-child(5){left:76%;top:68%;width:11%;height:11%}
.ox-moon i:nth-child(6){left:56%;top:12%;width:5%;height:5%}
.ox-sky{position:absolute;left:50%;top:50%;width:26%;transform:translate(-50%,-52%);z-index:3;animation:oxFloat 6s ease-in-out infinite}
.ox-sky img{display:block;width:100%;height:auto;position:relative;z-index:1}
.ox-helmet{position:absolute;left:50%;top:50%;width:132%;aspect-ratio:1;transform:translate(-50%,-49%);border-radius:50%;z-index:2;pointer-events:none;
 background:radial-gradient(ellipse 22% 13% at 31% 22%,rgba(255,255,255,.75),rgba(255,255,255,0) 70%),radial-gradient(circle at 50% 50%,rgba(174,181,255,0) 56%,rgba(174,181,255,.14) 66%,rgba(214,219,255,.42) 70.4%,rgba(214,219,255,0) 71%),radial-gradient(circle at 70% 78%,rgba(120,132,255,.18),transparent 45%);
 box-shadow:inset 0 0 0 2.5px rgba(255,255,255,.7),inset 0 0 0 7px rgba(174,181,255,.18),inset -18px -22px 46px rgba(37,50,214,.28),0 0 34px rgba(174,181,255,.45)}
.ox-helmet::before{content:"";position:absolute;inset:9%;border-radius:50%;border:2.5px solid transparent;border-top-color:rgba(255,255,255,.55);border-left-color:rgba(255,255,255,.22);transform:rotate(-24deg);filter:blur(.4px)}
.ox-helmet::after{content:"";position:absolute;right:16%;bottom:16%;width:9%;height:9%;border-radius:50%;background:rgba(255,255,255,.45);filter:blur(2px)}
.ox-collar{position:absolute;left:50%;top:calc(50% + 66% * .5 + 9%);width:100%;height:20%;transform:translate(-50%,0);z-index:3;border-radius:50%;
 background:linear-gradient(#F4F5FB,#C9CCE0 55%,#9EA2C2);box-shadow:inset 0 3px 0 rgba(255,255,255,.9),inset 0 -4px 8px rgba(30,36,110,.35),0 10px 26px rgba(0,0,0,.35)}
.ox-collar::after{content:"";position:absolute;right:16%;top:28%;width:7%;aspect-ratio:1;border-radius:50%;background:#FF3D3D;box-shadow:0 0 10px rgba(255,61,61,.9)}
@keyframes oxFloat{0%,100%{transform:translate(-50%,-52%) rotate(-3deg)}50%{transform:translate(-50%,-57%) rotate(3deg)}}
.orbx{isolation:isolate}
.ox-nodes{position:absolute;inset:0;z-index:auto;pointer-events:none}
.ox-n{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px;border-radius:22px;background:#fff;display:grid;place-items:center;box-shadow:0 18px 40px rgba(0,0,0,.4),0 0 24px rgba(174,181,255,.35);will-change:transform,opacity}
.ox-n b{display:grid;place-items:center}
.ox-n img{width:38px;height:38px}
.orb2 .tags{margin-top:18px}
@media(max-width:600px){.ox-n{width:50px;height:50px;margin:-25px;border-radius:15px}.ox-n img{width:26px;height:26px}.orbx{height:calc(var(--W) * .86)}.ox-moon{width:62%}.ox-sky{width:30%}}
@media(prefers-reduced-motion:reduce){.ox-sky{animation:none}}
/* helmet glass tinted so Sky stands out against the moon */
.ox-helmet{background:radial-gradient(ellipse 22% 13% at 31% 22%,rgba(255,255,255,.8),rgba(255,255,255,0) 70%),radial-gradient(circle at 50% 50%,rgba(20,26,110,.5) 0 52%,rgba(37,50,214,.35) 64%,rgba(174,181,255,.25) 69%,rgba(214,219,255,.65) 70.6%,rgba(214,219,255,0) 71.2%);
 box-shadow:inset 0 0 0 3px rgba(255,255,255,.85),inset 0 0 0 8px rgba(174,181,255,.25),inset -18px -22px 46px rgba(10,14,70,.45),0 0 0 2px rgba(37,50,214,.35),0 0 40px rgba(120,132,255,.55)}
.ox-sky img{z-index:3}
.ox-helmet{z-index:2}
.ox-helmet::before,.ox-helmet::after{z-index:4}
.ox-moon{background:radial-gradient(ellipse 30% 22% at 34% 38%,rgba(110,114,145,.34),transparent 70%),radial-gradient(ellipse 26% 30% at 66% 58%,rgba(110,114,145,.3),transparent 70%),radial-gradient(ellipse 18% 14% at 58% 26%,rgba(110,114,145,.26),transparent 70%),radial-gradient(circle at 36% 30%,#FAFAFE,#E2E3EE 40%,#C2C4D8 74%,#9093B4);
 box-shadow:0 0 40px rgba(225,228,255,.45),0 0 120px rgba(174,181,255,.35),inset -30px -36px 80px rgba(30,36,110,.5)}
/* front glass: reflections that sit over Sky */
.ox-helmet::before,.ox-helmet::after{content:none}
.ox-visor{position:absolute;left:50%;top:50%;width:132%;aspect-ratio:1;transform:translate(-50%,-49%);border-radius:50%;z-index:4;pointer-events:none;
 background:radial-gradient(ellipse 20% 11% at 30% 21%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%),radial-gradient(circle at 74% 76%,rgba(255,255,255,.22) 0 3%,transparent 4.5%),linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,0) 40%,rgba(255,255,255,0) 62%,rgba(174,181,255,.10))}
.ox-visor::before{content:"";position:absolute;inset:8%;border-radius:50%;border:3px solid transparent;border-top-color:rgba(255,255,255,.5);border-left-color:rgba(255,255,255,.18);transform:rotate(-26deg);filter:blur(.5px)}
.ox-collar{z-index:5}
/* real-looking full moon with astronaut Sky standing on top */
.ox-moon{top:57%;background:none;overflow:visible;box-shadow:0 0 50px rgba(225,228,255,.38),0 0 150px rgba(174,181,255,.3)}
.ox-moon img{display:block;width:100%;height:100%;border-radius:50%}
.ox-moon::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 75%,rgba(30,36,110,.35),transparent 60%);pointer-events:none}
.ox-glow{top:57%}
.ox-path{top:57%}
.ox-astro{position:absolute;left:50%;top:calc(57% - 27% * 1 - 13.5%);width:9.4%;height:auto;transform:translate(-50%,0) rotate(4deg);transform-origin:50% 100%;z-index:3;filter:drop-shadow(0 6px 10px rgba(6,7,26,.5)) drop-shadow(0 0 14px rgba(174,181,255,.35));animation:oxWave 5s ease-in-out infinite}
@keyframes oxWave{0%,100%{transform:translate(-50%,0) rotate(4deg)}50%{transform:translate(-50%,-4px) rotate(-2deg)}}
@media(max-width:600px){.ox-astro{width:11%;top:calc(57% - 31% * 1 - 16%)}}
@media(prefers-reduced-motion:reduce){.ox-astro{animation:none}}
.sx1 .sx-st::before{-webkit-mask:linear-gradient(transparent,#000 160px);mask:linear-gradient(transparent,#000 160px)}
/* cookie notice, same as the rest of the site */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:520px;background:#0B0B0F;color:#fff;border-radius:20px;padding:16px 18px;display:flex;gap:14px;align-items:center;font-size:14px;box-shadow:0 20px 50px rgba(0,0,0,.45),0 0 0 1px rgba(174,181,255,.18)}
.cookie a{color:#AEB5FF}
.cookie button{margin-left:auto;background:#fff;color:#0B0B0F;border:0;border-radius:999px;height:38px;padding:0 18px;font:800 14px "Plus Jakarta Sans",sans-serif;cursor:pointer}
body:has(.cookie) .totop{bottom:96px}
@media(min-width:600px){body:has(.cookie) .totop{bottom:20px}}
/* Performance on phones: live blur over the animated city made iPhone Safari run out of memory and
   reload the page. Only the small header pill and the desktop dropdown keep their blur; every other
   panel gets a more solid background instead. No element asks for its own graphics layer. */
body.s3 *:not(.hbar):not(.dd-menu){-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.s3 *{will-change:auto!important}
body.s3 .gl{background:rgba(8,10,38,.9)}
body.s3 .gl.lt{background:#F4F5FB}
body.s3 .mscrim{background:rgba(6,7,26,.72)}
body.s3 .pn-card{background:rgba(8,10,38,.94)}
body.s3 .pn-card.pop{background:linear-gradient(180deg,#2532D6,#141A8A 70%)}
body.s3 .sp-st,body.s3 .sp-m,body.s3 .ar-toc,body.s3 .ab-eng,body.s3 .ab-f,body.s3 .gd-card,body.s3 .pr-box,body.s3 .cmp,body.s3 .ar-body,body.s3 .pxc:not(.pop){background:rgba(8,10,38,.94)}
body.s3 .pg-chips a,body.s3 .pg-chips span,body.s3 .sp-inplan,body.s3 .pn-trust div,body.s3 .gd-search,body.s3 .gd-chips button{background:rgba(8,10,38,.85)}
body.s3 .hv-ctl button{background:rgba(6,7,26,.82)}
/* Smoothness: looping animations only run on screen. redo.js marks visible sections and buttons with .av */
.vio main section:not(.av) *,.vio main section:not(.av) *::before,.vio main section:not(.av) *::after,.vio footer:not(.av) *,.vio footer:not(.av) *::before,.vio footer:not(.av) *::after{animation-play-state:paused!important}
.vio .btn:not(.av)::before,.vio .btn:not(.av)::after,.vio .pxb:not(.av)::before,.vio .pxb:not(.av)::after,.vio .pk-go:not(.av)::after,.vio .pn-go:not(.av)::after,.vio .pn-card.pop:not(.av)::before,.vio .pxc.pop:not(.av)::before{animation-play-state:paused}
/* slower phones: the edge light stays, the extra sheen sweep goes */
.low .btn::before,.low .pxb::before{animation:none;display:none}
