/* KSPR Labs × NDIS Community — v17 */
@font-face{font-family:Inter;src:url(/assets/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/newsreader-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/newsreader.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Figtree;src:url(/assets/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}

:root{
  --ink:#1c0f21;--ink-2:#4b3d50;--mut:#6c5f71;--line:#e9e1ea;--line-2:#ddd2df;
  --paper:#faf7f5;--paper-2:#f4eef2;--white:#fff;
  --p:#6a2875;--p-d:#521d5b;--p-l:#a15fae;--p-50:#f7f0f8;--p-100:#eddcf0;--p-200:#dcc0e1;--p-on-dark:#dcb3e4;
  --lime:#8ac53f;--lime-d:#3f6b12;--lime-50:#eef7e2;--yel:#ffcb05;--good:#2f9e55;
  --night:#150a19;--night-2:#211026;
  --sweep:#a15fae;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.16,1,.3,1);
  --r:28px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font:400 17px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:"cv11","ss03";color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
p,h1,h2,h3,h4,h5,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
section[id],#review,#contact,#website-demos{scroll-margin-top:84px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:300;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--p);outline-offset:3px;border-radius:6px}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mark{width:30px;height:30px;color:currentColor;flex:none}
.mark.sm{width:20px;height:20px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.fine{font-size:12.5px;line-height:1.5;color:var(--mut);margin-top:22px}
.fine.center{text-align:center;max-width:720px;margin-left:auto;margin-right:auto}
.access-launcher{background:var(--p)!important}


/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 22px;font-weight:600;font-size:16px;letter-spacing:-.01em;text-decoration:none;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s}
.btn .ic{transition:transform .3s var(--ease)}
.btn:hover .ic{transform:translateX(3px)}
.btn:active{transform:scale(.98)}
.btn-p{background:var(--p);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 28px -12px rgba(106,40,117,.7),0 2px 4px rgba(106,40,117,.2)}
.btn-p:hover{background:var(--p-d);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 18px 36px -14px rgba(106,40,117,.8)}
.btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2),0 2px 6px -2px rgba(28,15,33,.08)}
.btn-ghost:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--p-200),0 10px 24px -12px rgba(28,15,33,.25)}
.btn-lime{background:var(--lime);color:#122006;box-shadow:0 12px 30px -12px rgba(138,197,63,.6)}
.btn-lime:hover{background:#9bd350;transform:translateY(-2px)}
.btn-lg{padding:17px 28px;font-size:17px}
.btn-sm{padding:10px 16px;font-size:14.5px}
.btn.wide{width:100%;white-space:normal;text-align:center}
.deal>*,.rev-in>*,.fix>*,.engines>*{min-width:0}
.play{width:28px;height:28px;border-radius:50%;background:var(--p-50);display:grid;place-items:center;margin-left:-6px}
.play .ic{width:12px;height:12px;fill:var(--p);stroke:none;margin-left:2px}
.btn-ghost:hover .play .ic{transform:none}
.shine::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-120%)}
.motion-ok .shine::after{animation:shine 4.5s ease-in-out 2s infinite}
@keyframes shine{0%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:100;background:rgba(250,247,245,.78);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.nav.scrolled{border-bottom-color:var(--line);background:rgba(250,247,245,.92)}
.nav-in{max-width:1280px;margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;gap:28px}
.lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.lk-k{font-weight:700;font-size:17.5px;letter-spacing:-.025em}
.lk-x{font-size:15px;color:var(--mut);font-weight:400;margin:0 1px}
.lk-n{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:500;color:var(--p);background:var(--p-50);box-shadow:inset 0 0 0 1px var(--p-100);padding:5px 11px 5px 10px;border-radius:999px;letter-spacing:-.01em}
.lk-n b{font-weight:800;letter-spacing:.01em}
.lk-n::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:9px 0 0 var(--yel);margin-right:12px}
.lockup.light{color:#fff}
.lockup.light .lk-x{color:#ffffff88}
.lockup.light .lk-n{background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff26;color:#f1dcf5}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{font-size:15px;font-weight:500;color:var(--ink-2);text-decoration:none;padding:8px 12px;border-radius:999px;transition:background .2s,color .2s}
.nav-links a:hover{background:var(--p-50);color:var(--p)}
.nav-cta{margin-left:4px}

/* ---------- hero ---------- */
.hero{position:relative;padding:52px 0 0;text-align:center;overflow:clip}
.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:-1}
.hb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.hb1{width:720px;height:520px;left:50%;top:-220px;translate:-50% 0;background:radial-gradient(closest-side,#e7cdee,transparent)}
.hb2{width:520px;height:520px;left:-140px;top:420px;background:radial-gradient(closest-side,#e4f2d2,transparent)}
.hb3{width:560px;height:520px;right:-160px;top:360px;background:radial-gradient(closest-side,#fff0bf,transparent)}
.hgrid{position:absolute;inset:0;background-image:linear-gradient(rgba(106,40,117,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(106,40,117,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 20%,transparent 75%)}
.motion-ok .hb1{animation:drift 14s ease-in-out infinite alternate}
.motion-ok .hb2{animation:drift 18s ease-in-out -4s infinite alternate-reverse}
.motion-ok .hb3{animation:drift 16s ease-in-out -8s infinite alternate}
@keyframes drift{to{transform:translate(40px,30px) scale(1.08)}}
.hero-in{max-width:1100px;margin:0 auto;padding:0 20px;position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:#ffffffcc;box-shadow:inset 0 0 0 1px var(--line-2),0 6px 20px -12px rgba(28,15,33,.25);font-size:14.5px;font-weight:600;color:var(--ink-2)}
.eyebrow .sep{color:var(--p-l)}
.live{position:relative;width:9px;height:9px;border-radius:50%;background:var(--lime);flex:none}
.live::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--lime)}
.motion-ok .live::after{animation:ping 2s var(--ease) infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(3.2);opacity:0}}
.h1{margin:20px 0 0;font-size:clamp(44px,6.5vw,90px);line-height:.98;letter-spacing:-.045em;font-weight:700;color:var(--ink)}
.h1-l+.h1-l{margin-top:.02em}
.h1-l{display:block}
.w{display:inline-block}
.motion-ok .w{animation:wIn 1s var(--spring) both;animation-delay:calc(var(--d)*60ms + 60ms)}
@keyframes wIn{from{opacity:0;transform:translateY(.35em);filter:blur(10px)}}
.motion-ok .e-in{animation:eIn .9s var(--ease) both;animation-delay:calc(var(--d)*80ms + 100ms)}
@keyframes eIn{from{opacity:0;transform:translateY(16px)}}
.rot{display:inline-flex;align-items:center;gap:.14em;padding:0 .04em}
.rot-img{position:relative;width:.82em;height:.82em;border-radius:50%;overflow:hidden;flex:none;background:var(--p-100);box-shadow:0 0 0 .045em #fff,0 .1em .3em -.05em rgba(106,40,117,.45);transform:translateY(.04em)}
.rot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.25);transition:opacity .6s,transform .9s var(--spring)}
.rot-img img:first-child{opacity:1;transform:none}
.js .rot-img img:first-child{opacity:0;transform:scale(1.25)}
.js .rot-img img.on{opacity:1;transform:none}
.rot-words{position:relative;display:inline-block;white-space:nowrap;text-align:left;transition:width .75s cubic-bezier(.65,0,.25,1)}
.rot-words .rw-s{visibility:hidden}
.rot-words em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:420;letter-spacing:-.035em;color:var(--p);padding-right:.06em}
.rot-words em{position:absolute;left:0;top:0;white-space:nowrap}
.rot-words em:not(:first-of-type){opacity:0}
.js .rot-words em{opacity:0;transform:translateY(.4em);filter:blur(8px);transition:opacity .45s,transform .8s var(--spring),filter .5s}
.js .rot-words em.on{opacity:1;transform:none;filter:none}
.js .rot-words em.out{opacity:0;transform:translateY(-.4em);filter:blur(8px);transition:opacity .35s,transform .5s var(--ease),filter .35s}
.lede{max-width:720px;margin:24px auto 0;font-size:clamp(17.5px,1.6vw,20.5px);line-height:1.55;color:var(--ink-2)}
.lede b{color:var(--ink);font-weight:650}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.micro{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:20px;font-size:14px;color:var(--mut);font-weight:500}
.micro span{display:inline-flex;align-items:center;gap:6px}
.micro .ic{width:16px;height:16px;color:var(--lime-d);stroke-width:2.6}

/* fan of cards */
.fan{position:relative;height:430px;margin:30px auto 0;max-width:1500px;--sp:0}
.fc{--gap:198px;--rot:5.2deg;position:absolute;left:50%;top:44px;width:250px;height:322px;margin-left:-125px;z-index:2;
  transform:translate3d(calc(var(--i)*(var(--gap) + var(--sp)*26px)),calc(var(--y)*(1 - var(--sp)*.85)*1px),0) rotate(calc(var(--i)*var(--rot)*(1 - var(--sp)*.9)))}
.fc:nth-child(3),.fc:nth-child(5){z-index:3}
.fc-main{z-index:5!important;width:292px;height:374px;margin-left:-146px;top:18px}
.fc-in{position:relative;width:100%;height:100%;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 40px 70px -30px rgba(40,10,45,.45),0 14px 30px -16px rgba(40,10,45,.3);transition:translate .5s var(--spring),box-shadow .4s}
.fc:hover .fc-in{translate:0 -12px;box-shadow:0 0 0 1px #fff,0 50px 80px -30px rgba(40,10,45,.55),0 18px 34px -16px rgba(40,10,45,.35)}
.fc:hover{z-index:9!important}
.motion-ok .fc{animation:fanIn 1.5s var(--spring) backwards}
.motion-ok .fc:nth-child(4){animation-delay:.55s}
.motion-ok .fc:nth-child(3),.motion-ok .fc:nth-child(5){animation-delay:.68s}
.motion-ok .fc:nth-child(2),.motion-ok .fc:nth-child(6){animation-delay:.8s}
.motion-ok .fc:nth-child(1),.motion-ok .fc:nth-child(7){animation-delay:.92s}
@keyframes fanIn{from{opacity:0;transform:translate3d(0,170px,0) rotate(0) scale(.78)}}
.motion-ok .fc-main{animation-name:fanInMain;animation-delay:.25s!important}
@keyframes fanInMain{from{transform:translate3d(0,90px,0) scale(.92)}}
.motion-ok .fc-in{animation:bob 7s ease-in-out infinite;animation-delay:calc(var(--i)*-1.1s)}
@keyframes bob{50%{transform:translateY(-9px)}}
.fc-photo img{width:100%;height:100%;object-fit:cover}
.fc-main img.aud{position:absolute;inset:0;z-index:0;clip-path:inset(100% 0 0 0);transform:scale(1.12);transition:clip-path .95s cubic-bezier(.7,0,.2,1),transform 1.8s var(--ease)}
.fc-main img.aud.was{z-index:1;clip-path:inset(0);transform:none;transition:none}
.fc-main img.aud.on{z-index:2;clip-path:inset(0);transform:none}
.note.pop{animation:notePop .6s var(--spring)}
@keyframes notePop{0%{transform:translateY(10px) scale(.94);opacity:.2}100%{transform:none;opacity:1}}
.fc-photo .fc-in::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(21,10,25,.45));pointer-events:none}
.note{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 24px -10px rgba(20,5,25,.45);text-align:left;line-height:1.25}
.note b{display:block;font-size:13.5px;font-weight:680;letter-spacing:-.01em;color:var(--ink)}
.note small{display:block;font-size:12px;color:var(--mut);margin-top:2px;transition:opacity .3s,transform .3s}
.note small.swap{opacity:0;transform:translateY(4px)}
.n-ic{position:relative;width:34px;height:34px;border-radius:11px;background:var(--p);color:#fff;display:grid;place-items:center;flex:none}
.n-ic .ic{width:17px;height:17px}
.n-ic.lime{background:var(--lime);color:#15200b}
.n-ic.yel{background:var(--yel);color:#2a2000}
.n-ic::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 currentColor;opacity:0}
.n-ic.ping::after{animation:ring 1s var(--ease)}
.n-ic.lime.ping::after{color:var(--lime)}.n-ic.yel.ping::after{color:var(--yel)}.n-ic.ping::after{color:var(--p-l)}
@keyframes ring{0%{opacity:.9;box-shadow:0 0 0 0 currentColor}100%{opacity:0;box-shadow:0 0 0 12px currentColor}}
.now{margin-left:auto;align-self:flex-start;font-style:normal;font-size:11px;font-weight:700;color:var(--lime-d);background:var(--lime-50);padding:3px 8px;border-radius:99px}
.motion-ok .fc .note{animation:noteIn .8s var(--spring) backwards;animation-delay:1.6s}
.motion-ok .fc-main .note{animation-delay:1.35s}
@keyframes noteIn{from{opacity:0;transform:translateY(16px) scale(.92)}}
.fc-tag{position:absolute;left:12px;top:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:650;box-shadow:0 6px 16px -8px rgba(20,5,25,.35)}
.fc-tag .ic{width:14px;height:14px;color:var(--p)}
.fc-tag.dark{background:var(--ink);color:#fff}
.fc-tag.dark .ic{color:var(--lime)}
/* maps card */
.fc-maps .map{position:relative;height:198px;overflow:hidden}
.fc-maps .map svg{width:100%;height:100%}
.pin{position:absolute;width:22px;height:22px;border-radius:50% 50% 50% 0;background:#b9aebc;transform:rotate(-45deg);box-shadow:0 4px 8px -2px rgba(0,0,0,.3)}
.pin.p1{width:34px;height:34px;left:44%;top:34%;background:var(--p);display:grid;place-items:center}
.pin.p1 b{transform:rotate(45deg);color:#fff;font-size:14px}
.pin.p2{left:18%;top:58%}.pin.p3{left:74%;top:22%}
.motion-ok .pin{animation:drop .8s var(--spring) backwards}
.motion-ok .pin.p1{animation-delay:1.9s}.motion-ok .pin.p2{animation-delay:1.7s}.motion-ok .pin.p3{animation-delay:1.8s}
@keyframes drop{from{opacity:0;translate:0 -30px}}
.map-sheet{padding:12px 14px;text-align:left}
.ms-t{font-weight:700;font-size:15px;letter-spacing:-.01em}
.ms-s{font-size:12px;color:var(--mut);margin-top:2px}
.open{color:var(--good);font-weight:600}
.ms-b{display:flex;gap:6px;margin-top:10px}
.ms-b span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--p);background:var(--p-50);padding:6px 10px;border-radius:999px}
.ms-b .ic{width:13px;height:13px}
/* screenshot card */
.fc-shot .fc-in{background:#f1ede9}
.shot-top{height:32px;display:flex;align-items:center;gap:5px;padding:0 12px;background:#fff;border-bottom:1px solid var(--line)}
.shot-top i{width:7px;height:7px;border-radius:50%;background:#e2d9e4}
.shot-top span{margin-left:8px;font-size:11px;color:var(--mut);font-weight:500}
.shot-scr{height:calc(100% - 32px);overflow:hidden}
.shot-scr img{width:100%;height:auto}
.motion-ok .shot-scr img{animation:scrollShot 20s ease-in-out 2s infinite alternate}
@keyframes scrollShot{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(calc(-100% + 290px))}}
.fc-shot .fc-tag{top:auto;bottom:12px}
/* AI card */
.fc-ai .fc-in{background:radial-gradient(120% 80% at 0% 0%,#3a1742,transparent 60%),linear-gradient(160deg,#2a1030,#150a19);color:#fff;padding:52px 16px 16px;text-align:left}
.ai-h{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lime)}
.ai-h .ic{width:15px;height:15px}
.ai-q{margin:12px 0 0 auto;width:fit-content;max-width:88%;background:#ffffff1a;padding:8px 11px;border-radius:14px 14px 4px 14px;font-size:12.5px;line-height:1.35}
.ai-a{margin-top:12px;font-size:13px;line-height:1.5;color:#f3e8f5}
.ai-a b{color:#fff;background:linear-gradient(transparent 60%,rgba(138,197,63,.45) 60%)}
.motion-ok .ai-a{animation:reveal 1.6s steps(24) 2.1s backwards}
@keyframes reveal{from{clip-path:inset(0 100% 0 0)}}
.ai-src{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:11.5px;font-weight:600;color:#fff;background:#ffffff14;padding:5px 9px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff22}
.ai-src .ic{width:13px;height:13px;color:var(--lime)}
.fc-ai .fc-tag{background:#ffffff18;color:#fff;box-shadow:inset 0 0 0 1px #ffffff2a}
.fc-ai .fc-tag .ic{color:var(--lime)}
/* score card */
.fc-score .fc-in{padding:54px 18px 18px;text-align:left}
.sc-h{font-size:11.5px;font-weight:700;color:var(--mut);letter-spacing:.06em;text-transform:uppercase}
.ring{position:relative;width:110px;height:110px;margin:14px auto 0}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:9;stroke:#ece5ee}
.ring circle.rv{stroke:var(--good);stroke-linecap:round;stroke-dasharray:326.73;stroke-dashoffset:0}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:32px;font-weight:720;letter-spacing:-.03em;color:var(--good)}
.ring.big{width:116px;height:116px}
.sc-l{margin-top:14px;display:grid;gap:6px}
.sc-l li{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-2)}
.sc-l b{color:var(--good)}
.hero-cta{position:relative;z-index:8;padding:0 20px}
.hero-cta .cta-row{margin-top:0}
.fan-cap{font-size:12.5px;color:var(--mut);margin:26px auto 0;padding:0 20px}
/* proof */
.proof{max-width:1100px;margin:44px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.proof>div{padding:28px 16px 34px;display:grid;gap:6px;justify-items:center;position:relative}
.proof>div+div::before{content:"";position:absolute;left:0;top:28px;bottom:34px;width:1px;background:var(--line)}
.proof b{font-size:clamp(28px,3vw,40px);font-weight:720;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.proof b small{font-size:.5em;color:var(--mut);font-weight:600;letter-spacing:-.01em}
.proof>div>span{font-size:14.5px;color:var(--mut);max-width:190px}

/* service types marquee */
.types{background:var(--p);color:#fff;overflow:hidden;padding:18px 0;position:relative}
.types::before,.types::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.types::before{left:0;background:linear-gradient(90deg,var(--p),transparent)}
.types::after{right:0;background:linear-gradient(270deg,var(--p),transparent)}
.types-track{display:flex;width:max-content}
.types-track span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-size:16px;font-weight:550;white-space:nowrap;letter-spacing:-.01em}
.types-track span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--yel)}
.types-track span:nth-child(3n+2)::after{background:var(--lime)}
.types-track span:nth-child(3n)::after{background:#fff}
.motion-ok .types-track.dup{animation:marq 48s linear infinite}
.types:hover .types-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{position:relative;padding:128px 0}
.sec-head{max-width:780px;margin-bottom:60px}
.sec-head.center{text-align:center;margin-left:auto;margin-right:auto}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--p)}
.kicker::before{content:"";width:20px;height:2px;border-radius:2px;background:currentColor}
.k-lime{color:var(--lime)}
.h2{margin-top:16px;font-size:clamp(36px,4.9vw,68px);line-height:1.01;letter-spacing:-.045em;font-weight:720}
.h2.sm{font-size:clamp(32px,3.6vw,48px)}
.h2 em,.h3 em,.foot-big em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:420;letter-spacing:-.03em;color:var(--p)}
.h3{font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.04em;font-weight:720;margin-top:12px}
.h4{font-size:25px;line-height:1.15;letter-spacing:-.03em;font-weight:700}
.h5{font-size:21px;line-height:1.2;letter-spacing:-.025em;font-weight:680}
.sub{margin-top:20px;font-size:clamp(17px,1.5vw,19.5px);line-height:1.6;color:var(--ink-2);max-width:660px}
.center .sub{margin-left:auto;margin-right:auto}
.sub.sm{font-size:17px}
.hl{background:linear-gradient(transparent 62%,rgba(138,197,63,.5) 62%);padding:0 .08em}
.ticks{display:grid;gap:11px}
.ticks li{position:relative;padding-left:32px;font-size:16px;line-height:1.45;color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--lime-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f6b12' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/14px no-repeat}
.ticks.two{grid-template-columns:1fr 1fr;gap:12px 26px}

/* reveal */
.motion-ok [data-rv]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--spring);transition-delay:calc(var(--d,0)*90ms)}
.motion-ok [data-rv].in{opacity:1;transform:none}

/* ---------- problem ---------- */
.prob-head{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;margin-bottom:56px}
.prob-head .sec-head{margin-bottom:0}
.slow{position:relative;justify-self:center;padding:10px 30px 30px}
.sp{position:relative;width:250px;height:440px;border-radius:38px;padding:9px;background:#141016;box-shadow:0 40px 70px -30px rgba(28,15,33,.55),inset 0 0 0 1.5px #3b3340;transform:rotate(4deg)}
.sp-bar{height:34px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;background:#f2eef3;border-radius:30px 30px 0 0}
.sp-bar span{font-size:10px;color:var(--mut);background:#fff;padding:3px 10px;border-radius:99px}
.sp-scr{position:relative;height:calc(100% - 34px - 44px);background:#fff;padding:14px;overflow:hidden}
.sp-hero{height:110px;border-radius:12px;background:linear-gradient(110deg,#efe9f0 30%,#f8f4f9 50%,#efe9f0 70%);background-size:300% 100%}
.motion-ok .sp-hero,.motion-ok .sp-sk i{animation:shimmer 1.6s linear infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.sp-sk{display:grid;gap:8px;margin-top:16px}
.sp-sk i{display:block;height:10px;border-radius:6px;background:linear-gradient(110deg,#efe9f0 30%,#f8f4f9 50%,#efe9f0 70%);background-size:300% 100%}
.sp-load{position:absolute;inset:auto 14px 18px;display:grid;justify-items:center;gap:6px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 10px 30px -12px rgba(28,15,33,.35),inset 0 0 0 1px var(--line)}
.sp-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--p-100);border-top-color:var(--p)}
.motion-ok .sp-spin{animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.sp-load p{font-size:13px;color:var(--mut)}
.sp-load b{font-size:26px;font-weight:720;letter-spacing:-.03em;color:#c2362b;font-variant-numeric:tabular-nums}
.sp-load small{font-size:11.5px;color:var(--mut)}
.sp-nav{position:relative;height:44px;display:flex;align-items:center;padding:0 16px;background:#f2eef3;border-radius:0 0 30px 30px}
.sp-back{font-size:13px;font-weight:650;color:var(--p)}
.tap{position:absolute;left:18px;top:8px;width:28px;height:28px;border-radius:50%;background:rgba(106,40,117,.25);opacity:0}
.slow.tapped .tap{animation:tap .9s var(--ease)}
@keyframes tap{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.8)}}
.sp-say{position:absolute;z-index:2;max-width:210px;padding:10px 14px;border-radius:16px;background:#fff;font-family:Newsreader,Georgia,serif;font-style:italic;font-size:17px;line-height:1.3;color:var(--ink);box-shadow:0 16px 36px -14px rgba(28,15,33,.4);opacity:0;transform:translateY(8px) scale(.95);transition:opacity .4s,transform .5s var(--spring)}
.sp-say.s1{left:-40px;top:110px;border-bottom-left-radius:4px}
.sp-say.s2{right:-50px;top:250px;border-bottom-right-radius:4px}
.slow.say1 .s1,.slow.say2 .s2{opacity:1;transform:none}
html:not(.motion-ok) .sp-say{opacity:1;transform:none}

.problem{background:var(--paper)}
.leaks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.leak{background:#fff;border-radius:var(--r);padding:28px 28px 30px;box-shadow:inset 0 0 0 1px var(--line),0 20px 40px -32px rgba(28,15,33,.3)}
.leak-vis{height:96px;border-radius:18px;background:var(--paper-2);display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:26px;position:relative;overflow:hidden}
.lv-load{flex-direction:column;gap:10px}
.lv-bar{width:70%;height:8px;border-radius:8px;background:#e6dbe8;overflow:hidden}
.lv-bar i{display:block;height:100%;width:34%;border-radius:8px;background:linear-gradient(90deg,var(--p-l),var(--p))}
.motion-ok .lv-bar i{animation:stall 5s var(--ease) infinite}
@keyframes stall{0%{width:0}35%{width:30%}100%{width:36%}}
.lv-t{font-size:13px;color:var(--mut);font-weight:600}
.lv-leave{gap:8px}
.lv-leave i{width:16px;height:16px;border-radius:50%;background:var(--p-200)}
.lv-leave i:nth-child(-n+5){background:var(--p)}
.motion-ok .leak.in .lv-leave i:nth-child(n+6){animation:leave 3.6s var(--ease) infinite;animation-delay:calc(var(--k,0)*.12s)}
.lv-leave i:nth-child(6){--k:0}.lv-leave i:nth-child(7){--k:1}.lv-leave i:nth-child(8){--k:2}.lv-leave i:nth-child(9){--k:3}.lv-leave i:nth-child(10){--k:4}
@keyframes leave{0%,20%{opacity:1;transform:none}60%,100%{opacity:0;transform:translateY(26px)}}
.lv-silent{color:var(--mut);font-size:13.5px;font-weight:600;gap:10px}
.lv-silent .ic{width:26px;height:26px;color:var(--p-l)}
.lv-silent span{background:#fff;padding:6px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.leak-n{font-size:clamp(52px,5vw,72px);font-weight:720;letter-spacing:-.055em;line-height:1;color:var(--ink)}
.leak-n small{font-size:.45em;color:var(--mut);letter-spacing:-.02em;margin-left:4px}
.leak-t{margin-top:14px;font-size:16px;line-height:1.5;color:var(--ink-2)}
.src{display:inline-block;font-size:12.5px;color:var(--mut);margin-left:4px}
.fix{margin-top:22px;display:grid;grid-template-columns:1fr 1.05fr;gap:40px 56px;padding:52px;border-radius:32px;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(60% 90% at 0% 0%,rgba(138,197,63,.18),transparent 60%),radial-gradient(70% 90% at 100% 100%,rgba(161,95,174,.45),transparent 60%),var(--night)}
.fix .h3{color:#fff}
.fix .sub{color:#e8dcea}
.fix .hl{background:none;color:var(--lime);padding:0}
.race{margin-top:34px;display:grid;gap:22px}
.rc p{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;color:#e5d7e8;margin-bottom:10px}
.rc p b{font-size:26px;font-weight:720;color:#fff;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rc.us p span{color:#fff;font-weight:650}
.rc-t{height:14px;border-radius:14px;background:#ffffff14;overflow:hidden}
.rc-t i{display:block;height:100%;width:var(--w);border-radius:14px;background:linear-gradient(90deg,#b4e36f,var(--lime))}
.rc.them .rc-t i{background:linear-gradient(90deg,#8d6a94,#c37d8a)}
.motion-ok .rc-t i{width:0}
.motion-ok .race.go .rc.us .rc-t i{width:var(--w);transition:width 1.1s cubic-bezier(.3,.7,.3,1)}
.motion-ok .race.go .rc.them .rc-t i{width:var(--w);transition:width 4.7s cubic-bezier(.4,.2,.6,1)}
.gauges{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.g{background:#ffffff0c;border-radius:22px;padding:22px 18px;text-align:center;box-shadow:inset 0 0 0 1px #ffffff17}
.g .ring{margin-top:0;width:100px;height:100px}
.g .ring circle{stroke:#ffffff1c}
.g .ring circle.rv{stroke:var(--lime)}
.g .ring b{color:#fff;font-size:28px}
.g p{margin-top:12px;font-weight:650;font-size:16px}
.g small{display:block;margin-top:3px;font-size:13px;color:#cdb9d1}
.fix .fine{grid-column:1/-1;color:#bfaac4;margin-top:0}

/* ---------- outcomes ---------- */
.grow{background:#fff}
.outs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.out{background:var(--paper);border-radius:30px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--spring),box-shadow .5s}
.out:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--p-100),0 40px 60px -40px rgba(106,40,117,.45)}
.out-img{position:relative;aspect-ratio:4/3.1;overflow:hidden;margin:10px 10px 0;border-radius:22px}
.out-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--spring)}
.out:hover .out-img img{transform:scale(1.06)}
.out-img::after{content:"";position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,rgba(21,10,25,.35));pointer-events:none}
.n-float{right:auto;max-width:calc(100% - 24px)}
.motion-ok .out .n-float{opacity:0;transform:translateY(14px) scale(.94);transition:opacity .6s,transform .8s var(--spring);transition-delay:calc(var(--d,0)*90ms + .45s)}
.motion-ok .out.in .n-float{opacity:1;transform:none}
.out-n{position:absolute;left:14px;top:14px;z-index:2;font-size:13px;font-weight:700;color:#fff;background:rgba(21,10,25,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff33}
.out-b{padding:26px 28px 32px}
.out-k{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p);margin-bottom:10px}
.out-b .ticks{margin-top:20px}

/* ---------- get found ---------- */
.found{background:var(--night);color:#fff;overflow:hidden}
.found-bg{position:absolute;inset:0;pointer-events:none}
.fg1{position:absolute;width:900px;height:700px;left:-300px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(161,95,174,.4),transparent)}
.fg2{position:absolute;width:800px;height:600px;right:-300px;bottom:-200px;border-radius:50%;background:radial-gradient(closest-side,rgba(138,197,63,.16),transparent)}
.fgrid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,#000,transparent);mask-image:radial-gradient(ellipse 60% 50% at 50% 40%,#000,transparent)}
.found .wrap{position:relative}
.found .h2{color:#fff}
.found .h2 em{color:var(--p-on-dark)}
.found .sub{color:#e0d2e3}
.engines{display:grid;grid-template-columns:370px 1fr;gap:28px;align-items:start}
.eng-tabs{display:grid;gap:10px}
.et{position:relative;display:grid;gap:4px;text-align:left;padding:20px 22px 22px;border-radius:20px;border:0;background:transparent;box-shadow:inset 0 0 0 1px #ffffff14;cursor:pointer;overflow:hidden;transition:background .3s,box-shadow .3s}
.et:hover{background:#ffffff08}
.et[aria-selected=true]{background:#ffffff10;box-shadow:inset 0 0 0 1px #ffffff2e}
.et-k{text-transform:uppercase;justify-self:start;font-size:11.5px;font-weight:750;letter-spacing:.12em;color:var(--lime);background:#8ac53f1c;padding:4px 9px;border-radius:999px;margin-bottom:6px}
.et-t{font-size:20px;font-weight:680;letter-spacing:-.025em;color:#fff}
.et-d{font-size:14.5px;line-height:1.45;color:#cbb8cf}
.et[aria-selected=false] .et-d{color:#a18fa6}
.et-p{position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,var(--lime),#c9f08c)}
.et.run .et-p{animation:prog 8s linear forwards}
.engines:hover .et.run .et-p,.engines:focus-within .et.run .et-p{animation-play-state:paused}
@keyframes prog{to{width:100%}}
.eng-stage{min-width:0}
.screen{border-radius:24px;background:#fff;color:var(--ink);overflow:hidden;box-shadow:0 0 0 1px #ffffff2a,0 60px 100px -40px rgba(0,0,0,.7),0 0 0 10px #ffffff0a}
.scr-bar{height:44px;display:flex;align-items:center;gap:7px;padding:0 16px;background:#f5f1f6;border-bottom:1px solid var(--line)}
.scr-bar i{width:11px;height:11px;border-radius:50%;background:#e0d4e3}
.scr-bar i:first-child{background:#f0a3a3}.scr-bar i:nth-child(2){background:#f4d38a}.scr-bar i:nth-child(3){background:#a9d78f}
.scr-url{margin:0 auto;font-size:12.5px;color:var(--mut);background:#fff;padding:5px 18px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);min-width:220px;text-align:center}
.scr-body{position:relative;height:480px;padding:24px 26px}
.ep{position:absolute;inset:24px 26px;display:flex;flex-direction:column}
.ep[hidden]{display:none}
.motion-ok .ep.on>*{animation:eIn .6s var(--ease) backwards}
.sbox{display:flex;align-items:center;gap:10px;height:50px;padding:0 18px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2),0 6px 18px -10px rgba(28,15,33,.25);font-size:16px}
.sbox .ic{color:var(--mut)}
.caret{width:2px;height:20px;background:var(--p);margin-left:-8px}
.motion-ok .caret{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.serp{margin-top:18px;display:grid;gap:12px}
.res{position:relative;padding:14px 16px;border-radius:16px}
.res.top{background:#fbf7fc;box-shadow:inset 0 0 0 2px var(--p)}
.rank{position:absolute;right:14px;top:12px;font-size:12px;font-weight:750;color:#fff;background:var(--p);padding:4px 9px;border-radius:999px}
.r-u{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#4d5156}
.fav{width:22px;height:22px;border-radius:50%;background:var(--p);color:#fff;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center;flex:none}
.r-t{margin-top:6px;font-size:19px;color:#1a3fb8;font-weight:500;letter-spacing:-.01em}
.r-d{margin-top:4px;font-size:14px;color:#4d5156;line-height:1.45}
.r-sl{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.r-sl span{font-size:12.5px;color:#1a3fb8;background:#fff;padding:5px 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.sk{display:grid;gap:8px;padding:14px 16px}
.sk i{display:block;height:10px;border-radius:6px;background:#efe9f0}
.motion-ok .ep .serp,.motion-ok .ep .aov,.motion-ok .ep .paa,.motion-ok .ep .lpack{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .7s var(--spring)}
.motion-ok .ep.done .serp,.motion-ok .ep.done .aov,.motion-ok .ep.done .paa,.motion-ok .ep.done .lpack{opacity:1;transform:none}
.motion-ok .ep.done .paa{transition-delay:.25s}
.ep-do{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ep-do li{position:relative;padding-left:26px;font-size:13.5px;line-height:1.4;color:var(--ink-2)}
.ep-do li::before{content:"";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--p) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/12px no-repeat}
.lmap{position:relative;height:200px;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.lmap svg{width:100%;height:100%}
.mp{position:absolute;width:24px;height:24px;border-radius:50% 50% 50% 0;background:#b7aabb;transform:rotate(-45deg);box-shadow:0 4px 8px -2px rgba(0,0,0,.3)}
.mp.m1{width:40px;height:40px;background:var(--p);display:grid;place-items:center;z-index:2}
.mp.m1 b{transform:rotate(45deg);color:#fff;font-size:15px}
.mp.m1::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--p);opacity:0}
.motion-ok .ep.on .mp{animation:drop .7s var(--spring) backwards}
.motion-ok .ep.on .mp.m2{animation-delay:.15s}.motion-ok .ep.on .mp.m3{animation-delay:.3s}.motion-ok .ep.on .mp.m4{animation-delay:.45s}.motion-ok .ep.on .mp.m1{animation-delay:.7s}
.motion-ok .ep.on .mp.m1::after{animation:ring2 1.8s ease-out 1.4s infinite}
@keyframes ring2{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(1.6)}}
.lpack{margin-top:14px;display:grid;gap:10px}
.lp{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px}
.lp.top{background:#fbf7fc;box-shadow:inset 0 0 0 2px var(--p);padding-left:60px}
.lp.top .rank{left:14px;right:auto;top:50%;translate:0 -50%}
.lp-t{font-weight:700;font-size:17px;letter-spacing:-.01em}
.lp-s{font-size:13px;color:var(--mut);margin-top:2px}
.lp-b{margin-left:auto;display:flex;gap:6px}
.lp-b span{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--p);background:#fff;padding:7px 11px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--p-100)}
.lp-b .ic{width:14px;height:14px}
.lp.sk{display:grid}
.aov{margin-top:16px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#f8f1fa,#f2f7ec);box-shadow:inset 0 0 0 1px var(--line)}
.aov-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--p)}
.aov-h .ic{width:17px;height:17px}
.aov-t{margin-top:10px;font-size:15.5px;line-height:1.6;color:var(--ink);min-height:4.8em}
.aov-t b,.cb.bot .stream b{background:linear-gradient(transparent 60%,rgba(138,197,63,.45) 60%);font-weight:700}
.cite{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:#fff;padding:5px 11px 5px 5px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line)}
.cite .fav{width:20px;height:20px;font-size:10px}
.motion-ok .ep .cite{opacity:0;transform:scale(.9);transition:opacity .4s,transform .5s var(--spring)}
.motion-ok .ep.streamed .cite{opacity:1;transform:none}
.paa{margin-top:14px;display:grid;gap:8px}
.paa p{font-size:14px;font-weight:650}
.paa span{font-size:14px;color:var(--ink-2);padding:10px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line)}
.chat{display:grid;gap:14px;align-content:start}
.cb{max-width:84%;padding:13px 16px;border-radius:18px;font-size:15px;line-height:1.55}
.cb.user{justify-self:end;background:var(--p);color:#fff;border-bottom-right-radius:6px}
.cb.bot{justify-self:start;background:#f5f1f6;border-bottom-left-radius:6px;box-shadow:inset 0 0 0 1px var(--line)}
.bot-h{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--p);margin-bottom:6px}
.bot-h .ic{width:15px;height:15px}
.dots{display:none;gap:5px;padding:6px 0}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--p-l);opacity:.5}
.motion-ok .ep.done:not(.streaming) .dots{display:flex}
.motion-ok .dots i{animation:dot 1s ease-in-out infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{opacity:1;transform:translateY(-4px)}}
.motion-ok .ep .cb.bot{opacity:0;transform:translateY(10px);transition:opacity .4s,transform .6s var(--spring)}
.motion-ok .ep.done .cb.bot{opacity:1;transform:none}
.eng-note{margin-top:14px;font-size:12.5px;color:#a996ad}
.found-foot{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr) auto;gap:18px 28px;align-items:center;padding:26px 28px;border-radius:24px;background:#ffffff08;box-shadow:inset 0 0 0 1px #ffffff14}
.ff{display:grid;gap:3px}
.ff b{font-size:15px;color:var(--lime);letter-spacing:.06em}
.ff span{font-size:14.5px;color:#d7c6da;line-height:1.45}

/* ---------- work ---------- */
.work{background:var(--paper);padding-bottom:110px}
.stack{display:grid;gap:26px}
.wk{--bg:#0f1b2d;--fg:#f4f1ea;--ac:#8fa98b;position:sticky;top:calc(96px + var(--n)*24px);display:grid;grid-template-columns:.78fr 1.22fr;gap:36px;min-height:560px;padding:48px;border-radius:34px;background:var(--bg);color:var(--fg);overflow:hidden;box-shadow:0 -24px 60px -30px rgba(28,15,33,.35),0 30px 60px -40px rgba(28,15,33,.5)}
.wk-north{--bg:#0f1b2d;--fg:#f4f1ea;--ac:#a9c1a5}
.wk-wattle{--bg:#f5c518;--fg:#123f2f;--ac:#ff7a59}
.wk-still{--bg:#1b1916;--fg:#ece6dc;--ac:#b9ab8c}
.wk-l{display:flex;flex-direction:column;align-items:flex-start;padding:6px 0}
.wk-k{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.wk-t{margin-top:14px;font-size:clamp(48px,5.4vw,78px);line-height:.95;letter-spacing:-.045em;font-weight:720}
.wk-north .wk-t{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.03em}
.wk-wattle .wk-t{font-family:Figtree,Inter,sans-serif;font-weight:900;letter-spacing:-.04em}
.wk-still .wk-t{font-weight:300;letter-spacing:-.06em}
.wk-s{margin-top:18px;font-size:17px;line-height:1.55;opacity:.88;max-width:380px}
.wk-f{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.wk-f li{font-size:13.5px;font-weight:600;padding:7px 13px;border-radius:999px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fg) 28%,transparent)}
.wk-sc{display:flex;gap:10px;margin-top:auto;padding-top:30px}
.wk-sc span{display:grid;justify-items:center;gap:2px;width:78px;padding:12px 0;border-radius:18px;background:color-mix(in srgb,var(--fg) 9%,transparent);font-size:11.5px;font-weight:600;opacity:.95}
.wk-sc b{font-size:24px;font-weight:720;letter-spacing:-.03em;color:var(--ac)}
.wk-wattle .wk-sc b{color:#123f2f}
.wk-wattle .wk-k,.wk-wattle .wk-s{opacity:1}
.btn-wk{margin-top:22px;background:var(--fg);color:var(--bg)}
.btn-wk:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.wk-r{position:relative;min-width:0;align-self:center}
.bw{border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 40px 80px -30px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.12);margin-right:40px}
.bw-bar{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#f3f1ef;border-bottom:1px solid #e6e1dc}
.bw-bar i{width:9px;height:9px;border-radius:50%;background:#d9d2cb}
.bw-bar span{margin:0 auto;font-size:11.5px;color:#6f6a64;background:#fff;padding:3px 16px;border-radius:999px}
.bw-scr{height:420px;overflow:hidden;background:#eee}
.bw-scr img{width:100%;height:auto}
.motion-ok .wk.inview .bw-scr img{animation:scrollDesk 30s ease-in-out infinite alternate}
@keyframes scrollDesk{0%,6%{transform:translateY(0)}94%,100%{transform:translateY(calc(-100% + 420px))}}
.wk:hover .bw-scr img{animation-play-state:paused}
.ph{position:absolute;right:0;bottom:-34px;width:172px;height:356px;border-radius:32px;padding:7px;background:#0d0d0f;box-shadow:0 30px 60px -20px rgba(0,0,0,.6),inset 0 0 0 1.5px #3a3a3e}
.ph-scr{width:100%;height:100%;border-radius:26px;overflow:hidden;background:#fff}
.ph-scr img{width:100%;height:auto}
.motion-ok .wk.inview .ph-scr img{animation:scrollPh 24s ease-in-out 1s infinite alternate}
@keyframes scrollPh{0%,6%{transform:translateY(0)}94%,100%{transform:translateY(calc(-100% + 342px))}}

/* ---------- included ---------- */
.incl{background:#fff}
.grid12{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gi{display:grid;align-content:start;gap:6px;padding:26px 24px 28px;border-radius:24px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);transition:background .35s,color .35s,transform .45s var(--spring),box-shadow .35s}
.gi .ic{width:44px;height:44px;padding:11px;border-radius:14px;background:#fff;color:var(--p);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:14px;transition:background .35s,color .35s}
.gi b{font-size:17.5px;font-weight:680;letter-spacing:-.02em}
.gi span{font-size:14.5px;line-height:1.45;color:var(--mut);transition:color .35s}
.gi:hover{background:var(--p);color:#fff;transform:translateY(-4px);box-shadow:0 30px 50px -30px rgba(106,40,117,.8)}
.gi:hover span{color:#ecdcef}
.gi:hover .ic{background:#ffffff1f;color:#fff;box-shadow:none}

/* ---------- process ---------- */
.process{background:var(--paper)}
.tl{position:relative;--pr:0}
.tl-line{position:absolute;left:22px;right:calc(25% - 22px);top:22px;height:3px;border-radius:3px;background:var(--line-2)}
.tl-line i{display:block;height:100%;width:calc(var(--pr)*100%);border-radius:3px;background:linear-gradient(90deg,var(--p),var(--p-l))}
html:not(.motion-ok) .tl{--pr:1}
.tl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.tl-dot{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 2px var(--line-2);font-weight:720;font-size:17px;color:var(--mut);transition:background .4s,color .4s,box-shadow .4s,transform .5s var(--spring)}
.tl-steps li.on .tl-dot{background:var(--p);color:#fff;box-shadow:0 0 0 6px var(--p-100);transform:scale(1.04)}
html:not(.motion-ok) .tl-dot{background:var(--p);color:#fff;box-shadow:none}
.tl-w{margin-top:22px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--p)}
.tl-steps .h5{margin-top:8px}
.tl-steps li>p:last-child{margin-top:10px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.after{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:56px auto 0;padding:14px 22px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:15.5px;color:var(--ink-2)}
.after .ic{color:var(--p)}

/* ---------- compare ---------- */
.compare{background:#fff}
.cmp{position:relative;max-width:1000px;margin:0 auto}
.cmp::before{content:"";position:absolute;top:-14px;bottom:-14px;left:34.5%;width:21.8%;border-radius:22px;background:var(--p-50);box-shadow:inset 0 0 0 2px var(--p);pointer-events:none}
.cr{position:relative;display:grid;grid-template-columns:1.58fr 1fr 1fr 1fr;border-bottom:1px solid var(--line)}
.cr:last-child{border-bottom:0}
.cr>span{padding:18px 16px;font-size:15.5px;display:flex;align-items:center;gap:8px}
.cr>span:not(:first-child){justify-content:center;text-align:center}
.ch>span{font-weight:700;font-size:15px;color:var(--ink-2);padding-top:10px}
.ch .us{color:var(--p);font-size:16.5px}
[role=rowheader]{font-weight:600;color:var(--ink)}
.cr .y{font-weight:700;color:var(--p)}
.cr .n,.cr .m{color:var(--mut);font-size:14.5px}
.cr .y::before,.cr .n::before,.cr .m::before{content:"";width:20px;height:20px;flex:none;border-radius:50%;background:center/12px no-repeat}
.cr .y::before{background-color:var(--p);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E")}
.cr .n::before{background-color:#f1ecf2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a8c9e' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E")}
.cr .m::before{background-color:#fbf3dc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a07a10' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E")}

/* ---------- offer ---------- */
.offer{background:var(--paper);padding-top:110px}
.deal{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:44px;padding:52px;border-radius:36px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 50px 90px -60px rgba(106,40,117,.55)}
.beam{position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;background:conic-gradient(from var(--ang,0deg),transparent 0 70%,var(--p-l) 80%,var(--lime) 88%,transparent 96%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.motion-ok .beam{animation:beam 6s linear infinite}
@keyframes beam{to{--ang:360deg}}
.deal-l .ticks{margin-top:28px}
.deal-r{display:flex;flex-direction:column;gap:18px;padding:30px;border-radius:26px;color:#fff;background:radial-gradient(90% 70% at 100% 0%,rgba(161,95,174,.5),transparent 60%),var(--night)}
.terms{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.terms>div{display:grid;gap:2px;padding:18px;border-radius:18px;background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff17}
.terms b{font-size:28px;font-weight:720;letter-spacing:-.035em}
.terms span{font-size:14px;color:#d6c4da}
.deal-n{font-size:13.5px;color:#cdb9d1;text-align:center}

/* ---------- review ---------- */
.review{background:var(--night);color:#fff;overflow:hidden}
.rev-bg{position:absolute;inset:0;pointer-events:none}
.rg1{position:absolute;width:900px;height:800px;right:-300px;top:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(161,95,174,.42),transparent)}
.rg2{position:absolute;width:700px;height:600px;left:-260px;bottom:-300px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,203,5,.12),transparent)}
.rev-in{position:relative;display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:start}
.review .h2{color:#fff}
.review .h2 em{color:var(--p-on-dark)}
.rev-get{display:grid;gap:14px;margin-top:30px}
.rev-get li{display:flex;gap:12px;font-size:17px;line-height:1.45;color:#eadfed}
.rev-get .ic{width:24px;height:24px;padding:4px;border-radius:50%;background:var(--lime);color:#15200b;stroke-width:3}
.doc{position:relative;margin-top:40px;max-width:430px;padding:22px;border-radius:22px;background:#fff;color:var(--ink);transform:rotate(-2deg);box-shadow:0 40px 70px -30px rgba(0,0,0,.6)}
.motion-ok .doc{transition:transform .8s var(--spring)}
.doc:hover{transform:rotate(0) translateY(-4px)}
.doc-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;padding-bottom:14px;border-bottom:1px solid var(--line)}
.doc-h .mark{color:var(--ink)}
.doc-h em{margin-left:auto;font-style:normal;font-weight:500;color:var(--mut);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-s{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.doc-s div{display:grid;gap:2px;padding:10px;border-radius:12px;background:var(--paper)}
.doc-s span{font-size:11px;color:var(--mut);font-weight:600}
.doc-s b{font-size:15px;letter-spacing:-.02em}
.bad{color:#c2362b}.mid{color:#a86b00}
.doc-f{font-size:13.5px;color:var(--ink-2);padding:8px 0;border-top:1px dashed var(--line)}
.doc-f b{display:inline-block;min-width:44px;color:var(--p)}
.doc-tag{position:absolute;top:-12px;right:18px;font-size:11.5px;font-weight:700;background:var(--yel);color:#2a2000;padding:5px 10px;border-radius:999px}
.qform{position:relative;padding:34px;border-radius:30px;background:#fff;color:var(--ink);box-shadow:0 60px 100px -40px rgba(0,0,0,.7)}
.qf-prog{height:5px;border-radius:5px;background:var(--paper-2);overflow:hidden;margin-bottom:24px}
.qf-prog i{display:block;height:100%;width:50%;border-radius:5px;background:linear-gradient(90deg,var(--p),var(--p-l));transition:width .6s var(--spring)}
.qform.s2 .qf-prog i{width:100%}
.qf-n{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}
.qf-n span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--p);color:#fff;font-size:14px}
.qf-n em{font-style:normal;font-weight:500;font-size:14px;color:var(--mut);margin-left:auto}
.qform label{display:block;font-size:14.5px;font-weight:600;margin:16px 0 7px}
.qform label:first-of-type{margin-top:0}
.opt{font-weight:400;color:var(--mut)}
.qform input,.qform textarea{width:100%;padding:14px 16px;border-radius:14px;border:0;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line-2);font-size:16.5px;transition:box-shadow .2s,background .2s;resize:vertical}
.qform input:focus,.qform textarea:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 2px var(--p),0 0 0 5px var(--p-100)}
.qform [aria-invalid=true]{box-shadow:inset 0 0 0 2px #c2362b}
.field-error{display:block;min-height:0;font-size:13.5px;color:#b3261e;margin-top:6px}
.field-error:empty{margin:0}
.qform .btn{margin-top:22px}
.qf-step[data-step="2"]{display:none}
.qform.s2 .qf-step[data-step="1"]{display:none}
.qform.s2 .qf-step[data-step="2"]{display:block}
.motion-ok .qform.s2 .qf-step[data-step="2"]{animation:eIn .5s var(--ease)}
.qf-back{display:block;margin:14px auto 0;background:none;border:0;color:var(--mut);font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.qf-note{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;font-size:13px;color:var(--mut);text-align:center}
.qf-note .ic{width:15px;height:15px;color:var(--good)}
.form-status{font-size:14.5px;margin-top:10px;text-align:center;color:var(--ink-2)}
.form-status:empty{display:none}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- faq ---------- */
.faq{background:var(--paper)}
.faq-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq-l{position:sticky;top:110px}
.faq-l a{color:var(--p);font-weight:600}
.faq-list details{border-bottom:1px solid var(--line-2)}
.faq-list details:first-child{border-top:1px solid var(--line-2)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:19px;font-weight:650;letter-spacing:-.02em}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";width:34px;height:34px;flex:none;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a2875' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:inset 0 0 0 1px var(--line-2);transition:transform .4s var(--spring),background-color .3s}
.faq-list details[open] summary::after{transform:rotate(45deg);background-color:var(--p-50)}
.faq-list summary:hover{color:var(--p)}
.faq-list details p{padding:0 50px 26px 0;font-size:16.5px;line-height:1.65;color:var(--ink-2)}
.faq-list details a{color:var(--p);font-weight:600}
.motion-ok .faq-list details[open] p{animation:eIn .45s var(--ease)}

/* ---------- sticky ---------- */
.sticky{display:none;position:fixed;left:50%;bottom:18px;z-index:90;align-items:center;gap:16px;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(21,10,25,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font-size:14.5px;font-weight:500;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);transform:translate(-50%,140%);transition:transform .5s var(--spring);white-space:nowrap}
.sticky.on{transform:translate(-50%,0)}

/* ---------- footer ---------- */
.foot{background:var(--night);color:#fff;padding:0 0 36px}
.foot-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:96px 0 64px;border-bottom:1px solid #ffffff1a}
.foot-big{font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.045em;font-weight:720;max-width:780px}
.foot-big em{color:var(--p-on-dark)}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 0 28px;flex-wrap:wrap}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot-links a{font-size:15px;color:#d9cadc;text-decoration:none}
.foot-links a:hover{color:#fff;text-decoration:underline}
.foot-legal{display:grid;gap:10px;max-width:880px}
.foot-legal p{font-size:13px;line-height:1.6;color:#b5a2b9}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid #ffffff14;font-size:13px;color:#a18fa6}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .fc[style*="--i:-3"],.fc[style*="--i:3"]{display:none}
  .engines{grid-template-columns:1fr}
  .eng-tabs{grid-template-columns:repeat(4,1fr)}
  .et-d{display:none}
  .wk{grid-template-columns:1fr 1.1fr;padding:40px}
}
@media (max-width:980px){
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
  .sec{padding:96px 0}
  .prob-head{grid-template-columns:1fr}
  .slow{display:none}
  .leaks{grid-template-columns:1fr}
  .leak{display:grid;grid-template-columns:auto 1fr;gap:4px 22px;align-items:center}
  .leak-vis{grid-row:span 2;width:120px;height:100%;min-height:96px;margin:0}
  .fix{grid-template-columns:1fr;padding:36px}
  .outs{grid-template-columns:1fr;max-width:620px;margin:0 auto}
  .found-foot{grid-template-columns:1fr}
  .wk{position:relative;top:auto;grid-template-columns:1fr;padding:34px}
  .wk-sc{margin-top:26px;padding-top:0}
  .wk-r{margin-top:6px}
  .grid12{grid-template-columns:repeat(2,1fr)}
  .tl-line{left:22px;right:auto;top:22px;bottom:22px;width:3px;height:auto}
  .tl-line i{width:100%;height:calc(var(--pr)*100%)}
  .tl-steps{grid-template-columns:1fr;gap:34px}
  .tl-steps li{padding-left:70px;position:relative}
  .tl-dot{position:absolute;left:0;top:0}
  .tl-w{margin-top:0;padding-top:12px}
  .deal{grid-template-columns:1fr;padding:34px}
  .rev-in{grid-template-columns:1fr;gap:44px}
  .faq-in{grid-template-columns:1fr;gap:28px}
  .faq-l{position:static}
  .foot-cta{flex-direction:column;align-items:flex-start}
}
@media (max-width:760px){
  .fan{height:350px;margin-top:28px}
  .fc-photo:not(.fc-main) .note{display:none}
  .fc{--gap:128px;--rot:8deg;width:200px;height:262px;margin-left:-100px;top:40px}
  .fc-main{width:228px;height:296px;margin-left:-114px;top:18px}
  .fc-ui{display:none}
  .fc[style*="--im:-1"]{--i:-1!important}
  .fc[style*="--im:1"]{--i:1!important}
  .fc[style*="--im"]{--y:34!important}
  .fc-main{--y:0!important}
  .note{left:9px;right:9px;bottom:9px;padding:8px 9px;gap:8px}
  .n-ic{width:30px;height:30px;border-radius:10px}
  .note b{font-size:12.5px}.note small{font-size:11.5px}
  .now{display:none}
  .proof{grid-template-columns:1fr 1fr;margin-top:30px}
  .proof>div:nth-child(3)::before{display:none}
  .proof>div:nth-child(n+3){border-top:1px solid var(--line)}
  .eng-tabs{grid-template-columns:1fr 1fr}
  .et{padding:14px 14px 16px}
  .et-t{font-size:16px}
  .scr-body{height:520px;padding:18px}
  .ep{inset:18px}
  .ep-do{grid-template-columns:1fr;gap:8px}
  .r-sl span:nth-child(n+3){display:none}
  .lp.top{flex-wrap:wrap}
  .lp-b{margin-left:0}
  .scr-url{min-width:0}
  .cmp::before{display:none}
  .cr{grid-template-columns:1fr 1fr 1fr}
  .cr>[role=rowheader]{grid-column:1/-1;padding:18px 4px 4px;font-size:16px}
  .ch>span:first-child{display:none}
  .cr>span{padding:10px 4px 16px;font-size:14px}
  .cr .n,.cr .m{font-size:13px}
  .cr>span.us{background:var(--p-50);border-radius:12px;margin:0 4px 10px}
  .ch>span.us{margin-bottom:0}
  .cr>span:not(:first-child){flex-direction:column;gap:6px}
  .ticks.two{grid-template-columns:1fr}
  .terms b{font-size:24px}
  .deal,.deal-r{padding:26px}
  .qform{padding:26px 22px}
  .doc-s{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .wrap{padding:0 18px}
  .nav-in{padding:0 16px;height:62px}
  .nav-cta{display:none}
  .lk-k{font-size:16px}
  .lk-n{font-size:13.5px;padding:4px 9px}
  .lk-n::before{width:6px;height:6px;box-shadow:8px 0 0 var(--yel);margin-right:10px}
  .mark{width:27px;height:27px}
  .hero{padding-top:40px}
  .eyebrow{font-size:13px;padding:7px 13px 7px 11px}
  .h1{font-size:clamp(34px,12vw,54px);margin-top:20px}
  .lede{margin-top:20px}
  .cta-row .btn{width:100%}
  .micro{gap:6px 14px;font-size:13px}
  .sec{padding:80px 0}
  .sec-head{margin-bottom:40px}
  .leak{grid-template-columns:1fr}
  .leak-vis{grid-row:auto;width:auto;height:86px;min-height:0;margin-bottom:18px}
  .fix{padding:28px 22px;border-radius:26px}
  .gauges{gap:10px}
  .g{padding:18px 10px}
  .g .ring{width:84px;height:84px}
  .g .ring b{font-size:24px}
  .out-b{padding:22px 22px 28px}
  .wk{padding:26px 22px 30px;border-radius:28px;gap:24px;min-height:0}
  .wk-sc span{width:auto;flex:1}
  .bw{margin-right:0}
  .bw-scr{height:300px}
  @keyframes scrollDesk{0%,6%{transform:translateY(0)}94%,100%{transform:translateY(calc(-100% + 300px))}}
  .ph{width:118px;height:244px;right:-8px;bottom:-20px;border-radius:24px;padding:5px}
  .ph-scr{border-radius:20px}
  @keyframes scrollPh{0%,6%{transform:translateY(0)}94%,100%{transform:translateY(calc(-100% + 234px))}}
  .grid12{grid-template-columns:1fr;gap:10px}
  .gi{grid-template-columns:auto 1fr;column-gap:16px;row-gap:2px;padding:18px}
  .gi .ic{grid-row:span 2;margin:0}
  .after{border-radius:20px;align-items:flex-start;font-size:14.5px}
  .eng-tabs{gap:8px}
  .et-k{margin-bottom:2px}
  .faq-list summary{font-size:17px;padding:20px 0}
  .faq-list details p{padding-right:0}
  .sticky{display:flex;left:12px;right:12px;bottom:12px;transform:translateY(140%);justify-content:space-between;font-size:13px;padding-left:16px}
  .sticky.on{transform:none}
  .sticky span{white-space:normal;line-height:1.3}
  .sticky-on .access-launcher{bottom:84px!important}
  .foot-cta{padding:72px 0 48px}
}
@media (max-width:400px){
  .lockup{gap:7px}
  .lk-k{font-size:15px}
  .lk-n{font-size:12.5px;padding:3px 9px}
  .lk-n::before{display:none}
  .mark{width:24px;height:24px}
  .ey-x{display:none}
  .btn-lg{white-space:normal;text-align:center}
  .foot-cta .btn{width:100%}
  .terms{grid-template-columns:1fr}
  .terms>div{grid-template-columns:auto 1fr;align-items:baseline;gap:10px;padding:12px 16px}
  .h1{font-size:clamp(32px,11.2vw,54px)}
  .gf-jump{grid-template-columns:1fr 1fr}
}
@media (max-width:310px){.lockup .mark{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* =====================================================================
   v18 hero — desktop: split (text + button left, cards right)
              phone:   compact swipe-card row, lighter type scale
   ===================================================================== */
.swipe-dots{display:none}
/* desktop + tablet: compact centred hero (cards in the middle, button under them) */
.hero-split{display:flex;flex-direction:column}
.hero-split .hero-in{order:1}.hero-split .fan{order:2}.hero-split .swipe-dots{order:3}.hero-split .hero-cta{order:4}
@media (min-width:761px){
  .hero{padding-top:26px}
  .eyebrow{padding:6px 14px 6px 10px;font-size:13.5px}
  .h1{font-size:clamp(40px,4.5vw,66px);line-height:1.02;margin-top:14px}
  .h1 .h1-l:nth-child(2),.h1 .h1-l:nth-child(3){display:inline}
  .h1 .h1-l:nth-child(4){display:block;margin-top:.02em}
  .lede{font-size:18px;max-width:640px;margin-top:14px;line-height:1.5}
  .fan{height:430px;margin-top:22px;transform:scale(.72);transform-origin:50% 0;margin-bottom:-120px}
  .hero-cta .btn-lg{padding:14px 24px;font-size:16px}
  .micro{margin-top:12px}
  .fan-cap{margin-top:16px}
  .proof{margin-top:22px}
}
@media (min-width:761px) and (max-height:800px){
  .h1{font-size:clamp(38px,4.2vw,58px)}
  .fan{transform:scale(.6);margin-bottom:-172px;margin-top:16px}
}

@media (max-width:760px){
  body{font-size:14.5px}
  .ic{width:15px;height:15px}
  .wrap{padding:0 24px}
  /* header */
  .nav-in{height:52px;padding:0 18px}
  .mark{width:22px;height:22px}
  .lk-k{font-size:14px}
  .lk-x{font-size:12px}
  .lk-n{font-size:11px;padding:3px 8px}
  /* hero */
  .hero{padding-top:18px}
  .hero-in{padding:0 24px}
  .eyebrow{font-size:11px;padding:5px 10px 5px 8px;gap:7px}
  .live{width:7px;height:7px}
  .h1{font-size:31px!important;letter-spacing:-.04em;margin-top:12px}
  .rot-img{width:.78em;height:.78em}
  .lede{font-size:13.5px;line-height:1.55;margin:10px auto 0;max-width:300px}
  .hero .fan{display:flex;gap:10px;height:auto;margin:16px 0 0;padding:4px 24px 10px;transform:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .hero .fan::-webkit-scrollbar{display:none}
  .hero .fan .fc,.hero .fan .fc-main{position:relative;left:auto;top:auto;margin:0;flex:0 0 58%;width:auto;height:244px;transform:none!important;animation:none!important;scroll-snap-align:center;display:block!important}
  .hero .fan .fc-main{order:-1}
  .hero .fan .fc-in{animation:none;border-radius:18px;box-shadow:0 16px 30px -20px rgba(40,10,45,.45),0 0 0 1px rgba(40,10,45,.06)}
  .hero .fan .fc-photo:not(.fc-main) .note{display:flex}
  .hero .fan .fc:hover .fc-in{translate:none}
  .swipe-dots{display:flex;justify-content:center;gap:5px;margin:0}
  .swipe-dots i{width:5px;height:5px;border-radius:50%;background:var(--p-200);transition:width .3s,background .3s}
  .swipe-dots i.on{width:14px;border-radius:6px;background:var(--p)}
  .note{left:8px;right:8px;bottom:8px;padding:6px 8px;gap:7px;border-radius:12px}
  .note .n-ic{width:24px;height:24px;border-radius:8px}
  .note .n-ic .ic{width:13px;height:13px}
  .note b{font-size:11px}.note small{font-size:10px}
  .fc-tag{font-size:10px;padding:4px 8px;top:9px;left:9px;gap:5px}
  .fc-tag .ic{width:11px;height:11px}
  .fc-maps .map{height:138px}
  .map-sheet{padding:9px 11px}.ms-t{font-size:12.5px}.ms-s{font-size:10px}.ms-b{margin-top:7px}.ms-b span{font-size:10px;padding:4px 8px}
  .pin.p1{width:26px;height:26px}.pin.p1 b{font-size:11px}
  .shot-top{height:24px}.shot-top span{font-size:9px}.shot-scr{height:calc(100% - 24px)}
  .fc-ai .fc-in{padding:38px 12px 12px}
  .ai-h{font-size:9.5px}.ai-q{font-size:10.5px;margin-top:8px;padding:6px 9px}.ai-a{font-size:11px;margin-top:8px}.ai-src{font-size:9.5px;margin-top:8px}
  .fc-score .fc-in{padding:40px 12px 12px}
  .sc-h{font-size:9.5px}.ring.big{width:80px;height:80px;margin-top:6px}.ring.big b{font-size:22px}
  .sc-l{margin-top:8px;gap:4px}.sc-l li{font-size:10.5px}
  .hero-cta{margin-top:14px;padding:0 24px}
  .hero-cta .cta-row{flex-direction:column;align-items:center;gap:2px;margin-top:0}
  .hero-cta .btn-p{width:auto!important;min-width:0;padding:11px 20px;font-size:14px}
  .hero-cta .btn-ghost{width:auto!important;background:none;box-shadow:none;padding:6px 12px;font-size:13px}
  .hero-cta .btn-ghost .play{width:22px;height:22px}
  .micro{flex-wrap:nowrap;white-space:nowrap;justify-content:center;gap:10px;margin-top:4px;font-size:clamp(9.5px,2.85vw,11.5px)}
  .micro span{gap:4px}
  .micro .ic{width:12px;height:12px}
  .fan-cap{font-size:10.5px;margin-top:10px}
  /* proof + marquee */
  .proof{padding:0 20px;margin-top:22px}
  .proof>div{padding:18px 8px 20px;gap:4px}
  .proof b{font-size:22px}
  .proof>div>span{font-size:11.5px}
  .types{padding:10px 0}
  .types-track span{font-size:12px;gap:16px;padding-right:16px}
  .types-track span::after{width:5px;height:5px}
  /* section rhythm */
  .sec{padding:56px 0}
  .sec-head{margin-bottom:26px}
  .kicker{font-size:10px;gap:8px}
  .kicker::before{width:14px}
  .h2,.h2.sm{font-size:25px;line-height:1.08}
  .h3{font-size:22px}
  .h4{font-size:18px}
  .h5{font-size:16px}
  .sub,.sub.sm{font-size:14px;margin-top:10px;line-height:1.6}
  .ticks{gap:8px}
  .ticks li{font-size:13.5px;padding-left:25px}
  .ticks li::before{width:17px;height:17px;background-size:10px}
  .btn{font-size:14px}
  .btn-lg{padding:11px 20px;font-size:14px}
  .fine{font-size:10.5px}
  /* problem */
  .leak{padding:18px;border-radius:18px}
  .leak-vis{height:64px;margin-bottom:12px}
  .leak-n{font-size:36px}
  .leak-t{font-size:13px;margin-top:6px}
  .fix{padding:22px 18px;border-radius:20px;gap:22px}
  .rc p{font-size:12.5px}.rc p b{font-size:19px}
  .rc-t{height:9px}
  .g{padding:12px 8px;border-radius:14px}
  .g .ring{width:64px;height:64px}.g .ring b{font-size:18px}
  .g p{font-size:12.5px;margin-top:6px}.g small{font-size:10.5px}
  /* outcomes */
  .outs{gap:12px}
  .out{border-radius:20px}
  .out-img{margin:7px 7px 0;border-radius:14px}
  .out-b{padding:16px 16px 20px}
  .out-k{font-size:10px;margin-bottom:5px}
  .out-n{font-size:10.5px;padding:4px 8px}
  /* get found */
  .et{padding:10px 11px 12px;border-radius:13px}
  .et-k{font-size:9.5px;padding:3px 7px}
  .et-t{font-size:13.5px}
  .scr-bar{height:32px}.scr-url{font-size:10.5px}
  .scr-body{height:420px;padding:13px}.ep{inset:13px}
  .sbox{height:38px;font-size:13px;padding:0 13px}
  .r-t{font-size:15px}.r-d,.r-u{font-size:11.5px}
  .ep-do li{font-size:11.5px;padding-left:21px}
  .ep-do li::before{width:14px;height:14px;background-size:9px}
  .aov-t,.cb{font-size:13px}
  .lp-t{font-size:14px}
  .found-foot{padding:16px;gap:10px;border-radius:16px}
  .ff span{font-size:12.5px}
  /* work */
  .wk{padding:20px 16px 24px;border-radius:22px;gap:16px}
  .wk-k{font-size:10px}
  .wk-t{font-size:36px}
  .wk-s{font-size:13.5px;margin-top:8px}
  .wk-f{margin-top:12px;gap:6px}.wk-f li{font-size:11px;padding:4px 9px}
  .wk-sc{margin-top:14px}.wk-sc span{padding:7px 0;font-size:10px;border-radius:12px}.wk-sc b{font-size:18px}
  .btn-wk{margin-top:14px}
  /* included */
  .grid12{gap:8px}
  .gi{padding:13px;border-radius:14px}
  .gi .ic{width:34px;height:34px;padding:9px;border-radius:10px}
  .gi b{font-size:14px}.gi span{font-size:12px}
  /* process */
  .tl-steps{gap:22px}
  .tl-steps li{padding-left:52px}
  .tl-dot{width:34px;height:34px;font-size:13px}
  .tl-line{left:16px;top:17px;bottom:17px}
  .tl-w{font-size:10px;padding-top:7px}
  .tl-steps li>p:last-child{font-size:13px;margin-top:6px}
  .after{font-size:12.5px;padding:11px 15px;margin-top:28px}
  /* compare */
  .cr>[role=rowheader]{font-size:13.5px;padding:13px 4px 2px}
  .cr>span{font-size:12px;padding:7px 2px 11px}
  .cr .n,.cr .m{font-size:11px}
  .cr .y::before,.cr .n::before,.cr .m::before{width:15px;height:15px;background-size:9px}
  .ch .us{font-size:12.5px}
  /* offer */
  .deal,.deal-r{padding:18px;border-radius:20px}
  .deal{gap:18px}
  .terms b{font-size:17px}.terms span{font-size:11.5px}
  .terms>div{padding:9px 12px;border-radius:12px}
  .deal-n{font-size:11.5px}
  /* review */
  .rev-get{gap:9px;margin-top:18px}
  .rev-get li{font-size:13.5px;gap:9px}
  .rev-get .ic{width:19px;height:19px;padding:3px}
  .doc{padding:15px;margin-top:24px;border-radius:15px}
  .doc-h{font-size:11px}.doc-s b{font-size:12.5px}.doc-s span{font-size:9.5px}.doc-f{font-size:11.5px}
  .qform{padding:20px 18px;border-radius:20px}
  .qf-n{font-size:15.5px;margin-bottom:12px}
  .qf-n span{width:25px;height:25px;font-size:12px}
  .qform label{font-size:12.5px;margin:12px 0 6px}
  .qform input,.qform textarea{padding:11px 13px;border-radius:12px;font-size:16px}
  .qf-note{font-size:11px}
  /* faq */
  .faq-list summary{font-size:14.5px;padding:15px 0}
  .faq-list summary::after{width:26px;height:26px;background-size:12px}
  .faq-list details p{font-size:13.5px;padding-bottom:16px}
  /* footer */
  .foot-cta{padding:52px 0 34px}
  .foot-big{font-size:26px}
  .foot-links a{font-size:13px}
  .foot-legal p{font-size:11px}
  .foot-bottom{font-size:11px}
  /* floating buttons */
  .access-launcher{min-height:38px!important;padding:7px 11px!important;font-size:11px!important;gap:6px!important}
  .access-launcher svg{width:17px!important;height:17px!important}
  .sticky{font-size:11.5px;padding:5px 5px 5px 14px}
  .sticky .btn-sm{padding:7px 12px;font-size:12.5px}
  .sticky-on .access-launcher{bottom:70px!important}
}
@media (max-width:760px) and (max-height:700px){
  .eyebrow{display:none}
  .h1{font-size:29px!important;margin-top:0}
  .hero .fan .fc,.hero .fan .fc-main{height:212px}
}

/* =====================================================================
   v18b — phone: every section fits in about one screen
   ===================================================================== */
@media (max-width:760px){
  /* bottom bar: a clean app-style bar */
  .sticky{display:flex;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateY(170%);align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 16px;border-radius:18px;background:rgba(255,255,255,.95);color:var(--ink);backdrop-filter:saturate(1.5) blur(14px);-webkit-backdrop-filter:saturate(1.5) blur(14px);box-shadow:0 14px 34px -14px rgba(28,15,33,.4),0 0 0 1px rgba(28,15,33,.07);white-space:normal;font-size:inherit}
  .sticky.on{transform:none}
  .st-t{display:grid;gap:1px;min-width:0;line-height:1.25}
  .st-t b{font-size:13px;font-weight:700;letter-spacing:-.01em}
  .st-t small{font-size:11px;color:var(--mut)}
  .sticky .btn-sm{flex:none;padding:10px 14px;font-size:13px;border-radius:12px;box-shadow:0 8px 18px -10px rgba(106,40,117,.8)}
  .sticky-on .access-launcher{bottom:calc(76px + env(safe-area-inset-bottom))!important}

  /* swipe rows used by several sections */
  .leaks,.outs,.stack{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -24px;padding:4px 24px 12px;max-width:none}
  .leaks::-webkit-scrollbar,.outs::-webkit-scrollbar,.stack::-webkit-scrollbar{display:none}
  .swipe-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;font-size:11px;color:var(--mut)}
  .swipe-hint .ic{width:13px;height:13px}
  .found .swipe-hint,.review .swipe-hint{color:#bfaac4}

  /* problem */
  .leak{flex:0 0 76%;scroll-snap-align:center;display:block;padding:16px}
  .leak-vis{width:auto;height:58px;min-height:0;margin:0 0 10px}
  .leak-n{font-size:32px}
  .leak-t{font-size:12.5px}
  .fix{margin-top:14px}
  .race{margin-top:18px;gap:14px}
  .gauges{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .g{padding:10px 4px;border-radius:12px}
  .g .ring{width:50px;height:50px}.g .ring b{font-size:14px}
  .g p{font-size:10.5px;margin-top:5px}.g small{font-size:9px;line-height:1.3}

  /* what you get */
  .out{flex:0 0 80%;scroll-snap-align:center}
  .out-img{aspect-ratio:16/10}
  .out-b{padding:14px 14px 16px}
  .out-b .ticks{margin-top:12px}
  .out .note{display:none}

  /* get found */
  .eng-tabs{gap:6px}
  .scr-body{height:300px}
  .ep-do{display:none}
  .eng-note{font-size:10.5px}
  .found-foot{margin-top:26px;grid-template-columns:1fr;gap:8px}
  .ff{grid-template-columns:auto 1fr;align-items:baseline;gap:8px}
  .ff b{font-size:12px}
  .found-foot .btn{width:100%;margin-top:4px}

  /* our work */
  .wk{flex:0 0 86%;scroll-snap-align:center;position:relative;top:auto;min-height:0;box-shadow:0 18px 30px -24px rgba(28,15,33,.5)}
  .wk-t{font-size:30px}
  .wk-f{display:none}
  .wk-r{margin-top:0}
  .bw-scr{height:190px}
  .bw{box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
  .ph{display:none}
  .work .fine.center{margin-top:14px}

  /* everything included: 2-column tiles */
  .grid12{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gi{display:block;padding:12px}
  .gi .ic{width:30px;height:30px;padding:7px;border-radius:9px;margin:0 0 8px}
  .gi b{display:block;font-size:12.5px;line-height:1.3}
  .gi span{display:block;font-size:11px;margin-top:3px;line-height:1.4}

  /* comparison: a real compact table */
  .cmp{max-width:none}
  .cr{grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,.85fr))}
  .ch>span:first-child{display:block}
  .cr>[role=rowheader]{grid-column:auto;padding:9px 6px 9px 0;font-size:11.5px;line-height:1.3;font-weight:600}
  .cr>span{padding:8px 2px;font-size:10px;flex-direction:column;gap:3px;line-height:1.2}
  .cr>span.us{margin:0;border-radius:0;background:var(--p-50)}
  .ch>span{font-size:11px;padding:10px 2px;align-self:end}
  .ch>span.us{border-radius:12px 12px 0 0}
  .cr:last-child>span.us{border-radius:0 0 12px 12px}
  .ch .us .mark{display:none}
  .cr .y,.cr .n,.cr .m{font-size:10px}
  .cr .y::before,.cr .n::before,.cr .m::before{width:14px;height:14px;background-size:8px}

  /* offer */
  .deal-l .ticks{margin-top:16px}
  .terms{grid-template-columns:1fr 1fr!important}
  .terms>div{display:grid;grid-template-columns:none;gap:1px}

  /* review */
  .doc{display:none}
  .rev-in{gap:26px}

  /* faq */
  .faq-in{gap:18px}
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){.leaks,.outs,.stack{scroll-behavior:smooth}}
@media (min-width:761px){.swipe-hint{display:none}}

/* ---------- FAQ: ask your own question (KSPR bot) ---------- */
.ask{margin-top:28px;padding:22px;border-radius:24px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 30px 50px -40px rgba(106,40,117,.5)}
.ask-h{display:flex;gap:12px;align-items:center}
.ask-av{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--p);color:#fff;flex:none;--sweep:#e4c3ea}
.ask-av .mark{width:24px;height:24px}
.ask-t{font-size:17px;font-weight:700;letter-spacing:-.02em}
.ask-s{font-size:13.5px;color:var(--mut);line-height:1.45}
.ask-log{display:grid;gap:10px;margin-top:16px;max-height:380px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:2px 4px 2px 0}
.ask.used .ask-chips{display:none}
.ask-log:empty{display:none}
.msg{max-width:88%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.5}
.msg.user{justify-self:end;background:var(--p);color:#fff;border-bottom-right-radius:5px}
.msg.bot{justify-self:start;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line);border-bottom-left-radius:5px;color:var(--ink)}
.msg.bot .by{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--p);margin-bottom:3px}
.msg.bot .by .mark{width:14px;height:14px;color:var(--p)}
.msg.bot a{color:var(--p);font-weight:600}
.msg .dots{display:flex}
.msg .dots i{animation:dot 1s ease-in-out infinite}
.ask-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.ask-chips button{font:inherit;font-size:13px;font-weight:550;color:var(--p);background:var(--p-50);border:0;box-shadow:inset 0 0 0 1px var(--p-100);padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .2s}
.ask-chips button:hover{background:var(--p-100)}
.ask-f{display:flex;gap:8px;margin-top:14px}
.ask-f input,.ask-mail input[type=email]{flex:1;min-width:0;padding:11px 14px;border-radius:12px;border:0;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line-2);font-size:16px}
.ask-f input:focus,.ask-mail input:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 2px var(--p),0 0 0 4px var(--p-100)}
.ask-f .btn{flex:none;border-radius:12px}
.ask-n{margin-top:8px;font-size:12px;color:var(--mut)}
.ask-mail{margin-top:4px;padding:12px;border-radius:14px;background:var(--p-50)}
.ask-mail[hidden]{display:none}
.ask-mail label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.ask-mail-row{display:flex;gap:8px}
.ask-mail-s{font-size:12.5px;color:var(--ink-2);margin-top:6px}
.ask-mail-s:empty{display:none}
@media (max-width:760px){
  .ask{padding:16px;border-radius:18px;margin-top:20px}
  .ask-av{width:34px;height:34px;border-radius:10px}
  .ask-t{font-size:15px}.ask-s{font-size:12px}
  .msg{font-size:13px;padding:9px 11px}
  .ask-log{max-height:320px}
  .ask-chips button{font-size:11.5px;padding:6px 10px}
  .ask-n{font-size:11px}
}
.ask-mail .btn{border-radius:12px}

/* =====================================================================
   v19 — calm palette: purple + neutrals only (no green, yellow or pink)
   ===================================================================== */
:root{--lime:#cdbde3;--lime-d:var(--p);--lime-50:var(--p-50);--yel:#ece7ee;--good:var(--p);--p-on-dark:#cdbde3}
.hb2{background:radial-gradient(closest-side,#efe7f2,transparent)}
.hb3{background:radial-gradient(closest-side,#f4eff2,transparent)}
.live,.live::after{background:var(--p)}
.lk-n{padding:5px 11px}
.lk-n::before{display:none}
.lockup.light .lk-n{color:#e6dcef}
.n-ic.lime{background:var(--p);color:#fff}
.n-ic.yel{background:var(--ink);color:#fff}
.n-ic.lime.ping::after,.n-ic.yel.ping::after{color:var(--p-l)}
.now{color:var(--p);background:var(--p-50)}
.ticks li::before{background:var(--p-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a2875' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center/14px no-repeat}
.btn-lime{background:#fff;color:var(--ink);box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.btn-lime:hover{background:#f4eef6}
.fix{background:radial-gradient(70% 90% at 100% 100%,rgba(161,95,174,.35),transparent 60%),var(--night)}
.rc-t i{background:linear-gradient(90deg,#fff,#e2d6ee)}
.rc.them .rc-t i{background:#ffffff38}
.g .ring circle.rv{stroke:#fff}
.fg2,.rg2{display:none}
.et-k{background:#ffffff14;color:#e2d6ee}
.et-p{background:linear-gradient(90deg,#b99fd8,#fff)}
.scr-bar i,.scr-bar i:first-child,.scr-bar i:nth-child(2),.scr-bar i:nth-child(3){background:#ddd5e0}
.ai-a b,.aov-t b,.cb.bot .stream b{background:linear-gradient(transparent 62%,rgba(161,95,174,.28) 62%)}
.fc-ai .ai-a b{background:linear-gradient(transparent 62%,rgba(205,189,227,.35) 62%)}
.aov{background:var(--p-50)}
.rev-get .ic{background:#fff;color:var(--p)}
.doc-tag{background:var(--p-50);color:var(--p)}
.doc-s .mid{color:var(--ink-2)}
.cr .m::before{background-color:#f1edf2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a8c9e' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E")}
.open{color:var(--p)}
.qf-note .ic{color:var(--p)}
.ep-do li::before{background-color:var(--p)}

/* service types: a quiet grey "logo row" */
.types{background:transparent;color:#a39aa6;padding:30px 0 34px;overflow:hidden}
.types::before,.types::after{top:0;bottom:0;width:140px}
.types::before{background:linear-gradient(90deg,var(--paper),transparent)}
.types::after{background:linear-gradient(270deg,var(--paper),transparent)}
.types-k{text-align:center;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#b3aab6;margin-bottom:18px}
.types-row{overflow:hidden}
.types-track span{gap:0;padding-right:0;margin-right:68px;font-size:19px;white-space:nowrap;color:#a39aa6;transition:color .3s}
.types-track span::after{display:none}
.types-track span:hover{color:var(--ink-2)}
.types-track .t1{font-weight:700;letter-spacing:-.03em}
.types-track .t2{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400;font-size:21px;letter-spacing:-.01em}
.types-track .t3{font-family:Figtree,Inter,sans-serif;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.motion-ok .types-track.dup{animation-duration:70s}

/* our work: neutral cards, the demo screenshots carry the colour */
.wk,.wk-north,.wk-wattle,.wk-still{--bg:#fff;--fg:var(--ink);--ac:var(--ink);box-shadow:0 0 0 1px var(--line),0 -20px 50px -30px rgba(28,15,33,.25),0 30px 60px -40px rgba(28,15,33,.35)}
.wk-f li{box-shadow:inset 0 0 0 1px var(--line-2)}
.wk-sc span{background:var(--paper)}
.wk-sc b,.wk-wattle .wk-sc b{color:var(--p)}
.btn-wk{background:var(--ink);color:#fff}

@media (max-width:760px){
  .types{padding:22px 0 24px}
  .types-k{font-size:10px;margin-bottom:12px}
  .types-track span{font-size:15px;margin-right:40px}
  .types-track .t2{font-size:16.5px}
  .types-track .t3{font-size:12px}
  .types::before,.types::after{width:60px}
}
.sp-load b,.doc-s .bad{color:var(--ink)}
.faq-in>*{min-width:0}
@media (max-width:980px){.faq-in{grid-template-columns:minmax(0,1fr)}}
