@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-300.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-300.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Manrope";src:url("/assets/fonts/manrope-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}
:root{--bg:#090b0a;--panel:#111512;--text:#eef1e9;--muted:#8d968c;--line:rgba(231,241,225,.14);--line2:rgba(231,241,225,.28);--acid:#c8ff62;--shell:min(1280px,calc(100vw - 96px));--mono:"DM Mono",monospace;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{color:#111;background:var(--acid)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:var(--shell);margin:auto}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:0;left:20px;z-index:999;padding:12px 18px;color:#111;background:var(--acid);transform:translateY(-110%)}.skip:focus{transform:none}.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.cursor-glow{position:fixed;z-index:0;width:520px;height:520px;left:var(--x,70%);top:var(--y,30%);border-radius:50%;background:radial-gradient(circle,rgba(170,255,82,.06),transparent 68%);transform:translate(-50%,-50%);pointer-events:none}.cursor-hud{position:fixed;z-index:110;left:var(--x,-100px);top:var(--y,-100px);width:34px;height:34px;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:screen;transition:opacity .3s}.cursor-hud:before,.cursor-hud:after,.cursor-hud i:before,.cursor-hud i:after{content:"";position:absolute;background:var(--acid);box-shadow:0 0 10px #c8ff6280}.cursor-hud:before{left:0;top:0;width:11px;height:1px}.cursor-hud:after{left:0;top:0;width:1px;height:11px}.cursor-hud i:before{right:0;bottom:0;width:11px;height:1px}.cursor-hud i:after{right:0;bottom:0;width:1px;height:11px}.cursor-hud b{position:absolute;inset:13px;border:1px solid var(--acid);border-radius:50%;opacity:.7;animation:cursor-pulse 1.7s ease-in-out infinite}
.header{position:fixed;inset:0 0 auto;z-index:90;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid transparent;transition:.3s}.header.scrolled{height:68px;background:rgba(9,11,10,.8);backdrop-filter:blur(18px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.brand svg{width:29px;fill:none;stroke:var(--acid);stroke-width:1.8}.nav{display:flex;gap:34px;font:11px var(--mono);text-transform:uppercase}.nav a{color:#c6ccc4}.nav a:hover{color:var(--acid)}.menu,.mobile-nav{display:none}
.hero{position:relative;min-height:100svh;overflow:hidden;border-bottom:1px solid var(--line);cursor:crosshair}canvas{position:absolute;inset:0;width:100%;height:100%}.hero #signal-field{z-index:1}.hero-shade{position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 75% 45%,transparent,rgba(9,11,10,.12) 35%,rgba(9,11,10,.86) 78%),linear-gradient(90deg,rgba(9,11,10,.85),transparent 75%)}.grid{position:absolute;z-index:1;inset:0;opacity:.2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,#000,transparent 76%);pointer-events:none}.hero-inner{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:130px 0 108px;pointer-events:none}.hero-inner a{pointer-events:auto}.eyebrow,.mono{display:flex;align-items:center;gap:10px;margin:0 0 clamp(34px,6vh,68px);color:#b9c0b7;font:11px var(--mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 16px var(--acid);animation:pulse 2.2s infinite}.hero h1{max-width:1080px;margin:0;font-size:clamp(64px,9.5vw,150px);font-weight:300;line-height:.85;letter-spacing:-.073em}.hero h1>span{display:block;overflow:hidden;padding:.03em .08em .12em 0}.hero h1 b{display:block;font-weight:300;transform:translateY(115%);animation:title 1.1s cubic-bezier(.16,1,.3,1) .18s forwards}.hero h1 span:nth-child(2) b{animation-delay:.34s}.hero h1 .offset{padding-left:.66em}.hero h1 em,.statement em,.contact em{color:var(--acid);font-style:normal}.hero-foot{display:flex;align-items:end;justify-content:space-between;width:min(760px,65vw);margin:clamp(48px,8vh,88px) 0 0 auto}.hero-foot p{max-width:570px;margin:0;color:#aab1a9;font-size:clamp(16px,1.4vw,20px);line-height:1.65}.hero-foot strong{color:var(--text);font-weight:500}.round{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:50%;font-size:22px;transition:.25s}.round:hover{color:#111;background:var(--acid);border-color:var(--acid);transform:translateY(4px)}.hero-index{position:absolute;z-index:3;right:48px;top:50%;display:grid;grid-template-columns:auto 24px;gap:13px 17px;color:#e6eee36b;font:9px var(--mono);letter-spacing:.08em;transform:translateY(-50%);text-align:right;pointer-events:none}.hero-index b{color:var(--acid);font-weight:400}.robot-console{position:absolute;z-index:3;left:48px;bottom:35px;color:#95a093;font:9px var(--mono);letter-spacing:.08em;pointer-events:none}.robot-console p{display:flex;gap:17px;margin:0 0 12px}.robot-console p b{color:var(--acid);font-weight:400}.robot-console>div{display:flex;align-items:center;gap:12px;color:#6f796f}.robot-console i{width:31px;height:1px;background:var(--acid);box-shadow:0 0 8px #c8ff6270}.robot-console>div span+span:before{content:"/";margin-right:12px;color:#485148}.plan-locked .robot-console p b{animation:status-flash .28s steps(2) 5}
.section{position:relative;padding-block:clamp(100px,13vw,190px)}.label{display:grid;grid-template-columns:44px auto 1fr;align-items:center;margin-bottom:clamp(58px,8vw,110px);color:#879086;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase}.label b{color:var(--acid);font-weight:400}.label:after{content:"";height:1px;margin-left:28px;background:var(--line)}.intro{display:grid;grid-template-columns:1.8fr 1fr;gap:9vw;align-items:end}.intro h2,.section-head h2{margin:0;font-size:clamp(42px,6.25vw,92px);font-weight:300;line-height:1.02;letter-spacing:-.06em}.intro h2 em{color:#929b91;font-style:normal}.copy{color:#9ba39a;font-size:16px;line-height:1.75}.copy p{margin:0 0 22px}.copy strong{color:#dfe3dc;font-weight:500}.copy a{color:var(--text);border-bottom:1px solid var(--line2)}.copy a:hover{color:var(--acid);border-color:var(--acid)}
.research-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(80px,11vw,150px);border-top:1px solid var(--line);border-left:1px solid var(--line)}.research-card{min-height:490px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.35s}.research-card:hover{background:#c8ff6209}.research-card header{display:flex;justify-content:space-between;color:#737c73;font:9px var(--mono);letter-spacing:.1em}.research-card header b{color:var(--acid);font-weight:400}.research-card h3{margin:0 0 15px;font-size:23px;font-weight:400;letter-spacing:-.035em}.research-card p{max-width:330px;margin:0;color:#818a81;font-size:13px;line-height:1.65}.visual{position:relative;height:260px;margin:36px 0 14px}.arm i{position:absolute;height:1px;background:#596158;transform-origin:left}.arm i:nth-child(1){width:92px;left:28%;top:65%;transform:rotate(-48deg)}.arm i:nth-child(2){width:78px;left:calc(28% + 62px);top:calc(65% - 68px);transform:rotate(33deg)}.arm i:nth-child(3){width:48px;left:calc(28% + 128px);top:calc(65% - 24px);transform:rotate(-29deg);background:var(--acid);box-shadow:0 0 12px var(--acid)}.arm b{position:absolute;width:7px;height:7px;left:calc(28% + 128px);top:calc(65% - 27px);border:1px solid var(--acid);border-radius:50%}.orbit i{position:absolute;inset:29px 14%;border:1px solid #3e463e;border-radius:50%;transform:rotate(-16deg)}.orbit i:nth-child(2){inset:61px 25%;border-color:#657064;transform:rotate(42deg)}.orbit b{position:absolute;width:9px;height:9px;left:49%;top:49%;border-radius:50%;background:var(--acid);box-shadow:0 0 24px var(--acid)}.nodes i{position:absolute;z-index:1;width:8px;height:8px;border:1px solid var(--acid);border-radius:50%}.nodes i:nth-child(1){left:18%;top:38%}.nodes i:nth-child(2){left:49%;top:65%}.nodes i:nth-child(3){left:78%;top:24%;background:var(--acid)}.nodes b{position:absolute;height:1px;background:#556055;transform-origin:left}.nodes b:nth-of-type(1){width:42%;left:19%;top:40%;transform:rotate(27deg)}.nodes b:nth-of-type(2){width:45%;left:50%;top:66%;transform:rotate(-48deg)}
.statement{padding-block:40px 150px;overflow:hidden}.marquee{width:max-content;color:#edf1e90e;font-size:clamp(70px,12vw,180px);font-weight:500;line-height:1;letter-spacing:-.07em;white-space:nowrap}.marquee div{display:flex;align-items:center;gap:.2em;animation:marquee 30s linear infinite}.marquee i{width:.12em;height:.12em;border-radius:50%;background:var(--acid)}.statement-inner{margin-top:-1.8vw;padding-left:19%}.statement .mono{color:#95bf49}.statement blockquote{max-width:920px;margin:0;font-size:clamp(32px,5vw,69px);font-weight:300;line-height:1.13;letter-spacing:-.055em}
.experience{border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:72px}.section-head h2{line-height:1}.section-head>p{max-width:360px;margin:0;color:#818980;font-size:14px;line-height:1.6}.text-link{padding-bottom:6px;color:#a5ada4;font:11px var(--mono);border-bottom:1px solid var(--line2);text-transform:uppercase}.text-link:hover{color:var(--acid);border-color:var(--acid)}.timeline{border-top:1px solid var(--line2)}.timeline article{display:grid;grid-template-columns:190px 1fr 130px;gap:30px;padding:30px 0;border-bottom:1px solid var(--line);transition:.25s}.timeline article:hover{padding-inline:14px;border-color:#c8ff6273}.timeline time,.timeline article>span{padding-top:6px;color:#727b72;font:9px/1.4 var(--mono);letter-spacing:.08em}.timeline article>span{text-align:right}.timeline h3{margin:0 0 9px;font-size:22px;font-weight:400;letter-spacing:-.03em}.timeline p{margin:0;color:#7e877e;font-size:13px;line-height:1.6}
.publications{padding-top:40px}.pub-list{border-top:1px solid var(--line2)}.pub{display:grid;grid-template-columns:90px 1fr 50px;gap:26px;align-items:center;min-height:210px;padding:36px 4px;border-bottom:1px solid var(--line);transition:.25s}.pub:hover{padding-inline:18px;background:#c8ff6206}.pub>b{color:#616a61;font:10px var(--mono);font-weight:400}.pub p{display:flex;gap:16px;margin:0 0 20px;color:#788078;font:9px var(--mono);letter-spacing:.09em}.pub p span:not(:last-child):after{content:"·";margin-left:16px;color:#424942}.pub h3{max-width:900px;margin:0 0 15px;font-size:clamp(21px,2.1vw,30px);font-weight:400;line-height:1.3;letter-spacing:-.035em}.pub small{color:#6e776e;font-size:12px}.pub>i{color:#899188;font-size:22px;font-style:normal;text-align:right}.pub:hover>i{color:var(--acid);transform:translate(3px,-3px)}.archive{margin-top:42px;border-block:1px solid var(--line)}.archive summary{display:flex;justify-content:space-between;align-items:center;padding:25px 0;font:11px var(--mono);text-transform:uppercase;cursor:pointer;list-style:none}.archive summary::-webkit-details-marker{display:none}.archive summary span{position:relative;width:15px;height:15px}.archive summary span:before,.archive summary span:after{content:"";position:absolute;top:7px;width:15px;height:1px;background:var(--acid)}.archive summary span:after{transform:rotate(90deg)}.archive[open] summary span:after{transform:none}.archive>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.archive article{min-height:150px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.archive article:nth-child(2n){border-right:0}.archive article span{color:#717a71;font:9px var(--mono)}.archive h3{max-width:430px;margin:24px 0 0;font-size:17px;font-weight:400;line-height:1.4}
.profile{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center;border-top:1px solid var(--line)}.portrait{position:relative;max-width:520px}.portrait:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--line)}.portrait img{position:relative;z-index:1;width:100%;aspect-ratio:1;object-fit:cover;filter:grayscale(1) contrast(1.04)}.portrait span{position:absolute;z-index:2;right:14px;bottom:12px;padding:6px 8px;color:#0b0d0b;background:var(--acid);font:8px var(--mono)}.profile-copy .label{margin-bottom:62px}.profile-copy h2{margin:0 0 40px;font-size:clamp(48px,6.5vw,92px);font-weight:300;line-height:.96;letter-spacing:-.065em}.profile-copy p{max-width:560px;margin:0;color:#8b948a;font-size:16px;line-height:1.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:42px}.tags span{padding:8px 12px;color:#a5ada4;border:1px solid var(--line);font:9px var(--mono)}
.contact{min-height:88svh;display:flex;align-items:center;overflow:hidden;border-top:1px solid var(--line)}.contact:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,transparent,rgba(9,11,10,.85) 75%)}.contact-inner{position:relative;z-index:2}.contact .mono{margin-bottom:48px}.contact h2{max-width:1050px;margin:0;font-size:clamp(55px,8.8vw,130px);font-weight:300;line-height:.92;letter-spacing:-.075em}.contact-inner>a{display:flex;justify-content:space-between;max-width:650px;margin-top:80px;padding-bottom:15px;color:#acb4ab;border-bottom:1px solid var(--line2);font:clamp(12px,1.2vw,16px) var(--mono)}.contact-inner>a:hover{color:var(--acid);border-color:var(--acid)}.footer{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end;padding-block:65px 35px;border-top:1px solid var(--line)}.footer-mark{font-size:50px;font-weight:300;letter-spacing:-.07em}.footer-mark span{color:var(--acid)}.footer-links{display:flex;gap:28px;color:#959e94;font:10px var(--mono);text-transform:uppercase}.footer-links a:hover{color:var(--acid)}.footer>p{grid-column:1/-1;margin:15px 0 0;color:#525a52;font:9px var(--mono)}
.reveal{opacity:0;animation:fade .9s cubic-bezier(.16,1,.3,1) var(--d,0s) forwards}.scroll-in{opacity:0;transform:translateY(32px);transition:opacity .85s cubic-bezier(.16,1,.3,1) var(--d,0s),transform .85s cubic-bezier(.16,1,.3,1) var(--d,0s)}.scroll-in.visible{opacity:1;transform:none}@keyframes title{to{transform:none}}@keyframes fade{to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.4}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes cursor-pulse{50%{transform:scale(1.7);opacity:.15}}@keyframes status-flash{50%{opacity:.25}}
@media(max-width:900px){:root{--shell:min(100% - 42px,760px)}.header{height:70px;padding:0 21px}.nav{display:none}.menu{position:relative;z-index:3;display:block;width:38px;height:38px;padding:0;border:0;background:none}.menu i{position:absolute;left:8px;width:23px;height:1px;background:currentColor;transition:.2s}.menu i:nth-of-type(1){top:14px}.menu i:nth-of-type(2){top:23px}.menu[aria-expanded=true] i{top:19px}.menu[aria-expanded=true] i:first-of-type{transform:rotate(45deg)}.menu[aria-expanded=true] i:last-of-type{transform:rotate(-45deg)}.mobile-nav{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:70px 21px;background:#090b0afa}.mobile-nav[hidden]{display:none}.mobile-nav a{font-size:clamp(38px,12vw,68px);font-weight:300;letter-spacing:-.06em}.hero-inner{padding:115px 0 105px}.hero h1{font-size:clamp(54px,15.8vw,95px);line-height:.9}.hero h1 .offset{padding-left:0}.hero-foot{width:100%;margin-top:58px;align-items:center}.hero-foot p{max-width:76%;font-size:14px}.round{width:48px;height:48px}.hero-index,.robot-console{display:none}.cursor-hud{display:none}.grid{background-size:48px 48px}.section{padding-block:105px}.label{margin-bottom:55px}.intro{grid-template-columns:1fr;gap:48px}.research-grid{grid-template-columns:1fr;margin-top:85px}.research-card{min-height:400px}.visual{height:190px}.statement{padding-bottom:105px}.statement-inner{padding-left:0}.section-head{display:block;margin-bottom:52px}.section-head>p,.section-head .text-link{display:inline-block;margin-top:28px}.timeline article{grid-template-columns:100px 1fr;gap:18px}.timeline article>span{display:none}.pub{grid-template-columns:34px 1fr 20px;gap:12px;min-height:180px}.pub:hover{padding-inline:5px}.pub h3{font-size:19px}.pub small{display:none}.pub p{flex-wrap:wrap;gap:7px}.pub p span:not(:last-child):after{margin-left:7px}.profile{grid-template-columns:1fr;gap:85px}.portrait{width:calc(100% - 18px)}.contact{min-height:72svh}.footer{grid-template-columns:1fr;gap:40px}.footer-links{flex-wrap:wrap}}
@media(max-width:520px){.brand span{display:none}.eyebrow{font-size:9px}.hero h1{font-size:clamp(50px,16vw,82px)}.hero-foot p{max-width:78%}.intro h2{font-size:40px}.archive>div{grid-template-columns:1fr}.archive article{border-right:0}.timeline article{grid-template-columns:1fr;gap:15px}.timeline time{color:#95bf49}.pub{grid-template-columns:1fr 20px}.pub>b{display:none}.contact-inner>a{margin-top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero h1 b,.scroll-in{opacity:1;transform:none}.cursor-glow,.cursor-hud{display:none}}
