@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.ttf)format("truetype")}
:root{--bg:#080b0e;--text:#eef3ef;--muted:#9aa6a9;--line:#253033;--acid:#d2fa72;--ice:#92d9e5;--mono:"IBM Plex Mono", monospace;--sans:"DM Sans", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--acid);color:#111}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:5px}.skip{position:absolute;top:-50px}.skip:focus{z-index:40;color:#000;background:#fff;padding:10px;top:20px}.progress{background:var(--acid);z-index:30;width:0;height:2px;position:fixed;top:0;left:0}header{z-index:10;border-bottom:1px solid #ffffff13;justify-content:space-between;align-items:center;height:90px;padding:0 5%;display:flex;position:absolute;inset:0 0 auto}.logo{letter-spacing:-5px;font-size:38px;font-weight:600}.logo span{color:var(--acid);margin-left:9px;font-size:20px}nav{gap:35px;font-size:12px;display:flex}.languages{border:1px solid var(--line);border-radius:30px;gap:3px;padding:5px;display:flex}.languages button{font:10px var(--mono);background:0 0;border:0;border-radius:30px;padding:7px 10px}.languages button[aria-pressed=true]{background:var(--acid);color:#15210d}.hero{height:950px;min-height:100svh;max-height:1150px;padding:125px 5% 0;position:relative;overflow:hidden}.hero-meta{z-index:2;font:9px var(--mono);letter-spacing:1.6px;color:var(--muted);justify-content:space-between;display:flex;position:relative}.hero-meta>span:first-child:before{content:"";background:var(--acid);width:5px;height:5px;box-shadow:0 0 12px var(--acid);border-radius:50%;margin-right:10px;display:inline-block}.hero-content{z-index:2;pointer-events:none;padding-top:120px;position:relative}.hero-content a{pointer-events:auto}.name{font:11px var(--mono);letter-spacing:5px;color:var(--ice)}h1{letter-spacing:-6px;max-width:1200px;margin:25px 0 30px;font-size:clamp(60px,7.6vw,126px);font-weight:500;line-height:1.02}h1 span{display:block}h1 span:last-child{color:var(--acid)}.hero-content>p{color:#b1bbbc;max-width:390px;font-size:15px;line-height:1.9}.actions{align-items:center;gap:25px;margin-top:32px;display:flex}.pill{border-radius:40px;align-items:center;gap:30px;padding:17px 24px;font-size:12px;transition:transform .2s,background .2s;display:inline-flex}.pill:hover{background:var(--acid);color:#111;transform:translateY(-3px)}.light{background:var(--text);color:#111}.pill b{font-size:20px;font-weight:400}.quiet{border-bottom:1px solid #718080;padding:12px 0;font-size:12px;display:inline-block}.quiet:hover{color:var(--acid)}.portal{width:76%;height:100%;position:absolute;top:0;right:-12%}.portal canvas{width:100%;height:100%;position:absolute}.hero-bottom{z-index:4;font:8px var(--mono);letter-spacing:1px;color:var(--muted);border-top:1px solid #ffffff19;justify-content:space-between;align-items:center;padding-top:25px;display:flex;position:absolute;bottom:35px;left:5%;right:5%}.hero-bottom small{letter-spacing:0;margin-top:8px;font-size:9px;display:block}.hero-bottom>div{margin-left:auto;margin-right:20px}#motion{width:36px;height:36px;color:var(--acid);background:#080b0e;border:1px solid #6c7c7e;border-radius:50%}.ticker{border-block:1px solid var(--line);background:#0d1316;padding:23px 0;overflow:hidden}.ticker>div{white-space:nowrap;letter-spacing:2px;color:#b5c2be;width:max-content;font-size:22px;animation:35s linear infinite marquee}.ticker span{color:var(--acid);margin:0 40px}@keyframes marquee{to{transform:translate(-50%)}}.section{padding:110px 6%}.eyebrow{font:9px var(--mono);letter-spacing:1.5px;color:var(--ice)}h2{letter-spacing:-2.7px;margin:25px 0;font-size:clamp(38px,4.5vw,70px);font-weight:450;line-height:1.08}.section-head{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}.section-head p{max-width:290px;color:var(--muted);font-size:13px;line-height:1.9}#projects{grid-template-columns:1fr 1fr;gap:65px 35px;display:grid}.project:first-child{grid-column:1/-1}.project button.visual{text-align:left;isolation:isolate;background:#141d1e;border:0;width:100%;height:350px;padding:30px;display:block;position:relative;overflow:hidden}.project:first-child button.visual{height:460px}.visual .tag{font:8px var(--mono);letter-spacing:1px;z-index:4;color:#c7d6cf;position:absolute;top:25px;left:25px}.visual .index{font:9px var(--mono);z-index:3;position:absolute;top:25px;right:25px}.visual .view{color:#111;z-index:4;background:#eef3ef;border-radius:30px;padding:13px 18px;font-size:11px;transition:background .2s;position:absolute;bottom:22px;right:24px}.visual:hover .view{background:var(--acid)}.visual .concept{font:7px var(--mono);letter-spacing:1px;color:#a9bcba;position:absolute;bottom:23px;left:25px}.project h3{letter-spacing:-.5px;margin:22px 0 8px;font-size:25px;font-weight:500}.project .desc{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.project .type{font:8px var(--mono);letter-spacing:1px;color:var(--ice);margin-top:14px}.project h3 button{background:0 0;border:0;padding:0}.baobab-art{background:radial-gradient(at 25% 100%,#50765155,#0000 70%),#14201a;justify-content:space-evenly;align-items:center;display:flex;position:absolute;inset:0}.baobab-art strong{letter-spacing:-9px;color:#d3f8af;font-size:clamp(80px,12vw,190px);font-weight:500;transition:transform .8s;transform:rotate(-7deg)}.visual:hover .baobab-art strong{transform:rotate(0)}.terminal{font:12px/2 var(--mono);color:#bccbb5;background:#09120ee8;border:1px solid #64765680;border-radius:6px;padding:27px;transform:perspective(800px)rotateY(-18deg)rotateX(8deg);box-shadow:0 25px 70px #0008}.terminal i{color:var(--acid);font-style:normal}.terminal small{color:#798d75;border-bottom:1px solid #4a594a;margin-bottom:20px;padding-bottom:15px;font-size:8px;display:block}.wave-art{background:radial-gradient(#21495655,#0000 65%);justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:0}.wave-art i{width:3px;height:calc(30px + var(--h) * 1px);animation:3s ease-in-out infinite alternate wave;animation-delay:calc(var(--n) * -.07s);background:linear-gradient(#a2ecf2,#4a95a4);border-radius:8px;box-shadow:0 0 13px #77c8dd33}@keyframes wave{to{opacity:.5;transform:scaleY(.35)}}.garage-art{background:#19202b;position:absolute;inset:0}.garage-art img{object-fit:cover;opacity:.85;width:100%;height:100%;transition:transform .7s}.visual:hover .garage-art img{transform:scale(1.04)}.visual:has(.garage-art):after{content:"";pointer-events:none;background:linear-gradient(#0008,#0000 40%,#0009);position:absolute;inset:0}.esag-art{perspective:700px;background:#1b232c;place-content:center;display:grid;position:absolute;inset:0}.document{color:#182623;background:#d8ded7;width:230px;height:210px;padding:25px;transform:rotateY(-22deg)rotate(-10deg);box-shadow:25px 25px #6b8d8730,50px 50px #6b8d8715}.document strong{letter-spacing:-3px;font-size:40px}.document div{background:#9da99f;height:1px;margin-top:18px}.document span{font:9px var(--mono)}.fed-art{background:radial-gradient(#38453d55,#0000 70%);place-content:center;display:grid;position:absolute;inset:0}.fed-art span{width:150px;height:150px;font:13px var(--mono);border:1px solid #a1dba3;border-radius:50%;place-content:center;display:grid;box-shadow:0 0 0 30px #a1dba30c,0 0 0 60px #a1dba308,0 0 0 90px #a1dba305}.about{color:#16241f;background:#dbe2d8;grid-template-columns:.8fr 1.2fr;gap:10%;display:grid}.about .eyebrow{color:#4c675c}.about p{color:#526057;max-width:520px;font-size:15px;line-height:1.9}.about-art{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.star{color:#213e31;font-family:Arial,sans-serif;font-size:300px;line-height:1;animation:60s linear infinite spin}.about-art>span:last-child{font:9px/2 var(--mono);letter-spacing:3px;margin-top:25px}.belief{margin:25px 0;font-size:23px;line-height:1.6}.belief em{font-family:Georgia,serif}.outline{border:1px solid #899e8f}.about small{font:9px var(--mono);color:#516451;margin:12px 20px;display:block}.research{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10%;display:grid}.research p{color:var(--muted);max-width:470px;font-size:14px;line-height:1.9}.research-art{place-items:center;min-height:300px;display:grid;position:relative;overflow:hidden}.research-art>div{letter-spacing:-3px;z-index:2;font-size:55px}.research-art span{color:var(--acid);font:13px var(--mono);letter-spacing:10px;text-align:center;display:block}.research-art i{border:1px solid #5b848259;border-radius:50%;width:260px;height:260px;position:absolute;transform:rotateX(55deg)rotate(35deg)}.research-art i:nth-child(3){transform:rotateY(55deg)rotate(35deg)}.research-art i:nth-child(4){transform:rotateY(-45deg)rotate(35deg)}.research-art i:nth-child(5){border-style:dashed;width:330px;height:330px;animation:80s linear infinite spin}@keyframes spin{to{rotate:360deg}}.contact{background:radial-gradient(at 100% 100%,#30473c55,#0000 60%)}.contact h2{letter-spacing:-4px;max-width:1150px;font-size:clamp(55px,7.6vw,115px)}.contact h2 span{color:var(--acid)}.contact-row{justify-content:space-between;align-items:center;display:flex}.contact-row p{max-width:400px;color:var(--muted);font-size:14px;line-height:1.9}.contact-arrow{color:var(--acid);font-size:100px;transition:transform .3s}.contact-arrow:hover{transform:translate(8px,-8px)}.contact-links{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:28px;margin-top:45px;padding-top:25px;font-size:13px;display:flex}.contact-links button{border:1px solid var(--line);font:9px var(--mono);background:0 0;border-radius:25px;padding:10px 14px}#copy-status{color:var(--acid);min-height:20px;margin-top:15px;font-size:11px;display:block}footer{font:9px var(--mono);color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:30px 6%;display:flex}footer>a:first-child{color:var(--text);letter-spacing:2px}dialog{width:min(760px,100% - 30px);max-height:85svh;color:var(--text);background:#10191c;border:1px solid #526a70;padding:55px;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03090dec}dialog h2{font-size:50px}dialog h3{font:10px var(--mono);letter-spacing:1px;color:var(--ice);margin-top:30px}dialog p{color:#bcc7c7;font-size:14px;line-height:1.9}.close{background:0 0;border:0;font-size:30px;position:absolute;top:14px;right:18px}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(20px)}.reveal.seen{opacity:1;transform:none}@media (min-width:1700px){.section{padding-inline:max(6%,50vw - 750px)}.hero-content{padding-top:150px}}@media (max-width:1000px){h1{letter-spacing:-4px;font-size:8.4vw}.hero{height:850px;min-height:850px}.hero-content{padding-top:125px}.portal{opacity:.8;width:100%;right:-25%}.terminal{padding:20px;font-size:10px}.star{font-size:230px}.section{padding:80px 5%}.section-head{gap:30px}.section-head p{max-width:240px}.project button.visual{height:300px}}@media (max-width:650px){header{height:75px;padding:0 5%}.logo{font-size:30px}nav{gap:15px;font-size:10px}nav a:nth-child(2){display:none}.languages button{padding:7px;font-size:9px}.hero{height:950px;min-height:950px;padding-top:105px}.hero-meta{letter-spacing:1px;font-size:7px}.hero-meta>span:last-child{display:none}.hero-content{padding-top:60px}.name{letter-spacing:3px;font-size:9px}h1{letter-spacing:-2.5px;margin:22px 0;font-size:clamp(36px,10.6vw,67px);line-height:1.1}h1 span:last-child{max-width:390px}.hero-content>p{max-width:330px;font-size:13px}.actions{flex-direction:column;align-items:start;gap:15px;margin-top:22px}.pill{padding:13px 20px;font-size:11px}.quiet{font-size:11px}.portal{opacity:1;width:125%;height:540px;top:430px;right:-12%}.hero-bottom{font-size:7px;bottom:20px;left:5%;right:5%}.hero-bottom>div{max-width:175px;margin-right:10px}.hero-bottom small{font-size:8px;line-height:1.7}.hero-bottom>a{max-width:85px;line-height:1.8}#motion{flex-shrink:0}.ticker{padding:17px 0}.ticker>div{font-size:16px}.section{padding:65px 6%}.section-head{margin-bottom:30px;display:block}.section-head p{max-width:330px}.eyebrow{font-size:8px}h2{letter-spacing:-1.8px;font-size:37px}#projects{grid-template-columns:1fr;gap:35px}.project:first-child button.visual{height:360px}.project button.visual{height:310px}.baobab-art{flex-direction:column;gap:20px;padding:55px 0}.baobab-art strong{letter-spacing:-5px;font-size:75px}.terminal{padding:12px 20px;font-size:9px}.terminal small{margin-bottom:6px;padding-bottom:6px}.visual .concept{max-width:120px;font-size:6px;line-height:1.8}.visual .view{padding:11px 14px;font-size:9px}.about{grid-template-columns:1fr;gap:30px}.about-art{display:none}.about p{font-size:14px}.belief{font-size:20px}.research{grid-template-columns:1fr;gap:15px}.research-art{min-height:270px}.research-art i:nth-child(5){width:260px;height:260px}.contact h2{letter-spacing:-2.5px;font-size:49px}.contact-arrow{font-size:70px}.contact-row p{max-width:260px;font-size:12px}.contact-links{gap:20px;font-size:12px}.contact-links>a:first-child{width:100%}footer{flex-wrap:wrap;gap:25px;font-size:8px}footer>span{order:3;width:100%}dialog{padding:45px 25px}dialog h2{font-size:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}body.paused .ticker>div,body.paused .wave-art i,body.paused .star,body.paused .research-art i{animation-play-state:paused}.arrow{vertical-align:middle;width:16px;height:16px;display:inline-block}.contact-arrow .arrow{width:90px;height:90px}.logo .arrow{width:20px;height:20px}@media (min-width:651px) and (max-width:1000px){.portal{opacity:.55;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 70%);mask-image:linear-gradient(90deg,#0000 20%,#000 70%)}}button:disabled{cursor:not-allowed;opacity:.45;color:inherit;background:0 0}.pill:disabled:hover{color:inherit;background:0 0;transform:none}.exploration-section{padding-top:10px}#explorations{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;display:grid}#explorations .project:first-child{grid-column:auto}#explorations .project button.visual{height:280px}.garage-scene,.hanoi-art{background:radial-gradient(#27464a44,#0000 70%);place-items:center;display:grid;position:absolute;inset:0}.garage-scene svg,.hanoi-art svg{width:90%;height:90%}.garage-door{transform-origin:240px 130px;animation:7s ease-in-out infinite door}.wifi,.signal{animation:2s ease-in-out infinite transmit}@keyframes door{0%,15%,85%,to{transform:scaleY(1)}40%,65%{transform:scaleY(.08)}}@keyframes transmit{50%{opacity:.25}}[data-disk]{transition:x .5s,y .5s}.resume-art{background:radial-gradient(#2d4c4355,#0000 70%);justify-content:center;align-items:center;gap:25px;display:flex;position:absolute;inset:0}.resume-page{border:1px solid #9ab7b3;width:115px;height:155px;padding:18px;position:relative;overflow:hidden}.resume-page i{background:#698783;height:2px;margin:12px 0;display:block}.resume-page i:nth-child(2n){background:#92d9e5;width:75%}.scan-line{background:var(--acid);height:2px;box-shadow:0 0 20px var(--acid);animation:3.5s ease-in-out infinite scan;position:absolute;top:0;left:0;right:0}.resume-nodes{gap:15px;display:grid}.resume-nodes span{border:1px solid #92d9e5;border-radius:50%;width:17px;height:17px;animation:2s infinite transmit}.resume-nodes span:nth-child(2){animation-delay:.5s}.resume-nodes span:nth-child(3){animation-delay:1s}@keyframes scan{50%{top:100%}}.menu-art{background:#1c2421;place-items:center;display:grid;position:absolute;inset:0}.menu-phone{border:1px solid #9caf9e;border-radius:16px;width:110px;height:190px;padding:15px;transform:rotate(-8deg);box-shadow:20px 20px #9abc9020}.menu-dish{background:conic-gradient(#0000,#a5bd7e88,#0000);border:1px solid #b8cfb5;border-radius:50%;width:70px;height:70px;animation:15s linear infinite spin;box-shadow:inset 0 0 0 10px #869d7333}.menu-phone>i{background:#6d8a7e;height:2px;margin:12px 0;display:block}.menu-choice{gap:7px;display:flex}.menu-choice b{border:1px solid #769c87;width:17px;height:17px;animation:3s infinite transmit}.menu-choice b:nth-child(2){animation-delay:1s}.menu-choice b:nth-child(3){animation-delay:2s}.research-art{min-height:260px}.research-side>.eyebrow{margin:25px 0 12px;display:block}#glossary{margin:0}#glossary>div{border-top:1px solid var(--line);padding:20px 0}#glossary dt{color:var(--text);margin-bottom:8px;font-size:15px}#glossary dd{color:var(--muted);margin:0;font-size:12px;line-height:1.8}body.paused .garage-door,body.paused .wifi,body.paused .signal,body.paused .scan-line,body.paused .resume-nodes span,body.paused .menu-dish,body.paused .menu-choice b{animation-play-state:paused}@media (max-width:1000px){#explorations{grid-template-columns:1fr 1fr}#explorations .project:last-child{grid-column:1/-1}}@media (max-width:650px){#explorations{grid-template-columns:1fr}#explorations .project:last-child{grid-column:auto}.exploration-section{padding-top:0}}.shape-controls{z-index:5;white-space:nowrap;background:#080b0ecc;border:1px solid #46585b;border-radius:25px;gap:5px;padding:5px;display:flex;position:absolute;bottom:15%;left:50%;transform:translate(-50%)}.shape-controls button{color:#b4c7ca;font:9px var(--mono);background:0 0;border:0;border-radius:20px;padding:9px 12px}.shape-controls button[aria-pressed=true]{background:var(--ice);color:#102325}.shape-controls button:hover{color:var(--text)}.shape-controls button[aria-pressed=true]:hover{color:#102325}@media (max-width:650px){.hero{flex-direction:column;height:auto;min-height:0;max-height:none;padding:105px 5% 25px;display:flex}.hero-meta{order:0}.hero .portal{opacity:1;flex:none;order:1;width:100%;height:350px;margin:5px 0 0;position:relative;top:auto;right:auto;-webkit-mask-image:none;mask-image:none}.hero-content{order:2;padding:20px 0 0}.hero-bottom{order:3;gap:10px;width:100%;margin-top:35px;padding-top:20px;position:relative;bottom:auto;left:auto;right:auto}.hero-bottom>div{max-width:175px;margin:0 0 0 auto}.hero .shape-controls{bottom:0}.hero-content>p{max-width:100%}.hero .actions{margin-top:24px}.hero .name{display:block}.shape-controls button{padding:8px 11px;font-size:9px}}.logo span{color:var(--ice)}@media (max-width:650px){.hero .shape-controls{display:none}}.shape-arrows{display:none}@media (max-width:650px){.shape-arrows{z-index:6;gap:18px;display:flex;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.shape-arrows button{width:40px;height:40px;color:var(--ice);background:#080b0ebd;border:1px solid #4a666b;border-radius:50%;place-items:center;display:grid}.shape-arrows svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:19px;height:19px}.shape-arrows button:active{background:var(--ice);color:#080b0e}}dialog:modal{overscroll-behavior:contain}dialog::backdrop{overscroll-behavior:contain;overflow:hidden}
