@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}._7WDPRa_className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}._7WDPRa_variable{--font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.veOXhW_className{font-family:Geist,Geist Fallback;font-style:normal}.veOXhW_variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.rdjX_G_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.rdjX_G_variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#0a0b0e;--bg-2:#0d0f13;--surface:#12141a;--surface-2:#171a21;--line:#ffffff14;--line-2:#ffffff29;--text:#eceef2;--muted:#959aa6;--blue:#4a77ff;--violet:#8062ff;--blue-soft:#4a77ff29;--violet-soft:#8062ff24;--pad:clamp(20px, 5vw, 80px);--max:1360px;--ease:cubic-bezier(.22, 1, .36, 1);--display:var(--font-display), "Helvetica Neue", Arial, sans-serif;--sans:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:17px;line-height:1.6;overflow-x:clip}::selection{background:var(--blue);color:#fff}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:#262a33;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#343945}a{color:inherit;text-underline-offset:.25em}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}img,svg{max-width:100%;display:block}p{text-wrap:pretty}h1,h2,h3{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;font-weight:500;line-height:1.02}.skip{z-index:100;background:var(--text);color:var(--bg);border-radius:6px;padding:10px 16px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:16px}.skip:focus{top:16px}.wrap{max-width:var(--max);padding-inline:var(--pad);margin-inline:auto}.btn{isolation:isolate;min-height:52px;font:500 .98rem/1 var(--sans);letter-spacing:-.005em;cursor:pointer;border:1px solid var(--line-2);color:var(--text);transition:border-color .3s var(--ease), color .3s var(--ease), transform .3s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:12px;padding:0 24px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;border-radius:inherit;background:var(--text);transition:transform .45s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.btn:hover{color:var(--bg);border-color:var(--text)}.btn:hover:before{transform:translateY(0)}.btn:active{transform:scale(.98)}.btn .arrow{width:16px;height:16px;transition:transform .4s var(--ease);flex:none}.btn:hover .arrow{transform:translate(4px)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:before{background:linear-gradient(100deg, var(--blue), var(--violet))}.btn.primary:hover{color:#fff;border-color:#0000}.btn.sm{min-height:40px;padding:0 18px;font-size:.9rem}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;inset:0 0 auto}.nav.scrolled{border-bottom-color:var(--line);background:#0a0b0eeb}.nav .bar{justify-content:space-between;align-items:center;gap:24px;height:76px;display:flex}.wordmark{font:600 1.15rem/1 var(--display);letter-spacing:.22em;text-transform:uppercase;text-decoration:none}.nav ul{gap:36px;padding:0;list-style:none;display:flex}.nav ul a{color:var(--muted);padding-block:6px;font-size:.95rem;text-decoration:none;transition:color .25s;position:relative}.nav ul a:after{content:"";background:var(--text);transform-origin:0;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav ul a:hover,.nav ul a[aria-current=true]{color:var(--text)}.nav ul a:hover:after,.nav ul a[aria-current=true]:after{transform:scaleX(1)}.menu-btn{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:none}.menu-btn span{background:var(--text);width:16px;height:1.5px;transition:background .2s;display:block;position:relative}.menu-btn span:before,.menu-btn span:after{content:"";background:var(--text);width:16px;height:1.5px;transition:transform .35s var(--ease);position:absolute;left:0}.menu-btn span:before{top:-5px}.menu-btn span:after{top:5px}.menu-btn[aria-expanded=true] span{background:0 0}.menu-btn[aria-expanded=true] span:before{transform:translateY(5px)rotate(45deg)}.menu-btn[aria-expanded=true] span:after{transform:translateY(-5px)rotate(-45deg)}.mobile-menu{border-bottom:1px solid var(--line);background:var(--bg);overflow:hidden}.mobile-menu ul{padding:4px var(--pad) 24px;flex-direction:column;gap:0;display:flex}.mobile-menu li a{font:500 1.8rem/1 var(--display);letter-spacing:-.03em;color:var(--text);border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none;display:block}.mobile-menu li a:after{display:none}.mobile-menu .btn{margin:24px var(--pad) 28px;width:calc(100% - 2 * var(--pad));justify-content:center}.hero{isolation:isolate;align-items:center;min-height:100svh;padding-block:120px 72px;display:flex;position:relative;overflow:clip}.hero .glow{z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#4a77ff38,#8062ff1a 55%,#0000 75%);width:70vw;max-width:1000px;height:70vw;max-height:1000px;position:absolute;inset:-20% -10% auto auto}.hero .glow.two{background:radial-gradient(closest-side,#8062ff29,#0000 70%);width:55vw;height:55vw;inset:auto auto -30% -20%}.hero .grid-lines{z-index:-1;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:96px 96px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 70% 40%,#000,#0000 75%);mask-image:radial-gradient(80% 70% at 70% 40%,#000,#0000 75%)}.hero-inner{grid-template-columns:minmax(0,5.8fr) minmax(0,6.2fr);align-items:center;gap:clamp(28px,4vw,72px);width:100%;display:grid}.eyebrow{font:500 .78rem/1 var(--mono);letter-spacing:.2em;color:var(--muted);text-transform:uppercase;align-items:center;gap:14px;display:flex}.eyebrow:before{content:"";background:var(--line-2);width:36px;height:1px}.hero h1{letter-spacing:-.045em;margin-top:28px;font-size:clamp(2.8rem,5.6vw,5.5rem);font-weight:500}.hero h1 .word{vertical-align:top;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block;overflow:hidden}.hero h1 .word>span{display:inline-block}.hero .lede{max-width:46ch;color:var(--muted);margin-top:28px;font-size:1.15rem}.hero .cta{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.section{border-top:1px solid var(--line);padding-block:clamp(88px,12vw,176px);position:relative}.section-head{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:end;gap:clamp(24px,5vw,96px);margin-bottom:clamp(40px,6vw,88px);display:grid}.label{font:500 .78rem/1 var(--mono);letter-spacing:.2em;color:var(--muted);text-transform:uppercase}.section-head h2{font-size:clamp(2.2rem,5vw,4.4rem)}.section-head p{color:var(--muted);max-width:52ch;margin-top:18px;font-size:1.1rem}.about{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,7vw,128px);display:grid}.about .statement{font:500 clamp(1.8rem, 3.6vw, 3.1rem)/1.12 var(--display);letter-spacing:-.035em}.about .statement em{color:var(--muted);font-style:normal}.principles{border-top:1px solid var(--line-2);align-self:end;padding:0;list-style:none}.principles li{border-bottom:1px solid var(--line);grid-template-columns:7rem 1fr;gap:20px;padding:26px 0;display:grid}.principles h3{font:600 .82rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.principles p{color:var(--muted)}.process{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,5vw,96px);display:grid}.process-intro{align-self:start;position:sticky;top:120px}.process-intro h2{margin-top:20px;font-size:clamp(2.2rem,5vw,4.4rem)}.process-intro p{color:var(--muted);max-width:34ch;margin-top:20px}.steps{padding:0 0 0 clamp(28px,4vw,56px);list-style:none;position:relative}.steps .rail{background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:0}.steps .rail i{background:linear-gradient(var(--blue), var(--violet));transform-origin:top;position:absolute;inset:0}.step{border-bottom:1px solid var(--line);padding-block:clamp(28px,4vw,56px);position:relative}.step:first-of-type{padding-top:0}.step:before{content:"";background:var(--bg);border:1px solid var(--line-2);border-radius:50%;width:9px;height:9px;transition:background .5s,border-color .5s;position:absolute;top:clamp(36px,4.4vw,64px);left:calc(-1*clamp(28px,4vw,56px) - 4px)}.step:first-of-type:before{top:8px}.step.on:before{background:var(--blue);border-color:var(--blue)}.step .num{font:500 .9rem/1 var(--mono);color:var(--muted);letter-spacing:.1em}.step h3{margin-top:14px;font-size:clamp(2rem,4vw,3.2rem)}.step p{color:var(--muted);max-width:52ch;margin-top:14px}.contact{text-align:left;isolation:isolate;overflow:clip}.contact .glow{z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#4a77ff2e,#8062ff1a 55%,#0000 75%);width:80vw;max-width:1100px;height:80vw;max-height:1100px;position:absolute;inset:auto -10% -45% auto}.contact h2{letter-spacing:-.05em;max-width:12ch;font-size:clamp(3rem,9vw,8.6rem)}.contact p{color:var(--muted);max-width:46ch;margin-top:28px;font-size:1.15rem}.contact .cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:44px;display:flex}.contact .note{color:var(--muted);font-size:.92rem}.footer{border-top:1px solid var(--line);padding-block:40px 48px}.footer .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 40px;display:flex}.footer ul{flex-wrap:wrap;gap:8px 32px;padding:0;list-style:none;display:flex}.footer a{color:var(--muted);font-size:.95rem;text-decoration:none;transition:color .2s}.footer a:hover{color:var(--text)}.footer .fine{color:#8a8f9b;margin-top:28px;font-size:.85rem}@media (max-width:960px){.nav>.wrap>.links,.nav>.wrap>.btn{display:none}.menu-btn{display:inline-flex}.hero{min-height:auto;padding-top:104px}.hero-inner,.section-head,.about,.process{grid-template-columns:1fr}.process-intro{position:static}.principles li{grid-template-columns:1fr;gap:6px}}@media (min-width:961px){.mobile-menu{display:none}}.hero-stage{container-type:inline-size}.hero-stage .h-layer{position:absolute}.hero-stage .h-light{aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#8096ff47,#8062ff1a 55%,#0000 75%);border-radius:50%;width:70%;position:absolute;top:8%;left:14%}.hero-stage .h-browser{width:84%;top:15%;left:0}.hero-stage .h-phone{width:19%;bottom:0;right:3%}.hero-stage .h-mir{width:41%;top:0;right:-1%}.hero-stage .h-mir .s2-frame{aspect-ratio:16/10}@media (max-width:960px){.hero-stage .h-browser{width:92%;top:18%}.hero-stage .h-phone{width:24%;right:2%}.hero-stage .h-mir{width:46%;right:0}}.hero-stage-wrap{position:relative}.hero-stage-box{aspect-ratio:1/.86;perspective:1600px;position:relative}.hero-stage-box .hero-stage{position:absolute;inset:0}@media (max-width:960px){.hero-stage-box{aspect-ratio:1/.92}}
.work .section-head h2{max-width:14ch}.portfolio{grid-template-columns:minmax(0,4fr) minmax(0,8fr);grid-template-areas:"info stage""tabs tabs";align-items:stretch;gap:clamp(28px,4vw,64px) clamp(28px,4vw,72px);display:grid}.pf-info{flex-direction:column;grid-area:info;min-width:0;display:flex}.pf-stage-col{grid-area:stage;min-width:0}.pf-stage{aspect-ratio:16/10;border:1px solid var(--line-2);isolation:isolate;background:#0b0c10;border-radius:6px;width:100%;position:relative;overflow:hidden}.pf-pan{touch-action:pan-y;outline-offset:-4px;position:absolute;inset:0}.pf-pan:focus-visible{outline:2px solid var(--blue);border-radius:6px}.slide{will-change:transform, opacity;position:absolute;inset:0}.slide.bg-1{background:radial-gradient(70% 60% at 38% 40%,#f4f0e821,#0000 70%),#14161b}.slide.bg-2{background:radial-gradient(70% 60% at 60% 30%,#c27b8847,#0000 70%),radial-gradient(60% 60% at 20% 90%,#8062ff38,#0000 70%),#0f1024}.slide.bg-3{background:radial-gradient(60% 55% at 55% 35%,#4f5bff47,#0000 72%),#0b0d18}.slide.bg-4{background:#05070f}.slide.bg-5{background:radial-gradient(55% 60% at 28%,#ff4a2b38,#0000 70%),repeating-linear-gradient(0deg,#ffffff09 0 1px,#0000 1px 48px),repeating-linear-gradient(90deg,#ffffff09 0 1px,#0000 1px 48px),#101010}.pf-count{font:500 .95rem/1 var(--mono);letter-spacing:.1em;font-variant-numeric:tabular-nums;color:var(--muted);align-items:baseline;gap:2px;display:flex}.pf-count .now{color:var(--text);letter-spacing:-.02em;font-size:2.6rem;line-height:1.1;display:inline-flex;overflow:hidden}.pf-count .of{font-size:1rem}.pf-text{margin-top:28px}.pf-style{font:500 .78rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}.pf-name{margin-top:16px;font-size:clamp(2.2rem,3.6vw,3.4rem)}.pf-kind{color:var(--text);margin-top:10px;font-weight:500}.pf-desc{color:var(--muted);max-width:40ch;margin-top:18px}.pf-actions{justify-items:start;gap:16px;margin-top:28px;display:grid}.pf-concept{color:#7b808c;font-size:.85rem}.pf-details{overflow:hidden}.pf-details .inner{border-top:1px solid var(--line);gap:10px;margin-top:24px;padding-top:24px;display:grid}.pf-details .brief{color:var(--text)}.pf-details h4{font:600 .74rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:12px}.pf-details ul{color:var(--muted);gap:6px;padding:0;font-size:.95rem;list-style:none;display:grid}.pf-details ul li:before{content:"";background:var(--line-2);vertical-align:middle;width:14px;height:1px;margin-right:10px;display:inline-block}.pf-details .swatches li:before{display:none}.pf-details .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pf-details .swatches li{color:var(--text);gap:4px;font-size:.85rem;display:grid}.pf-details .swatches i{border:1px solid var(--line-2);border-radius:3px;height:34px;display:block}.pf-details .swatches span{font:400 .72rem/1 var(--mono);color:var(--muted)}.pf-details p{color:var(--muted);font-size:.95rem}.pf-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:32px;display:flex}.round{border:1px solid var(--line-2);width:52px;height:52px;color:var(--text);cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s, transform .25s var(--ease);background:0 0;border-radius:50%;place-items:center;display:inline-grid}.round:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.round:active{transform:scale(.94)}.toggle{color:var(--muted);font:500 .85rem/1 var(--sans);cursor:pointer;text-underline-offset:.3em;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);background:0 0;border:0;margin-left:8px;padding:12px 8px}.toggle:hover{color:var(--text)}.pf-tabs{border-top:1px solid var(--line);grid-area:tabs;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-top:4px;display:grid}.pf-tab{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:baseline;column-gap:12px;padding:18px 0 20px;transition:color .25s;display:grid;position:relative}.pf-tab .n{font:500 .78rem/1 var(--mono);letter-spacing:.1em}.pf-tab .t{font:500 1rem/1.2 var(--display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pf-tab:hover,.pf-tab[aria-selected=true]{color:var(--text)}.pf-tab .bar{background:0 0;height:2px;position:absolute;top:-1px;left:0;right:0;overflow:hidden}.pf-tab .prog{background:linear-gradient(90deg, var(--blue), var(--violet));transform-origin:0;animation:linear forwards paused pf-prog;position:absolute;inset:0;transform:scaleX(0)}.pf-tab .prog[data-run=true]{animation-play-state:running}.pf-tab .prog.full{animation:none;transform:scaleX(1)}@keyframes pf-prog{to{transform:scaleX(1)}}@media (max-width:960px){.portfolio{grid-template-columns:1fr;grid-template-areas:"stage""tabs""info"}.pf-text{margin-top:20px}.pf-controls{padding-top:28px}}@media (max-width:720px){.pf-stage{aspect-ratio:1/.92}.pf-tabs{gap:4px}.pf-tab{grid-template-columns:1fr;row-gap:4px;padding:14px 0}.pf-tab .t{display:none}.pf-tab .n{font-size:.85rem}.pf-details .swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:before{transition:none}}@media (min-width:961px){.pf-stage{position:sticky;top:100px}}
.screen{background:#fff;width:100%;height:100%;position:relative;overflow:hidden;container-type:inline-size}.site{position:absolute;inset:0}.site svg.bg{width:100%;height:100%;position:absolute;inset:0}.site,.site *{-webkit-user-select:none;user-select:none}.nolink{pointer-events:none}.browser{background:#1b1d24;border:1px solid #ffffff24;border-radius:1.1cqw 1.1cqw .8cqw .8cqw;width:100%;overflow:hidden;box-shadow:0 2.6cqw 6cqw -1cqw #000000b3,0 0 0 1px #00000080;container-type:inline-size}.browser .chrome{background:linear-gradient(#262932,#1d1f27);border-bottom:1px solid #ffffff0f;align-items:center;gap:1.4cqw;height:4.6cqw;padding:0 1.6cqw;display:flex}.browser .dots{gap:.7cqw;display:flex}.browser .dots i{background:#3a3e4a;border-radius:50%;width:1cqw;height:1cqw}.browser .dots i:first-child{background:#ff6159}.browser .dots i:nth-child(2){background:#febc2e}.browser .dots i:nth-child(3){background:#28c840}.browser .tab{color:#c9ccd6;font:500 1.15cqw/1 var(--sans);white-space:nowrap;background:#12141a;border-radius:.8cqw .8cqw 0 0;margin-left:1cqw;padding:.7cqw 2.2cqw .7cqw 1.4cqw}.browser .url{text-align:center;color:#8d93a3;max-width:46%;font:400 1.1cqw/1 var(--sans);background:#12141a;border-radius:99px;flex:1;margin-left:auto;margin-right:auto;padding:.75cqw 1.2cqw}.browser .body{aspect-ratio:16/10;background:#fff;position:relative}.laptop{width:100%;container-type:inline-size}.laptop .lid{background:linear-gradient(#2a2d36,#1a1c22);border:1px solid #ffffff29;border-radius:1.8cqw 1.8cqw .6cqw .6cqw;padding:1.2cqw 1.2cqw 1.4cqw;position:relative;box-shadow:0 3cqw 7cqw -1.5cqw #000000bf}.laptop .lid .cam{background:#0c0d11;border-radius:50%;width:.5cqw;height:.5cqw;position:absolute;top:.4cqw;left:50%;transform:translate(-50%)}.laptop .lid .view{aspect-ratio:16/10;background:#fff;border-radius:.5cqw;overflow:hidden}.laptop .base{background:linear-gradient(#c6c9d1,#8f939d);border:1px solid #ffffff2e;border-radius:0 0 2.4cqw 2.4cqw;height:1.8cqw;margin:0 -3.5cqw;position:relative}.laptop .base:after{content:"";background:#6d717b;border-radius:0 0 1cqw 1cqw;width:12cqw;height:.7cqw;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone{width:100%;container-type:inline-size}.phone .shell{background:linear-gradient(145deg,#2d3039,#14161b);border:1px solid #ffffff2e;border-radius:15cqw;padding:4.2cqw;position:relative;box-shadow:0 6cqw 14cqw -3cqw #000c}.phone .view{aspect-ratio:9/19;background:#fff;border-radius:11cqw;position:relative;overflow:hidden}.phone .island{z-index:3;background:#05060a;border-radius:99px;width:26cqw;height:7cqw;position:absolute;top:7.2cqw;left:50%;transform:translate(-50%)}.hd{color:#23262a;background:#f4f0e8;grid-template-rows:auto 1fr auto;display:grid}.hd-nav{justify-content:space-between;align-items:center;padding:2.3cqw 4cqw;font-size:1.1cqw;display:flex}.hd-logo{letter-spacing:-.02em;font-size:1.5cqw;font-weight:600}.hd-links{color:#6b6e72;gap:2.6cqw;display:flex}.hd-btn{border:1px solid #23262a;border-radius:99px;padding:.7cqw 1.6cqw;font-size:1.05cqw}.hd-main{grid-template-columns:1fr 1.05fr;gap:3cqw;min-height:0;padding:0 4cqw;display:grid}.hd-copy{align-self:center}.hd-h{font:300 5.8cqw/.96 var(--display);letter-spacing:-.05em}.hd-sub{color:#6b6e72;max-width:31cqw;margin-top:2cqw;font-size:1.22cqw;line-height:1.55}.hd-link{border-bottom:1px solid #23262a;margin-top:2.2cqw;padding-bottom:.3cqw;font-size:1.2cqw;font-weight:500;display:inline-block}.hd-img{border-radius:.8cqw .8cqw 0 0;margin-top:1cqw;position:relative;overflow:hidden}.hd-img svg{width:100%;height:100%;position:absolute;inset:0}.hd-foot{color:#6b6e72;border-top:1px solid #ddd6c9;justify-content:space-between;padding:1.5cqw 4cqw;font-size:.95cqw;display:flex}.hdm{color:#23262a;background:#f4f0e8;flex-direction:column;padding-top:16cqw;display:flex}.hdm-nav{justify-content:space-between;align-items:center;padding:0 7cqw;font-size:4.2cqw;display:flex}.hdm-nav b{letter-spacing:-.02em;font-size:5cqw;font-weight:600}.hdm-bars{gap:1.1cqw;display:grid}.hdm-bars i{background:#23262a;width:6cqw;height:.5cqw;display:block}.hdm-h{font:300 11.5cqw/.97 var(--display);letter-spacing:-.05em;padding:6cqw 7cqw 0}.hdm-sub{color:#6b6e72;padding:3.5cqw 7cqw 0;font-size:4cqw;line-height:1.5}.hdm-btn{border:1px solid #23262a;border-radius:99px;align-self:flex-start;margin:5cqw 7cqw 0;padding:2.2cqw 5cqw;font-size:3.8cqw}.hdm-img{border-radius:3cqw 3cqw 0 0;flex:1;min-height:28cqw;margin:6cqw 7cqw 0;position:relative;overflow:hidden}.hdm-img svg{width:100%;height:100%;position:absolute;inset:0}.mi{color:#fff}.mi:after{content:"";background:linear-gradient(90deg,#0a0c268c,#0000 62%),linear-gradient(#0000 60%,#0a0c268c);position:absolute;inset:0}.mi>*{z-index:2}.mi-nav{z-index:3;justify-content:space-between;align-items:center;padding:2.4cqw 4cqw;font-size:1.1cqw;display:flex;position:absolute;inset:0 0 auto}.mi-logo{font:600 1.4cqw/1 var(--display);letter-spacing:.3em}.mi-links{opacity:.85;gap:2.4cqw;display:flex}.mi-btn{border:1px solid #ffffffb3;border-radius:99px;padding:.75cqw 1.7cqw;font-size:1.05cqw}.mi-copy{z-index:3;width:50cqw;position:absolute;top:22cqw;left:4cqw}.mi-h{font:500 6cqw/.98 var(--display);letter-spacing:-.045em}.mi-sub{color:#ffffffdb;max-width:34cqw;margin-top:1.8cqw;font-size:1.3cqw;line-height:1.55}.mi-cta{color:#1b1d44;background:#fff;border-radius:99px;margin-top:2.2cqw;padding:1cqw 2.2cqw;font-size:1.15cqw;font-weight:600;display:inline-block}.mi-bar{z-index:3;background:#0e0e28d1;border:1px solid #ffffff2e;border-radius:1.2cqw;grid-template-columns:1.2fr 1fr 1fr auto;display:grid;position:absolute;bottom:3cqw;left:4cqw;right:4cqw;overflow:hidden}.mi-bar div{color:#fff9;border-right:1px solid #ffffff1f;padding:1.2cqw 1.8cqw;font-size:1cqw}.mi-bar div b{color:#fff;margin-top:.3cqw;font-size:1.25cqw;font-weight:500;display:block}.mi-bar .go{color:#231b3d;background:#f6b98f;border:0;place-items:center;padding:0 2.6cqw;font-size:1.15cqw;font-weight:700;display:grid}.lu{color:#0f1530;background:#f6f7fc}.lu:before{content:"";background:radial-gradient(closest-side,#6e64ff38,#0000 70%);height:90%;position:absolute;inset:-20% -10% auto 30%}.lu-nav{align-items:center;gap:3cqw;padding:1.8cqw 3.6cqw;font-size:1.05cqw;display:flex;position:relative}.lu-mark{font:700 1.5cqw/1 var(--display);letter-spacing:-.03em;align-items:center;gap:.8cqw;display:flex}.lu-mark i{background:linear-gradient(135deg,#5b6cff,#9b5cf6);border-radius:.6cqw;width:2cqw;height:2cqw}.lu-links{color:#55597a;gap:2.2cqw;margin-left:1cqw;display:flex}.lu-nav .sp{flex:1}.lu-signin{color:#55597a}.lu-start{color:#fff;background:#0f1530;border-radius:99px;padding:.8cqw 1.6cqw;font-weight:600}.lu-hero{grid-template-columns:38cqw 1fr;gap:2cqw;padding:3.4cqw 3.6cqw 0;display:grid;position:relative}.lu-pill{color:#4a4fd1;background:#e8e9ff;border-radius:99px;padding:.5cqw 1.2cqw;font-size:.95cqw;font-weight:600;display:inline-block}.lu-h{font:650 4.3cqw/1 var(--display);letter-spacing:-.045em;margin-top:1.6cqw}.lu-sub{color:#55597a;max-width:31cqw;margin-top:1.6cqw;font-size:1.2cqw;line-height:1.55}.lu-ctas{gap:1cqw;margin-top:2.2cqw;font-size:1.1cqw;font-weight:600;display:flex}.lu-ctas span{border-radius:99px;padding:1cqw 2cqw}.lu-ctas .a{color:#fff;background:linear-gradient(100deg,#4f5bff,#8d5cf6)}.lu-ctas .b{border:1px solid #cdd0ee}.lu-dash{background:#fff;border:1px solid #e0e2f3;border-radius:1.2cqw 0 0;grid-template-columns:6cqw 1fr;height:38cqw;margin-top:1cqw;margin-right:-9cqw;display:grid;position:relative;overflow:hidden;box-shadow:0 2cqw 5cqw -1cqw #3c3c8c40}.lu-side{background:#f3f4fb;border-right:1px solid #e6e8f6;align-content:start;gap:1.3cqw;padding:1.6cqw 1.4cqw;display:grid}.lu-side i{background:#e1e3f5;border-radius:.7cqw;height:2.6cqw;display:block}.lu-side i:first-child{background:linear-gradient(135deg,#5b6cff,#9b5cf6)}.lu-main{padding:1.8cqw 2cqw}.lu-top{justify-content:space-between;align-items:center;font-size:1.3cqw;font-weight:700;display:flex}.lu-top small{color:#7a7ea0;border:1px solid #e0e2f3;border-radius:99px;padding:.5cqw 1cqw;font-size:.95cqw;font-weight:500}.lu-kpis{grid-template-columns:repeat(3,1fr);gap:1cqw;margin-top:1.4cqw;display:grid}.lu-kpi{border:1px solid #e6e8f6;border-radius:.9cqw;padding:1cqw 1.2cqw}.lu-kpi span{color:#7a7ea0;font-size:.85cqw;display:block}.lu-kpi b{font:700 1.9cqw/1 var(--display);letter-spacing:-.03em;margin-top:.3cqw;display:block}.lu-kpi em{color:#1f9d63;font-size:.85cqw;font-style:normal;font-weight:600}.lu-chart{border:1px solid #e6e8f6;border-radius:.9cqw;margin-top:1.2cqw;padding:1cqw 1.2cqw 0}.lu-chart span{font-size:.9cqw;font-weight:600}.lu-chart svg{width:100%;height:12.5cqw;margin-top:.4cqw}.lu-rows{gap:.7cqw;margin-top:1cqw;display:grid}.lu-rows i{background:#f0f1fa;border-radius:.5cqw;height:1.7cqw;display:block}.se{color:#fff}.se:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#050814bf),linear-gradient(#05081480,#0000 24%);position:absolute;inset:0}.se-nav{z-index:3;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:2.4cqw 3.6cqw;font-size:1.05cqw;display:flex;position:absolute;inset:0 0 auto}.se-logo{font:600 1.45cqw/1 var(--display);letter-spacing:.42em}.se-links{opacity:.9;align-items:center;gap:2.6cqw;display:flex}.se-res{border:1px solid #ffffffbf;border-radius:99px;padding:.8cqw 1.8cqw}.se-copy{z-index:3;position:absolute;bottom:4cqw;left:3.6cqw}.se-meta{font:500 1cqw/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;opacity:.8}.se-h{font:300 8.6cqw/.9 var(--display);letter-spacing:-.055em;margin-top:1.6cqw}.se-h>span{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.se-h>span>span{display:block}.se-side{z-index:3;color:#ffffffd9;width:24cqw;font-size:1.2cqw;line-height:1.55;position:absolute;bottom:4cqw;right:3.6cqw}.se-side .rule{background:#fff6;height:1px;margin-bottom:1.6cqw}.se-cta{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:1cqw;margin-top:1.8cqw;font-size:1.05cqw;font-weight:600;display:inline-flex}.se-cta i{border:1px solid #fffc;border-radius:50%;place-items:center;width:4cqw;height:4cqw;font-style:normal;display:grid}.nxA{color:#f2ede4;background:#121212;flex-direction:column;padding:2.4cqw 3cqw;display:flex}.nxA-nav{font:600 1.2cqw/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;display:flex}.nxA-h{font:700 9.4cqw/.86 var(--display);letter-spacing:-.06em;margin-top:auto}.nxA-h em{color:#ff4a2b;font-style:normal}.nxA-sub{color:#f2ede4a6;max-width:36cqw;margin-top:1.4cqw;font-size:1.4cqw}.nxA-row{grid-template-columns:2fr 1fr 1fr;gap:1cqw;height:13cqw;margin-top:2.2cqw;display:grid}.nxA-row i{border-radius:.8cqw;display:block}.nxA-row i:first-child{background:#ff4a2b}.nxA-row i:nth-child(2){background:#d7ff3a}.nxA-row i:nth-child(3){background:#f2ede4}.nxB{color:#121212;background:#f2ede4;padding:2.4cqw 3cqw}.nxB-top{font:600 1.2cqw/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;display:flex}.nxB-h{font:700 5cqw/.92 var(--display);letter-spacing:-.05em;margin-top:2cqw}.nxB-grid{grid-template-rows:14cqw 14cqw;grid-template-columns:1.4fr 1fr 1fr;gap:1cqw;margin-top:2cqw;display:grid}.nxB-grid i{border-radius:.8cqw;display:block}.nxB-grid i:first-child{background:#121212;grid-row:span 2}.nxB-grid i:nth-child(2){background:#ff4a2b}.nxB-grid i:nth-child(3){background:#3b4cff}.nxB-grid i:nth-child(4){background:#d7ff3a}.nxB-grid i:nth-child(5){background:#ffb3c7}.nxP{color:#121212;background:#ff4a2b;flex-direction:column;justify-content:space-between;height:100%;padding:3cqw;display:flex;container-type:inline-size}.nxP-n{font:800 62cqw/.74 var(--display);letter-spacing:-.09em;margin-left:-6cqw}.nxP-t{font:600 6.4cqw/1.15 var(--mono);letter-spacing:.08em;text-transform:uppercase}.cmp{position:absolute;inset:0;container-type:inline-size}.cmp>.layer{position:absolute}.cmp .shadow-floor{filter:blur(10px);background:radial-gradient(closest-side,#0000008c,#0000);border-radius:50%;height:7%;position:absolute;bottom:3%;left:8%;right:8%}.s1-laptop{width:74%;transform-style:preserve-3d;top:9%;left:4%}.s1-phone{width:17.5%;bottom:7%;right:5%}.s1-glow{background:radial-gradient(60% 55% at 38% 42%,#f4f0e81f,#0000 70%);position:absolute;inset:0}.s2-screen{width:76%;transform-style:preserve-3d;top:13%;left:11%}.s2-plate{background:linear-gradient(135deg,#8062ff47,#4a77ff14);border:1px solid #ffffff24;border-radius:1.2cqw;position:absolute;inset:0;transform:translate(2.2%,4%)scale(.98)}.s2-frame{aspect-ratio:16/10;border:1px solid #ffffff38;border-radius:1.2cqw;position:relative;overflow:hidden;box-shadow:0 4cqw 9cqw -2cqw #000c,0 0 8cqw -2cqw #ffa87859;container-type:inline-size}.s2-chip{background:#12131c;border:1px solid #ffffff29;border-radius:1cqw;width:24%;padding:1.4cqw 1.6cqw;top:7%;right:2%;box-shadow:0 2cqw 5cqw -1cqw #000000b3}.s2-chip small{font:500 .95cqw/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#959aa6;display:block}.s2-chip b{font:500 1.7cqw/1.15 var(--display);letter-spacing:-.03em;margin-top:.8cqw;display:block}.s2-chip div{background:#ffffff1f;border-radius:9px;height:.45cqw;margin-top:1cqw;overflow:hidden}.s2-chip div i{background:linear-gradient(90deg,#f6b98f,#c27b88);width:62%;height:100%;display:block}.s2-tag{color:#231b3d;font:600 1.15cqw/1 var(--sans);background:#f6b98f;border-radius:99px;padding:.9cqw 1.5cqw;bottom:13%;left:3%;box-shadow:0 1.4cqw 3cqw -.6cqw #0009}.s3-browser{width:81%;top:8%;left:9%}.s3-halo{background:radial-gradient(56% 50% at 52% 38%,#6e64ff4d,#0000 72%);position:absolute;inset:0}.s3-panel{color:#0f1530;background:#fff;border:1px solid #e0e2f3;border-radius:1.2cqw;width:27%;padding:1.6cqw;bottom:7%;right:1.5%;box-shadow:0 3cqw 7cqw -1.5cqw #1e1e5ab3;container-type:inline-size}.s3-panel small{font:600 1cqw/1 var(--sans);color:#7a7ea0;display:block}.s3-panel b{font:700 2.7cqw/1 var(--display);letter-spacing:-.04em;margin-top:.8cqw;display:block}.s3-panel svg{width:100%;height:6cqw;margin-top:1cqw}.s3-toast{font:500 1.15cqw/1 var(--sans);background:#12141c;border:1px solid #ffffff29;border-radius:99px;align-items:center;gap:1cqw;padding:1cqw 1.8cqw 1cqw 1.2cqw;display:flex;bottom:14%;left:3%;box-shadow:0 2cqw 5cqw -1cqw #000000b3}.s3-toast i{background:#28c76f;border-radius:50%;width:1.6cqw;height:1.6cqw;box-shadow:0 0 0 .4cqw #28c76f38}.s4-wrap{position:absolute;inset:0;overflow:hidden;container-type:inline-size}.s4-img{position:absolute;inset:-2%}.s5-poster{aspect-ratio:3/4.1;border-radius:1cqw;width:25%;top:12%;left:4%;overflow:hidden;box-shadow:0 2.4cqw 6cqw -1.6cqw #000000b3}.s5-a{width:58%;top:8%;right:4%}.s5-b{width:38%;bottom:7%;left:31%}.s5-sw{gap:.6cqw;display:flex;top:7%;left:34%}.s5-sw i{border:1px solid #ffffff40;border-radius:50%;width:2.6cqw;height:2.6cqw;display:block}.s5-badge{aspect-ratio:1;color:#121212;text-align:center;width:12%;font:700 1.55cqw/1.05 var(--display);letter-spacing:-.03em;background:#d7ff3a;border-radius:50%;place-items:center;display:grid;bottom:8%;right:6%;box-shadow:0 1.6cqw 4cqw -1cqw #0009}.s5-cap{font:500 1cqw/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#959aa6;bottom:8%;left:4%}.s5-frame{aspect-ratio:16/10;border:1px solid #ffffff24;border-radius:1cqw;width:100%;overflow:hidden;box-shadow:0 3cqw 7cqw -1.6cqw #000c;container-type:inline-size}@media (max-width:720px){.s1-laptop{width:94%;top:12%;left:3%}.s1-phone{width:30%;bottom:5%;right:4%}.s2-screen{width:90%;top:16%;left:5%}.s2-chip{width:36%;padding:2.4cqw;top:4%;right:3%}.s2-chip small{font-size:1.8cqw}.s2-chip b{font-size:3cqw}.s2-tag{padding:1.6cqw 2.8cqw;font-size:2.4cqw;bottom:14%;left:4%}.s3-browser{width:94%;top:12%;left:3%}.s3-panel{width:46%;padding:3cqw;bottom:6%;right:3%}.s3-panel small{font-size:2.2cqw}.s3-panel b{font-size:5cqw}.s3-toast{display:none}.s5-a{width:88%;top:7%;left:4%;right:auto}.s5-poster{width:30%;top:47%;left:5%}.s5-b{width:56%;inset:52% 4% auto auto}.s5-sw{top:auto;bottom:5%;left:5%}.s5-sw i{width:5cqw;height:5cqw}.s5-badge{width:21%;font-size:2.7cqw;inset:40% 6% auto auto}.s5-cap{display:none}}
