@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/14d4d63e19d804c8-s.2hx9of09yi2qk.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:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/f9796a0a2d7214e5-s.1b8598wgvzo_b.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:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/c6c1a0748af42b20-s.p.0fgf-orkamc-k.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/cc2b2ba9b11d3453-s.p.2r0__0xc_b_vy.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:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.1zpt8rrvsu92z.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:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.0mxk1tgo-hrwu.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:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.p.1akpt5k8ff_pw.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.2rlmbw0a3_pri.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:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_f8caa106-module__rnlYaq__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback}.hanken_grotesk_f8caa106-module__rnlYaq__variable{--font-sans:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.3vf5yzuqk3fsd.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.3vf5yzuqk3fsd.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_35c54e61-module__n_feVG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_35c54e61-module__n_feVG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
.cookie-notice-module__3NaiKq__card{z-index:75;box-sizing:border-box;border:1px solid var(--line);background:var(--surface);max-width:380px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:10px;padding:22px;animation:.24s both cookie-notice-module__3NaiKq__rise;display:flex;position:fixed;bottom:18px;right:18px}@keyframes cookie-notice-module__3NaiKq__rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cookie-notice-module__3NaiKq__card{animation:none}}@media (max-width:700px){.cookie-notice-module__3NaiKq__card{max-width:none;left:18px}}.cookie-notice-module__3NaiKq__kicker{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.cookie-notice-module__3NaiKq__body{color:var(--ink-2);margin:0;font-size:13.5px;line-height:1.5}.cookie-notice-module__3NaiKq__actions{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:2px;display:flex}.cookie-notice-module__3NaiKq__pill{border:1px solid var(--dark);background:var(--dark);color:var(--on-dark);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:500;line-height:1.2;display:inline-flex}.cookie-notice-module__3NaiKq__pillGhost{border-color:var(--line-2);background:var(--surface);color:var(--ink)}.cookie-notice-module__3NaiKq__link{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:4px;align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:inline-flex}.cookie-notice-module__3NaiKq__link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.cookie-notice-module__3NaiKq__pill:focus-visible,.cookie-notice-module__3NaiKq__link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
:root{--bg:#f2f2f1;--bg-2:#e9e9e7;--surface:#fff;--ink:#101112;--ink-2:#47484c;--ink-3:#66686d;--line:#e1e1df;--line-2:#cfcfcc;--dark:#161718;--on-dark:#f4f4f2;--dark-2:#232426;--ok:#197743;--ok-soft:#dff3e6;--bad:#be382b;--good:#1e8a4c;--shadow:0 1px 2px #0000000a, 0 12px 32px #0000000f;--sans:var(--font-sans), "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:var(--font-mono), SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0f1011;--bg-2:#161718;--surface:#1b1c1e;--ink:#f1f1ef;--ink-2:#abadb3;--ink-3:#82848a;--line:#26272a;--line-2:#36373b;--dark:#f1f1ef;--on-dark:#101112;--dark-2:#e4e4e1;--ok:#6fd39a;--ok-soft:#14301f;--bad:#f0736a;--good:#5fc98f;--shadow:0 1px 2px #0006, 0 12px 32px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=coffee]{--bg:#f3ede4;--bg-2:#ebe2d6;--surface:#fbf8f3;--ink:#2a1f17;--ink-2:#4f4238;--ink-3:#706255;--line:#e2d8cb;--line-2:#cfc2b2;--dark:#3b2a1f;--on-dark:#f7f1e8;--dark-2:#4a362a;--ok:#466f37;--ok-soft:#e3ebd9;--bad:#ad4228;--good:#4c7a3c;--shadow:0 1px 2px #3b2a1f0d, 0 12px 32px #3b2a1f14;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html.locked,html.locked body{overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.55;transition:background .3s,color .3s}img{max-width:100%;display:block}a{color:inherit;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2)}a:not([class]):hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}h1,h2,h3,h4,p{margin:0}input{font-family:inherit}#work,#latest{overflow-x:clip}:root[data-theme=dark] .client-logo{opacity:.9!important;filter:grayscale()brightness(0)invert()!important}:root[data-theme=dark] .client-logo.logo-box{filter:grayscale()invert()!important}:root[data-theme=coffee] .client-logo{opacity:.8!important;filter:grayscale()brightness(0)sepia(.5)saturate(.6)!important}:root[data-theme=coffee] .client-logo.logo-box{filter:grayscale()sepia(.3)!important}:root[data-theme=coffee] .portrait,:root[data-theme=coffee] .tinted{filter:sepia(.45)grayscale(.55)contrast(1.04)!important}:root[data-theme=dark] .brand-ico{filter:invert()}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 30px))}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes railgrow{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes letter{0%{opacity:0;filter:blur(6px);transform:translateY(.55em)rotate(4deg)}to{opacity:1;filter:blur();transform:none}}.marquee-track{animation:42s linear infinite marquee}.marquee:hover .marquee-track{animation-play-state:paused}:root{--in-ease:cubic-bezier(.2, .7, .2, 1);--in-rise:.62s;--in-fade:1.05s;--in-rail:.9s;--in-letter:.62s}@media (prefers-reduced-motion:no-preference){.anim{animation:rise var(--in-rise) var(--in-ease) both}.anim-fade{animation:fadein var(--in-fade) var(--in-ease) both;animation-delay:.2s}.anim-rail{animation:railgrow var(--in-rail) var(--in-ease) both}.ch{white-space:pre;animation:letter var(--in-letter) cubic-bezier(.2, .7, .1, 1) both;animation-delay:calc(var(--ch-delay,.28s) + var(--i) * var(--ch-step,48ms));display:inline-block}[data-js] [data-reveal]:not([data-reveal=shown]){opacity:0;animation:0s linear 4s forwards reveal-failsafe;transform:translateY(18px)}}@keyframes reveal-failsafe{to{opacity:1;transform:none}}[data-reveal]{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}[data-reveal=shown]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.thin-scroll{scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .25s}.thin-scroll:hover,.thin-scroll:focus-within{scrollbar-color:var(--line-2) transparent}.thin-scroll::-webkit-scrollbar{width:10px}.thin-scroll::-webkit-scrollbar-track{background:0 0}.thin-scroll::-webkit-scrollbar-thumb{background:padding-box content-box;border:3px solid #0000;border-radius:999px;transition:background-color .25s}.thin-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--line-2)}.thin-scroll:focus-within::-webkit-scrollbar-thumb{background-color:var(--line-2)}.thin-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--ink-3)}
