:root{--bg:#000000;--ink:#E6F1FF;--mute:#7A8BBD;--signal:#3D8BFF;--blue:#1C57AF;--line:rgba(122,139,189,.24);--panel:#050913;--paper:#F5F8FF;--paper-ink:#0B1222;--on-blue:#F2F7FF;--on-blue-mute:#CFE0FF;--display:"Anybody","Arial Narrow",ui-sans-serif,system-ui,sans-serif;--mono:"Fira Code",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--pad:clamp(20px,4vw,64px);--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000000;--ink:#E6F1FF;--mute:#7A8BBD}}:root[data-theme=dark]{--bg:#000000;--ink:#E6F1FF;--mute:#7A8BBD}*,*:before,*:after{box-sizing:inherit}html{scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg)}html.lenis,html.lenis body{height:auto}.lenis.lenis-stopped{overflow:hidden}.lenis [data-lenis-prevent]{overscroll-behavior:contain}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--display);font-size:clamp(16px,1.12vw,18px);line-height:1.55;font-variation-settings:"wdth" 92,"wght" 400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{overflow-x:clip}a{color:inherit}button{font:inherit;color:inherit}p{margin:0}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--signal);outline-offset:4px;border-radius:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:200;background:var(--ink);color:#000;padding:12px 18px;font:500 14px/1 var(--mono);text-decoration:none;transform:translateY(-220%);transition:transform .25s var(--ease)}.skip:focus{transform:none}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:90;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .9s steps(5) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}to{transform:translate(0)}}.cursor{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:120;display:none}.has-cursor .cursor{display:block}.has-cursor,.has-cursor a,.has-cursor button{cursor:none}.has-cursor input{cursor:text}.cursor-dot,.cursor-ring{position:absolute;left:0;top:0;transform:translate3d(-100px,-100px,0)}.cursor-dot:before{content:"";position:absolute;width:6px;height:6px;left:-3px;top:-3px;border-radius:50%;background:var(--signal);transition:opacity .2s}.cursor-ring i{position:absolute;width:38px;height:38px;left:-19px;top:-19px;border-radius:50%;border:1px solid rgba(230,241,255,.38);display:grid;place-items:center;font:500 11px/1 var(--mono);font-style:normal;color:#000;transition:width .45s var(--ease),height .45s var(--ease),left .45s var(--ease),top .45s var(--ease),background-color .3s,border-color .3s}.cursor-ring i span{opacity:0;transition:opacity .2s;white-space:nowrap}.cursor.is-hover .cursor-ring i{width:58px;height:58px;left:-29px;top:-29px;background:#3d8bff29;border-color:var(--signal)}.cursor.is-label .cursor-ring i{width:86px;height:86px;left:-43px;top:-43px;background:var(--signal);border-color:var(--signal)}.cursor.is-label .cursor-ring i span{opacity:1}.cursor.is-label .cursor-dot:before,.cursor.is-hover .cursor-dot:before{opacity:0}.cursor.on-blue .cursor-dot:before{background:var(--on-blue)}.cursor.on-blue .cursor-ring i{border-color:#f2f7ff99}.cursor.on-blue.is-label .cursor-ring i,.cursor.on-blue.is-hover .cursor-ring i{background:var(--on-blue);border-color:var(--on-blue)}.cursor.is-text,.cursor.is-out{opacity:0}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:none}.js-anim .loader{display:block;animation:loaderFailsafe .01s 8s forwards}@keyframes loaderFailsafe{to{visibility:hidden;opacity:0}}.loader-half{position:absolute;left:0;right:0;height:50%;background:#000;overflow:hidden}.loader-top{top:0}.loader-bot{bottom:0}.loader-term{position:absolute;left:var(--pad);bottom:clamp(32px,6vh,64px);font:400 clamp(12px,1vw,14px)/2 var(--mono);color:var(--mute);width:min(440px,calc(100vw - 2*var(--pad)))}.lt-cmd{color:var(--ink)}.lt-cmd span{display:inline-block}.lt{display:flex;gap:10px;align-items:baseline}.lt-dots{flex:1;border-bottom:1px dotted rgba(122,139,189,.45);transform:translateY(-4px)}.lt .ok{color:var(--signal)}.js-anim .lt,.js-anim .lt-cmd,.js-anim .lt .ok{opacity:0}.loader-count{position:absolute;right:var(--pad);top:clamp(28px,5vh,56px);font-size:clamp(96px,18vw,280px);line-height:.8;font-variation-settings:"wdth" 55,"wght" 250;font-variant-numeric:tabular-nums;color:var(--ink)}.loader-skip{position:absolute;left:var(--pad);bottom:calc(var(--pad) + env(safe-area-inset-bottom,0px));font:400 12px/1 var(--mono);color:var(--mute)}.loader-line{position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:var(--signal);box-shadow:0 0 18px var(--signal);transform:scaleX(0);transform-origin:left center}.topbar{position:fixed;top:0;left:0;right:0;z-index:70;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:calc(env(safe-area-inset-top,0px) + 18px) var(--pad) 18px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{justify-self:start;font:500 14px/1 var(--mono);text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;min-height:44px}.brand-short{display:none}.caret{display:inline-block;width:.6em;height:1.1em;margin-left:3px;background:var(--signal);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.switch{position:relative;display:flex;padding:5px;border-radius:999px;background:#060b16bd;border:1px solid rgba(122,139,189,.28);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.switch button{position:relative;z-index:1;border:0;background:none;padding:0 20px;min-height:40px;border-radius:999px;color:var(--mute);font-size:14px;font-variation-settings:"wdth" 100,"wght" 560;cursor:pointer;transition:color .35s}.switch button[aria-pressed=true]{color:#fff}.switch button:hover{color:var(--ink)}.switch-thumb{position:absolute;top:5px;bottom:5px;left:5px;width:50%;border-radius:999px;background:var(--blue);box-shadow:0 6px 20px #1c57af73;transition:transform .55s var(--ease),width .55s var(--ease)}.top-cta{justify-self:end;display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:999px;border:1px solid rgba(230,241,255,.3);text-decoration:none;font-size:14px;font-variation-settings:"wdth" 100,"wght" 560;transition:background-color .3s,color .3s,border-color .3s}.top-cta:hover{background:var(--ink);color:#000;border-color:var(--ink)}.dots{position:fixed;right:calc(var(--pad) * .45);top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:6px}.dots a{position:relative;display:block;width:24px;height:24px}.dots a:before{content:"";position:absolute;left:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#e6f1ff47;transition:transform .4s var(--ease),background-color .3s,box-shadow .3s}.dots a.active:before{background:var(--signal);transform:scale(1.35);box-shadow:0 0 14px var(--signal)}.on-blue-zone .dots a.active:before{background:var(--on-blue);box-shadow:none}.dots a span{position:absolute;right:30px;top:50%;transform:translate(8px,-50%);opacity:0;white-space:nowrap;font:400 12px/1 var(--mono);color:var(--ink);background:#000000b3;padding:6px 8px;border-radius:4px;pointer-events:none;transition:opacity .25s,transform .35s var(--ease)}.dots a:hover span,.dots a:focus-visible span{opacity:1;transform:translateY(-50%)}.path{font:400 13px/1 var(--mono);color:var(--signal);margin:0 0 22px}.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34ch);align-items:end;gap:24px 48px;padding:0 var(--pad);margin-bottom:clamp(40px,8vh,96px)}.sec-title{margin:0;font-size:clamp(56px,9.4vw,160px);line-height:.84;font-weight:800;font-variation-settings:"wdth" 125,"wght" 800;letter-spacing:-.01em}.sec-note{color:var(--mute);font-size:clamp(16px,1.25vw,19px);line-height:1.5;max-width:34ch}[data-split] .word{display:inline-block;white-space:nowrap}[data-split] .char{display:inline-block;font-variation-settings:"wdth" var(--sw,125),"wght" 800}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.tags li{font:400 12.5px/1 var(--mono);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:8px 12px}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) clamp(24px,4vh,40px);overflow:hidden;isolation:isolate}.hero-main{position:relative;z-index:1}.hero-hello{font:400 clamp(13px,1.05vw,16px)/1 var(--mono);color:var(--signal);margin:0 0 clamp(14px,2vh,26px) .3vw}.hero-name{margin:0;font-size:18vw;font-weight:750;line-height:.78;text-transform:uppercase;color:var(--ink)}.hero-name .row{display:flex;white-space:nowrap}.hero-name .row-2{justify-content:flex-end;margin-top:.3em}.hero-name .word{display:inline-flex}.hero-name .char{display:inline-block;--p:0;color:color-mix(in srgb,var(--signal) calc(var(--p) * 100%),var(--ink));font-variation-settings:"wdth" 110,"wght" 750}.hero-wire{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.hero-meta{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-top:clamp(28px,6vh,72px)}.tagline{max-width:33ch;font-size:clamp(17px,1.4vw,22px);line-height:1.38;font-variation-settings:"wdth" 92,"wght" 420}.status{display:flex;align-items:center;gap:10px;margin-top:14px;font:400 13px/1 var(--mono);color:var(--mute)}.status i{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 #3d8bff99;animation:ping 2s var(--ease) infinite}@keyframes ping{70%{box-shadow:0 0 0 10px #3d8bff00}to{box-shadow:0 0 #3d8bff00}}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px;font:400 12px/1 var(--mono);color:var(--mute);text-decoration:none;padding:8px}.scroll-cue i{display:block;width:1px;height:46px;background:var(--line);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--signal);animation:cue 1.8s var(--ease) infinite}@keyframes cue{to{top:100%}}.byte{justify-self:end;text-align:right}.byte-bits{display:flex;justify-content:flex-end;gap:.06em;font-size:clamp(34px,3.8vw,64px);line-height:.9;font-variation-settings:"wdth" 60,"wght" 300;font-variant-numeric:tabular-nums;color:var(--ink)}.byte-bits span{transition:color .12s}.byte-bits span.on{color:var(--signal)}.byte-meta{display:flex;justify-content:flex-end;align-items:baseline;gap:14px;margin-top:12px;font:400 12px/1.4 var(--mono);color:var(--mute)}.byte-char{font-weight:500;font-size:13px;color:var(--signal)}.byte-note{font:400 12px/1.4 var(--mono);color:var(--mute);margin-top:6px}.about{padding:clamp(110px,18vh,220px) var(--pad) clamp(80px,12vh,160px)}.about-text{max-width:19em;font-size:clamp(28px,3.7vw,62px);line-height:1.1;font-variation-settings:"wdth" 82,"wght" 520;letter-spacing:-.005em}.js-anim .about-text .w{opacity:.16}.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,110px);margin-top:clamp(80px,14vh,170px);align-items:start}.facts{margin:0}.facts div{display:grid;grid-template-columns:minmax(120px,.42fr) 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.facts div:last-child{border-bottom:1px solid var(--line)}.facts dt{font:400 13px/1.6 var(--mono);color:var(--mute)}.facts dd{margin:0;font-size:clamp(17px,1.3vw,20px);line-height:1.4}.term{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;font:400 13.5px/1.65 var(--mono)}.term-bar{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--mute);font-size:12.5px}.term-dots{display:flex;gap:6px}.term-dots i{width:10px;height:10px;border-radius:50%;background:#1a2540}.term-dots i:first-child{background:var(--signal)}.term-out{height:clamp(240px,34vh,320px);overflow-y:auto;padding:16px 18px 6px;color:var(--ink)}.term-out .tl{white-space:pre-wrap;word-break:break-word}.term-out .echo{color:var(--mute)}.term-out .echo b{color:var(--signal);font-weight:400}.term-out .hl,.term-out a{color:var(--signal)}.term-form{display:flex;align-items:center;gap:10px;padding:6px 18px 14px}.term-prompt{color:var(--signal);white-space:nowrap}.term-form input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--ink);font:inherit;caret-color:var(--signal);padding:8px 0}.term-form:focus-within{box-shadow:inset 0 -1px 0 var(--signal)}.term-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line);color:var(--mute);font-size:12px}.term-chips button{border:1px solid var(--line);background:none;border-radius:999px;color:var(--ink);font:400 12px/1 var(--mono);padding:0 12px;min-height:34px;cursor:pointer;transition:border-color .25s,background-color .25s}.term-chips button:hover{border-color:var(--signal);background:#3d8bff1a}.stack{padding:clamp(90px,14vh,170px) 0}.mq{position:relative;overflow:hidden;border-top:1px solid var(--line);padding:clamp(14px,2vw,28px) 0 clamp(10px,1.6vw,22px)}.mq:last-child{border-bottom:1px solid var(--line)}.mq-label{position:absolute;left:var(--pad);top:10px;z-index:2;font:400 12px/1 var(--mono);color:var(--signal);background:var(--bg);padding:3px 8px 3px 0}.mq-track{display:flex;width:max-content;will-change:transform}.mq-group{display:flex;align-items:center;flex-shrink:0}.mq-item{font-size:clamp(46px,7.6vw,128px);line-height:1.02;font-variation-settings:"wdth" 104,"wght" 780;color:#4a5a86;padding:0 .22em;white-space:nowrap;transition:color .35s}.mq-item:hover{color:var(--ink)}.mq-sep{width:.62em;height:.34em;font-size:clamp(46px,7.6vw,128px);color:var(--signal);flex-shrink:0;overflow:visible}.rm .mq-track,.mq-track.static{flex-wrap:wrap;width:auto;padding:0 var(--pad)}.rm .mq-group,.mq-track.static .mq-group{flex-wrap:wrap}.journey{padding:clamp(90px,14vh,170px) var(--pad)}.journey-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(40px,6vw,120px)}.journey-side{position:sticky;top:clamp(96px,14vh,140px);align-self:start}.year{overflow:hidden;margin-top:clamp(40px,8vh,90px);height:.82em;font-size:clamp(90px,13vw,230px);line-height:.82}.year-num{display:block;font-variation-settings:"wdth" 58,"wght" 220;font-variant-numeric:tabular-nums;color:var(--ink)}.year-cap{margin-top:16px;font:400 13px/1 var(--mono);color:var(--mute)}.journey-body{position:relative;padding-left:72px}.journey-line{position:absolute;left:0;top:0;width:64px;overflow:visible}.jl-base{fill:none;stroke:var(--line);stroke-width:1.5;stroke-linejoin:miter}.jl-draw{fill:none;stroke:var(--signal);stroke-width:2;stroke-linejoin:miter;stroke-linecap:square;filter:drop-shadow(0 0 6px rgba(61,139,255,.6))}.journey-list{list-style:none;margin:0;padding:0}.milestone{position:relative;padding-bottom:clamp(90px,15vh,170px)}.milestone:last-child{padding-bottom:20px}.milestone:before{content:"";position:absolute;left:-66px;top:23px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:1.5px solid var(--mute);transition:background-color .4s,border-color .4s,box-shadow .4s}.milestone.reached:before{background:var(--signal);border-color:var(--signal);box-shadow:0 0 16px var(--signal)}.ms-when{display:flex;flex-wrap:wrap;gap:6px 18px;font:400 13px/1.4 var(--mono);color:var(--signal)}.ms-kind{color:var(--mute)}.ms-title{margin:16px 0 6px;font-size:clamp(28px,3vw,48px);line-height:1.02;font-variation-settings:"wdth" 96,"wght" 720;font-weight:720}.ms-org{color:var(--mute);font-size:clamp(16px,1.2vw,19px)}.ms-desc{margin-top:18px;max-width:50ch}.ms-points{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:8px;max-width:54ch}.ms-points li{position:relative;padding-left:22px}.ms-points li:before{content:"";position:absolute;left:0;top:.72em;width:10px;height:1.5px;background:var(--signal)}.work,.work-pin{position:relative}.work-track{display:flex;flex-direction:column}.work-intro{padding:0 var(--pad) clamp(40px,8vh,80px)}.work-intro .sec-note{margin-top:28px}.proj{display:grid;grid-template-columns:1fr;gap:28px;padding:0 var(--pad) clamp(70px,12vh,120px)}.viz{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:hidden}.viz>svg{display:block;width:100%;height:100%}.proj-kind{font:400 13px/1 var(--mono);color:var(--signal);margin-bottom:18px}.proj-name{margin:0 0 20px;font-size:clamp(44px,5.4vw,96px);line-height:.9;font-variation-settings:"wdth" 118,"wght" 800;font-weight:800;transition:font-variation-settings .6s var(--ease)}.proj:hover .proj-name{font-variation-settings:"wdth" 140,"wght" 800}.proj-desc{max-width:40ch;color:#c6d3ee;font-size:clamp(16px,1.2vw,19px)}.proj .tags{margin:24px 0 30px}.proj-links{display:flex;flex-wrap:wrap;gap:12px}.pill{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid rgba(230,241,255,.32);text-decoration:none;font-size:15px;font-variation-settings:"wdth" 100,"wght" 560;transition:background-color .3s,color .3s,border-color .3s}.pill:hover{background:var(--ink);color:#000;border-color:var(--ink)}.pill.solid{background:var(--signal);border-color:var(--signal);color:#000}.pill.solid:hover{background:var(--ink);border-color:var(--ink)}.work-end{padding:clamp(20px,6vh,60px) var(--pad) clamp(90px,14vh,160px)}.work-end a{display:inline-block;max-width:10ch;text-decoration:none;font-size:clamp(52px,8.6vw,164px);line-height:.92;font-variation-settings:"wdth" 100,"wght" 780;transition:font-variation-settings .6s var(--ease),color .3s}.work-end a:hover{font-variation-settings:"wdth" 135,"wght" 800;color:var(--signal)}.work-end small{display:block;margin-top:18px;font:400 13px/1 var(--mono);color:var(--mute)}.work-progress{display:none}.h-scroll .work-pin{height:100svh;overflow:hidden}.h-scroll .work-track{flex-direction:row;height:100%;width:max-content;align-items:stretch}.h-scroll .work-intro{width:min(50vw,760px);flex-shrink:0;display:flex;flex-direction:column;justify-content:center;padding:0 4vw 0 var(--pad)}.h-scroll .proj{width:min(86vw,1280px);flex-shrink:0;height:100%;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:4vw;padding:0 4vw}.h-scroll .work-end{width:min(96vw,1560px);flex-shrink:0;display:flex;flex-direction:column;justify-content:center;padding:0 8vw 0 4vw}.h-scroll .work-progress{display:block;position:absolute;left:var(--pad);right:var(--pad);bottom:calc(28px + env(safe-area-inset-bottom,0px));height:1px;background:var(--line)}.work-progress span{display:block;height:100%;background:var(--signal);transform:scaleX(0);transform-origin:left}.vz-grid{stroke:#7a8bbd1f;stroke-width:1}.vz-label{font:400 13px var(--mono);fill:var(--mute)}.vz-accent{fill:var(--signal)}.cd line{stroke:currentColor;stroke-width:1.2}.cd{color:#4a5a86}.cd.up{color:var(--signal)}.cd rect{fill:currentColor}.cd:not(.up) rect{fill:var(--panel);stroke:currentColor;stroke-width:1.2}.cd{transform-box:fill-box;transform-origin:50% 100%;transition:transform .7s var(--ease) calc(var(--i) * 28ms),opacity .5s calc(var(--i) * 28ms)}.js-anim .viz:not(.live) .cd{transform:scaleY(0);opacity:0}.fc-band{fill:#3d8bff1f}.fc-line{fill:none;stroke:var(--signal);stroke-width:2;stroke-dasharray:6 7;animation:dash 1.1s linear infinite;animation-play-state:paused}.viz.live .fc-line{animation-play-state:running}@keyframes dash{to{stroke-dashoffset:-26}}.fc-now{stroke:#e6f1ff59;stroke-dasharray:3 5}.uv-orbit{fill:none;stroke:#7a8bbd38}.uv-planet{fill:var(--ink)}.uv-planet.b{fill:var(--signal)}.uv-core{fill:var(--blue)}.uv-glow{fill:#3d8bff1f}.uv-star{fill:#9fb4e6;animation:twinkle 3s ease-in-out infinite;animation-delay:calc(var(--i) * -.37s);animation-play-state:paused}.viz.live .uv-star{animation-play-state:running}@keyframes twinkle{50%{opacity:.15}}.uv-label{font:500 13px var(--mono);fill:#fff;text-anchor:middle}.chat{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);font:400 clamp(11px,1vw,14px)/1.45 var(--mono)}.chat-side{border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:12px;color:var(--mute)}.chat-side b{font-weight:400;color:var(--ink);margin-bottom:4px}.chat-side span{display:flex;align-items:center;gap:8px}.chat-side span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--signal)}.chat-side span.off:before{background:#2a3554}.chat-main{display:flex;flex-direction:column;min-width:0}.chat-head{display:flex;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);color:var(--ink)}.chat-head em{font-style:normal;color:var(--signal)}.chat-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:18px}.msg{max-width:80%;padding:10px 14px;border-radius:14px 14px 14px 4px;background:#0e1730;color:var(--ink);animation:msg 10s var(--ease) infinite both;animation-delay:calc(var(--i) * 1.25s);animation-play-state:paused}.msg b{display:block;font-weight:400;color:var(--signal);font-size:.88em}.msg.me{align-self:flex-end;border-radius:14px 14px 4px;background:var(--blue);color:#fff}.msg.typing{display:flex;gap:5px;padding:14px}.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--mute);animation:bob 1s ease-in-out infinite;animation-delay:calc(var(--d) * .15s)}.viz.live .msg{animation-play-state:running}@keyframes msg{0%{opacity:0;transform:translateY(12px)}5%,82%{opacity:1;transform:none}90%,to{opacity:0;transform:translateY(-6px)}}@keyframes bob{50%{transform:translateY(-4px)}}.pl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.pl-card{grid-area:1/1;width:min(64%,330px);aspect-ratio:4/5;border-radius:12px;background:#0b1328;border:1px solid var(--line);transition:transform .9s var(--ease)}.pl-card.c3{transform:rotate(-10deg) translate(-34%,6%);opacity:.6}.pl-card.c2{transform:rotate(8deg) translate(32%,3%);opacity:.8}.js-anim .viz:not(.live) .pl-card.c3,.js-anim .viz:not(.live) .pl-card.c2{transform:none}.pl-card.c2,.pl-card.c3{display:flex;flex-direction:column;gap:8px;padding:16px;font:400 clamp(10px,.85vw,12px)/1.3 var(--mono);color:var(--mute)}.pl-card.c2{align-items:flex-end}.pl-card.c2 i,.pl-card.c3 i{display:block;width:70%;height:6px;border-radius:3px;background:#1a2a52}.cd.last rect{transform-box:fill-box;transform-origin:50% 100%;animation:tick 1.3s ease-in-out infinite alternate;animation-play-state:paused}.viz.live .cd.last rect{animation-play-state:running}@keyframes tick{0%{transform:scaleY(.5)}to{transform:scaleY(1.3)}}.wv-line{fill:none;stroke:var(--signal);stroke-width:2.4;stroke-linejoin:miter}.wv-ch{font:500 13px var(--mono);fill:var(--mute)}.wv-track{animation:wv 16s linear infinite;animation-play-state:paused}.viz.live .wv-track{animation-play-state:running}@keyframes wv{to{transform:translate(-1584px)}}.wv-big{font:300 42px var(--mono);fill:var(--ink);letter-spacing:.04em}.wv-probe{stroke:#e6f1ff59;stroke-dasharray:3 5}.pl-card.c3{z-index:1}.pl-card.c2{z-index:2}.pl-card.c1{position:relative;z-index:3;display:flex;flex-direction:column;gap:12px;padding:16px;background:#0e1730;font:400 clamp(11px,.95vw,13px)/1.45 var(--mono)}.pl-top{display:flex;align-items:center;gap:10px;color:var(--ink)}.pl-top i{width:26px;height:26px;border-radius:50%;background:var(--signal)}.pl-img{flex:1;border-radius:8px;background:repeating-linear-gradient(135deg,#14224a 0,#14224a 10px,#101c3d 10px,#101c3d 20px);display:grid;place-items:center;color:var(--mute)}.pl-caption{min-height:4.4em;color:var(--ink)}.pl-caption:after{content:"";display:inline-block;width:.55em;height:1em;background:var(--signal);vertical-align:-.15em;margin-left:2px;animation:blink 1s steps(1) infinite}.pl-tag{align-self:flex-start;color:var(--signal);border:1px solid rgba(61,139,255,.45);border-radius:999px;padding:4px 10px}.bt-cell{fill:none;stroke:#7a8bbd4d;stroke-width:1.2}.bt-cell.on{fill:var(--signal);stroke:none;animation:bitread 2.8s linear infinite;animation-delay:calc(var(--i) * 35ms);animation-play-state:paused}.viz.live .bt-cell.on{animation-play-state:running}@keyframes bitread{0%{fill:var(--signal)}3%{fill:#e6f1ff}9%,to{fill:var(--signal)}}.bt-ch{font:500 18px var(--mono);fill:var(--ink)}.project-shot{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;background:#050913;overflow:hidden}.project-shot img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.005);transition:transform .85s var(--ease),filter .55s var(--ease);filter:saturate(.92) contrast(1.02)}.viz.live .project-shot img,.proj:hover .project-shot img,.g-link:hover .project-shot img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}.project-shot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to bottom,#0408120a,#04081233),linear-gradient(90deg,rgba(61,139,255,.07),transparent 34%)}.project-shot-scan{position:absolute;left:-25%;top:-20%;width:24%;height:140%;background:linear-gradient(90deg,transparent,rgba(230,241,255,.13),transparent);transform:rotate(12deg);opacity:0}.viz.live .project-shot-scan{opacity:1;animation:projectScan 4.8s var(--ease) infinite}@keyframes projectScan{0%,16%{transform:translate(0) rotate(12deg)}70%,to{transform:translate(560%) rotate(12deg)}}[data-project-visual][hidden]{display:none!important}.gallery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow-y:auto;background:var(--bg);padding:calc(env(safe-area-inset-top,0px) + 112px) var(--pad) calc(env(safe-area-inset-bottom,0px) + 64px)}.gallery[hidden],.detail[hidden]{display:none}.g-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36ch);align-items:end;gap:24px 48px;margin-bottom:clamp(36px,6vh,72px)}.g-title-wrap{display:flex;align-items:flex-start;gap:14px}.g-title-wrap .sec-title{outline:none;min-width:0;flex:0 1 auto}.g-count{font:500 14px/1 var(--mono);color:var(--signal);margin-top:.5em}.g-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.g-filters,.g-views{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--mute);font:400 13px/1 var(--mono);cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}.chip span{font-size:11px;opacity:.7}.chip:hover{color:var(--ink);border-color:#e6f1ff66}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#000}.g-items{list-style:none;margin:0;padding:0}.g-item[hidden]{display:none}.g-link{display:block;color:inherit;text-decoration:none}.g-name{margin:0;font-size:clamp(30px,4.4vw,72px);line-height:.95;font-weight:780;font-variation-settings:"wdth" 100,"wght" 780;transition:color .3s,transform .6s var(--ease)}.g-kind,.g-stack{margin:0;font:400 13px/1.5 var(--mono);color:var(--mute);transition:color .3s}.g-link:hover .g-kind,.g-link:hover .g-stack{color:var(--ink)}.gallery:not(.is-grid) .g-cover{display:none}.gallery:not(.is-grid) .g-row{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr) minmax(0,.8fr);align-items:center;gap:20px 32px;padding:clamp(20px,3.4vh,34px) 0;border-bottom:1px solid var(--line)}.gallery:not(.is-grid) .g-stack{text-align:right}.gallery:not(.is-grid) .g-row:before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;margin-top:-6px;background:var(--signal);transform:scale(0);transition:transform .45s var(--ease)}.gallery:not(.is-grid) .g-link:hover .g-row:before,.gallery:not(.is-grid) .g-link:focus-visible .g-row:before{transform:scale(1)}.gallery:not(.is-grid) .g-link:hover .g-name,.gallery:not(.is-grid) .g-link:focus-visible .g-name{color:var(--signal);transform:translate(30px)}.gallery.is-grid .g-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:clamp(32px,5vh,56px) clamp(16px,2vw,28px);padding-top:clamp(28px,5vh,48px)}.gallery.is-grid .g-cover{transition:border-color .3s}.gallery.is-grid .g-cover>*{transition:transform .9s var(--ease)}.gallery.is-grid .g-link:hover .g-cover{border-color:var(--signal)}.gallery.is-grid .g-link:hover .g-cover>*{transform:scale(1.04)}.gallery.is-grid .g-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding-top:18px}.gallery.is-grid .g-name{grid-column:1/-1;font-size:clamp(26px,2.4vw,40px)}.gallery.is-grid .g-stack{display:none}.gallery.is-grid .g-link:hover .g-name{color:var(--signal)}.g-empty{padding:48px 0;color:var(--mute)}.g-empty button{background:none;border:0;padding:0;color:var(--signal);text-decoration:underline;cursor:pointer;font:inherit}.g-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:clamp(60px,10vh,120px);padding-top:24px;border-top:1px solid var(--line);color:var(--mute)}.g-foot a:not(.pill){color:var(--ink)}.g-preview{position:fixed;left:0;top:0;z-index:63;width:clamp(320px,31vw,520px);pointer-events:none;opacity:0;scale:.86;transition:opacity .3s,scale .5s var(--ease)}.g-preview.show{opacity:1;scale:1}.pv-card{will-change:transform,filter}.g-preview .viz{box-shadow:0 30px 70px #000000b3;border-color:#3d8bff80}.pv-meta{display:flex;align-items:center;gap:14px;margin-top:12px;font:400 12px/1 var(--mono);color:var(--mute)}.pv-idx{color:var(--signal)}.pv-cta{margin-left:auto;background:var(--signal);color:#000;padding:7px 10px;border-radius:999px}.detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75}.d-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000009e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.d-panel{--pp:clamp(22px,4vw,64px);position:absolute;top:0;right:0;bottom:0;width:min(88vw,1120px);overflow-y:auto;overscroll-behavior:contain;background:#03060e;border-left:1px solid var(--line);box-shadow:-40px 0 90px #0000008c;padding:calc(env(safe-area-inset-top,0px) + 6px) var(--pp) calc(env(safe-area-inset-bottom,0px) + 56px)}.d-grab{display:none}.d-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 calc(var(--pp) * -1) clamp(18px,4vh,40px);padding:14px var(--pp);background:linear-gradient(#03060e 72%,#03060e00)}.d-idx{font:400 13px/1 var(--mono);color:var(--signal)}.d-nav{display:flex;align-items:center;gap:8px}.d-close{width:48px;height:48px;flex-shrink:0;border-radius:50%;border:1px solid rgba(230,241,255,.32);background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}.d-close:hover{background:var(--ink);color:#000;border-color:var(--ink)}.d-close svg{width:16px;height:16px}.d-kind{font:400 13px/1 var(--mono);color:var(--signal)}.d-name{margin:14px 0 clamp(26px,5vh,48px);font-size:clamp(40px,6.4vw,108px);line-height:.88;font-weight:800;font-variation-settings:"wdth" 110,"wght" 800;outline:none}.d-cover{aspect-ratio:16/9}.d-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(36px,6vw,110px);margin-top:clamp(40px,7vh,80px)}.d-body h3{margin:0 0 16px;font:500 12.5px/1 var(--mono);color:var(--signal)}.d-desc{font-size:clamp(20px,1.9vw,30px);line-height:1.3;font-variation-settings:"wdth" 88,"wght" 460;max-width:32ch}.d-hl-wrap{margin-top:44px}.d-hl-wrap[hidden]{display:none}.d-hl{list-style:none;padding:0;margin:0;display:grid;gap:12px;max-width:56ch}.d-hl li{position:relative;padding-left:26px}.d-hl li:before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;background:var(--signal)}.d-side .tags,.d-areas{margin-bottom:34px}.d-links{display:flex;flex-wrap:wrap;gap:10px}.d-links[hidden]{display:none}.d-next{display:block;margin-top:clamp(80px,14vh,160px);padding-top:28px;border-top:1px solid var(--line);text-decoration:none}.d-next small{display:block;margin-bottom:14px;font:400 13px/1 var(--mono);color:var(--mute)}.d-next span{display:block;font-size:clamp(40px,7vw,120px);line-height:.9;font-variation-settings:"wdth" 100,"wght" 780;transition:font-variation-settings .6s var(--ease),color .3s;overflow-wrap:anywhere}.d-next:hover span{font-variation-settings:"wdth" 122,"wght" 800;color:var(--signal)}:root:not([data-mode=portfolio]) .dots{opacity:0;pointer-events:none}:root:not([data-mode=portfolio]) .topbar{background:linear-gradient(to bottom,#000000eb 55%,#0000)}.contact{position:relative;overflow:hidden;background:var(--blue);color:var(--on-blue);padding:clamp(110px,18vh,200px) var(--pad) calc(28px + env(safe-area-inset-bottom,0px))}.contact .path{color:var(--on-blue-mute)}.contact :focus-visible{outline-color:#fff}.contact-title{margin:0;font-size:clamp(66px,13vw,236px);line-height:.82;font-weight:800;font-variation-settings:"wdth" 130,"wght" 800}.contact-note{max-width:40ch;margin-top:clamp(26px,4vh,40px);color:var(--on-blue-mute);font-size:clamp(17px,1.4vw,21px);line-height:1.45}.email-wrap{margin-top:clamp(56px,10vh,110px)}.email-big{display:inline-block;border:0;background:none;padding:0 0 6px;color:#fff;text-align:left;cursor:pointer;font-size:clamp(25px,6.4vw,112px);line-height:1;font-variation-settings:"wdth" 76,"wght" 600;border-bottom:2px solid rgba(255,255,255,.35);transition:border-color .3s,font-variation-settings .6s var(--ease);word-break:break-all}.email-big:hover,.email-big:focus-visible{border-color:#fff;font-variation-settings:"wdth" 84,"wght" 700}.contact-wire{display:block;width:100%;height:clamp(80px,12vh,120px);margin-top:8px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(20px,4vh,36px)}.contact .pill{border-color:#f2f7ff8c;color:var(--on-blue)}.contact .pill:hover{background:var(--on-blue);color:var(--blue);border-color:var(--on-blue)}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:clamp(70px,12vh,140px);padding-top:22px;border-top:1px solid rgba(242,247,255,.25);font:400 12.5px/1.5 var(--mono);color:var(--on-blue-mute)}.foot a{text-decoration:none}.foot a:hover{color:#fff;text-decoration:underline}.cv{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;overflow-y:auto;background:#03060d;padding:calc(env(safe-area-inset-top,0px) + 96px) var(--pad) calc(env(safe-area-inset-bottom,0px) + 56px)}.cv[hidden]{display:none}.cv-sheet{max-width:860px;margin:0 auto;background:var(--paper);color:var(--paper-ink);border-radius:4px;padding:clamp(28px,6vw,72px);box-shadow:0 40px 90px #0009;font-variation-settings:"wdth" 92,"wght" 400;font-size:16px;line-height:1.55}.cv-sheet a{color:var(--blue)}.cv-head{display:grid;grid-template-columns:1fr auto;gap:20px 40px;align-items:end;padding-bottom:28px;border-bottom:2px solid var(--paper-ink)}.cv-head h2{margin:0;font-size:clamp(40px,6vw,64px);line-height:.9;font-variation-settings:"wdth" 120,"wght" 800;font-weight:800;outline:none}.cv-role{margin-top:10px;font-size:18px;color:var(--blue);font-variation-settings:"wdth" 100,"wght" 600}.cv-contact{list-style:none;margin:0;padding:0;font:400 13px/1.8 var(--mono);text-align:right}.cv-sec{padding:26px 0;border-bottom:1px solid #D5DDEE}.cv-sec:last-child{border-bottom:0;padding-bottom:0}.cv-sec h3{margin:0 0 14px;font:500 12.5px/1 var(--mono);color:var(--blue)}.cv-item+.cv-item{margin-top:22px}.cv-item-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;align-items:baseline}.cv-item h4{margin:0;font-size:19px;font-variation-settings:"wdth" 96,"wght" 700;font-weight:700}.cv-item-head span{font:400 13px/1 var(--mono);color:#3b4a6b}.cv-org{color:#3b4a6b}.cv-sheet ul.cv-list{margin:10px 0 0;padding-left:18px}.cv-tech{margin-top:8px;font:400 12.5px/1.5 var(--mono);color:#3b4a6b}.cv-two{display:grid;grid-template-columns:1.6fr 1fr;gap:32px}.cv-dl{margin:0;display:grid;gap:8px}.cv-dl div{display:grid;grid-template-columns:110px 1fr;gap:12px}.cv-dl dt{font:400 12.5px/1.6 var(--mono);color:#3b4a6b}.cv-dl dd{margin:0}.cv-actions{max-width:860px;margin:24px auto 0;display:flex;justify-content:flex-end}.wipe{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:var(--blue);visibility:hidden;pointer-events:none}.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:110;transform:translate(-50%,24px);opacity:0;background:var(--ink);color:#000;font:500 13px/1 var(--mono);padding:14px 18px;border-radius:999px;pointer-events:none;transition:opacity .3s,transform .5s var(--ease)}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:899px){.dots{display:none}.about-grid,.journey-grid{grid-template-columns:1fr}.journey-side{position:static}.year{margin-top:28px;font-size:clamp(80px,22vw,140px)}.sec-head,.g-head,.d-body{grid-template-columns:1fr}}@media(max-width:700px){.hero{justify-content:center;padding-top:110px}.hero-meta{grid-template-columns:1fr auto;align-items:end}.scroll-cue{display:none}.byte-bits{font-size:30px}.byte-meta{flex-direction:column;gap:4px;align-items:flex-end}.byte-note{max-width:16ch;margin-left:auto}.facts div{grid-template-columns:1fr;gap:4px}.journey-body{padding-left:52px}.milestone:before{left:-46px}.chat{grid-template-columns:1fr}.chat-side{display:none}.cv-head,.cv-two{grid-template-columns:1fr}.cv-contact{text-align:left}.cv-dl div{grid-template-columns:96px 1fr}.gallery:not(.is-grid) .g-row{grid-template-columns:1fr;gap:6px}.g-bar{display:grid;justify-content:stretch}.g-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--pad) * -1);padding:0 var(--pad)}.g-filters::-webkit-scrollbar{display:none}.g-filters .chip{flex-shrink:0}.gallery:not(.is-grid) .g-stack{text-align:left}.gallery:not(.is-grid) .g-link:hover .g-name{transform:none}.d-cover{aspect-ratio:4/3}.d-panel{top:auto;left:0;width:auto;height:94svh;border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -30px 80px #0000008c}.d-grab{display:block;width:44px;height:5px;margin:8px auto 0;border-radius:3px;background:#e6f1ff4d}.d-top{border-radius:18px 18px 0 0}.d-nav .pill{padding:0 14px;min-height:44px;font-size:14px}.d-close{width:44px;height:44px}}@media(max-width:600px){.brand-long{display:none}.brand-short{display:inline}.top-cta{display:none}.topbar{grid-template-columns:auto 1fr}.switch{justify-self:end}.switch button{padding:0 11px;font-size:12.5px}}@media(prefers-reduced-motion:reduce){.grain,.caret,.status i,.scroll-cue i:after,.uv-star,.msg,.fc-line,.pl-caption:after,.bt-cell.on,.cd.last rect,.wv-track{animation:none}.msg{opacity:1}*,*:before,*:after{transition:none!important}}@media print{body *{visibility:hidden}.cv,.cv *{visibility:visible}.cv{position:static;padding:0;background:#fff;overflow:visible}.cv-sheet{box-shadow:none;max-width:none;padding:0}.cv-actions{display:none}}.js-anim .loader.is-loading{visibility:visible;opacity:1;animation:none}.hero-refined{min-height:max(640px,100svh);justify-content:space-between;padding-top:calc(125px + env(safe-area-inset-top,0px));padding-bottom:40px}.hero-refined .hero-main{width:100%;margin-block:auto;padding-block:60px}.hero-refined .hero-hello{font-size:12px;margin-bottom:30px;color:#8da8d2}.hero-refined .hero-name{display:flex;flex-direction:row;justify-content:space-between;gap:.19em;line-height:.9;letter-spacing:-.015em;width:84%;max-width:1080px;isolation:isolate}.hero-refined .hero-name .row{display:flex;flex-shrink:0;line-height:.9}.hero-refined .hero-name .row-2{margin:0}.hero-refined .hero-name .char{color:inherit;--p: 0}.hero-refined .hero-name .char{transform-origin:50% 85%}.hero-refined .hero-name.is-stacked{flex-direction:column;gap:.17em}.hero-refined .hero-name.is-stacked .row-2{justify-content:flex-end}.hero-refined .hero-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-top:0}.hero-refined .tagline{max-width:34ch}.hero-links{display:flex;gap:clamp(35px,7vw,100px);align-items:center}.hero-project-link{display:inline-flex;align-items:center;gap:28px;font:400 12px/1.5 var(--mono);min-height:44px;text-decoration:none;border-bottom:1px solid #344c72;color:#c2d5f5;transition:color .25s,border-color .25s}.hero-project-link:hover{color:#fff;border-color:#7cabf8}.hero-project-link>span{font-size:20px;color:#7baaff}.hero-refined .scroll-cue{color:#889fc8;font-size:11px}@supports ((background-clip: text) or (-webkit-background-clip: text)){.hero-refined .hero-name .char{background-image:radial-gradient(circle var(--spot-radius, 180px) at calc(var(--spot-x, -999px) - var(--glyph-x, 0px)) calc(var(--spot-y, -999px) - var(--glyph-y, 0px)),color-mix(in srgb,var(--signal) calc(var(--spot-strength, 0) * 100%),var(--ink)) 0%,color-mix(in srgb,#95caff calc(var(--spot-strength, 0) * 100%),var(--ink)) 35%,var(--ink) 75%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}}.stack-table{padding:clamp(70px,10vh,120px) var(--pad) clamp(70px,11vh,130px);--line-strong: rgba(122, 139, 189, .42);--ink-2: #c6d3ee;--gut: clamp(12px, 1.6vw, 24px)}.stack-table .grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gut)}.stack-table .lbl{margin:0;font:400 11px/1.45 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#94a7cb}.stack-table .sh{position:relative;align-items:baseline;padding-top:18px;margin-bottom:clamp(64px,11vh,130px)}.stack-table .sh-rule{position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-strong);transform-origin:left center}.stack-table .sh-index{grid-column:1/3}.stack-table .sh-title{grid-column:3/7;margin:0;font-size:15px;line-height:1.45;font-weight:500;font-variation-settings:"wdth" 100,"wght" 500;color:var(--ink)}.stack-table .sh-meta{grid-column:7/13;text-align:right}.stack-table .stk{row-gap:56px;align-items:start}.stack-table .stk-col{grid-column:span 3}.stack-table .stk-label{display:flex;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line-strong)}.stack-table .stk-list{list-style:none;margin:0;padding:0}.stack-table .stk-list li{border-bottom:1px solid var(--line)}.stack-table .stk-item{display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:12px;min-height:48px;padding:13px 0 12px;border:0;background:none;color:var(--ink);text-align:left;transition:color .35s,opacity .4s var(--ease)}.stack-table button.stk-item{cursor:pointer}.stack-table .stk-name{font-size:clamp(20px,1.9vw,31px);line-height:1.12;font-variation-settings:"wdth" 100,"wght" 430;letter-spacing:-.014em;transition:transform .6s var(--ease)}.stack-table .stk-n{font:400 11px/1 var(--mono);letter-spacing:.06em;color:#8da2c8;transition:color .35s}.stack-table .stk-item.is-plain{color:var(--ink-2)}.stack-table .stk.has-active .stk-item:not(.is-active) .stk-name{opacity:.65}.stack-table .stk-item.is-active,.stack-table .stk-item.is-active .stk-n{color:#6faaff}.stack-table .stk-item.is-active .stk-name,.stack-table button.stk-item:hover .stk-name{transform:translate(8px)}.stack-table .stk-item:focus-visible{outline-offset:2px}.stack-table .stk-readout{min-height:4.6em;margin-top:30px}.stack-table .stk-use{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}.stack-table .stk-use[hidden],.stack-table .stk-hint[hidden]{display:none}.stack-table .stk-use-k{font-size:clamp(18px,1.4vw,22px);font-variation-settings:"wdth" 100,"wght" 500;letter-spacing:-.01em}.stack-table .stk-use-v{font:400 12.5px/1.7 var(--mono);color:#96aacf}.stack-table .stk-use a{color:var(--ink);text-decoration:underline;text-decoration-color:#e6f1ff59;text-underline-offset:4px;transition:text-decoration-color .3s,color .3s}.stack-table .stk-use a:hover{color:#6faaff;text-decoration-color:currentColor}.stack-table .stk-hint{max-width:62ch}@media(max-width:1100px){.stack-table .stk-col{grid-column:span 6}}@media(max-width:899px){.stack-table .sh-title{grid-column:3/13}.stack-table .sh-meta{grid-column:3/13;margin-top:4px;text-align:left}}@media(max-width:700px){.hero-refined{padding-top:calc(115px + env(safe-area-inset-top,0px));padding-bottom:30px;min-height:max(640px,100svh)}.hero-refined .hero-main{padding-block:45px}.hero-refined .hero-hello{font-size:11px;margin-bottom:25px}.hero-refined .hero-meta{display:grid;grid-template-columns:1fr;gap:25px}.hero-refined .tagline{max-width:29ch;font-size:18px}.hero-links{justify-content:space-between;gap:25px}.hero-refined .scroll-cue{display:flex;flex-direction:row;gap:15px;padding:0}.hero-refined .scroll-cue i{height:30px}.hero-project-link{font-size:11px;gap:22px}.stack-table .stk{column-gap:16px}.stack-table .stk-name{font-size:19px}.stack-table .stk-readout{min-height:8em}.stack-table .lbl{font-size:10px}}@media(max-width:350px){.stack-table .stk-name{font-size:17px}.stack-table .stk-item{gap:6px}.stack-table .stk-n{font-size:10px}.stack-table .lbl{font-size:9px}.hero-refined .tagline{font-size:17px}}.contact-refined{display:flex;flex-direction:column;min-height:calc(100svh - 80px);padding-top:120px;padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));scroll-margin-top:80px}.contact-refined .contact-kicker{font:400 11px/1.5 var(--mono);letter-spacing:.06em;margin:0 0 45px;color:#c9dcff}.contact-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.contact-refined .contact-title{font-size:clamp(42px,5.9vw,94px);font-weight:500;font-variation-settings:"wdth" 95,"wght" 500;line-height:1.03;letter-spacing:-.045em;max-width:100%}.contact-refined .contact-note{font-size:16px;line-height:1.5;margin:0 4px 3px 0;max-width:23ch;color:#c9dcff;font-variation-settings:"wdth" 95,"wght" 400}.contact-channels{margin-top:65px;border-bottom:1px solid #c1d7ff55}.contact-row{position:relative;isolation:isolate;border-top:1px solid #c1d7ff55;min-width:0;text-decoration:none}.contact-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#ffffff0c;transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--ease)}.contact-row:hover:before,.contact-row:focus-within:before{transform:scaleY(1)}.contact-email{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:24px;align-items:center;padding-right:12px}.contact-refined .email-big,.contact-refined .email-big:hover{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:25px;align-items:center;min-height:120px;width:100%;padding:20px 0;border:0;background:none;color:#f2f7ff;font-size:inherit;font-variation-settings:normal;word-break:normal;transition:none}.contact-channel{font:400 11px/1.5 var(--mono);letter-spacing:.04em;color:#c9dcff;transition:transform .5s var(--ease)}.contact-email-address{display:block;min-width:0;max-width:100%;white-space:nowrap;font-size:clamp(25px,3.8vw,58px);line-height:1.15;letter-spacing:-.025em;font-variation-settings:"wdth" 86,"wght" 450;transition:transform .5s var(--ease)}.contact-copy{display:flex;gap:12px;align-items:center;padding-left:15px;font:400 10px/1.5 var(--mono);color:#d8e7ff}.contact-copy-icon{flex-shrink:0;transition:transform .35s var(--ease)}.email-big:hover .contact-copy-icon,.email-big:focus-visible .contact-copy-icon{transform:translate(2px,-2px)}.email-big.is-copied .contact-copy-icon{transform:scale(.85)}.email-big.is-copied .contact-copy-state{color:#fff}.contact-compose{display:grid;place-items:center;width:48px;height:48px;border:1px solid #d2e2ff77;border-radius:50%;color:#eef5ff;transition:background-color .3s,color .3s,border-color .3s}.contact-compose:hover,.contact-compose:focus-visible{background:#f2f7ff;color:#16427f;border-color:#f2f7ff}.contact-arrow{flex-shrink:0;transition:transform .45s var(--ease)}.contact-social{display:grid;grid-template-columns:120px minmax(0,1fr) 52px;gap:25px;align-items:center;min-height:100px;padding:20px 12px 20px 0}.contact-profile{font-size:clamp(23px,2.4vw,36px);line-height:1.2;font-variation-settings:"wdth" 95,"wght" 400;letter-spacing:-.015em;transition:transform .5s var(--ease)}.contact-social>.contact-arrow{justify-self:center}.contact-social:hover .contact-arrow,.contact-social:focus-visible .contact-arrow{transform:translate(3px,-3px)}.contact-social:hover .contact-profile,.contact-social:focus-visible .contact-profile{transform:translate(8px)}.contact-refined .foot{margin-top:auto;padding-top:75px;border-top:0;color:#c9dcff;font-size:11px}.contact-refined .foot a>span{display:inline-block;margin-left:16px;transition:transform .3s var(--ease)}.contact-refined .foot a:hover>span{transform:translateY(-3px)}@media(max-width:850px){.contact-heading{align-items:flex-start;flex-direction:column;gap:22px}.contact-refined .contact-note br{display:none}.contact-refined .contact-note{max-width:35ch;font-size:15px}.contact-refined .email-big,.contact-social{grid-template-columns:85px minmax(0,1fr) auto;gap:18px}.contact-copy{gap:7px;padding-left:0}.contact-refined .contact-title{font-size:8vw}}@media(max-width:600px){.contact-refined{min-height:calc(100svh - 75px);padding-top:95px;scroll-margin-top:75px}.contact-refined .contact-kicker{font-size:10px;margin-bottom:32px}.contact-refined .contact-title{font-size:clamp(34px,9.7vw,56px);letter-spacing:-.045em}.contact-channels{margin-top:42px}.contact-email{grid-template-columns:minmax(0,1fr) 44px;gap:12px;padding-right:0}.contact-refined .email-big{grid-template-columns:minmax(0,1fr) auto;row-gap:13px;column-gap:12px;min-height:110px;padding:22px 0}.contact-email .contact-channel{grid-row:1;grid-column:1}.contact-email-address{grid-row:2;grid-column:1/-1;font-size:24px}.contact-copy{grid-row:1;grid-column:2;font-size:9px}.contact-copy-icon{width:14px;height:14px}.contact-compose{width:42px;height:42px}.contact-channel{font-size:10px}.contact-social{grid-template-columns:72px minmax(0,1fr) 44px;gap:12px;min-height:88px;padding-right:0}.contact-profile{font-size:21px}.contact-arrow{width:20px;height:20px}.contact-refined .foot{padding-top:55px;row-gap:16px;column-gap:24px;font-size:9px}.contact-refined .foot a{margin-left:auto}.contact-refined .foot a>span{margin-left:8px}}@media(prefers-reduced-motion:reduce){.hero-refined .hero-name .char{transform:none!important}.contact-row:before,.contact-arrow,.contact-profile,.contact-copy-icon{transition:none}}.hero-resume-link{display:inline-flex;align-items:center;gap:12px;font:400 12px/1.5 var(--mono);min-height:44px;text-decoration:none;color:#96afd7;transition:color .25s}.hero-resume-link:hover,.hero-resume-link:focus-visible{color:#fff}.hero-resume-link>span{font-size:17px;color:#7baaff}.hero-refined .tagline{max-width:40ch}.d-study{margin:32px 0 38px;padding-block:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.d-study[hidden]{display:none}.d-study-fields{display:grid;gap:22px;margin:0}.d-study-fields dt{font:400 12px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--signal);margin-bottom:6px}.d-study-fields dd{margin:0;color:#ccd9ef;line-height:1.6}.cv-project-links{display:flex;gap:10px;flex-wrap:wrap;font:400 11px/1.5 var(--mono);margin-top:5px;overflow-wrap:anywhere}.cv-actions{gap:12px;flex-wrap:wrap}@media(max-width:700px){.hero-links{gap:16px;flex-wrap:wrap}.hero-project-link,.hero-resume-link{font-size:11px}.hero-resume-link{margin-right:auto}}@media(prefers-reduced-motion:reduce){.viz.live .project-shot-scan,.msg.typing i{animation:none!important}.project-shot-scan{display:none}}@media print{@page{size:A4;margin:13mm}html,body,#root{background:#fff!important;color:#111!important;height:auto!important;overflow:visible!important}#root>:not(.cv){display:none!important}#root>.cv{display:block!important;position:static!important;inset:auto!important;z-index:auto!important;overflow:visible!important;min-height:0!important;background:#fff!important;padding:0!important;margin:0!important}.cv-sheet{background:#fff!important;box-shadow:none!important;border-radius:0!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important;font-size:10pt!important;line-height:1.35!important}.cv-head{padding-bottom:12px!important}.cv-head h2{font-size:30pt!important}.cv-contact{font-size:9pt!important}.cv-sec{padding:12px 0!important;break-inside:auto}.cv-item{break-inside:avoid-page}.cv-sec h3,.cv-item h4{break-after:avoid-page}.cv-item h4{font-size:13pt!important}.cv-actions{display:none!important}.cv-sheet a{text-decoration:none!important}}.about-text{max-width:29em;font-size:clamp(27px,2.8vw,46px);line-height:1.2;letter-spacing:-.015em}.about-text{position:relative;--about-progress: 0}.about-reveal{display:block;overflow:clip;padding:.1em 0 .15em;margin:-.1em 0 -.15em;isolation:isolate}.about-reveal+.about-reveal{margin-top:.2em}.about-reveal-inner{display:block;will-change:transform,opacity}.about-emphasis{color:var(--signal);--accent-progress: 0%;background-image:linear-gradient(var(--signal),var(--signal));background-size:var(--accent-progress) 2px;background-repeat:no-repeat;background-position:0 calc(100% - 1px)}.about-text:before,.about-text:after{content:"";position:absolute;left:-22px;top:.1em;bottom:.1em;width:2px;pointer-events:none}.about-text:before{background:#7a8bbd38}.about-text:after{background:var(--signal);box-shadow:0 0 13px #3d8bff4d;transform:scaleY(var(--about-progress));transform-origin:top}.about-muted .about-reveal-inner{color:var(--mute)}@media(max-width:600px){.about-text:before,.about-text:after{left:-11px}.about-reveal+.about-reveal{margin-top:.22em}}@media(prefers-reduced-motion:reduce){.about-reveal-inner{transform:none!important;opacity:1!important;will-change:auto}.about-emphasis{--accent-progress: 100%}.about-text:after{transform:scaleY(1)}}@media(max-width:700px){:root[data-mode=portfolio] .topbar{background:linear-gradient(180deg,#050a15f5,#050a15e0 76%,#050a15b3);border-bottom:1px solid rgba(109,145,200,.13);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}.no-intro .loader{display:none!important}@media(min-width:701px){.topbar:before{content:"";position:absolute;top:0;right:0;bottom:-28px;left:0;z-index:-1;background:linear-gradient(to bottom,#000000f0 50%,#0000);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}:root[data-mode=portfolio].is-scrolled:not(.on-blue-zone) .topbar:before{opacity:1}}:root:not(.js-anim):not(.rm) .switch-thumb{display:none}:root:not(.js-anim):not(.rm) .switch button[aria-pressed=true]{background:var(--blue)}.project-media{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;overflow:hidden;background:#0b1019}.project-media[hidden]{display:none}.project-media img,.project-media video{display:block;width:100%;height:100%;object-fit:contain}.project-media video{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .2s ease}.project-media[data-playing=true] video{opacity:1}.viz:has(>.project-media){aspect-ratio:16 / 9}.d-cover:has(>.project-media){max-height:none}.project-captures{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.project-captures h3{margin:0 0 18px;font:400 12px var(--mono);color:var(--mute)}.project-captures-note{color:var(--mute);font-size:13px;line-height:1.6;margin:0 0 22px;max-width:65ch}.project-captures-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.project-captures figure{margin:0;min-width:0}.project-captures figure:not(.capture-mobile){grid-column:1 / -1}.project-captures .capture-mobile{grid-column:1 / -1;width:min(100%,280px);justify-self:center}.project-captures-grid:has(.capture-mobile~.capture-mobile) .capture-mobile{grid-column:auto}.project-captures a{display:block;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#0b1019}.project-captures img{display:block;width:100%;height:auto}.project-captures figcaption{margin-top:10px;color:var(--mute);font:400 11px/1.6 var(--mono)}@media(max-width:700px){.project-captures-grid{grid-template-columns:minmax(0,1fr);gap:28px}.project-captures .capture-mobile{grid-column:1;grid-row:auto;max-width:280px;justify-self:center}}@media(prefers-reduced-motion:reduce){.project-media video{display:none;transition:none}}
