
:root{--bg:#f6f8ff;--bg2:#e6ecff;--ink:#0b1030;--mut:#4a5275;--blue:#2f5bff;--glass:rgba(255,255,255,.62);--line:rgba(47,91,255,.14);color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px);scroll-behavior:smooth}
*{box-sizing:border-box;margin:0}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;background-image:radial-gradient(900px 520px at 88% 8%,var(--bg2),transparent 70%),radial-gradient(600px 400px at 0 30%,var(--bg2),transparent 70%)}
.w{max-width:1240px;margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
.im,.art,.t,.wave{background-repeat:no-repeat;background-size:contain;background-position:center}
.t{display:block;aspect-ratio:1;background-size:contain;filter:drop-shadow(0 5px 6px rgba(47,91,255,.18));transition:scale .3s,filter .3s}

nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
nav.sc{background:var(--glass);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(47,91,255,.12)}
nav .w{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:30px;letter-spacing:-.5px}
.logo .im{width:50px}
.lk{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:500}
.lk a:not(.bt){position:relative}
.lk a:not(.bt)::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:0 0;transition:transform .3s}
.lk a:not(.bt):hover::after{transform:scaleX(1)}
.bt{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:600 15px 'Plus Jakarta Sans',sans-serif;background:linear-gradient(180deg,#4a73ff,#2447e0);color:#fff;padding:14px 26px;border-radius:999px;box-shadow:0 10px 24px rgba(47,91,255,.38);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.bt::before{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sh 3.6s ease-in-out infinite}
.bt:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(47,91,255,.5)}
.bt:focus-visible,.cd:focus-visible{outline:3px solid #9bb0ff;outline-offset:3px}
@keyframes sh{0%,60%{left:-70%}100%{left:130%}}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;min-height:640px;padding:10px 0 50px}
.eb{font-size:12px;letter-spacing:2px;color:var(--blue);font-weight:600;margin-bottom:20px}
h1{font-size:clamp(44px,6vw,74px);line-height:1.03;font-weight:800;letter-spacing:-2.5px}
.ln{display:block;overflow:hidden;padding-bottom:6px;margin-bottom:-6px}
.ln>span{display:block;transform:translateY(110%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d)}
.g{background:linear-gradient(100deg,#2f5bff,#7a3df0,#2f9bff,#2f5bff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:up .9s cubic-bezier(.2,.8,.2,1) .5s forwards,fl 6s linear infinite!important}
@keyframes up{to{transform:none}}@keyframes fl{to{background-position:300% 0}}
.fi{opacity:0;animation:fi .9s ease forwards;animation-delay:var(--d)}@keyframes fi{to{opacity:1}}
.ld{margin:24px 0 30px;max-width:470px;color:var(--mut);line-height:1.65}
.av{display:flex;gap:16px;align-items:center;margin-top:36px;font-size:13px;font-weight:500;color:var(--blue);flex-wrap:wrap}
.av .im{width:34px;border-radius:50%;background-color:rgba(255,255,255,.7)}.av .o{margin-left:-24px}
.av b{opacity:.5;animation:nd 1.6s ease-in-out infinite}.av b:nth-of-type(2){animation-delay:.3s}.av b:nth-of-type(3){animation-delay:.6s}
@keyframes nd{50%{transform:translateX(5px);opacity:1}}
.st0{position:relative;height:600px}
.st0>*{position:absolute}
.px{transition:translate .5s ease-out;translate:calc(var(--mx,0)*var(--k)*1px) calc(var(--my,0)*var(--k)*1px)}
.pod{width:122%;left:-12%;bottom:-20px;--k:-8}
.pod::after{content:"";position:absolute;inset:25% 15%;border-radius:50%;box-shadow:0 0 0 0 rgba(47,91,255,.35);animation:rg 3.4s ease-out infinite}
@keyframes rg{to{box-shadow:0 0 0 60px rgba(47,91,255,0)}}
.emb{width:56%;left:22%;top:46px;--k:22;filter:drop-shadow(0 34px 30px rgba(47,91,255,.35))}
.emb>div{animation:bob 6s ease-in-out infinite}
.rb{width:28%;left:-2%;top:215px;--k:34}.rb>div,.ro>div,.or>div{animation:bob 5s ease-in-out infinite}
.ro{width:22%;right:0;bottom:44px;--k:40}.rp{width:23%;right:14%;top:-6px;--k:30;z-index:2}.rp>div{animation:bob 6s ease-in-out infinite -1s}.ro>div{animation-delay:-2s}
.or>div{animation-duration:7s}
@keyframes bob{50%{transform:translateY(-16px) rotate(1.5deg)}}
.gl{background:var(--glass);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:0 18px 40px rgba(47,91,255,.2);padding:14px 18px;font-size:13px;color:var(--mut)}
.gl.a{left:16%;top:30px;transform:rotate(-6deg);--k:-14;animation:bob 7s ease-in-out infinite}
.gl.a p{margin:5px 0}.gl.a p::before{content:"→ ";color:var(--blue)}
.gl.c{right:-1%;top:130px;width:150px;display:flex;align-items:flex-end;gap:10px;height:112px;--k:-24;animation:bob 6s ease-in-out infinite -1s}
.gl.c i{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(#7a9bff,#2f5bff);height:var(--h);animation:gr 1.4s cubic-bezier(.2,.8,.2,1) both,pl 3s ease-in-out infinite;animation-delay:1s,2.4s}
@keyframes gr{from{height:0}}@keyframes pl{50%{filter:brightness(1.25)}}
.gl.s{right:-3%;top:285px;width:190px;display:grid;grid-template-columns:44px 1fr;gap:4px 12px;--k:-30;animation:bob 8s ease-in-out infinite -3s}
.gl.s .t{width:44px;grid-row:span 4}.gl.s span{font-size:12px;line-height:1.4}
.o1{width:64px;left:42%;top:-4px;--k:-40}.o2{width:96px;left:6%;bottom:90px;--k:30}.o3{width:52px;right:12%;top:170px;--k:-50}.o4{width:74px;right:-3%;bottom:150px;--k:20}
.sec{padding:70px 0 20px}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:34px}
.sh h2{font-size:clamp(30px,4vw,42px);font-weight:800;letter-spacing:-1px;margin-top:10px}
.sh p{max-width:340px;color:var(--mut);font-size:14px;line-height:1.6}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--d,0ms),transform .8s var(--d,0ms),translate .3s,box-shadow .3s}
.rv.in{opacity:1;transform:none}
.jr{display:flex;align-items:stretch;gap:6px}
.jn{flex:1;background:var(--glass);border:1px solid var(--line);border-radius:22px;padding:20px 14px;text-align:center;font-size:14px;line-height:1.45;transition:translate .4s,box-shadow .4s}
.jn .t{width:58px;margin:0 auto 12px;transition:scale .4s}
.jn:hover{translate:0 -8px;box-shadow:0 20px 40px rgba(47,91,255,.28)}.jn:hover .t{scale:1.18}
.ja{align-self:center;width:26px;height:2px;flex:none;background:linear-gradient(90deg,transparent,var(--blue),transparent);background-size:200% 100%;animation:fw 1.4s linear infinite;position:relative}
.ja::after{content:"";position:absolute;right:0;top:-4px;border:5px solid transparent;border-left:7px solid var(--blue);border-right:0}
@keyframes fw{to{background-position:-200% 0}}
.cds{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cd{position:relative;border-radius:26px;padding:20px;cursor:pointer;background:var(--pn);border:1px solid #fff;box-shadow:0 14px 34px rgba(47,91,255,.14);overflow:hidden;color:#0b1030;--mut:#4a5275}
.cd:hover{translate:0 -10px;box-shadow:0 26px 50px rgba(47,91,255,.28)}
.cd.on{outline:2px solid var(--ac);outline-offset:3px}
.cd .art{height:180px;margin:-6px -6px 14px;border-radius:18px;background-size:contain;background-position:center;transition:scale .6s}
.cd:hover .art{scale:1.06}
.tg{display:inline-block;font-size:12px;font-weight:600;color:var(--ac);background:var(--ac2);padding:6px 14px;border-radius:999px}
.cd h3{font-size:20px;margin:6px 0 6px;letter-spacing:-.4px}
.cd p{font-size:13px;line-height:1.55;color:var(--mut);padding-bottom:4px}
.chain{display:flex;align-items:center;gap:4px;margin-top:14px}
.chain .t{width:38px;flex:none}.chain b{color:var(--ac);font-size:12px;animation:nd 1.6s ease-in-out infinite}
.go{position:absolute;right:16px;top:164px;width:42px;transition:rotate .4s,scale .4s}.cd:hover .go{rotate:45deg;scale:1.15}
.ops{--ac:#2f5bff;--ac2:#e3ebff;--pn:linear-gradient(145deg,#f4f7ff,#dfe8ff)}
.cmp{--ac:#7a3df0;--ac2:#eadfff;--pn:linear-gradient(145deg,#f8f4ff,#e6dbff)}
.inv{--ac:#f2631a;--ac2:#ffe6d2;--pn:linear-gradient(145deg,#fffaf5,#ffe4cd)}
.pw{display:grid;grid-template-rows:1fr;transition:grid-template-rows .7s cubic-bezier(.2,.8,.2,1),margin .7s;margin-top:26px}
.pw.shut{grid-template-rows:0fr;margin-top:0}.pw>div{overflow:hidden;min-height:0}
.pn{position:relative;display:grid;grid-template-columns:300px 1fr;gap:26px;border-radius:30px;background:var(--pn);border:1px solid #fff;box-shadow:0 20px 60px rgba(47,91,255,.2);padding:26px;color:#0b1030;--mut:#4a5275;animation:pi .7s cubic-bezier(.2,.8,.2,1)}
@keyframes pi{from{opacity:0;transform:translateY(20px) scale(.98)}}
.pn .art{border-radius:22px;background-size:contain;background-position:center;min-height:240px;animation:bob 7s ease-in-out infinite}
.pn small{font-size:12px;letter-spacing:1.5px;font-weight:600;color:var(--mut)}
.pn h3{font-size:clamp(22px,3vw,30px);letter-spacing:-.6px;margin:6px 0}
.pn .tg{position:absolute;right:80px;top:30px}
.pn>div>p{color:var(--mut);line-height:1.55;max-width:620px;font-size:15px}
.x{position:absolute;right:22px;top:22px;width:42px;height:42px;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.85);font-size:22px;cursor:pointer;color:#0b1030;transition:rotate .4s,scale .3s}
.x:hover{rotate:90deg;scale:1.1}
.fl{display:flex;align-items:flex-start;gap:6px;margin-top:22px;overflow-x:auto;padding:12px 4px 10px}
.s{width:84px;flex:none;text-align:center;font-size:12px;line-height:1.35;animation:pop .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*110ms)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.8)}}
.s .t{width:70px;margin:0 auto 8px;transition:scale .4s,box-shadow .4s}
.s:hover .t{scale:1.2;filter:drop-shadow(0 12px 14px var(--ac))}.s:hover span{color:var(--ac);font-weight:700}
.fl .ar{align-self:flex-start;margin-top:30px;width:20px;height:2px;flex:none;background:var(--ac);position:relative;animation:nd 1.6s ease-in-out infinite}
.fl .ar::after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left:7px solid var(--ac);border-right:0}
.cn{display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center;justify-content:space-between;margin-top:50px}
.cn h4{font-size:18px}.cn p{font-size:13px;color:var(--mut)}
.cl{display:flex;flex-wrap:wrap;gap:20px 30px;font-size:14px}
.cl a{display:flex;align-items:center;gap:10px;transition:translate .3s}.cl a:hover{translate:0 -4px}.cl a:hover .t{scale:1.15}.cl .t{width:36px}
.ct{position:relative;margin-top:30px;padding:60px 0 70px;overflow:hidden}
.wave{position:absolute;left:-5%;width:110%;bottom:0;height:230px;background-size:100% 100%;animation:dr 12s ease-in-out infinite alternate;-webkit-mask-image:linear-gradient(transparent,#000 40%);mask-image:linear-gradient(transparent,#000 40%)}
@keyframes dr{to{transform:translateX(4%)}}
.cg{position:relative;display:grid;grid-template-columns:150px 1fr 1.05fr;gap:30px;align-items:center}
.cg .im{width:150px}.cg .im>div{animation:bob 5s ease-in-out infinite}
.dots{display:inline-flex;gap:4px;background:var(--glass);border-radius:14px;padding:10px 12px;margin:-30px 0 0 100px;position:absolute}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--blue);animation:ty 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
@keyframes ty{40%{transform:translateY(-5px)}}
.cg h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-1px;line-height:1.1;margin:10px 0 14px}
.cg p{color:var(--mut);font-size:14px;line-height:1.6}
form{background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border:1px solid #fff;border-radius:26px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px;box-shadow:0 20px 50px rgba(47,91,255,.18);color:#0b1030}
form input,form textarea{width:100%;font:500 14px 'Plus Jakarta Sans',sans-serif;border:1px solid #dfe6ff;border-radius:12px;padding:14px;background:#f7f9ff;color:#0b1030;outline:0;transition:border .25s,box-shadow .25s,background .25s}
form input:focus,form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,91,255,.15);background:#fff}
form textarea{grid-column:2;grid-row:1/4;resize:none;height:100%;min-height:130px}
form input:nth-child(3){grid-column:1}form .bt{grid-column:1/-1;justify-content:center}
form .bt.ok{background:linear-gradient(180deg,#22c28a,#0f9d6b)}
footer{border-top:1px solid var(--line);position:relative;background:var(--bg)}footer .w{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;padding-bottom:22px;font-size:14px}
@media (max-width:980px){.hero,.pn,.cg{grid-template-columns:1fr}.st0{height:500px}.lk a:not(.bt){display:none}.cds{grid-template-columns:1fr}.jr{flex-wrap:wrap}.ja{display:none}.jn{flex:1 1 30%}.pn .tg{position:static}.cg .im{display:none}.dots{display:none}form{grid-template-columns:1fr}form textarea{grid-column:1;grid-row:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ln>span,.g{transform:none!important}.fi,.rv{opacity:1;transform:none}}
.im-emb{background-image:url(home/0da8f1edcf4a.webp);aspect-ratio:620/514}
.im-pod{background-image:url(home/f80b5b72a4a9.webp);aspect-ratio:900/263}
.im-rb{background-image:url(home/e037f59c63f2.webp);aspect-ratio:480/446}
.im-ro{background-image:url(home/9e8c16f670dc.webp);aspect-ratio:420/339}
.im-rp{background-image:url(home/5c0706c41e2b.webp);aspect-ratio:480/390}
.im-orb{background-image:url(home/abf08ce48b85.webp);aspect-ratio:220/215}
.a-ops{background-image:url("../robots/ops.webp")}
.a-cmp{background-image:url("../robots/cmp.webp")}
.a-inv{background-image:url("../robots/inv.webp")}
.wave{background-image:url(home/e911cd89f330.webp)}
.i00{background-image:url(home/aa728e553d02.webp)}
.i01{background-image:url(home/4905e41a88c5.webp)}
.i02{background-image:url(home/f1f91a5fdb03.webp)}
.i03{background-image:url(home/d9b87b64f9f1.webp)}
.i04{background-image:url(home/83161835ef0f.webp)}
.i05{background-image:url(home/7888c00e9753.webp)}
.i06{background-image:url(home/eade2e3e4b29.webp)}
.i07{background-image:url(home/2b9b578740ab.webp)}
.i08{background-image:url(home/4a10bfef22d3.webp)}
.i0a{background-image:url(home/1a21d1681533.webp)}
.i0b{background-image:url(home/09c8b9069a16.webp)}
.i12{background-image:url(home/3485fbdb247c.webp)}
.i13{background-image:url(home/0eae7dbc477b.webp)}
.i14{background-image:url(home/2145386e55b9.webp)}
.i15{background-image:url(home/a81162ed4653.webp)}
.i19{background-image:url(home/39347954b587.webp)}
.i20{background-image:url(home/f8b3572cc6f0.webp)}
.i21{background-image:url(home/0fcf1eae4a0f.webp)}
.i22{background-image:url(home/1a675b874586.webp)}
.i23{background-image:url(home/30a6fc9eb0bb.webp)}
.i25{background-image:url(home/6f0b8160911f.webp)}
.i26{background-image:url(home/bab1a9ede960.webp)}
.i27{background-image:url(home/89c5bf996a53.webp)}
.i28{background-image:url(home/15cd8e768a89.webp)}
.i29{background-image:url(home/c628889ae61e.webp)}
.i2a{background-image:url(home/459e6b07eb17.webp)}
.i2e{background-image:url(home/7e4a3d3124da.webp)}
.i2f{background-image:url(home/02e0788c02e1.webp)}
.i30{background-image:url(home/b46c7684ddd0.webp)}
.i31{background-image:url(home/a229a5903d17.webp)}
.i32{background-image:url(home/0efe4a3575ad.webp)}
.i33{background-image:url(home/ee42b79c2e5c.webp)}
.i34{background-image:url(home/180e6b6eadb8.webp)}
.i37{background-image:url(home/7db21931b699.webp)}
.i39{background-image:url(home/374ed9b13149.webp)}
.i59{background-image:url(home/861f264b504c.webp)}
.i5a{background-image:url(home/fdc442451b7b.webp)}
/* Fluid, compact layouts without scaling text or touch controls. */
html{scroll-behavior:auto;scroll-padding-top:96px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:clip}
.w{width:min(75%,1100px);max-width:none;padding-inline:clamp(16px,1.8vw,26px)}
main,section,article,form,.hero>div,.pn>div,.cg>div{min-width:0}
a,button,input,textarea{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent }
.lk{gap:clamp(14px,2vw,26px)}
.hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px;min-height:0;padding:14px 0 38px}
h1{font-size:clamp(38px,4.7vw,66px);letter-spacing:-1.8px}
.ld{font-size:clamp(14px,1.1vw,16px);margin:18px 0 23px;line-height:1.65}
.av{gap:12px;margin-top:27px;font-size:12px}
.av .im{width:30px}.av .o{margin-left:-20px}
.st0{position:relative;isolation:isolate;width:100%;max-width:540px;height:auto;aspect-ratio:1.12;margin:0 auto}
.st0 .px{--k:12}
.st0 .pod{width:100%;left:0;bottom:3%;z-index:0;--k:-4}
.st0 .emb{width:48%;left:28%;top:19%;z-index:1;--k:8;filter:drop-shadow(0 20px 22px rgba(47,91,255,.25))}
.st0 .rb{width:26%;left:8%;top:41%;bottom:auto;z-index:5;filter:drop-shadow(0 14px 15px rgba(47,91,255,.2))}
.st0 .rp{width:25%;left:41%;right:auto;top:55%;bottom:auto;z-index:6;filter:drop-shadow(0 14px 15px rgba(122,61,240,.23))}
.st0 .ro{width:21%;left:auto;right:6%;top:auto;bottom:22%;z-index:5;filter:drop-shadow(0 14px 15px rgba(242,99,26,.18))}
.st0 .rb>.im,.st0 .rp>.im,.st0 .ro>.im{animation:robot-hover 6s cubic-bezier(.45,0,.55,1) infinite;transform-origin:50% 60%}
.st0 .rb>.im{animation-delay:-.8s}.st0 .rp>.im{animation-delay:-2.1s}.st0 .ro>.im{animation-delay:-3.4s}
@keyframes robot-hover{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-9px) rotate(.6deg)}}
.st0 .gl{z-index:2;padding:clamp(6px,1vw,11px);border-radius:14px;font-size:clamp(8px,.8vw,11px)}
.st0 .gl.a{left:7%;top:8%;width:27%;transform:rotate(-4deg)}
.st0 .gl.a p{margin:3px 0}
.st0 .gl.c{right:5%;top:20%;width:22%;height:17%;gap:6px}
.st0 .gl.s{left:auto;right:3%;top:45%;width:30%;grid-template-columns:minmax(18px,25%) minmax(0,1fr);gap:2px 5px}
.st0 .gl.s .t{width:100%;grid-row:span 4}.st0 .gl.s span{font-size:inherit;line-height:1.35;overflow-wrap:break-word}
.st0 .o1{width:8%;left:43%;top:7%;z-index:0}
.st0 .o2{width:13%;left:9%;bottom:15%;z-index:2}
.st0 .o3{width:7%;right:18%;top:35%;z-index:1}
.st0 .o4{width:10%;right:4%;bottom:12%;z-index:2}
.sec{padding:52px 0 15px}
.sh{gap:22px;margin-bottom:25px}.sh h2{font-size:clamp(27px,3vw,36px)}
.sh p{font-size:13px;max-width:310px}
.sh .bt{font-size:13px;padding:12px 20px}
.jr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ja{display:none}
.jn{padding:15px 10px;font-size:12px;min-width:0}.jn .t{width:44px;margin-bottom:9px}
.cds{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:17px}
.cd{padding:16px;border-radius:22px}
.cd .art{height:auto;aspect-ratio:560/467;margin:-3px -3px 11px;background-size:contain;background-position:center}
.cd h3{font-size:18px}.cd p{font-size:12px}
.pw{margin-top:20px}
.pn{grid-template-columns:minmax(170px,23%) minmax(0,1fr);padding:20px;gap:20px;border-radius:24px;align-items:center}
.pn .art{background-size:contain;background-position:center;aspect-ratio:560/467;min-height:0;width:100%;animation:none;align-self:center}
.project-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-right:36px;margin-bottom:10px}
.project-heading h3{flex:1 1 260px;margin:5px 0 0;font-size:clamp(21px,2vw,26px)}
.pn small{font-size:10px}.pn .tg{position:static;flex:none;font-size:11px;padding:5px 11px}
.pn>div>p{font-size:13px;max-width:none}
.pn .x{width:38px;height:38px;right:14px;top:14px}
.pn .fl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 15px;margin-top:18px;padding:6px 0 10px;overflow:visible;align-items:start}
.pn .s{position:relative;width:auto;min-width:0;font-size:11px;line-height:1.5;animation-duration:.65s}
.pn .s .t{width:40px;max-width:100%;margin:0 auto 8px}
.pn .s span{display:block;overflow-wrap:break-word}
.step-number{display:block;font-size:9px;letter-spacing:.06em;font-weight:700;color:var(--ac);opacity:.65;margin-bottom:7px}
.pn .s:not(:last-child)::after{content:'\2192';position:absolute;right:-13px;top:32px;color:var(--ac);font-size:15px;line-height:1;font-weight:700}
.pn .s:nth-child(4n)::after{display:none}.pn .s:last-child .step-number{opacity:1}
.cd:focus-visible,.x:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #7a3df0;outline-offset:4px}
.cd[aria-expanded=true]{outline:2px solid var(--ac);outline-offset:3px}
.ct{margin-top:22px;padding:45px 0 52px}
.cg{grid-template-columns:110px minmax(0,1fr) minmax(0,1.15fr);gap:22px}
.cg>.im{width:110px}.dots{margin-left:75px}
.cg h2{font-size:clamp(27px,2.5vw,34px)}.cg p{font-size:13px}
form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:18px;gap:10px}
form input,form textarea{min-width:0;font-size:16px;padding:12px;min-height:44px}
form textarea{resize:vertical;grid-column:2;grid-row:1/4}
#form-status{grid-column:1/-1;font-size:11px;line-height:1.6;color:var(--mut);overflow-wrap:anywhere}
footer .w{padding-block:17px;font-size:12px}.cl{gap:15px 22px;font-size:12px}.cl a{min-height:44px;overflow-wrap:anywhere}.cl .t{width:28px}
.wave{pointer-events:none}
@media(min-width:1440px){.pn .fl{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}.pn .s:nth-child(4n):not(:last-child)::after{display:block}.pn .s{font-size:10px}}
@media(max-width:1100px){.w{width:94%}.jr{grid-template-columns:repeat(3,minmax(0,1fr))}.cg{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.cg>.im,.dots{display:none}.lk a:not(.bt){display:none}}
@media(max-width:760px){
 .w{width:100%;padding-inline:clamp(16px,4vw,28px)}
 .hero{grid-template-columns:minmax(0,1fr);padding:24px 0 28px;gap:14px}
 .hero>div:first-child{max-width:540px;margin-inline:auto;width:100%}
 .st0{max-width:460px;margin-top:0}
 h1{font-size:clamp(38px,8vw,56px)}
 .ld{font-size:15px;max-width:520px}.av{margin-top:23px;gap:10px}
 .sec{padding-top:36px}.sh{gap:16px;margin-bottom:20px}.sh h2{font-size:29px}
 .pn{grid-template-columns:minmax(0,1fr);padding:18px;gap:18px}
 .pn .art{max-width:340px;margin-inline:auto}
 .project-heading{padding-right:0}.project-heading h3{flex-basis:100%;font-size:24px}
 .pn .x{right:22px;top:22px;background:#fff;box-shadow:0 4px 14px rgba(11,16,48,.12)}
 .pn .fl{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px}
 .cg{grid-template-columns:minmax(0,1fr);gap:20px}
 .cg form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .cg form textarea{grid-column:2;grid-row:1/4}
 .ct{padding:34px 0 40px}
 footer .w{justify-content:center;text-align:center}.cl{justify-content:center}
}
@media(max-width:480px){
 nav .w{padding-block:10px}.logo{font-size:24px;gap:7px}.logo .im{width:38px}
 .lk{gap:0}.lk .bt{font-size:12px;padding:11px 15px;min-height:44px}
 .hero .bt{min-height:44px}.av{font-size:11px;gap:8px}.av .im{width:26px}.av .o{margin-left:-16px}
 .jr{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .cds{grid-template-columns:minmax(0,1fr)}
 .sh h2{font-size:27px}.sh .bt{min-height:44px}
 .pn .fl{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}
 .pn .s{font-size:12px}.pn .s:nth-child(2n)::after{display:none}
 .cg form{grid-template-columns:minmax(0,1fr)}.cg form textarea{grid-column:1;grid-row:auto;min-height:130px}
 .cl{gap:10px 16px}
}
@media(max-width:350px){.logo{font-size:21px}.logo .im{width:30px}.lk .bt{padding-inline:12px;font-size:11px}.av .im{width:22px}.av{font-size:10px;gap:6px}.av .o{margin-left:-14px}.st0 .gl{padding:5px;font-size:8px}.st0 .gl.s{grid-template-columns:18px minmax(0,1fr);width:32%}}
@media(hover:hover) and (pointer:fine){.st0 .rb:hover>.im,.st0 .rp:hover>.im,.st0 .ro:hover>.im{scale:1.05}.st0 .rb>.im,.st0 .rp>.im,.st0 .ro>.im{transition:scale .35s ease}}
@media(hover:none){.cd:hover,.jn:hover{translate:none}.cd:hover .art,.s:hover .t{scale:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.px{translate:none!important}.fi,.rv{opacity:1;transform:none}.ln>span,.g{transform:none!important}}

/* Give the headline descenders and all hero artwork room to render fully. */
.hero h1{line-height:1.16}
.hero .ln{padding-top:.06em;padding-bottom:.22em;margin-bottom:-.22em}
.hero .ln>span{line-height:1.16;overflow:visible}
.hero,.st0,.st0 .px,.st0 .im{overflow:visible}
.st0 .rb>.im,.st0 .rp>.im,.st0 .ro>.im{width:100%;background-size:contain;animation-duration:8s;will-change:transform;backface-visibility:hidden}
.st0 .px{transition:translate .8s cubic-bezier(.2,.65,.25,1)}
.st0 .emb>div,.st0 .or>div{animation-duration:9s}
@keyframes robot-hover{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-7px) rotate(.35deg)}}
.rv{transform:translateY(18px);transition:opacity .95s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .95s cubic-bezier(.2,.7,.2,1) var(--d,0ms),translate .45s ease,box-shadow .45s ease}
.rv.in{transform:none}
.bt{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
nav{transition:background .45s ease,box-shadow .45s ease}
.pw{transition:grid-template-rows .85s cubic-bezier(.2,.7,.2,1),margin .85s cubic-bezier(.2,.7,.2,1)}
nav .logo .im{width:clamp(54px,5.4vw,72px)}
.social-x{display:grid;place-items:center;width:28px;height:28px;flex:none;color:#fff;background:linear-gradient(145deg,#5279ff,#6831df);border-radius:8px;box-shadow:0 4px 8px rgba(47,91,255,.18)}
.social-x svg{display:block;width:16px;height:16px;fill:currentColor}
#hero.motion-paused *{animation-play-state:paused!important}
.st0 .rp{--guide-x:0px;--guide-y:0px;cursor:grab;transform:translate3d(var(--guide-x),var(--guide-y),0);transition:transform .13s linear,translate .8s cubic-bezier(.2,.65,.25,1);touch-action:none}
.st0 .rp.guide-active{z-index:14;cursor:grabbing}
.st0 .rp.guide-return{transition:transform .72s cubic-bezier(.2,.8,.2,1),translate .8s cubic-bezier(.2,.65,.25,1)}
#work{width:min(75vw,100%);margin-inline:auto}
@media(max-width:480px){nav .logo .im{width:52px}}
@media(max-width:760px){#work{width:100%}}
@media(prefers-reduced-motion:reduce){.rv{transform:none}.st0 .rb>.im,.st0 .rp>.im,.st0 .ro>.im{will-change:auto}.hero .ln>span{transform:none!important}}


/* Fallback is eager: JS enhancement alone enables deferred artwork. */
.perf-lazy [data-lazy-art]{background-image:none!important}
[data-motion-paused],[data-motion-paused] *,[data-motion-paused]::before,[data-motion-paused]::after,[data-motion-paused] *::before,[data-motion-paused] *::after{animation-play-state:paused!important}
