:root{--bg: #070708;--bg2: #0e0e11;--fg: #f2f1ec;--muted: #8d8c93;--line: rgba(242, 241, 236, .12);--lime: #d4ff3f;--violet: #a78bfa;--teal: #5eead4;--pad: clamp(20px, 4vw, 64px);--font: "Space Grotesk", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}html.is-loading,html.is-loading body{overflow:hidden}body{color:var(--fg);font-family:var(--font);line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.mono{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;text-transform:uppercase}::selection{background:var(--lime);color:#000}.section{padding-left:var(--pad);padding-right:var(--pad)}.mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.04em;margin-bottom:-.04em}.char{display:inline-block;will-change:transform}.outline .char{color:transparent;-webkit-text-stroke:1.5px var(--fg)}.noise{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain .9s steps(6) infinite}@keyframes grain{0%,to{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,1%)}80%{transform:translate(3%,3%)}}.preloader{position:fixed;inset:0;z-index:200}.pl-panel{position:absolute;inset:0}.pl-panel.lime{background:var(--lime)}.pl-panel.dark{background:var(--bg);display:flex;align-items:flex-end;padding:var(--pad)}.pl-inner{width:100%}.pl-name{font-size:clamp(56px,13vw,220px);font-weight:700;letter-spacing:-.04em;line-height:.85}.pl-row{display:flex;justify-content:space-between;margin:24px 0 12px;color:var(--muted)}.pl-num{color:var(--lime);font-size:14px}.pl-bar{height:2px;background:var(--line)}.pl-bar span{display:block;height:100%;background:var(--lime);transform-origin:left;transform:scaleX(0)}html.has-cursor,html.has-cursor *{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:300;border-radius:50%;transform:translate(-50%,-50%)}html:not(.has-cursor) .cursor-dot,html:not(.has-cursor) .cursor-ring{display:none}.cursor-dot{width:6px;height:6px;background:var(--lime);margin:-3px 0 0 -3px;transform:none}.cursor-ring{width:40px;height:40px;margin:-20px 0 0 -20px;transform:none;border:1px solid rgba(242,241,236,.5);display:grid;place-items:center;transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s;mix-blend-mode:difference}.cursor-ring span{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:#000;opacity:0;transition:opacity .2s}.cursor-ring.hover{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:var(--lime)}.cursor-ring.big{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--lime);border-color:var(--lime);mix-blend-mode:normal}.cursor-ring.big span{opacity:1}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:24px;padding:18px var(--pad);mix-blend-mode:difference}.nav-logo{font-weight:700;font-size:22px;letter-spacing:-.02em}.nav-logo i{font-style:normal;font-size:10px;vertical-align:super;color:var(--lime)}.nav-meta{display:flex;gap:22px;color:var(--muted);margin-left:12px}.live{display:inline-flex;align-items:center;gap:8px}.live b{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.3}}.nav nav{margin-left:auto;display:flex;gap:28px}.nav-link{overflow:hidden;display:inline-block;height:1.3em;line-height:1.3em;font-size:15px}.nav-link span{display:inline-block;position:relative;transition:transform .45s cubic-bezier(.7,0,.2,1)}.nav-link span:after{content:attr(data-text);position:absolute;left:0;top:100%;color:var(--lime)}.nav-link:hover span{transform:translateY(-100%)}.nav-cta{display:inline-block;padding:10px 20px;border-radius:999px;background:var(--fg);color:#000;font-weight:600;font-size:14px}.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:110px var(--pad) 36px}.hero-canvas{position:absolute;inset:0;z-index:0}.hero>*:not(.hero-canvas){position:relative;z-index:1}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.hero-tag{color:var(--muted)}.hero-role{font-size:clamp(18px,2vw,26px);text-align:right}.role-word{display:inline-block;min-width:13ch;text-align:left;color:var(--lime);font-size:.85em;text-transform:none;letter-spacing:0}.hero-name{font-weight:700;letter-spacing:-.055em;line-height:.82;font-size:clamp(54px,12.6vw,250px);pointer-events:none}.hero-line{display:block;white-space:nowrap}.hero-line.l2{text-align:right}.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px}.hero-intro{max-width:430px;color:#cfcfd3;font-size:16px}.hero-intro em{font-style:normal;color:var(--fg);border-bottom:1px solid var(--lime)}.hero-loc{text-align:right;color:var(--muted);line-height:1.7}.scroll-badge{position:relative;width:116px;height:116px;display:grid;place-items:center}.scroll-badge svg{position:absolute;inset:0;width:100%;height:100%}.scroll-badge text{font-family:var(--mono);font-size:10.5px;letter-spacing:2.6px;fill:var(--fg)}.spin{animation:spin 14s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scroll-badge .arrow{width:44px;height:44px;border-radius:50%;background:var(--lime);color:#000;display:grid;place-items:center;font-size:20px;animation:bob 1.8s ease-in-out infinite}@keyframes bob{50%{transform:translateY(6px)}}.marquee{position:relative;padding:90px 0;overflow:hidden}.mq-band{overflow:hidden;white-space:nowrap;padding:18px 0;will-change:transform}.mq-band.lime{background:var(--lime);color:#000;position:relative;z-index:2}.mq-band.dark{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:-18px}.mq-track{display:inline-flex;will-change:transform}.mq-item{font-size:clamp(30px,4.6vw,64px);font-weight:700;letter-spacing:-.03em;padding:0 22px;display:inline-flex;align-items:center;gap:44px}.mq-item i{font-style:normal;font-size:.5em}.mq-band.dark .mq-item{color:transparent;-webkit-text-stroke:1px var(--fg)}.mq-band.dark .mq-item i{color:var(--lime);-webkit-text-stroke:0}.about{padding-top:120px;padding-bottom:120px}.about-label{color:var(--muted);margin-bottom:28px}.about-text{font-size:clamp(28px,4.1vw,62px);line-height:1.12;letter-spacing:-.03em;font-weight:500;max-width:1400px}.stats{margin-top:90px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.stat{padding:30px 24px 0 0;border-right:1px solid var(--line);margin-right:24px}.stat:last-child{border-right:0}.stat-num{font-size:clamp(64px,8vw,130px);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--lime)}.stat p{color:var(--muted);margin-top:10px;max-width:200px}.work-head{padding-top:60px;padding-bottom:40px}.work-head>.mono,.exp>.mono,.lab>.mono,.skills>.mono{color:var(--muted)}.work-title,.exp-title,.lab-title,.skills-title{font-size:clamp(56px,11vw,200px);font-weight:700;letter-spacing:-.05em;line-height:.86;margin-top:18px}.work-pin{position:relative;height:100vh;overflow:hidden}.work-track{display:flex;height:100%;width:max-content;align-items:center;padding:0 var(--pad);gap:6vw}.panel{position:relative;width:min(84vw,1300px);height:78vh;display:grid;grid-template-columns:1.1fr 1fr;gap:4vw;align-items:center}.panel-no{position:absolute;top:-6vh;left:-1vw;font-size:clamp(120px,22vw,380px);font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(242,241,236,.13);z-index:0;pointer-events:none}.panel-visual{position:relative;z-index:1;height:100%;max-height:560px;perspective:1200px}.panel-visual-inner{position:relative;height:100%;border-radius:28px;overflow:hidden;transform-style:preserve-3d;background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--c) 30%,transparent),transparent 55%),radial-gradient(90% 90% at 100% 100%,rgba(167,139,250,.22),transparent 60%),#121216;border:1px solid var(--line);box-shadow:0 40px 120px -40px color-mix(in srgb,var(--c) 45%,transparent);display:grid;place-items:center;padding:34px}.panel-info{position:relative;z-index:1}.kicker{color:var(--c)}.panel-info h3{font-size:clamp(48px,6.5vw,112px);letter-spacing:-.05em;line-height:.95;margin:12px 0 18px}.panel-info .desc{color:#c9c9ce;font-size:17px;max-width:520px}.panel-info ul{list-style:none;margin:22px 0;display:grid;gap:8px}.panel-info li{padding-left:22px;position:relative;color:#e6e5e0}.panel-info li:before{content:"↳";position:absolute;left:0;color:var(--c)}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:#d9d8d3}.panel-end{width:50vw;grid-template-columns:1fr;align-content:center;gap:20px}.panel-end .mono{color:var(--muted)}.big-link{font-size:clamp(48px,7vw,120px);font-weight:700;letter-spacing:-.05em;color:var(--lime)}.work-progress{position:absolute;left:var(--pad);right:var(--pad);bottom:5vh;height:2px;background:var(--line)}.work-progress i{display:block;height:100%;background:var(--lime);transform-origin:left;transform:scaleX(0)}.v-mfe{width:100%;max-width:440px;display:grid;justify-items:center}.v-shell{padding:14px 26px;border-radius:14px;background:var(--lime);color:#000;font-weight:600;box-shadow:0 0 40px -6px var(--lime)}.v-links{width:100%;height:90px;overflow:visible}.v-links path{fill:none;stroke:var(--lime);stroke-width:1.2;stroke-dasharray:6 6;opacity:.7;animation:dash 1.4s linear infinite}@keyframes dash{to{stroke-dashoffset:-24}}.v-remotes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.v-remotes span{text-align:center;padding:16px 6px;border-radius:12px;border:1px solid rgba(212,255,63,.35);background:#d4ff3f0d;font-size:11px;animation:plug 3s cubic-bezier(.2,.8,.2,1) infinite}@keyframes plug{0%,20%{transform:translateY(18px) scale(.9);opacity:.2}35%,85%{transform:none;opacity:1;background:#d4ff3f24}to{opacity:.2}}.v-chat{width:100%;max-width:440px;display:grid;gap:12px;font-size:15px}.v-chat-head{color:var(--muted);display:flex;align-items:center;gap:8px}.v-chat-head b{width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 12px var(--violet)}.bubble{padding:14px 18px;border-radius:20px;line-height:1.45;max-width:90%}.bubble.me{justify-self:end;background:var(--violet);color:#0b0b0d;border-bottom-right-radius:6px}.bubble.ai{justify-self:start;background:#ffffff0f;border:1px solid var(--line);border-bottom-left-radius:6px;min-height:76px}.tcaret{color:var(--violet);animation:blink .9s steps(1) infinite}.v-chat-input{display:flex;justify-content:space-between;padding:14px 18px;border-radius:14px;border:1px solid var(--line);color:var(--muted);text-transform:none}.v-chat-input span{color:var(--violet)}.v-wave{width:100%;max-width:460px;display:grid;gap:18px}.v-bars{display:flex;align-items:center;gap:4px;height:90px}.v-bars span{flex:1;background:var(--teal);border-radius:4px;animation:bar 1s ease-in-out infinite alternate;height:20%}@keyframes bar{to{height:100%}}.v-transcript{display:grid;gap:6px;text-transform:none;color:#cfcfd3;font-size:12px}.v-transcript b{color:var(--teal)}.v-summary{padding:16px;border-radius:14px;background:#5eead414;border:1px solid rgba(94,234,212,.35)}.v-summary .mono{color:var(--teal);font-size:11px}.v-summary p{margin-top:6px}.v-tryon{width:100%;max-width:420px;display:grid;grid-template-columns:auto 1fr;gap:20px 26px;align-items:center}.v-garments{display:grid;gap:10px}.v-garments span{width:46px;height:46px;border-radius:12px;opacity:.5;animation:pick 4s infinite}@keyframes pick{0%,20%{opacity:1;transform:scale(1.12);outline:2px solid #fff;outline-offset:3px}25%,to{opacity:.45;transform:none;outline:0}}.v-person{position:relative;height:230px;display:grid;justify-items:center;align-content:start;overflow:hidden;border-radius:18px;background:#ffffff08;border:1px solid var(--line)}.v-person .head{width:54px;height:54px;border-radius:50%;background:#e7d3c1;margin-top:26px}.v-person .body{width:120px;height:150px;border-radius:50px 50px 10px 10px;margin-top:10px;animation:wear 4s infinite}@keyframes wear{0%,24%{background:#fb923c}25%,49%{background:#a78bfa}50%,74%{background:#5eead4}75%,to{background:#f472b6}}.v-person .scan{position:absolute;left:0;right:0;height:40px;background:linear-gradient(transparent,rgba(255,255,255,.35),transparent);animation:scan 1s linear infinite;top:-40px}@keyframes scan{to{top:100%}}.v-upload{grid-column:1 / -1;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.v-prog{flex:1;height:4px;background:var(--line);border-radius:4px;overflow:hidden}.v-prog i{display:block;height:100%;background:#fb923c;animation:prog 4s ease-in-out infinite}@keyframes prog{0%{width:0}to{width:100%}}.v-apply{width:100%;max-width:440px;display:grid;gap:12px}.v-job{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-radius:16px;background:#ffffff0a;border:1px solid var(--line)}.v-job b{display:block;font-size:16px}.v-job .mono{color:var(--muted);font-size:10.5px}.v-job button{position:relative;overflow:hidden;height:34px;min-width:120px;border-radius:999px;background:#f472b6;color:#000;font-size:10.5px;font-weight:600}.v-job button span{position:absolute;inset:0;display:grid;place-items:center}.v-job button .b{background:var(--lime);transform:translateY(100%);animation:applied 3.6s infinite;animation-delay:inherit}@keyframes applied{0%,30%{transform:translateY(100%)}38%,80%{transform:translateY(0)}90%,to{transform:translateY(100%)}}.exp{padding-top:140px;padding-bottom:80px}.exp-list{margin-top:70px}.exp-row{position:relative;overflow:hidden}.exp-line{height:1px;background:var(--line);transform-origin:left}.exp-fill{position:absolute;inset:1px 0 0;background:var(--lime);transform:scaleY(0);transform-origin:bottom;transition:transform .6s cubic-bezier(.7,0,.2,1);z-index:0}.exp-row:hover .exp-fill{transform:scaleY(1);transform-origin:top}.exp-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:40px 0;transition:color .4s,padding .5s}.exp-row:hover .exp-grid{color:#000;padding-left:24px;padding-right:24px}.exp-row:hover .exp-date,.exp-row:hover .exp-sub{color:#222}.exp-date{color:var(--lime)}.exp-company{font-size:clamp(34px,4.2vw,72px);white-space:nowrap;letter-spacing:-.05em;line-height:1;margin:10px 0 8px}.exp-role{font-size:20px;font-weight:600}.exp-sub{color:var(--muted);margin-top:6px;text-transform:none}.exp-points{list-style:none;display:grid;gap:12px;align-content:center;font-size:17px}.exp-points li{padding-left:26px;position:relative}.exp-points li:before{content:"✦";position:absolute;left:0;font-size:12px;top:4px}.edu{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;color:var(--muted)}.lab{padding-top:140px;padding-bottom:120px}.lab-sub{max-width:620px;color:#c9c9ce;font-size:18px;margin-top:26px}.lab-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4vw;margin-top:40px}.lab-steps{padding:20vh 0 30vh;display:grid;gap:30vh}.lab-step{opacity:.25;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.2,1);transform:translate(-10px)}.lab-step.active{opacity:1;transform:none}.lab-step .mono{color:var(--lime)}.lab-step h3{font-size:clamp(32px,3.6vw,56px);letter-spacing:-.04em;line-height:1;margin:10px 0 14px}.lab-step p{color:#c9c9ce;font-size:18px;max-width:460px}.lab-sticky{position:relative}.lab-canvas{position:sticky;top:10vh;height:80vh;border-radius:28px;overflow:hidden;background:radial-gradient(60% 60% at 50% 50%,rgba(167,139,250,.12),transparent 70%),#0c0c0f;border:1px solid var(--line)}.pipe{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:50px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.pipe span{padding:20px 16px;border-right:1px solid var(--line);display:grid;gap:6px;position:relative}.pipe span:last-child{border-right:0;background:var(--lime);color:#000}.pipe b{font-family:var(--font);font-size:20px;letter-spacing:-.02em;text-transform:none}.pipe small{color:var(--muted);font-size:10.5px}.pipe span:last-child small{color:#333}.pipe span:after{content:"→";position:absolute;right:-9px;top:50%;transform:translateY(-50%);background:var(--bg);color:var(--lime);z-index:1;font-size:14px}.pipe span:last-child:after{display:none}.skills{padding-top:80px;padding-bottom:140px}.sk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 40px;margin-top:60px}.sk-group h4{color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.sk-group h4 span{color:var(--lime);margin-right:6px}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-size:15px;background:#ffffff05;transition:background .3s,color .3s,border-color .3s}.chip:hover{background:var(--lime);color:#000;border-color:var(--lime)}.contact{padding-top:120px;overflow:hidden;border-top:1px solid var(--line)}.contact>.mono{color:var(--muted)}.ct-big{font-size:clamp(64px,16vw,300px);font-weight:700;letter-spacing:-.06em;line-height:.84;white-space:nowrap;padding-left:var(--pad);margin-top:30px}.ct-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;margin:70px 0 90px}.ct-copy{font-size:20px;max-width:380px;color:#cfcfd3}.ct-copy b{color:var(--fg)}.ct-circle{width:clamp(160px,16vw,230px);aspect-ratio:1;border-radius:50%;background:var(--lime);color:#000;display:grid;place-items:center;text-align:center;font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1;letter-spacing:-.03em;box-shadow:0 0 80px -10px #d4ff3f8c;transition:box-shadow .4s}.ct-circle:hover{box-shadow:0 0 140px #d4ff3fb3}.ct-links{justify-self:end;display:grid;gap:14px;text-align:right}.ct-link{position:relative;text-align:right;font-size:14px;text-transform:none}.ct-link span{background:linear-gradient(var(--lime),var(--lime)) no-repeat right bottom / 0 1px;transition:background-size .5s cubic-bezier(.7,0,.2,1);padding-bottom:3px}.ct-link:hover span{background-size:100% 1px;background-position-x:left}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:30px;border-top:1px solid var(--line);color:var(--muted)}.foot a:hover{color:var(--lime)}@media(max-width:900px){.nav-meta{display:none}.nav nav{gap:16px}.nav-link{font-size:13px}.hero-top{flex-direction:column}.hero-role{text-align:left}.hero-bottom{grid-template-columns:1fr auto}.hero-loc{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stat{margin-right:0;padding:26px 16px;border-bottom:1px solid var(--line)}.work-pin{height:auto;overflow:visible}.work-track{flex-direction:column;width:100%;gap:80px;padding:20px var(--pad) 60px}.panel{width:100%;height:auto;grid-template-columns:1fr}.panel-visual{height:420px}.panel-no{top:-40px;font-size:140px}.panel-end,.work-progress{display:none}.exp-grid{grid-template-columns:1fr;gap:20px}.lab-grid{grid-template-columns:1fr}.lab-sticky{order:-1;position:sticky;top:70px;z-index:0;height:46vh}.lab-canvas{position:relative;top:0;height:46vh}.lab-steps{padding:10vh 0;gap:20vh;position:relative;z-index:1}.lab-step{background:#070708d1;padding:18px;border-radius:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pipe{grid-template-columns:repeat(3,1fr)}.pipe span:nth-child(3){border-right:0}.pipe span:nth-child(-n+3){border-bottom:1px solid var(--line)}.pipe span:after{display:none}.sk-grid{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr;justify-items:start}.ct-links{justify-self:start;text-align:left}.ct-link{text-align:left}}@media(max-width:560px){.nav nav{display:none}.nav-cta{margin-left:auto}.hero{padding-top:96px}.scroll-badge{width:92px;height:92px}.panel-visual{height:380px}.panel-visual-inner{padding:20px}}@media(prefers-reduced-motion:reduce){.noise,.spin,.scroll-badge .arrow{animation:none}}
