@font-face{font-family:NeueAlteGrotesk;src:url(/fonts/NeueAlteGrotesk-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NeueAlteGrotesk;src:url(/fonts/NeueAlteGrotesk-Semibold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Chivo Mono;src:url(/fonts/ChivoMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Chivo Mono;src:url(/fonts/ChivoMono-Italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}:root{--bs-green:#19e76e;--bs-green-dark:#00b86b;--bs-green-deep:#009959;--bs-pink:#ffa9fd;--bs-sage-dark:#a2ae9d;--bs-sage:#cddcc7;--bs-sage-light:#f1f7ef;--bs-sage-bg:#f5f8f4;--bs-green-tint:#f1fef6;--bs-black:#000;--bs-ink:#0e0e0e;--bs-white:#fff;--bs-text-1:#0e0e0e;--bs-text-2:#425366;--bs-text-3:#5f758e;--bs-text-4:#8999ac;--bs-line:#e5e7eb;--bs-line-soft:#e9eff3;--bs-surface-1:#f7f8f9;--bs-surface-2:#fff;--bs-danger:#dd403a;--bs-info:#2176ff;--bg-app:var(--bs-white);--bg-elevated:var(--bs-white);--bg-muted:var(--bs-surface-1);--bg-inverse:var(--bs-ink);--fg-1:var(--bs-text-1);--fg-2:var(--bs-text-2);--fg-3:var(--bs-text-3);--fg-4:var(--bs-text-4);--fg-on-dark:var(--bs-white);--accent:var(--bs-green);--accent-fg:var(--bs-black);--accent-hover:var(--bs-green-dark);--link:var(--bs-green-dark);--line:var(--bs-line);--line-soft:var(--bs-line-soft);--selection-bg:var(--bs-green);--selection-fg:var(--bs-black);--radius-xs:4px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--shadow-1:0 1px 3px 0 #0000001a,0 1px 2px 0 #00000042;--shadow-2:0 2px 0 0 #0003;--shadow-soft:0 4px 30px 0 #4e4e4e1a,0 18px 18px 0 #c7c7c717,0 4px 10px 0 #c7c7c71a;--shadow-focus-green:0 0 0 3px #19e76e4d;--font-sans:"NeueAlteGrotesk","Inter",ui-sans-serif,system-ui,sans-serif;--font-mono:"Chivo Mono",ui-monospace,"SF Mono",Menlo,monospace;--feat-display:"ss01" on,"dlig" on,"cv05" on,"cpsp" on,"liga" on;--feat-flat:"clig" off,"liga" off;--ds-accent:#19e76e;--ds-accent-hover:#00b86b;--ds-accent-deep:#009959;--ds-ink:#0e0e0e;--ds-paper:#fff;--ds-section-tint:#f5f8f4;--ds-maxw:1200px;--ds-gutter:32px}*{box-sizing:border-box}html{scroll-behavior:smooth;font-family:var(--font-sans);color:var(--fg-1);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:none}body{font-family:var(--font-sans);color:var(--ds-ink);background:var(--ds-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:none;margin:0;line-height:1.5;overflow-x:hidden}::selection{background:var(--ds-accent);color:#0e0e0e}::selection{background:var(--ds-accent);color:#0e0e0e}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d7ddd3;border:3px solid #fff;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b9c2b3}.wrap{max-width:var(--ds-maxw);padding-left:var(--ds-gutter);padding-right:var(--ds-gutter);margin:0 auto}.display{font-family:var(--font-sans);letter-spacing:-3.5px;font-feature-settings:"ss01" on,"dlig" on,"cv05" on,"cpsp" on,"liga" on;text-wrap:balance;margin:0;font-size:clamp(48px,7.4vw,104px);font-weight:500;line-height:.96}.h2{font-family:var(--font-sans);letter-spacing:-2px;font-feature-settings:"clig" off,"liga" off;text-wrap:balance;margin:0;font-size:clamp(36px,4.4vw,56px);font-weight:500;line-height:1}.h3{font-family:var(--font-sans);letter-spacing:-.5px;margin:0;font-size:23px;font-weight:500;line-height:1.15}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--fg-3);align-items:center;gap:9px;font-size:12px;font-weight:400;line-height:1;display:inline-flex}.eyebrow .tick{background:var(--ds-accent);border-radius:999px;width:7px;height:7px;display:inline-block}.lead{color:#425366;font-size:19px;line-height:1.5}.muted{color:#5f758e}.mono{font-family:var(--font-mono)}.accent-mark{color:var(--ds-accent)}.uline{display:inline-block;position:relative}.uline:after{content:"";background:var(--ds-accent);opacity:.9;z-index:-1;height:.32em;position:absolute;bottom:.06em;left:-2px;right:-2px;transform:skew(-12deg)}@keyframes dslFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.dotted{background-image:radial-gradient(circle at 1px 1px,#cddcc7 1px,#0000 0);background-size:22px 22px}.gridlines{background-image:linear-gradient(90deg,#0e0e0e0d 1px,#0000 1px),linear-gradient(#0e0e0e0d 1px,#0000 1px);background-size:56px 56px}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}@keyframes sheen{0%{background-position:-120% 0}to{background-position:220% 0}}@keyframes drawline{0%{stroke-dashoffset:var(--dash,400)}to{stroke-dashoffset:0}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.pulse-dot{animation:2.4s ease-in-out infinite pulseDot}.floaty{animation:6s ease-in-out infinite floaty}@media (max-width:1080px){.hero-grid{grid-template-columns:1fr!important;gap:48px!important}.hero-visual{max-width:520px}.code-grid,.studio-grid{grid-template-columns:1fr!important;gap:40px!important}.approach-grid{grid-template-columns:repeat(2,1fr)!important;row-gap:40px!important}.approach-line{display:none!important}.work-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:720px){:root{--ds-gutter:20px}.nav-links,.nav-status{display:none!important}.services-grid,.work-grid,.approach-grid{grid-template-columns:1fr!important}.display{letter-spacing:-2px!important;font-size:clamp(44px,12vw,60px)!important}.footer-grid{grid-template-columns:1fr 1fr!important;row-gap:36px!important}section .wrap{padding-top:64px!important;padding-bottom:64px!important}}@media (max-width:460px){.footer-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){.floaty,.pulse-dot{animation:none}[style*=marquee]{animation:none!important}}
