:root{--bg:#0b0a09;--bg-2:#141210;--fg:#f3efe8;--mut:#8f887d;--acc:#3d6bff;--line:#f3efe821;--sans:"Archivo", system-ui, -apple-system, "Helvetica Neue", sans-serif;--mono:"DM Mono", ui-monospace, Menlo, monospace;--cond:66%;--gut:clamp(16px, 4vw, 64px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.5;overflow-x:hidden}body.is-loading{height:100vh;overflow:hidden}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}em{color:var(--acc);font-style:normal}::selection{background:var(--acc);color:#fff}:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:4px}#gl{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.grain{z-index:50;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.9s steps(6,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}#app{z-index:1;position:relative}.loader{z-index:100;background:var(--bg);padding:var(--gut);justify-content:flex-end;align-items:flex-end;display:flex;position:fixed;inset:0}.loader__water{background:var(--acc);will-change:transform;height:calc(100% + 130px);position:absolute;top:0;left:0;right:0;transform:translateY(100%)}.loader__wave{width:200%;height:110px;fill:var(--acc);animation:3.2s linear infinite tide;position:absolute;bottom:calc(100% - 1px);left:0}.loader__wave--back{fill:#1b3fbf;height:150px;animation-duration:5s;animation-direction:reverse}.loader__wave--tail{height:150px;animation-duration:4s;top:calc(100% - 1px);bottom:auto}@keyframes tide{to{transform:translate(-50%)}}.loader__n{font-family:var(--mono);letter-spacing:.14em;color:var(--fg);font-variant-numeric:tabular-nums;font-size:.8rem;position:relative}.loader__n:after{content:" %"}.cursor{z-index:90;background:var(--fg);mix-blend-mode:difference;pointer-events:none;opacity:0;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;transition:width .3s,height .3s,margin .3s,opacity .3s;position:fixed;top:0;left:0}.cursor.is-on{opacity:1}.cursor.is-big{width:64px;height:64px;margin:-32px 0 0 -32px}@media (hover:none),(pointer:coarse){.cursor{display:none}}.nav{z-index:60;padding:14px var(--gut);background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.nav__logo{letter-spacing:.02em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:0 12px;font-size:.95rem;font-weight:700;display:flex}.nav__role{font-family:var(--mono);letter-spacing:.1em;color:#7d9bff;font-size:.7rem;font-weight:400}.nav__logo em{color:inherit;font-weight:400}.nav__links{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:clamp(14px,2.4vw,34px);font-size:.82rem;display:flex}.nav__links a,.nav__links button{padding:6px 0;position:relative}.nav__links a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav__links a:hover:after{transform-origin:0;transform:scaleX(1)}.nav__lang{font:inherit;color:inherit;cursor:pointer;letter-spacing:.08em;background:0 0;border:1px solid;border-radius:999px;padding:5px 12px!important}@media (width<=720px){.nav__links .hide-s{display:none}}.progress{background:var(--acc);transform-origin:0;z-index:70;width:100%;height:2px;position:fixed;top:0;left:0;transform:scaleX(0)}section{padding:clamp(90px, 14vh, 180px) var(--gut);position:relative}.kicker{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7d9bff;margin-bottom:clamp(24px,4vh,48px);font-size:.74rem;display:block}.title{letter-spacing:-.015em;font-size:clamp(3.2rem,10.5vw,11rem);font-weight:700;line-height:.88;font-stretch:var(--cond);text-transform:uppercase;text-wrap:balance}.w{vertical-align:top;margin:-.16em 0 -.08em;padding:.16em 0 .08em;display:inline-block;overflow:hidden}.wi{will-change:transform;display:inline-block}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:120px;padding-bottom:clamp(24px,5vh,48px);display:flex}.hero__role{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#7d9bff;margin-bottom:2vh;font-size:.78rem}.hero__name{letter-spacing:-.02em;text-transform:uppercase;margin-left:-.02em;font-size:clamp(6.5rem,min(25vw,33svh),27rem);font-weight:800;font-stretch:62%;line-height:.82}.hero__name .line{margin:-.2em 0 -.04em;padding:.2em 0 .04em;display:block;overflow:hidden}.hero__name .line:nth-child(2){text-align:right;color:#0000;-webkit-text-stroke:1.5px var(--fg)}.hero__name .ch{will-change:transform;display:inline-block}.hero__row{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr auto;align-items:end;gap:24px;margin-top:clamp(28px,5vh,56px);padding-top:20px;display:grid}.hero__line{letter-spacing:-.02em;font-size:clamp(1.15rem,2.1vw,1.9rem);font-weight:500;line-height:1.15}.hero__line em{color:#7d9bff}.hero__meta{color:var(--mut);gap:4px;font-size:.86rem;display:grid}.hero__meta .dot{background:#5dffa0;border-radius:50%;width:8px;height:8px;margin-right:8px;animation:2s infinite pulse;display:inline-block;box-shadow:0 0 #5dffa099}@keyframes pulse{70%{box-shadow:0 0 0 9px #5dffa000}to{box-shadow:0 0 #5dffa000}}.hero__scroll{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);align-items:center;gap:10px;font-size:.72rem;display:flex}.hero__scroll i{background:linear-gradient(var(--fg), transparent);transform-origin:top;width:1px;height:42px;animation:1.8s ease-in-out infinite drip;display:block}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}@media (width<=820px){.hero__row{grid-template-columns:1fr;gap:16px}.hero__scroll{display:none}}.manifesto{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.manifesto__text{letter-spacing:-.025em;max-width:min(100%,1500px);font-size:clamp(1.7rem,4.4vw,4.4rem);font-weight:500;line-height:1.1}.manifesto__text .wi{opacity:.14}.stats{grid-template-columns:repeat(3,1fr);gap:0 clamp(20px,3vw,48px);padding-top:0;display:grid}.stat{border-top:1px solid var(--line);padding-top:22px}.stat__i{font-family:var(--mono);letter-spacing:.12em;color:#7d9bff;font-size:.74rem}.stat__n{letter-spacing:-.01em;font-size:clamp(2.6rem,5.6vw,5.6rem);font-weight:700;line-height:.92;font-stretch:var(--cond);text-transform:uppercase;margin-top:14px}.stat__l{color:#cfc9be;max-width:34ch;margin-top:14px;font-size:1.02rem}@media (width<=820px){.stats{grid-template-columns:1fr;row-gap:36px}}.work{padding-left:0;padding-right:0;overflow:hidden}.work__track{padding:0 var(--gut);will-change:transform;align-items:stretch;gap:clamp(20px,3vw,48px);display:flex}.work__intro{flex-direction:column;flex:none;justify-content:center;width:min(78vw,900px);display:flex}.work__hint{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:36px;font-size:.74rem}.work__hint:after{content:" →";color:var(--acc)}.card{--h:28;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);background:#100e0cd1;border-radius:22px;flex:none;grid-template-columns:1.05fr 1fr;width:min(82vw,1040px);min-height:min(70vh,640px);display:grid;overflow:hidden}.card__art{min-height:260px;color:hsl(var(--h) 100% 78%);background:radial-gradient(120% 90% at 20% 10%, hsl(var(--h) 90% 55% / .55), transparent 60%), radial-gradient(90% 90% at 90% 100%, hsl(calc(var(--h) + 50) 80% 45% / .5), transparent 65%), #15120f;position:relative;overflow:hidden}.card__art svg{will-change:transform;width:100%;height:100%;position:absolute;inset:0}.card__idx{font-family:var(--mono);letter-spacing:.12em;color:var(--fg);opacity:.8;font-size:.74rem;position:absolute;top:18px;left:22px}.card__body{flex-direction:column;gap:16px;padding:clamp(22px,3vw,44px);display:flex}.card__year{font-family:var(--mono);letter-spacing:.12em;color:var(--mut);justify-content:space-between;gap:12px;font-size:.74rem;display:flex}.card__nda{color:#7d9bff}.card__name{letter-spacing:-.01em;font-size:clamp(2.8rem,5.4vw,5.4rem);font-weight:700;line-height:.9;font-stretch:var(--cond);text-transform:uppercase}.card__type{color:hsl(var(--h) 100% 80%);font-size:1.02rem;font-weight:500;line-height:1.25}.card__desc{color:#cfc9be;max-width:44ch}.card__tags{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;display:flex}.card__tags li{border:1px solid var(--line);color:#d9d3c8;border-radius:999px;padding:6px 12px;font-size:.78rem}.card__link{border-bottom:1px solid var(--acc);align-self:flex-start;align-items:center;gap:8px;padding-bottom:2px;font-size:.86rem;font-weight:600;display:inline-flex}.card__link:after{content:"↗";color:var(--acc)}@media (width<=899px){.work{padding-left:var(--gut);padding-right:var(--gut)}.work__track{flex-direction:column;padding:0}.work__intro,.card{width:100%}.work__intro{margin-bottom:24px}.work__hint{display:none}.card{grid-template-columns:1fr;min-height:0}.card__art{min-height:220px}}.ai__bg{z-index:-1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.ai__grid{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,5vw,90px);margin-top:clamp(40px,7vh,90px);display:grid}.ai__body{color:#ddd7cc;max-width:36ch;font-size:clamp(1.1rem,1.6vw,1.45rem);line-height:1.4}.ai__points{gap:0;margin-top:40px;display:grid}.ai__points li{border-top:1px solid var(--line);grid-template-columns:2.4rem 1fr;padding:20px 0;display:grid}.ai__points b{font-family:var(--mono);color:#7d9bff;padding-top:5px;font-size:.74rem;font-weight:400}.ai__points h3{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.ai__points p{color:var(--mut);max-width:42ch;margin-top:4px}.term{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#0c0b0adb;border-radius:16px;overflow:hidden;box-shadow:0 40px 120px -40px #3d6bff66}.term__bar{border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:14px 16px;display:flex}.term__bar i{background:#3a352f;border-radius:50%;width:11px;height:11px}.term__bar span{font-family:var(--mono);color:var(--mut);margin-left:auto;font-size:.7rem}.term__out{font-family:var(--mono);overflow-wrap:anywhere;min-height:19em;padding:20px 20px 26px;font-size:clamp(.74rem,1.05vw,.92rem);line-height:1.75}.term__out .l{display:block}.term__out .cmd{color:var(--fg);margin-top:.6em}.term__out .cmd:first-child{margin-top:0}.term__out .cmd:before{content:"❯ ";color:#7d9bff}.term__out .dim{color:var(--mut)}.term__out .ok{color:#5dffa0}.term__caret{background:var(--acc);vertical-align:text-bottom;width:.55em;height:1.05em;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.ai__colophon{color:var(--mut);margin-top:22px;font-size:.98rem}@media (width<=900px){.ai__grid{grid-template-columns:1fr}}.tl{margin-top:clamp(40px,8vh,100px);position:relative}.tl__line{background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:0}.tl__line i{background:var(--acc);transform-origin:top;position:absolute;inset:0;transform:scaleY(0)}.tl__item{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr 1.1fr;gap:clamp(16px,3vw,48px);padding:clamp(22px,4vh,40px) 0 clamp(22px,4vh,40px) clamp(22px,3vw,48px);display:grid;position:relative}.tl__item:before{content:"";background:var(--acc);border-radius:50%;width:9px;height:9px;position:absolute;top:calc(clamp(22px,4vh,40px) + 9px);left:-4px}.tl__date{font-family:var(--mono);letter-spacing:.08em;color:var(--mut);text-transform:uppercase;padding-top:6px;font-size:.76rem}.tl__role{letter-spacing:-.02em;font-size:clamp(1.25rem,2.1vw,1.9rem);font-weight:600;line-height:1.1}.tl__org{color:#7d9bff;margin-top:6px;font-size:.98rem}.tl__org span{color:var(--mut)}.tl__blurb{color:#cfc9be;max-width:48ch}.tl__item.is-pause:before{background:var(--bg);border:1px solid var(--mut)}.tl__item.is-pause .tl__role{color:#cfc9be;font-weight:500}@media (width<=900px){.tl__item{grid-template-columns:1fr;gap:8px}}.skills{padding-left:0;padding-right:0;overflow:hidden}.skills .kicker{padding:0 var(--gut)}.mq{white-space:nowrap;will-change:transform;display:flex}.mq__in{flex:none;animation:38s linear infinite mq;display:flex}.mq--rev .mq__in{animation-direction:reverse}.mq span{letter-spacing:-.01em;font-size:clamp(3.4rem,10vw,10rem);font-weight:700;line-height:1;font-stretch:var(--cond);text-transform:uppercase;padding-right:.3em}.mq span:nth-child(odd){color:#0000;-webkit-text-stroke:1px #f3efe88c}.mq span:nth-child(3n){color:var(--acc);-webkit-text-stroke:0}@keyframes mq{to{transform:translate(-100%)}}.contact{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.contact .title{white-space:nowrap;text-wrap:nowrap;font-size:clamp(2.2rem,10.2vw,12rem)}.contact__row{grid-template-columns:1fr auto;align-items:end;gap:32px;margin-top:clamp(32px,6vh,72px);display:grid}.contact__body{color:#cfc9be;max-width:46ch;font-size:1.05rem}.contact__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn{background:var(--acc);color:#fff;will-change:transform;border-radius:999px;align-items:center;gap:12px;padding:20px 32px;font-size:1.05rem;font-weight:600;display:inline-flex}.btn--ghost{color:var(--fg);border:1px solid var(--line);background:0 0}.btn:after{content:"↗"}.foot{border-top:1px solid var(--line);color:var(--mut);flex-wrap:wrap;justify-content:space-between;gap:14px 28px;margin-top:clamp(48px,10vh,120px);padding-top:22px;font-size:.84rem;display:flex}.foot__links{flex-wrap:wrap;gap:8px 22px;display:flex}.foot a:hover{color:var(--fg)}@media (width<=820px){.contact__row{grid-template-columns:1fr}.btn{padding:16px 24px}}@media (prefers-reduced-motion:reduce){.grain,.mq__in,.hero__scroll i,.hero__meta .dot{animation:none}.manifesto__text .wi{opacity:1}}
