@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #050608;--bg-2: #0a0c11;--surface: #0f1218;--line: rgba(220, 228, 240, .09);--line-2: rgba(220, 228, 240, .16);--ink: #eef1f5;--ink-2: #b9c0ca;--muted: #7b8491;--silver-1: #ffffff;--silver-2: #d9dee5;--silver-3: #9aa2ad;--blue: #3d6bff;--blue-soft: #9cc0ff;--blue-glow: rgba(61, 107, 255, .35);--metal: linear-gradient(180deg, #ffffff 0%, #e4e8ee 38%, #aab2bd 72%, #d6dbe2 100%);--font-sans: "Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lead: clamp(1rem, .94rem + .3vw, 1.175rem);--fs-h2: clamp(2rem, 1.3rem + 3vw, 3.75rem);--fs-display: clamp(2.7rem, .9rem + 6.1vw, 7.25rem);--gutter: clamp(1.25rem, .6rem + 2.8vw, 3rem);--container: 1280px;--nav-h: 72px;--radius: 14px;--radius-lg: 22px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.7, 0, .2, 1)}@media(min-width:900px){:root{--nav-h: 84px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--nav-h);scrollbar-gutter:stable;background:var(--bg);color-scheme:dark}html.is-intro,html.is-locked{overflow:hidden}html.is-intro body,html.is-locked body{overflow:hidden;touch-action:none}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}ol,ul{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--blue-soft);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:max(var(--gutter),env(safe-area-inset-left))}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:200;padding:.6rem 1rem;border-radius:999px;background:var(--ink);color:var(--bg);font-size:var(--fs-sm);transform:translateY(-200%)}.skip-link:focus{transform:none}.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #3d6bff26,0 0 12px var(--blue)}.eyebrow__num{color:var(--muted)}.btn{--h: 52px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;height:var(--h);padding-inline:1.5rem;border-radius:999px;font-size:.95rem;font-weight:500;letter-spacing:-.005em;white-space:nowrap;isolation:isolate;transition:transform .5s var(--ease-out),background-color .3s,border-color .3s,color .3s,box-shadow .5s var(--ease-out);-webkit-tap-highlight-color:transparent}.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease-out)}.btn--sm{--h: 42px;padding-inline:1.15rem;font-size:var(--fs-sm)}.btn--primary{color:#07080b;background:var(--metal);box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #0000002e,0 10px 30px -12px #9cc0ff73}.btn--primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%) no-repeat;background-size:250% 100%;background-position:130% 0;mix-blend-mode:overlay;transition:background-position .9s var(--ease-out)}.btn--ghost{color:var(--ink);border:1px solid var(--line-2);background:#ffffff05;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@media(hover:hover){.btn:hover{transform:translateY(-1px)}.btn:hover svg{transform:translate(3px)}.btn--primary:hover{box-shadow:inset 0 1px #ffffffe6,inset 0 -1px #0000002e,0 16px 40px -12px #9cc0ff99}.btn--primary:hover:after{background-position:-30% 0}.btn--ghost:hover{border-color:#dce4f059;background:#ffffff0d}}.btn:active{transform:translateY(0) scale(.98)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.nav{position:fixed;inset:0 0 auto;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:transform 1s var(--ease-out),opacity 1s var(--ease-out)}.nav:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#050608b8;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s}.nav.is-scrolled:before,.nav.is-open:before{opacity:1}.nav.is-open:before{background:var(--bg)}.js .nav{transform:translateY(-110%);opacity:0}.is-ready .nav{transform:none;opacity:1;transition-delay:.55s}.nav__inner{position:relative;display:flex;align-items:center;gap:2rem;height:var(--nav-h)}.brand{display:inline-flex;align-items:center;gap:.75rem;margin-right:auto}.brand__mark{width:40px;height:auto}.brand__word{width:148px;height:auto}.nav__links{display:none;gap:2.25rem;font-size:var(--fs-sm);color:var(--ink-2)}.nav__links a{position:relative;padding-block:.4rem;transition:color .3s}.nav__links a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}@media(hover:hover){.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{transform:scaleX(1);transform-origin:left}}.nav__cta{display:none}.nav__toggle{position:relative;display:grid;place-content:center;gap:6px;width:44px;height:44px;margin-right:-10px;border-radius:50%;-webkit-tap-highlight-color:transparent}.nav__toggle-bar{display:block;width:22px;height:1.5px;border-radius:2px;background:var(--ink);transition:transform .5s var(--ease-out)}.nav.is-open .nav__toggle-bar:nth-child(2){transform:translateY(3.75px) rotate(45deg)}.nav.is-open .nav__toggle-bar:nth-child(3){transform:translateY(-3.75px) rotate(-45deg)}.menu{position:fixed;inset:calc(var(--nav-h) + env(safe-area-inset-top,0px)) 0 0;display:flex;flex-direction:column;justify-content:space-between;padding:2rem var(--gutter) calc(2rem + env(safe-area-inset-bottom,0px));background:var(--bg)}.menu[hidden]{display:none}.menu__links{display:flex;flex-direction:column}.menu__links a{display:flex;align-items:baseline;gap:1rem;padding-block:1.1rem;border-bottom:1px solid var(--line);font-size:clamp(2rem,9vw,3rem);font-weight:500;letter-spacing:-.04em;line-height:1.1}.menu__links span{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;color:var(--muted)}.menu__cta{width:100%}.menu>*,.menu__links a{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(.08s + var(--i, 0) * .06s)}.menu__links{opacity:1;transform:none}.nav.is-open .menu>*,.nav.is-open .menu__links a{opacity:1;transform:none}@media(min-width:900px){.nav__links,.nav__cta{display:inline-flex}.nav__toggle,.menu{display:none!important}.brand__mark{width:44px}.brand__word{width:160px}}.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100vh;min-height:100svh;padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px));overflow:hidden}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.hero__glow{position:absolute;left:50%;top:var(--glow-y, 50%);width:min(1100px,140vw);aspect-ratio:1.6;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(61,107,255,.16),rgba(61,107,255,.05) 55%,transparent 75%);opacity:0;transition:opacity 2.4s var(--ease-out) .4s}.is-ready .hero__glow,.no-js .hero__glow{opacity:1}.hero__bg:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 30%,var(--line-2) 70%,transparent)}@property --logo-base{syntax: "<number>"; inherits: false; initial-value: 1;}.hero-logo{opacity:calc(var(--logo-base) + (1 - var(--logo-base)) * var(--dock, 0));position:absolute;left:50%;top:50%;z-index:-1;width:min(560px,78vw);height:auto;overflow:visible;pointer-events:none;transform:translate(calc(-50% + var(--lx, 0px)),calc(-50% + var(--ly, 0px))) scale(var(--ls, 1));will-change:transform,opacity}.is-intro .hero-logo .lg-fill,.is-intro .hero-logo .lg-blue,.is-intro .hero-logo .lg-bloom,.is-intro .hero-logo .lg-word>*{opacity:0}.is-intro .hero-logo .lg-reveal{transform:scale(.02)}.hero-logo .lg-reveal{transform-box:view-box;transform-origin:250px 62px}.hero-logo .lg-blue{transform-box:view-box;transform-origin:232px 128px}.hero-logo .lg-word>*{transform-box:view-box}.hero-logo .lg-spec{opacity:0;transform-box:view-box;mix-blend-mode:screen}.hero-logo .lg-glint{opacity:0}.hero-logo .lg-glint path{stroke-dasharray:.16 1.4;stroke-dashoffset:.16}.no-js .hero-logo{opacity:.07}.no-js .hero-logo .lg-word{opacity:0}@media(max-width:599px){.hero-logo{width:84vw}}.hero__content{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(1.4rem,1rem + 1.6vw,2.25rem);padding-block:clamp(2.5rem,6vh,5rem)}.hero__title{display:flex;flex-direction:column;align-items:center;max-width:100%;font-size:var(--fs-display);font-weight:500;line-height:1;letter-spacing:-.048em;color:var(--ink);font-variation-settings:"wght" 520}.hero__line{display:flex;flex-wrap:wrap;justify-content:center;column-gap:.24em}.hero__line--2{flex-wrap:nowrap;align-items:baseline;column-gap:.26em;margin-top:.04em}.hero__em{color:var(--muted);font-weight:300;font-variation-settings:"wght" 300;letter-spacing:-.03em}.mask{display:inline-block;overflow:hidden;padding:.04em .02em .14em;margin:-.04em -.02em -.14em}.mask__in{display:inline-block}.js .mask__in{transform:translate3d(0,108%,0);transition:transform 1.25s var(--ease-out);transition-delay:calc(.35s + var(--d, 0) * .09s)}.is-ready .mask__in{transform:none}.js [data-reveal]{opacity:0;transform:translate3d(0,14px,0);transition:opacity 1.1s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:calc(.35s + var(--d, 0) * .09s)}.is-ready [data-reveal]{opacity:1;transform:none}.hero__lead{max-width:36rem;font-size:var(--fs-lead);line-height:1.65;color:var(--ink-2);text-wrap:pretty}.hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}@media(max-width:479px){.hero__actions{width:100%;flex-direction:column}.hero__actions .btn{width:100%}}.rotator{position:relative;display:inline-grid;justify-items:start;width:var(--w, auto);perspective:900px;perspective-origin:50% 50%;transition:width .95s var(--ease-out);text-align:left}.rotator__word{grid-area:1 / 1;display:inline-flex;white-space:nowrap;transform-style:preserve-3d}.rotator .ch{display:inline-block;background:var(--metal);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-bottom:.1em;margin-bottom:-.1em;transform-origin:50% 60% -.25em;backface-visibility:hidden;will-change:transform,opacity,filter;opacity:0;filter:blur(8px);transform:translate3d(0,.42em,0) rotateX(-78deg)}.rotator__word.is-in .ch{opacity:1;filter:blur(0);transform:none;transition:transform 1.05s var(--ease-out) calc(var(--i) * 34ms + var(--lag, 0ms)),opacity .7s var(--ease-out) calc(var(--i) * 34ms + var(--lag, 0ms)),filter .8s var(--ease-out) calc(var(--i) * 34ms + var(--lag, 0ms))}.rotator__word.is-out .ch{opacity:0;filter:blur(8px);transform:translate3d(0,-.32em,0) rotateX(72deg);transition:transform .6s var(--ease-in-out) calc(var(--i) * 22ms),opacity .45s ease calc(var(--i) * 22ms + .1s),filter .5s ease calc(var(--i) * 22ms)}.rotator:after{content:"";position:absolute;left:.04em;right:.04em;bottom:.02em;height:max(1px,.018em);border-radius:2px;background:linear-gradient(90deg,transparent,var(--blue) 18%,var(--blue-soft) 50%,var(--blue) 82%,transparent);box-shadow:0 0 18px 1px var(--blue-glow);opacity:0;transform:scaleX(.2);transition:transform 1s var(--ease-out),opacity .8s var(--ease-out)}.rotator.is-live:after{opacity:.85;transform:scaleX(1)}.rotator.is-switching:after{transform:scaleX(.55);opacity:.4;transition-duration:.5s}.hero__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.status{display:inline-flex;align-items:center;gap:.6rem}.status__dot{position:relative;width:7px;height:7px;border-radius:50%;background:#4ade80}.status__dot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:inherit;animation:ping 2.4s var(--ease-out) infinite}@keyframes ping{0%{transform:scale(1);opacity:.7}80%,to{transform:scale(3.2);opacity:0}}.scroll-cue{display:inline-flex;align-items:center;gap:.75rem;transition:color .3s}.scroll-cue i{position:relative;width:1px;height:36px;overflow:hidden;background:var(--line-2)}.scroll-cue i:after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:var(--ink);animation:cue 2.2s var(--ease-in-out) infinite}@keyframes cue{0%{transform:translateY(-100%)}to{transform:translateY(240%)}}@media(hover:hover){.scroll-cue:hover{color:var(--ink)}}@media(max-width:599px){.scroll-cue span{display:none}}.section{position:relative;padding-block:clamp(5rem,3rem + 8vw,10rem);border-top:1px solid var(--line)}.section__head{display:grid;gap:1.1rem;max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 3vw,4.5rem)}.section__head--center{margin-inline:auto;text-align:center;justify-items:center}.section__title{font-size:var(--fs-h2);font-weight:500;line-height:1.05;letter-spacing:-.04em;text-wrap:balance}.section__lead{font-size:var(--fs-lead);color:var(--ink-2);text-wrap:pretty}.projects{display:grid;gap:clamp(1rem,.6rem + 1.5vw,1.75rem);grid-template-columns:1fr}@media(min-width:720px){.projects{grid-template-columns:repeat(2,1fr)}.projects>:first-child{grid-column:1 / -1;aspect-ratio:21 / 9}}@media(min-width:1100px){.projects{grid-template-columns:repeat(3,1fr)}.projects>:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}}.project-card{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-lg);border:1px solid var(--line);background:radial-gradient(120% 80% at 0% 0%,rgba(61,107,255,.07),transparent 60%),var(--surface);overflow:hidden}.project-card.is-placeholder{display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.section--contact{background:radial-gradient(60% 70% at 50% 100%,rgba(61,107,255,.08),transparent 70%)}.footer{border-top:1px solid var(--line);padding-block:2rem calc(2rem + env(safe-area-inset-bottom,0px));font-size:var(--fs-sm);color:var(--muted)}.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}
