@font-face{font-family:"Bricolage";src:url(/assets/fonts/bricolage.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Instrument";src:url(/assets/fonts/instrument-italic.woff2) format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:optional}
@font-face{font-family:"Inter Fallback";src:local("Arial"),local("Liberation Sans");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Bricolage Fallback";src:local("Arial"),local("Liberation Sans"),local("Helvetica");size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Instrument Fallback";src:local("Times New Roman"),local("Liberation Serif");font-style:italic;size-adjust:96%}
:root{
  --bg:#f6f5fb;--bg2:#ffffff;--ink:#0d0e1a;--text:#1b1c30;--muted:#55576f;--line:rgba(20,20,50,.09);
  --v:#6d5efc;--b:#3b82f6;--p:#f472b6;--o:#fb923c;
  --grad:linear-gradient(100deg,#6d5efc 0%,#3b82f6 45%,#ec4899 100%);
  --r:24px;--ease:cubic-bezier(.22,1,.36,1);
  --fd:"Bricolage","Bricolage Fallback","Helvetica Neue",Arial,sans-serif;
  --fs:"Instrument","Instrument Fallback",Georgia,serif;
  --fb:"Inter","Inter Fallback","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fd);color:var(--ink);margin:0;letter-spacing:-.025em}
p{margin:0}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.narrow{width:min(820px,100% - 40px)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#000;color:#fff;padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--b);outline-offset:3px;border-radius:8px}
em{font-style:normal}
.grad,.accent em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--fs);font-style:italic;font-weight:400;letter-spacing:-.01em;padding-right:.06em}

/* progress + header */
.progress{position:fixed;inset:0 0 auto;height:3px;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);z-index:60}
.sentinel{position:absolute;top:40px;height:1px;width:1px}
.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:14px 0;transition:transform .45s var(--ease)}
.site-header .bar{width:min(1180px,100% - 24px);margin:auto;display:flex;align-items:center;gap:20px;height:60px;padding:0 10px 0 14px;border-radius:999px;position:relative}
.site-header .bar:before{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 30px -12px rgba(30,30,80,.25),inset 0 0 0 1px var(--line);opacity:0;transition:opacity .35s var(--ease);z-index:-1}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header .bar:before{background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6)}}
.site-header.scrolled{transform:translateY(-6px)}
.site-header.scrolled .bar:before{opacity:1}
.site-header.scrolled .brand .mark{transform:scale(.88)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--fd);font-weight:600;font-size:18px;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.brand b{font-weight:600;color:var(--muted)}
.mark{width:32px;height:32px;transition:transform .35s var(--ease)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;color:var(--muted);font-size:15px;font-weight:500;padding:8px 14px;border-radius:999px;transition:color .2s,background-color .2s}
.nav a:hover{color:var(--ink);background:rgba(20,20,60,.05)}
@media (max-width:900px){.nav{display:none}.site-header .btn-sm{margin-left:auto}}

/* buttons */
.btn{--mx:0px;--my:0px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;font:600 16px/1 var(--fb);text-decoration:none;cursor:pointer;padding:15px 22px;transition:transform .2s var(--ease),box-shadow .2s,background-color .2s;transform:translate(var(--mx),var(--my));position:relative;white-space:nowrap}
.btn:hover{transform:translate(var(--mx),calc(var(--my) - 2px))}
.btn-sm{padding:11px 18px;font-size:15px}
.btn-lg{padding:18px 28px;font-size:17px}
.btn-block{width:100%}
.btn-dark{background:var(--ink);color:#fff;box-shadow:0 8px 20px -10px rgba(13,14,26,.6)}
.btn-dark:hover{box-shadow:0 14px 28px -12px rgba(13,14,26,.7)}
.btn-grad{color:#fff;background:linear-gradient(100deg,#5b4cf0,#2f6fe6 55%,#d63b8a);box-shadow:0 10px 30px -10px rgba(91,76,240,.7),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-grad:hover{box-shadow:0 18px 40px -12px rgba(91,76,240,.8),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:rgba(255,255,255,.7);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(20,20,60,.14)}
.btn-ghost:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(20,20,60,.2),0 10px 24px -14px rgba(20,20,60,.4)}
.pulse:after{content:"";position:absolute;inset:-2px;border-radius:inherit;border:2px solid rgba(109,94,252,.55);opacity:0;animation:ring 2.2s var(--ease) 1.8s 3;pointer-events:none}
@keyframes ring{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.18,1.5)}}

/* hero */
.hero{position:relative;padding:124px 0 40px;overflow:hidden;isolation:isolate}
.aura{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.aura i{position:absolute;border-radius:50%;will-change:transform}
.aura .a1{width:900px;height:900px;left:50%;top:-380px;margin-left:-450px;background:radial-gradient(closest-side,rgba(109,94,252,.36),rgba(109,94,252,0));animation:drift1 26s ease-in-out infinite alternate}
.aura .a2{width:700px;height:700px;left:-220px;top:180px;background:radial-gradient(closest-side,rgba(59,130,246,.26),rgba(59,130,246,0));animation:drift2 30s ease-in-out infinite alternate}
.aura .a3{width:720px;height:720px;right:-240px;top:120px;background:radial-gradient(closest-side,rgba(244,114,182,.28),rgba(244,114,182,0));animation:drift3 24s ease-in-out infinite alternate}
@keyframes drift1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(60px,40px,0) scale(1.08)}}
@keyframes drift2{from{transform:translate3d(0,0,0)}to{transform:translate3d(120px,-60px,0) scale(1.1)}}
@keyframes drift3{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100px,60px,0) scale(1.06)}}
.grid-bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(20,20,60,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(20,20,60,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 70% 55% at 50% 30%,#000 30%,transparent 75%)}
.hero-in{text-align:center;display:flex;flex-direction:column;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(255,255,255,.75);box-shadow:inset 0 0 0 1px var(--line),0 6px 20px -12px rgba(30,30,80,.3);font-size:14px;font-weight:600;color:var(--text)}
.dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#6d5efc,#ec4899);box-shadow:0 0 0 4px rgba(109,94,252,.15)}
.display{font-size:clamp(44px,7vw,100px);line-height:.98;font-weight:700;letter-spacing:-.045em;margin:22px 0 20px;max-width:13ch}
.display .ln{display:block;overflow:hidden;padding:0 .04em .08em;margin-bottom:-.08em}
.display .w{display:inline-block}
.display .accent em{font-size:1.06em;letter-spacing:-.02em;line-height:1}
.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--muted);max-width:640px}
.ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:28px}
.facts-wrap{display:flex;justify-content:center}
.facts{list-style:none;padding:0;margin:84px 0 0;display:grid;grid-template-columns:repeat(4,auto);gap:0;border-radius:20px;background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.facts li{padding:16px 26px;display:flex;flex-direction:column;align-items:center;gap:2px;border-left:1px solid var(--line)}
.facts li:first-child{border-left:0}
.facts b{font-family:var(--fd);font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.facts li>span{font-size:13px;color:var(--muted)}
@media (max-width:640px){.facts{grid-template-columns:1fr 1fr;margin-top:76px;width:100%}.facts li{padding:14px 10px}.facts li:nth-child(3){border-left:0}.facts li:nth-child(n+3){border-top:1px solid var(--line)}.hero{padding-top:118px}.ctas .btn{width:100%}.ctas{width:100%}}

/* hero entrance (CSS-only so LCP is not blocked by JS) */
@media (prefers-reduced-motion:no-preference){
  .display .w{animation:rise .9s var(--ease) backwards;animation-delay:calc(.08s + var(--i)*.09s)}
  .hero-step{animation:heroStep .8s var(--ease) backwards;animation-delay:calc(.15s + var(--d)*.08s)}
  .stage-in{animation:stageIn 1.1s var(--ease) .35s backwards}
}
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes heroStep{from{opacity:.2;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes stageIn{from{opacity:0;transform:translateY(60px) scale(.96)}to{opacity:1;transform:none}}

/* stage / devices */
.stage{margin-top:56px;perspective:1600px}
.stage-in{position:relative;width:min(900px,100%);margin:auto;transform-style:preserve-3d}
.tilt{transition:transform .5s var(--ease)}
.laptop{width:86%;margin:0 auto 0 0}
.laptop-screen{background:#0d0e1a;border-radius:18px 18px 6px 6px;padding:10px 10px 12px;box-shadow:0 50px 100px -30px rgba(30,30,90,.45),0 0 0 1px rgba(255,255,255,.08) inset}
.laptop-screen img{border-radius:6px;width:100%;height:auto;aspect-ratio:1200/750;background:#14203a}
.laptop-base{height:16px;margin:0 -6%;background:linear-gradient(#e7e8f0,#b9bccb);border-radius:0 0 18px 18px;position:relative;box-shadow:0 18px 30px -18px rgba(20,20,60,.5)}
.laptop-base:before{content:"";position:absolute;left:42%;right:42%;top:0;height:6px;background:#a3a6b6;border-radius:0 0 8px 8px}
.chrome{display:flex;align-items:center;gap:6px;padding:2px 4px 9px}
.chrome i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.chrome i:nth-child(2){background:#febc2e}.chrome i:nth-child(3){background:#28c840}
.chrome span{margin-left:10px;font-size:12px;color:#9aa0b8;background:rgba(255,255,255,.06);padding:3px 12px;border-radius:999px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone{position:relative;background:#0d0e1a;border-radius:38px;padding:9px;box-shadow:0 40px 80px -24px rgba(30,30,90,.5),0 0 0 1px rgba(255,255,255,.1) inset}
.phone img{border-radius:30px;width:100%;height:auto;aspect-ratio:390/844;background:#e9f3f1}
.phone-notch{position:absolute;top:16px;left:50%;width:30%;height:18px;margin-left:-15%;background:#0d0e1a;border-radius:999px;z-index:2}
.stage .phone{position:absolute;right:0;bottom:-30px;width:24%;transform:translateZ(60px)}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 16px 10px 10px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap}
.chip .ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--grad);font-size:14px}
.glass{background:rgba(255,255,255,.86);box-shadow:0 12px 30px -12px rgba(30,30,90,.35),inset 0 0 0 1px rgba(255,255,255,.9)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5)}}
.c1{left:-4%;top:18%;transform:translateZ(80px)}
.c2{left:6%;bottom:8%;transform:translateZ(100px)}
.c3{right:17%;top:-4%;transform:translateZ(70px)}
.tagchip{right:-2%;top:30%;padding:9px 14px;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}
@media (max-width:700px){.stage{margin-top:48px}.laptop{width:92%}.stage .phone{width:30%;bottom:-24px;border-radius:24px;padding:5px}.stage .phone img{border-radius:20px}.phone-notch{top:10px;height:10px}.c1{left:0;top:-8%}.c2{display:none}.c3{right:4%;top:-12%}.tagchip{right:auto;left:0;top:auto;bottom:-46px;font-size:10px}.chip{font-size:12px;padding:7px 12px 7px 7px}.chip .ic{width:22px;height:22px;font-size:11px}.hero{padding-bottom:80px}}

/* sections */
.section{position:relative;padding:120px 0}
.head{max-width:760px;margin:0 auto 56px;text-align:center}
.kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--v);margin-bottom:16px}
.h2{font-size:clamp(34px,5vw,64px);line-height:1.02;font-weight:700;letter-spacing:-.04em}
.h2 .grad{font-size:1.06em}
.sub{margin-top:18px;font-size:clamp(16px,1.4vw,19px);color:var(--muted)}
.card{position:relative;background:rgba(255,255,255,.72);border-radius:var(--r);box-shadow:inset 0 0 0 1px rgba(20,20,60,.07),0 1px 2px rgba(20,20,60,.04),0 20px 40px -28px rgba(20,20,60,.25);transition:transform .25s var(--ease),box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(20,20,60,.09),0 30px 50px -28px rgba(20,20,60,.32)}
.glow{overflow:hidden;isolation:isolate}
.glow:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--x,50%) var(--y,0%),rgba(109,94,252,.14),transparent 45%)}
.glow:hover:before{opacity:1}

/* services */
.services{padding-bottom:40px}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.svc{padding:34px}
.svc h3{font-size:clamp(24px,2.4vw,30px);margin:18px 0 10px}
.svc p{color:var(--muted)}
.svc-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.svc-list li{position:relative;padding-left:30px;color:var(--ink);font-weight:500;font-size:16px}
.svc-list li:before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='11' fill='%236d5efc'/%3E%3Cpath d='m6.5 11.5 3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.svc:hover .ico{transform:rotate(-8deg) scale(1.08)}
@media (max-width:760px){.svc-grid{grid-template-columns:1fr}.svc{padding:26px}}

/* steps */
.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps-line{position:absolute;left:8%;right:8%;top:58px;height:2px;background:rgba(20,20,60,.08);z-index:-1}
.steps-line span{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transform:scaleX(1)}
.js .steps-line span{transform:scaleX(0)}
.step{padding:32px 30px 34px}
.num{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 10px 20px -12px rgba(109,94,252,.5);font:700 18px/1 var(--fd);margin-bottom:22px}
.num{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;border:2px solid transparent}
.step h3{font-size:24px;margin-bottom:10px}
.step p{color:var(--muted)}
@media (max-width:860px){.steps{grid-template-columns:1fr}.steps-line{left:56px;right:auto;width:2px;top:40px;bottom:40px;height:auto}.steps-line span{transform-origin:50% 0}.js .steps-line span{transform:scaleY(0)}}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(220px,auto);gap:18px}
.tile{padding:28px;display:flex;flex-direction:column}
.tile h3{font-size:22px;margin:16px 0 8px}
.tile p{color:var(--muted);font-size:16px}
.ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(109,94,252,.12),rgba(236,72,153,.12));transition:transform .3s var(--ease)}
.ico svg{width:24px;height:24px;fill:none;stroke:var(--v);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tile:hover .ico{transform:rotate(-8deg) scale(1.08)}
.t-mobile{grid-column:span 2;grid-row:span 2;flex-direction:row;gap:24px;align-items:flex-end;background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(238,235,255,.85))}
.t-mobile .tile-txt{flex:1;align-self:flex-start}
.t-mobile h3{font-size:30px}
.mini-phone{width:44%;max-width:230px;margin-bottom:-60px;background:#0d0e1a;border-radius:32px;padding:8px;box-shadow:0 30px 60px -20px rgba(30,30,90,.5);transform:rotate(4deg);transition:transform .5s var(--ease)}
.t-mobile:hover .mini-phone{transform:rotate(0) translateY(-10px)}
.mini-phone img{border-radius:25px;aspect-ratio:390/844;width:100%;height:auto;background:#f4f1ea}
.t-speed{grid-column:span 2}
.t-seo{grid-column:span 2}
.gauge{position:absolute;right:24px;top:22px;width:120px;text-align:center}
.gauge svg{width:120px;height:70px}
.gauge path{fill:none;stroke-width:10;stroke-linecap:round}
.g-bg{stroke:rgba(20,20,60,.08)}
.g-fg{stroke:url(#mg);stroke:#22c55e;stroke-dasharray:100;stroke-dashoffset:6}
.gauge span{display:block;margin-top:-30px;font:700 24px/1 var(--fd);color:var(--ink)}
.gauge small{display:block;font:500 11px/1.4 var(--fb);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.t-speed p{max-width:62%}
.serp{margin-top:18px;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;gap:2px;font-family:Arial,sans-serif}
.serp-url{font-size:12px;color:#4d5156}.serp-title{font-size:17px;color:#1a0dab}.serp-desc{font-size:13px;color:#4d5156}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.t-mobile{grid-column:span 2;grid-row:auto}.t-speed,.t-seo{grid-column:span 2}}
@media (max-width:600px){.bento{grid-template-columns:1fr}.t-mobile,.t-speed,.t-seo{grid-column:auto}.t-mobile{flex-direction:column;align-items:stretch;overflow:hidden}.mini-phone{width:60%;margin:0 auto -90px}.t-speed p{max-width:none}.gauge{position:static;margin:16px 0 0}.tile{padding:24px}}

/* dark sections */
.dark{background:#0b0c18;color:#c9cbe0;border-radius:44px;margin:0 12px;overflow:hidden;isolation:isolate}
.dark h2,.dark h3{color:#fff}
.dark .sub{color:#a3a6c2}.dark .sub strong{color:#fff}
.dark .kicker{color:#a99dff}
.examples .grad,.contact .grad{background-image:linear-gradient(100deg,#a99dff,#7fb2ff 45%,#ff8fc8)}
.spot{position:absolute;inset:0;z-index:-1;background:radial-gradient(600px circle at var(--sx,70%) var(--sy,20%),rgba(109,94,252,.22),transparent 60%),radial-gradient(500px circle at 10% 90%,rgba(236,72,153,.12),transparent 60%);pointer-events:none}
.examples:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(#000,transparent 70%);mask-image:linear-gradient(#000,transparent 70%)}
.tabs{display:flex;gap:6px;justify-content:center;margin:0 auto 34px;padding:6px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);width:max-content;max-width:100%}
.tab{border:0;background:transparent;color:#c9cbe0;font:600 15px/1 var(--fb);padding:12px 20px;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s}
.tab[aria-selected=true]{background:#fff;color:var(--ink)}
.tab:hover{color:#fff}.tab[aria-selected=true]:hover{color:var(--ink)}
html:not(.js) .tabs{display:none}
html:not(.js) #contact-form{display:none}
.nojs-card{display:none;padding:30px}
html:not(.js) .nojs-card{display:block}
.nojs-card h3{font-size:24px;margin-bottom:10px}
.panel{margin-bottom:40px}
.js .panel{display:none}.js .panel.is-active{display:block;animation:panelIn .5s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ex-grid{display:grid;grid-template-columns:1fr 250px;gap:28px;align-items:center}
.browser{margin:0;background:#1a1b2e;border-radius:18px;padding:10px;box-shadow:0 40px 80px -30px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.08)}
.ba{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1200/750;background:#222;user-select:none;touch-action:pan-y}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{clip-path:inset(0 0 0 var(--pos))}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 20px rgba(0,0,0,.5);pointer-events:none}
.ba-handle span{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:20px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-range:focus-visible+.x,.ba:focus-within .ba-handle span{outline:3px solid var(--b);outline-offset:2px}
.ba-label{position:absolute;top:14px;font:700 12px/1 var(--fb);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(13,14,26,.75);color:#fff;pointer-events:none}
.ba-label.l{left:14px}.ba-label.r{right:14px;background:rgba(255,255,255,.9);color:var(--ink)}
/* no-JS: show before & after stacked, no slider */
html:not(.js) .ba{aspect-ratio:auto;display:grid;gap:8px;background:transparent}
html:not(.js) .ba img{position:static;clip-path:none;aspect-ratio:1200/750;height:auto}
html:not(.js) .ba-handle,html:not(.js) .ba-range{display:none}
html:not(.js) .ba-label.r{top:auto;bottom:14px}
.ex-side{display:flex;flex-direction:column;gap:22px}
.phone-sm{width:180px;border-radius:30px;padding:7px}.phone-sm img{border-radius:24px}.phone-sm .phone-notch{top:12px;height:13px}
.demo-badge{display:inline-block;font:700 11px/1 var(--fb);letter-spacing:.1em;text-transform:uppercase;color:#ffd38a;background:rgba(255,190,80,.12);box-shadow:inset 0 0 0 1px rgba(255,190,80,.35);padding:7px 10px;border-radius:999px}
.ex-notes h3{font-size:20px;margin:12px 0 10px}
.ex-notes ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px}
.ex-notes li{padding-left:22px;position:relative}
.ex-notes li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,#a99dff,#ff8fc8)}
.credit{font-size:13px;color:#8b8ea8;text-align:center;margin-top:10px}
.credit a{color:#c9cbe0}
@media (max-width:900px){.ex-grid{grid-template-columns:1fr}.ex-side{flex-direction:row;align-items:center}.phone-sm{width:130px;flex:none}}
@media (max-width:600px){.dark{border-radius:28px;margin:0 6px}.section{padding:84px 0}.tab{padding:11px 14px;font-size:14px}.ba-handle span{width:38px;height:38px;margin:-19px 0 0 -19px}}

/* concept CTA */
.cta-band{overflow:hidden}
.aura-soft .a1{top:-200px;opacity:.7}.aura-soft .a2{top:auto;bottom:-300px;left:auto;right:-200px}
.cta-card{max-width:900px;margin:auto;padding:64px 40px;text-align:center}
.cta-card .sub{max-width:620px;margin-inline:auto}
.cta-card .ctas{margin-top:30px}
.gradient-border{background:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)) padding-box,linear-gradient(140deg,#6d5efc,#3b82f6,#ec4899) border-box;border:2px solid transparent}
.fine{font-size:13px;color:var(--muted);margin-top:16px}
@media (max-width:600px){.cta-card{padding:40px 22px}}

/* faq */
.faq-list{display:grid;gap:12px}
details{background:rgba(255,255,255,.75);border-radius:20px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,background-color .2s}
details[open]{background:#fff;box-shadow:inset 0 0 0 1px rgba(109,94,252,.25),0 20px 40px -30px rgba(30,30,90,.4)}
summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;font:600 19px/1.35 var(--fd);color:var(--ink);position:relative;letter-spacing:-.01em}
summary::-webkit-details-marker{display:none}
summary:after{content:"";position:absolute;right:24px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:rgba(109,94,252,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M14 9v10M9 14h10' stroke='%236d5efc' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .3s var(--ease)}
details[open] summary:after{transform:rotate(45deg)}
details>div{padding:0 26px 22px;color:var(--muted)}
details[open]>div{animation:fadeUp .4s var(--ease)}

/* contact */
.contact{margin-bottom:12px}
.aura-dark .a1{background:radial-gradient(closest-side,rgba(109,94,252,.4),transparent);top:-400px}
.aura-dark .a2{background:radial-gradient(closest-side,rgba(236,72,153,.22),transparent);top:auto;bottom:-360px;left:-200px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.contact .head,.contact-grid .h2{text-align:left}
.mail-link{display:inline-flex;gap:12px;align-items:center;margin-top:30px;font:600 clamp(22px,2.6vw,32px)/1.2 var(--fd);color:#fff;text-decoration:none;letter-spacing:-.02em;padding-bottom:6px;background:linear-gradient(90deg,#a99dff,#ff8fc8) 0 100%/100% 2px no-repeat;transition:transform .2s var(--ease);transform:translate(var(--mx,0),var(--my,0))}
.small{font-size:14px;color:#8b8ea8;margin-top:14px}
.form{padding:30px;display:grid;gap:16px}
.glass-dark{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-dark{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}}
.glass-dark:hover{transform:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:8px;font-size:14px;font-weight:600;color:#dfe0f0}
.opt{font-weight:400;color:#8b8ea8}
input,textarea{width:100%;font:16px/1.4 var(--fb);color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:13px 14px;transition:border-color .2s,background-color .2s}
input::placeholder{color:#7d80a0}
input:focus,textarea:focus{outline:none;border-color:#a99dff;background:rgba(255,255,255,.09)}
textarea{resize:vertical;min-height:90px}
.form .fine{color:#8b8ea8;margin-top:0}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:36px}.row2{grid-template-columns:1fr}}

/* footer */
.footer{padding:44px 0 120px}
.foot-grid{display:grid;grid-template-columns:1fr auto;gap:16px 30px;align-items:center}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-links a{color:var(--muted);text-decoration:none;font-size:15px}.foot-links a:hover{color:var(--ink)}
.footer .small{color:var(--muted)}
.copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px}
@media (max-width:700px){.foot-grid{grid-template-columns:1fr}}

/* mobile bar */
.mobile-bar{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:45;display:none;gap:8px;padding:8px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 14px 34px -12px rgba(20,20,60,.4),inset 0 0 0 1px var(--line);transform:translateY(140%);transition:transform .45s var(--ease)}
.mobile-bar .btn{flex:1;padding:14px}
.mobile-bar.show{transform:none}
@media (max-width:700px){.js .mobile-bar{display:flex}}

/* reveals (hidden only when JS + motion allowed) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(24px)}
  .motion-fallback:not(.motion-ready) .reveal{opacity:1;transform:none;transition:opacity .6s,transform .6s}
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .js .steps-line span{transform:none}
  .js .g-fg{stroke-dashoffset:6}
  .mobile-bar{transform:none}
}

/* privacy page */
.doc{padding:140px 0 60px}
.doc h1{font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-.04em;margin-bottom:18px}
.doc h2{font-size:24px;margin:40px 0 10px}
.doc p,.doc li{color:var(--muted)}
.doc p+p{margin-top:12px}
.doc ul{padding-left:20px}
.doc a{color:#4b3bd6}
[data-count]{display:inline-block;text-align:left}
