@font-face{font-family:Instrument Sans;src:url(../fonts/instrument-sans-latin.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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;src:url(../fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;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;src:url(../fonts/geist-mono-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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}:root{--paper:#f7f7f4;--white:#fff;--ink:#121212;--grey:#686866;--rule:#ddddd7;--lime:#c6f432;--f-head:"Instrument Sans","Geist",system-ui,sans-serif;--f-body:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--t-display:clamp(44px,7.4vw,104px);--t-h2:clamp(32px,4.6vw,60px);--t-h3:clamp(22px,2.2vw,28px);--t-lead:clamp(18px,1.5vw,21px);--t-body:17px;--t-small:15px;--t-label:13px;--s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:48px;--s-6:64px;--s-7:96px;--s-8:128px;--ease:cubic-bezier(.2,.7,.2,1);--ease-back:cubic-bezier(.34,1.56,.64,1);--container:1240px;--gutter:16px;--line:1px solid var(--ink);--hair:1px solid var(--rule)}@media (width>=720px){:root{--gutter:40px}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.55 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{max-width:100%;display:block}a{color:inherit}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3,h4{font-family:var(--f-head);letter-spacing:-.03em;font-weight:600;line-height:1.04}.display{font-size:var(--t-display);letter-spacing:-.04em;line-height:.98}.h2{font-size:var(--t-h2);letter-spacing:-.035em}.h3{font-size:var(--t-h3);letter-spacing:-.02em;line-height:1.15}.lead{font-size:var(--t-lead);max-width:34em;line-height:1.5}.small{font-size:var(--t-small)}.grey{color:var(--grey)}.label{font-family:var(--f-mono);font-size:var(--t-label);letter-spacing:.02em;text-transform:uppercase;font-weight:400;line-height:1.4}.hl{background:var(--lime);padding:.02em .08em .06em;line-height:.9;display:inline-block}.container{max-width:var(--container);padding:0 var(--gutter);margin:0 auto}.section{border-top:var(--line);padding:var(--s-4)0 var(--s-7)}.section-head{gap:var(--s-2);margin-bottom:var(--s-6);display:grid}@media (width>=900px){.section-head{gap:var(--s-4);grid-template-columns:3fr 9fr}}.section-head p{margin-top:var(--s-2)}.logo{color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.logo svg{flex:none;width:32px;height:32px;margin-right:10px}.logo .wm{font:600 22px/1 var(--f-head);letter-spacing:-.035em}.logo .wm span{color:var(--grey);font-weight:400}.mark-bg{fill:var(--mark-bg,var(--paper))}.mark-line{stroke:var(--mark-line,var(--ink))}.mark-top{fill:var(--lime)}.on-ink{--mark-bg:var(--ink);--mark-line:var(--paper)}.btn{font:500 16px/1 var(--f-body);background:var(--ink);color:var(--paper);border:1px solid var(--ink);z-index:0;transition:color .3s var(--ease),border-color .3s;align-items:center;gap:10px;padding:16px 22px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:hover{color:var(--ink)}.btn--ghost{color:var(--ink);background:0 0}.btn--ghost:hover{color:var(--paper)}.btn--lime{background:var(--lime);color:var(--ink)}.btn--lime:hover{color:var(--ink)}.link{text-underline-offset:4px;text-decoration:underline 1px}.link:hover{background:var(--lime);text-decoration:none}.site-header{border-bottom:var(--hair);background:var(--paper);z-index:50;transition:transform .35s var(--ease);position:sticky;top:0}.site-header.hide{transform:translateY(-100%)}.site-header .container{justify-content:space-between;align-items:center;gap:var(--s-2);height:72px;display:flex}.nav{align-items:center;gap:var(--s-3);display:flex}.nav a:not(.btn){font-size:var(--t-small);text-decoration:none}.nav a:not(.btn):hover{text-underline-offset:4px;text-decoration:underline}.nav .btn{font-size:var(--t-small);white-space:nowrap;padding:12px 16px}.nav .short{display:none}@media (width<=520px){.nav .nav-hide,.nav .long{display:none}.nav .short{display:inline}}.rows{border-top:var(--line)}.row{gap:var(--s-2);padding:var(--s-3)0;border-bottom:var(--hair);color:var(--ink);grid-template-columns:40px 1fr 24px;align-items:baseline;text-decoration:none;display:grid}.row:last-child{border-bottom:var(--line)}.row .row-title{font:600 clamp(26px,3vw,40px)/1.05 var(--f-head);letter-spacing:-.03em}.row .row-body{color:var(--grey);grid-column:2/3}.row .row-tags{flex-wrap:wrap;grid-column:2/3;gap:6px;display:flex}.row .row-arrow{grid-area:1/3;font-size:22px;transition:transform .15s}a.row:hover .row-arrow{transform:translate(4px)}@media (width>=900px){.row{gap:var(--s-4);padding:var(--s-4)0;grid-template-columns:3fr 5fr 3.5fr .5fr}.row .row-body,.row .row-tags{grid-column:auto}.row .row-body{grid-area:1/3}.row .row-tags{display:none}.row .row-num{grid-row:1}.row .row-title{grid-area:1/2}.row .row-arrow{grid-column:4;justify-self:end}}.tag{font-family:var(--f-mono);text-transform:uppercase;border:var(--hair);background:var(--white);padding:3px 8px;font-size:12px}.ruled{border-top:var(--line);grid-template-columns:1fr;display:grid}.ruled>*{padding:var(--s-3)0 var(--s-4);border-bottom:var(--hair)}@media (width>=900px){.ruled{grid-template-columns:repeat(var(--cols,3),1fr)}.ruled>*{padding:var(--s-3)var(--s-4)var(--s-4);border-bottom:0;border-left:var(--hair)}.ruled>:first-child{border-left:0;padding-left:0}}.ruled h3{margin:var(--s-4)0 var(--s-1)}.faq{border-top:var(--line)}.faq details{border-bottom:var(--hair)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--s-3);padding:var(--s-3)0;font:600 var(--t-h3)/1.2 var(--f-head);letter-spacing:-.02em;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:400 28px/1 var(--f-body);transition:transform .35s var(--ease);flex:none}.faq details[open] summary:after{transform:rotate(45deg)}.faq summary:hover{text-underline-offset:5px;text-decoration:underline 1px}.faq .answer{padding:0 0 var(--s-4);max-width:44em;color:var(--grey)}.site-footer{background:var(--ink);color:var(--paper);padding:var(--s-6)0 var(--s-4)}.site-footer .logo{color:var(--paper)}.site-footer .logo .wm span{color:#9b9a93}.footer-grid{gap:var(--s-5);grid-template-columns:1fr;display:grid}@media (width>=900px){.footer-grid{grid-template-columns:6fr 3fr 3fr}}.site-footer .f-h{font:400 var(--t-label)/1.4 var(--f-mono);text-transform:uppercase;color:#9b9a93;margin-bottom:var(--s-2);letter-spacing:.02em}.site-footer ul{gap:6px;list-style:none;display:grid}.site-footer a{text-decoration:none}.site-footer a:hover{background:var(--lime);color:var(--ink)}.footer-bottom{margin-top:var(--s-6);padding-top:var(--s-3);justify-content:space-between;gap:var(--s-2);color:#9b9a93;border-top:1px solid #2e2e2c;flex-wrap:wrap;display:flex}.skip{left:var(--gutter);z-index:10;background:var(--lime);color:var(--ink);outline:1.5px solid var(--ink);padding:10px 14px;text-decoration:none;position:absolute;top:-100px}.skip:focus{top:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero{padding:var(--s-6)0 var(--s-7)}.hero-grid{gap:var(--s-6);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=960px){.hero-grid{gap:var(--s-5);grid-template-columns:7fr 5fr}}.hero .label{margin-bottom:var(--s-4)}.hero .lead{margin-top:var(--s-4)}.hero-actions{margin-top:var(--s-5);flex-wrap:wrap;gap:12px;display:flex}.layers{aspect-ratio:1;justify-self:center;width:100%;max-width:460px;position:relative}@media (width>=960px){.layers{justify-self:end}}.layer{border:2px solid var(--ink);flex-direction:column;justify-content:flex-end;width:64%;height:64%;padding:10px 12px;display:flex;position:absolute}.layer-1{background:var(--paper);bottom:0;left:0}.layer-2{background:var(--paper);bottom:18%;left:18%}.layer-3{background:var(--lime);justify-content:space-between;bottom:36%;left:36%}.layer-3 .code{font-family:var(--f-mono);font-size:13px}.layer-3 .you{font:600 clamp(22px,2.4vw,30px)/1.05 var(--f-head);letter-spacing:-.03em}.code-line{margin-top:var(--s-3);white-space:nowrap;font-family:var(--f-mono);background:var(--white);border:var(--hair);padding:10px 14px;font-size:14px;display:inline-block}.code-line b{background:var(--lime);padding:0 3px;font-weight:400}.stats .stat-num{font:600 clamp(56px,7vw,96px)/1 var(--f-head);letter-spacing:-.045em;margin-top:var(--s-4)}.stats p{margin-top:var(--s-1)}.placeholder-note{margin-top:var(--s-3);border:1px dashed var(--grey);padding:10px 14px;display:inline-block}.cta-band{background:var(--lime);border-top:var(--line);padding:var(--s-7)0}.cta-band .container{gap:var(--s-4);grid-template-columns:1fr;align-items:end;display:grid}@media (width>=900px){.cta-band .container{grid-template-columns:8fr 4fr}}.cta-band .actions{gap:var(--s-2);justify-items:start;display:grid}@media (width>=900px){.cta-band .actions{justify-items:end}}.cta-band .link:hover{background:var(--ink);color:var(--lime)}.nav a[aria-current=page]{text-underline-offset:4px;text-decoration:underline}.page-hero{padding:var(--s-6)0 var(--s-6)}.page-hero .label{margin-bottom:var(--s-4)}.page-hero .lead{margin-top:var(--s-4)}.jump{margin-top:var(--s-6)}.jump a{text-decoration:none;display:block}.jump a .h3{margin:var(--s-2)0 0;font-family:var(--f-head);font-weight:600}@media (width<=899px){.jump>a{align-items:baseline;gap:var(--s-2);padding:14px 0;display:flex}.jump a .h3{margin:0}}.service{scroll-margin-top:var(--s-3)}.service .section-head .label b{background:var(--lime);padding:0 4px;font-weight:400}.service .ruled h3{margin-top:0;margin-bottom:var(--s-3);font-size:20px}.service .platforms{margin-top:var(--s-3);flex-wrap:wrap;gap:6px;display:flex}.ticks{list-style:none}.ticks li{border-top:var(--hair);padding:10px 0 10px 24px;position:relative}.ticks li:first-child{border-top:0;padding-top:0}.ticks li:before{content:"";background:var(--lime);outline:1.5px solid var(--ink);width:9px;height:9px;position:absolute;top:17px;left:0}.ticks li:first-child:before{top:7px}.versus{border:var(--line);margin-bottom:var(--s-6);background:var(--white);grid-template-columns:1fr;display:grid}@media (width>=900px){.versus{grid-template-columns:1fr 1fr}}.versus>div{padding:var(--s-4)}.versus>div+div{border-top:var(--line)}@media (width>=900px){.versus>div+div{border-top:0;border-left:var(--line)}}.versus h3{margin:var(--s-2)0 var(--s-1)}.windex{border-top:var(--line)}.windex a{gap:4px var(--s-2);padding:var(--s-2)0;border-bottom:var(--hair);color:var(--ink);grid-template-columns:40px 1fr 24px;align-items:baseline;text-decoration:none;display:grid}.windex .w-client{font:600 22px/1.2 var(--f-head);letter-spacing:-.02em}.windex .w-meta,.windex .w-result{color:var(--grey);font-size:var(--t-small);grid-column:2}.windex .w-arrow{grid-area:1/3}.windex .w-head{display:none}@media (width>=900px){.windex a,.windex .w-head{gap:var(--s-4);grid-template-columns:3fr 3fr 3fr 2.5fr .5fr}.windex .w-head{padding:0 0 var(--s-1);border-bottom:var(--hair);display:grid}.windex .w-meta,.windex .w-result{grid-area:1}.windex .w-num{grid-row:1}.windex .w-client{grid-area:1/2}.windex .w-meta{grid-column:3}.windex .w-result{color:var(--ink);grid-column:4}.windex .w-arrow{grid-column:5;justify-self:end}}.case{scroll-margin-top:var(--s-3)}.case-meta{gap:var(--s-2);align-content:start;display:grid}.case-meta dl{gap:var(--s-2);margin-top:var(--s-2);display:grid}.case-meta dt{font:400 12px/1.4 var(--f-mono);text-transform:uppercase;color:var(--grey)}.case-meta dd{font-size:var(--t-small)}.case-meta .tags{flex-wrap:wrap;gap:6px;display:flex}.case-media{aspect-ratio:16/10;border:var(--line);background:var(--white);margin:var(--s-4)0 var(--s-5);justify-content:center;align-items:center;display:flex}.case-media img{object-fit:cover;width:100%;height:100%}.case .ruled h3{margin:0 0 var(--s-1);font-size:20px}.case .stats{margin-top:var(--s-5)}.stat-num{font:600 clamp(48px,6vw,84px)/1 var(--f-head);letter-spacing:-.045em;margin-top:var(--s-3)}.quote{padding:var(--s-7)0;border-top:var(--line)}.quote blockquote{font:600 clamp(28px,3.8vw,52px)/1.12 var(--f-head);letter-spacing:-.03em;max-width:20em}.quote figcaption{margin-top:var(--s-4)}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@keyframes fade{0%{opacity:0}}@keyframes wipe{0%{transform:scaleX(0)}}.hero .label,.hero h1,.hero .lead,.hero-actions,.page-hero .label,.page-hero h1,.page-hero .lead,.page-hero .hero-actions{animation:rise .8s var(--ease)backwards}.hero h1,.page-hero h1{animation-delay:80ms}.hero .lead,.page-hero .lead{animation-delay:.2s}.hero-actions{animation-delay:.3s}@keyframes climb-2{0%{transform:translate(-28.125%,28.125%)}}@keyframes climb-3{0%{transform:translate(-56.25%,56.25%)}}@keyframes light{0%{background-color:var(--paper)}}.layer-1{animation:rise .6s var(--ease).15s backwards}.layer-2{animation:climb-2 .7s var(--ease-back).55s backwards}.layer-3{animation:climb-3 .8s var(--ease-back).85s backwards,light .45s var(--ease)1.55s backwards}.layer>*{animation:fade .5s var(--ease)1.7s backwards}.layer{transition:transform .5s var(--ease-back)}.layers:hover .layer-1{transform:translate(-5%,5%)}.layers:hover .layer-3{transform:translate(5%,-5%)}.hl{z-index:0;background:0 0;position:relative}.hl:before{content:"";z-index:-1;background:var(--lime);transform-origin:0;position:absolute;inset:0}.hero .hl:before,.page-hero .hl:before{animation:wipe .6s var(--ease).55s backwards}html.js .hl:not(.hero .hl):not(.page-hero .hl):before{transition:transform .7s var(--ease).2s;transform:scaleX(0)}html.js .hl.in:before{transform:scaleX(1)}.btn:before{content:"";z-index:-1;background:var(--lime);transform-origin:100%;transition:transform .4s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.btn--ghost:before{background:var(--ink)}.btn--lime:before{background:var(--paper)}.btn:hover:before{transform-origin:0;transform:scaleX(1)}.btn span[aria-hidden]{transition:transform .3s var(--ease);display:inline-block}.btn:hover span[aria-hidden]{transform:translate(4px)}.row .t,.jump .t,.windex .w-client>span{z-index:0;position:relative}.row .t:before,.jump .t:before,.windex .w-client>span:before{content:"";z-index:-1;background:var(--lime);transform-origin:100%;transition:transform .4s var(--ease);position:absolute;inset:-.04em -.1em;transform:scaleX(0)}a.row:hover .t:before,.jump a:hover .t:before,.windex a:hover .w-client>span:before{transform-origin:0;transform:scaleX(1)}.windex .w-arrow{transition:transform .3s var(--ease)}.windex a:hover .w-arrow{transform:translateY(3px)}.jump a,.row,.windex a{transition:background-color .3s}.logo rect{transition:transform .35s var(--ease-back)}.logo:hover rect:first-child{transform:translate(-3px,3px)}.logo:hover rect:nth-child(3){transform:translate(3px,-3px)}:root{interpolate-size:allow-keywords}.faq details::details-content{block-size:0;transition:block-size .4s var(--ease),content-visibility .4s allow-discrete;overflow:hidden}.faq details[open]::details-content{block-size:auto}.faq details[open] .answer{animation:rise .45s var(--ease)backwards}html.js .reveal{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*90ms);transform:translateY(22px)}html.js .reveal.in{opacity:1;transform:none}html.js .case-media.reveal{transform:translateY(22px)scale(.985)}html.js .case-media.reveal.in{transform:none}