:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#fff;--page-soft:#fff;--surface:#ffffffe6;--text:#0d1b33;--muted:#52627a;--quiet:#7a899d;--blue:#0037fc;--blue-deep:#0028bd;--blue-soft:#eef1ff;--rain-line:#0037fc94;--focus:#ff9f1c;--pixel-unit:4px;--pixel-shadow:#0d1b331a;--font-pixel:"SFMono-Regular", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--max-width:1180px;--header-height:82px;font-family:var(--font-pixel);font-synthesis:none;font-variant-ligatures:none;text-rendering:geometricprecision}.dark,:root{--brand-blue:#0037fc;--brand-blue-deep:#0028bd}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#17191d;--page-soft:#17191d;--surface:#17191de6;--text:#f2f6fb;--muted:#a8b4c4;--quiet:#79889b;--blue:#7289ff;--blue-deep:#9aaaff;--blue-soft:#202746;--rain-line:#5d77ffb3;--focus:#ffd166;--pixel-shadow:#00000061}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px)}body,html{background:var(--page)}body{min-width:320px;min-height:100vh;color:var(--text);margin:0;transition:background-color .12s steps(2,end),color .12s steps(2,end)}body:before{content:"";z-index:-2;background:var(--page);position:fixed;inset:0}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto;display:block}figure,h1,h2,h3,p{margin:0}.wordmark,h1,h2,h3{font-family:var(--font-pixel);font-variant-ligatures:none}h1,h2,h3{text-wrap:balance}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.site-shell{isolation:isolate;min-height:100vh}.container{width:min(calc(100% - 48px),var(--max-width));margin-inline:auto}.section-space{padding-block:clamp(6rem,12vw,10rem)}.skip-link{z-index:100;color:#fff;background:var(--blue-deep);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px);padding:12px 18px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;height:var(--header-height);background:color-mix(in srgb,var(--page) 96%,transparent);box-shadow:0 4px 0 color-mix(in srgb,var(--blue) 7%,transparent);position:sticky;top:0}.header-inner{grid-template-columns:1fr auto 1fr;align-items:center;height:100%;display:grid}.wordmark{width:clamp(176px,19vw,252px);display:block}.wordmark img{width:100%;height:auto}.main-nav{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(1.2rem,3vw,2.4rem);font-size:.88rem;font-weight:700;display:flex}.language-link,.main-nav a{transition:color .1s steps(2,end);position:relative}.main-nav a:before{content:">";color:var(--blue);opacity:0;position:absolute;left:-1em}.main-nav a:focus-visible:before,.main-nav a:hover:before{opacity:1}.language-link:hover,.main-nav a:hover{color:var(--blue)}.header-actions{justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.language-link{color:var(--muted);letter-spacing:.12em;padding:10px;font-size:.78rem;font-weight:600}.icon-button,.icon-button-placeholder{place-items:center;width:42px;height:42px;display:grid}.icon-button{color:var(--text);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px);cursor:pointer;background:0 0;border:0;border-radius:0;padding:0;transition:color .1s steps(2,end),background .1s steps(2,end)}.icon-button:hover{color:var(--blue);background:var(--blue-soft)}.eyebrow{color:var(--blue);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.75rem;font-weight:600;line-height:1.4;display:flex}.eyebrow:before{content:"";background:var(--blue);width:7px;height:7px;box-shadow:4px 4px 0 color-mix(in srgb,var(--blue) 22%,transparent);flex:none}.hero{min-height:calc(100svh - var(--header-height));align-content:center;padding-top:clamp(4rem,9vw,8rem);display:grid}.hero,.hero-copy{position:relative}.hero-copy{z-index:1;max-width:900px}.hero h1{letter-spacing:-.075em;max-width:920px;margin-top:1.25rem;font-size:clamp(3rem,7.2vw,6.8rem);font-weight:800;line-height:1}.hero-intro{max-width:680px;color:var(--muted);margin-top:2rem;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:2.5rem;display:flex}.button{clip-path:polygon(6px 0,calc(100% - 6px) 0,calc(100% - 6px) 4px,100% 4px,100% calc(100% - 6px),calc(100% - 4px) calc(100% - 6px),calc(100% - 4px) 100%,6px 100%,6px calc(100% - 4px),0 calc(100% - 4px),0 6px,6px 6px);letter-spacing:.045em;text-transform:uppercase;cursor:pointer;border:0;border-radius:0;justify-content:center;align-items:center;min-height:52px;padding:0 1.45rem;font-size:.88rem;font-weight:800;display:inline-flex}.button-primary{color:#fff;background:var(--brand-blue);filter:drop-shadow(6px 6px 0 var(--brand-blue-deep));transition:transform .1s steps(2,end),filter .1s steps(2,end),background .1s steps(2,end)}.button-primary:hover{background:var(--brand-blue-deep);filter:drop-shadow(3px 3px 0 var(--brand-blue-deep));transform:translate(3px,3px)}.arrow-link,.back-link,.text-link{width:fit-content;color:var(--text);letter-spacing:.02em;font-weight:800}.arrow-link span,.back-link span,.text-link span{color:var(--blue)}.hero-capabilities{color:var(--quiet);letter-spacing:.18em;text-transform:uppercase;font-size:.76rem;font-weight:600;position:absolute;bottom:2rem;right:0}.section-heading{grid-template-columns:minmax(150px,.35fr) 1fr;align-items:start;gap:1rem 3rem;display:grid}.about-grid h2,.contact-inner h2,.section-heading h2{letter-spacing:-.065em;max-width:820px;font-size:clamp(2.35rem,5.4vw,5rem);font-weight:800;line-height:1.06}.section-heading>p:last-child{max-width:610px;color:var(--muted);grid-column:2;font-size:1.05rem;line-height:1.7}.service-list{grid-template-columns:repeat(3,1fr);gap:clamp(2rem,6vw,5rem);margin:clamp(4rem,8vw,7rem) 0 0;padding:0;list-style:none;display:grid}.project-number,.service-item>span{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:800}.service-item h3{letter-spacing:-.03em;margin-top:1.35rem;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:800}.service-item p{color:var(--muted);margin-top:1rem;line-height:1.7}.service-item{padding-top:1.25rem;position:relative}.service-item:before{content:"";background:var(--blue);width:8px;height:8px;box-shadow:12px 0 0 color-mix(in srgb,var(--blue) 48%,transparent),24px 0 0 color-mix(in srgb,var(--blue) 18%,transparent);position:absolute;top:0;left:0}.projects-section{background:0 0}.section-heading-wide{margin-bottom:clamp(5rem,10vw,9rem)}.project-list{gap:clamp(6rem,12vw,11rem);display:grid}.project-row{grid-template-columns:minmax(0,1.32fr) minmax(260px,.68fr);align-items:center;gap:clamp(2rem,7vw,6.5rem);display:grid}.project-row:nth-child(2n) .project-visual{order:2}.project-visual{background:var(--page);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px,10px 10px);filter:drop-shadow(12px 12px 0 var(--pixel-shadow));border-radius:0;position:relative;overflow:hidden}.case-visual:after,.project-visual:after{content:"";z-index:1;pointer-events:none;opacity:.055;background-image:linear-gradient(90deg,var(--blue) 1px,transparent 1px),linear-gradient(var(--blue) 1px,transparent 1px);background-size:8px 8px;transition:opacity .1s steps(2,end);position:absolute;inset:0}.project-visual img{aspect-ratio:1200/630;-o-object-fit:cover;object-fit:cover;width:100%;image-rendering:pixelated;transition:transform .18s steps(3,end),filter .18s steps(3,end)}.project-visual:hover img{filter:contrast(1.06)saturate(.92);transform:scale(1.015)}.project-visual:hover:after{opacity:.11}.project-copy h3{letter-spacing:-.05em;margin-top:1.25rem;font-size:clamp(2rem,4vw,3.8rem);font-weight:800;line-height:1.04}.project-copy>p:not(.project-number){color:var(--muted);margin-top:1.35rem;font-size:1.04rem;line-height:1.7}.arrow-link{gap:.5rem;margin-top:1.8rem;display:inline-flex}.about-section>.eyebrow{margin-bottom:2rem}.about-grid{grid-template-columns:1.1fr .9fr;gap:clamp(3rem,10vw,9rem);display:grid}.about-grid>div{padding-top:.75rem}.about-grid p{color:var(--muted);font-size:1.08rem;line-height:1.78}.about-grid p+p{margin-top:1.4rem}.contact-section{color:var(--text);background:0 0}.contact-inner .eyebrow{color:var(--blue)}.contact-inner h2{margin-top:1.4rem}.contact-inner>p:not(.eyebrow){max-width:600px;color:var(--muted);margin-top:1.5rem;font-size:1.08rem;line-height:1.7}.contact-links{flex-wrap:wrap;gap:2rem 4rem;margin-top:3.6rem;display:flex}.contact-links a{color:var(--blue);font-family:var(--font-pixel);box-shadow:inset 0 -3px 0 color-mix(in srgb,var(--blue) 18%,transparent);font-size:clamp(1.2rem,2.4vw,1.8rem);font-weight:800}.site-footer{background:var(--page);padding-block:4.5rem}.footer-inner{color:var(--muted);grid-template-columns:1fr 1fr;gap:3rem;font-size:.9rem;line-height:1.8;display:grid}.footer-label{color:var(--quiet);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.65rem;font-size:.72rem;font-weight:800}.footer-address{flex-direction:column;align-items:flex-start;font-style:normal;display:flex}.footer-inner a:hover{color:var(--blue)}.footer-copyright{color:var(--quiet);grid-column:1/-1;font-size:.75rem}.case-study{padding-top:clamp(4rem,8vw,7rem)}.back-link{color:var(--muted);text-transform:uppercase;gap:.65rem;font-size:.86rem;display:inline-flex}.case-header{grid-template-columns:1.15fr .85fr;align-items:end;gap:2rem clamp(3rem,9vw,8rem);margin-top:clamp(3.5rem,7vw,6rem);display:grid}.case-header h1{letter-spacing:-.065em;margin-top:1.2rem;font-size:clamp(3rem,7vw,6.5rem);font-weight:800;line-height:.96}.case-summary{color:var(--muted);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.7}.case-header .button{grid-column:2;width:fit-content}.case-visual{clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px,12px 12px);filter:drop-shadow(14px 14px 0 var(--pixel-shadow));border-radius:0;margin-top:clamp(4rem,8vw,7rem);position:relative;overflow:hidden}.case-visual img{aspect-ratio:1200/630;-o-object-fit:cover;object-fit:cover;width:100%;image-rendering:pixelated}.case-content{grid-template-columns:repeat(2,1fr);gap:clamp(4rem,8vw,7rem);max-width:980px;margin:clamp(6rem,12vw,10rem) auto 0;display:grid}.case-content h2{letter-spacing:-.04em;margin-top:1rem;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:800}.case-content li,.case-content section>p:not(.eyebrow),.technology-list>p:last-child{color:var(--muted);margin-top:1.2rem;line-height:1.75}.case-content ul{margin:1.2rem 0 0;padding:0;list-style:none}.case-content li{padding-left:1.35rem;position:relative}.case-content li:before{content:"";background:var(--blue);width:6px;height:6px;position:absolute;top:.7em;left:0}.case-content li+li{margin-top:.35rem}.technology-list{align-self:end}.next-project{justify-content:space-between;align-items:baseline;gap:2rem;margin-top:clamp(7rem,13vw,12rem);display:flex}.next-project>span{color:var(--quiet);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:600}.next-project a{max-width:760px;font-family:var(--font-pixel);letter-spacing:-.05em;text-align:right;font-size:clamp(2rem,5vw,4.8rem);font-weight:800;line-height:1.05}.case-contact a span,.next-project a span{color:var(--blue)}.case-contact{color:var(--text);background:0 0;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-top:clamp(7rem,13vw,12rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.case-contact p{max-width:620px;font-family:var(--font-pixel);letter-spacing:-.05em;font-size:clamp(2rem,4.6vw,4rem);font-weight:800;line-height:1.05}.case-contact a{font-weight:600}.case-contact a,.case-contact a span{color:var(--blue)}.error-page{text-align:center;place-content:center;gap:1.4rem;width:min(100% - 48px,760px);min-height:100vh;margin:auto;display:grid}.error-page h1{letter-spacing:-.06em;font-size:clamp(2.8rem,8vw,6rem)}.error-page>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.error-page .button{justify-self:center;margin-top:1rem}@media (width<=900px){.header-inner{grid-template-columns:1fr auto}.site-header{height:auto}.header-inner{min-height:var(--header-height);row-gap:.35rem;padding-block:.65rem}.main-nav{letter-spacing:.02em;grid-area:2/1/auto/-1;justify-content:space-between;gap:.5rem;font-size:.72rem}.main-nav a{align-items:center;min-height:44px;display:flex}.main-nav a:before{display:none}.header-actions{grid-area:1/2}.service-list{max-width:700px}.project-row,.service-list{grid-template-columns:1fr}.project-row:nth-child(2n) .project-visual{order:0}.project-copy{max-width:620px}.about-grid,.case-header{grid-template-columns:1fr}.case-header .button{grid-column:1}}@media (width<=680px){:root{--header-height:70px}.container{width:min(calc(100% - 32px),var(--max-width))}.section-space{padding-block:5.5rem}.hero{min-height:calc(100svh - var(--header-height));padding-bottom:6rem}.hero h1{font-size:clamp(2.4rem,10vw,3.8rem)}.hero-capabilities{left:0;right:auto}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:1}.about-grid h2,.contact-inner h2,.section-heading h2{font-size:clamp(2.25rem,11vw,3.6rem)}.project-list{gap:6rem}.case-content{grid-template-columns:1fr}.next-project{flex-direction:column;align-items:flex-start}.next-project a{text-align:left}.case-contact,.footer-inner{grid-template-columns:1fr}.footer-copyright{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.service-page{overflow-wrap:anywhere;padding-top:clamp(3rem,6vw,6rem)}.service-header{max-width:900px;margin-top:3rem}.service-header h1{letter-spacing:-.06em;margin-block:1.25rem 2rem;font-size:clamp(2.4rem,6vw,5rem);line-height:1.05}.project-inquiry p,.service-examples p,.service-faq p,.service-header>p:not(.eyebrow),.service-section li,.service-section>p{max-width:760px;color:var(--muted);line-height:1.75}.project-inquiry,.service-header .button{margin-top:2rem}.service-section{max-width:980px;margin-top:clamp(4rem,8vw,7rem)}.service-section h2{letter-spacing:-.04em;margin-bottom:1.5rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.15}.service-section h3{color:var(--text);font-size:1.35rem;line-height:1.35}.process-list,.service-section ul{padding-left:1.4rem}.service-section li+li{margin-top:1rem}.process-list p,.project-inquiry p,.service-examples p{margin-top:.8rem}.service-examples{gap:2.5rem;display:grid}.service-faq{border-bottom:1px solid var(--quiet);padding-block:1.25rem}.service-faq summary{cursor:pointer;min-height:44px;font-weight:700}.service-faq p{padding-block:.75rem}.project-inquiry p{font-size:.9rem}.service-examples h3 a:hover,.service-item a:hover{color:var(--blue)}@media (width<=900px){html{scroll-padding-top:150px}}@media (width<=380px){.wordmark{width:150px}.header-actions{gap:.25rem}}.rain-field[data-v-09a97330]{z-index:-1;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.rain-line[data-v-09a97330]{top:0;left:var(--drop-left);width:var(--drop-width);height:var(--drop-height);opacity:0;background:var(--rain-line);transform-origin:50%;animation:rain-fall-09a97330 var(--drop-duration) linear var(--drop-delay) infinite;will-change:transform,opacity;position:absolute}@keyframes rain-fall-09a97330{0%{opacity:0;transform:translateY(-24vh)}4%{opacity:var(--drop-opacity)}94%{opacity:var(--drop-opacity)}to{opacity:0;transform:translateY(126vh)}}@media (width<=680px){.rain-line[data-v-09a97330]:nth-child(3n){display:none}}@media (prefers-reduced-motion:reduce){.rain-line[data-v-09a97330]{top:var(--drop-static-top);height:28px;opacity:calc(var(--drop-opacity)*.45);animation:none;transform:none}.rain-line[data-v-09a97330]:nth-child(n+9){display:none}}
