@font-face{font-family:din;src:url(../media/DINNEXTLTPRO_REGULAR-s.p.3yzusrda751nk.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:din;src:url(../media/DINNEXTLTPRO_MEDIUM-s.p.0kd3vsn74bcx_.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:din;src:url(../media/DINNEXTLTPRO_BOLD-s.p.22202kky94tjz.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:din Fallback;src:local(Arial);ascent-override:76.71%;descent-override:25.57%;line-gap-override:20.46%;size-adjust:97.77%}.din_c9ab1187-module__y0g2EG__className{font-family:din,din Fallback}.din_c9ab1187-module__y0g2EG__variable{--font-din:"din", "din Fallback"}
:root{--bg:#121417;--surface:#17191d;--well:#0d0f12;--line:#25282d;--line-2:#33373e;--text:#ededed;--muted:#a4a9b1;--faint:#868c95;--blue:#1338d9;--blue-hover:#2449ea;--blue-ink:#7089f5;--font:var(--font-din), "Helvetica Neue", Arial, sans-serif;--max:1240px;--pad:clamp(20px, 4vw, 40px);--radius:6px;--section:clamp(88px, 11vw, 144px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.6}img,video,iframe{max-width:100%;display:block}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}p,li,dd{text-wrap:pretty}a{color:inherit}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px;border-radius:2px}.skip{z-index:100;background:var(--blue);color:#fff;border-radius:var(--radius);padding:10px 14px;text-decoration:none;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--pad));padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.link{color:var(--text);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}.link:hover{color:var(--blue-ink);text-decoration-color:currentColor}.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:16px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-hover)}.btn-ghost{border-color:var(--line-2);color:var(--text)}.btn-ghost:hover{border-color:var(--muted)}.btn-sm{min-height:36px;padding:0 14px;font-size:15px}.nav{z-index:30;-webkit-backdrop-filter:saturate(140%)blur(12px);backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--line);background:#121417e6;position:sticky;top:0}.nav-inner{align-items:center;gap:28px;height:64px;display:flex}.nav-brand{white-space:nowrap;margin-right:auto;font-size:17px;font-weight:500;text-decoration:none}.nav-links{gap:26px;display:flex}.nav-links a,.nav-lang{color:var(--muted);font-size:16px;text-decoration:none;transition:color .15s}.nav-links a:hover,.nav-lang:hover{color:var(--text)}.nav-lang{border-left:1px solid var(--line-2);padding-left:26px}.hero{padding-top:clamp(40px,6vh,64px)}.hero-title{letter-spacing:-.022em;font-size:clamp(40px,5.6vw,78px);line-height:1.02}.hero-title span{display:block}.hero-sub{color:var(--muted);margin-top:18px;font-size:clamp(19px,1.7vw,23px);line-height:1.45}.hero-sub span{display:block}@media (max-width:640px){.hero-sub span{display:inline}}.hero-grid{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:start;gap:32px 48px;margin-top:clamp(32px,5vh,48px);display:grid}.hero-side{flex-direction:column;gap:18px;display:flex}.hero-avatar{object-fit:cover;border:1px solid var(--line-2);border-radius:50%;width:72px;height:72px}.hero-pitch{gap:14px;font-size:18px;line-height:1.55;display:grid}.hero-pitch p+p{color:var(--muted)}.hero-cta{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.reel-screen{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);background:var(--well);position:relative;overflow:hidden}.reel-frame{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.reel-frame.is-active{opacity:1}@media (prefers-reduced-motion:no-preference){.reel-frame{transition:opacity .7s,transform 6s linear}.reel.is-running .reel-frame.is-active{transform:scale(1.03)}}.reel-bar,.caption{border-left:3px solid var(--blue);margin-top:14px;padding-left:14px}.caption{color:var(--faint);font-size:15px;line-height:1.45}.reel-caption{color:var(--text);margin-bottom:4px;font-size:16px;line-height:1.4}.reel-tabs{flex-wrap:wrap;gap:4px 22px;display:flex}.reel-tab{font:inherit;color:var(--faint);cursor:pointer;background:0 0;border:0;padding:3px 0 6px;font-size:15px;line-height:1.4;transition:color .15s;position:relative}.reel-tab:hover,.reel-tab[aria-current=true]{color:var(--text)}span.reel-tab{cursor:default}.reel-progress{background:var(--blue-ink);transform-origin:0;width:100%;height:2px;position:absolute;bottom:0;left:0;transform:scaleX(0)}@media (prefers-reduced-motion:no-preference){.reel.is-running .reel-progress{animation:reel-fill var(--reel-interval,4.5s) linear forwards}}@keyframes reel-fill{to{transform:scaleX(1)}}.loop-screen{background:var(--well);position:relative;overflow:hidden}.loop video{object-fit:cover;width:100%;height:100%}.loop--wide .loop-screen{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius)}.loop--phone .loop-screen{aspect-ratio:592/1288;width:min(300px,100%);box-shadow:0 0 0 1px var(--line-2);border:9px solid #07080a;border-radius:44px;margin:0 auto}.loop-toggle{color:#fff;cursor:pointer;opacity:0;background:#0a0b0da6;border:1px solid #fff3;border-radius:50%;place-items:center;width:40px;height:40px;transition:opacity .2s;display:grid;position:absolute;bottom:14px;right:14px}.loop--phone .loop-toggle{bottom:24px;right:16px}.loop:hover .loop-toggle,.loop.is-paused .loop-toggle,.loop-toggle:focus-visible{opacity:1}@media (hover:none){.loop-toggle{opacity:1}}.screens-row{justify-content:center;gap:clamp(12px,2vw,24px);margin:0;padding:0;list-style:none;display:flex}.screen{flex:0 200px;min-width:0}.screen img{width:100%;height:auto;box-shadow:0 0 0 1px var(--line-2);border:6px solid #07080a;border-radius:28px}.screen-label{color:var(--faint);text-align:center;margin-top:10px;font-size:14px;display:block}.radar-screen{border:1px solid var(--line);border-radius:var(--radius);background:var(--well);position:relative;overflow:hidden}.radar-screen iframe{border:0;width:100%;height:100%}.radar-wait{color:var(--faint);place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.section{padding-top:var(--section)}.section-title{letter-spacing:-.018em;font-size:clamp(32px,3.6vw,46px);line-height:1.05}.section-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:baseline;gap:16px 48px;padding-bottom:28px;display:grid}.section-intro{max-width:54ch;color:var(--muted);font-size:19px;line-height:1.5}.rail{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:20px 48px;display:grid}.rail>.section-title{position:sticky;top:96px}.project{border-bottom:1px solid var(--line);padding:clamp(56px,7vw,88px) 0}.project-title{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.project-name{letter-spacing:-.012em;font-size:clamp(28px,2.8vw,36px);line-height:1.1}.project-tag{color:var(--faint);font-size:15px}.project-what{color:var(--muted);margin-top:8px;font-size:clamp(19px,1.7vw,22px);line-height:1.4}.project-text{max-width:62ch;font-size:17.5px;line-height:1.65}.project-meta{align-content:start;gap:16px;display:grid}.facts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.facts li{padding-left:18px;position:relative}.facts li:before{content:"";background:var(--blue-ink);width:8px;height:2px;position:absolute;top:.8em;left:0}.stack{color:var(--faint);font-size:15px;line-height:1.55}.project-link{justify-self:start;font-size:16px}.project--wide .project-media{margin-top:36px}.project--wide .project-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px 64px;margin-top:36px;display:grid}.project--row{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:36px 64px;display:grid}.project-copy{gap:22px;display:grid}.project-media.is-staged{border:1px solid var(--line);border-radius:var(--radius);background:var(--well);padding:clamp(24px,4vw,48px) clamp(16px,3vw,40px) clamp(20px,3vw,32px)}.subsection-title{color:var(--muted);padding-top:clamp(64px,8vw,104px);font-size:clamp(24px,2.4vw,30px);line-height:1.1}.subsection-title+.project{padding-top:clamp(40px,5vw,56px)}.also{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px 48px;padding-top:clamp(48px,6vw,72px);display:grid}.also-title{color:var(--muted);font-size:20px}.also-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.also-list li{max-width:68ch;color:var(--muted)}.xp{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.xp-item{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:4px 24px;padding:20px 0;display:grid}.xp-years{color:var(--faint);font-variant-numeric:tabular-nums;grid-row:span 2}.xp-role{font-weight:500}.xp-detail{color:var(--muted)}.xp-notes{color:var(--muted);gap:8px;margin-top:24px;display:grid}.skills{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;padding-top:24px;display:grid}.skill dt{color:var(--faint);font-size:15px}.skill dd{margin-top:4px}.contact{padding-bottom:var(--section)}.contact-text{color:var(--muted);font-size:20px;line-height:1.5}.contact-email{letter-spacing:-.018em;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--blue);text-decoration-color:var(--blue);text-underline-offset:10px;overflow-wrap:anywhere;margin-top:14px;font-size:clamp(26px,4.2vw,54px);font-weight:500;line-height:1.15;transition:color .15s;display:inline-block}.contact-email:hover{color:var(--blue-ink)}.contact-links{flex-wrap:wrap;gap:10px;margin-top:32px;display:flex}.footer{border-top:1px solid var(--line)}.footer-inner{color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:24px;padding-bottom:32px;font-size:15px;display:flex}.notfound{gap:12px;max-width:560px;margin:0 auto;padding:20vh 24px;display:grid}.notfound-code{color:var(--faint);font-size:15px}.notfound h1{font-size:40px;line-height:1.1}.notfound p{color:var(--muted)}@media (max-width:1000px){.nav-inner,.nav-links{gap:20px}.nav-lang{padding-left:20px}}@media (max-width:900px){.hero-grid,.section-head,.rail,.also,.project--row,.project--wide .project-body{grid-template-columns:minmax(0,1fr)}.rail>.section-title{position:static}.project--row .project-copy{display:contents}.project--row .project-head{order:0}.project--row .project-media{order:1}.project--row .project-text{order:2}.project--row .project-meta{order:3}.project--row{gap:24px}}@media (max-width:640px){body{font-size:16.5px}.nav-links{display:none}.nav-lang{border-left:0;padding-left:0}.hero-pitch{font-size:17px}.skills,.xp-item{grid-template-columns:minmax(0,1fr)}.xp-years{grid-row:auto}.screen img{border-width:4px;border-radius:18px}.btn{flex:auto}.nav .btn{flex:none}}@media (min-width:901px) and (max-height:820px){.hero-title{font-size:clamp(40px,4.6vw,64px)}.hero-sub{margin-top:12px}}
