@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root{color-scheme:dark;--bg:#0a0a0a;--panel:#141414;--text:#faf9f7;--muted:#aaa9a6;--line:#333;--red:#edb09f;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:var(--bg);background:var(--text)}:focus-visible{outline:2px solid var(--text);outline-offset:7px}a,button{-webkit-tap-highlight-color:transparent}.wrap{width:min(1344px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:20;left:20px;top:12px;padding:12px 18px;background:var(--text);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:none}
.header{min-height:106px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:30px;font-weight:800;letter-spacing:-1.8px;line-height:1}.wordmark-dot{color:var(--muted);margin-left:-12px}.pixel-mark{width:22px;height:22px;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:2px;margin-right:2px}.pixel-mark i{background:var(--text)}.pixel-mark i:nth-child(3),.pixel-mark i:nth-child(5),.pixel-mark i:nth-child(7){background:transparent}.header nav{display:flex;align-items:center;gap:40px;font-size:14px}.header nav a{min-height:44px;display:flex;align-items:center;gap:24px}.header nav a:hover{color:var(--muted)}.profile-link{border:1px solid var(--line);padding:6px 17px;border-radius:2px}
.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;gap:24px;padding:74px 0 70px;min-height:720px}.eyebrow{font:12px/1.7 var(--mono);letter-spacing:1px;color:var(--muted);margin:0 0 28px;display:flex;align-items:center;gap:10px}.square{width:6px;height:6px;background:var(--text);flex-shrink:0}h1{font-size:clamp(3.4rem,6.3vw,5.8rem);font-weight:750;line-height:1.04;letter-spacing:-.065em;margin:0;max-width:10.8ch;text-wrap:balance}h1 .code-word,h1 .chart-word{white-space:nowrap}.code-word{color:var(--muted)}.chart-word{color:var(--muted)}.punctuation{color:var(--text)}.hero-description{color:var(--muted);font-size:16px;line-height:1.85;margin:29px 0 29px}.hero-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:13px 22px;background:var(--text);border:1px solid var(--text);color:var(--bg);border-radius:2px;font-size:14px;font-weight:650;transition:background .18s,transform .18s}.button:hover{background:#dddcd9;transform:translateY(-2px)}.text-link{font-size:14px;display:inline-flex;gap:16px;align-items:center;min-height:44px}.text-link:hover{text-decoration:underline;text-underline-offset:6px}
.hero-art{margin:15px 0 0;min-width:0}.art-top,figcaption{display:flex;justify-content:space-between;gap:16px;font:12px/1.5 var(--mono);letter-spacing:.6px;color:var(--muted);padding:16px 0;border-top:1px solid var(--line)}.art-field{position:relative;aspect-ratio:1;background-image:radial-gradient(#373737 .7px,transparent .7px);background-size:16px 16px;overflow:hidden}.terminal{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;mix-blend-mode:lighten;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.hero-art:hover .terminal{transform:translateY(-7px)}.cross{position:absolute;font:20px var(--mono);color:#b6b5b2;z-index:1}.cross-a{top:12px;left:0}.cross-b{right:0;bottom:24px}.art-coordinate{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);font:12px var(--mono);letter-spacing:2px;white-space:nowrap;background:var(--bg);padding:5px 10px;color:var(--muted)}figcaption{border-top:0;border-bottom:1px solid var(--line);padding:9px 0 16px}.pixel-sequence{font-size:16px;color:var(--text);line-height:1}
.work{border-top:1px solid var(--line);padding-top:55px;scroll-margin-top:28px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.13;letter-spacing:-.055em;font-weight:650;margin:0}.section-heading h2 span,.signoff p span{color:var(--muted)}.section-heading>p{color:var(--muted);font-size:16px;margin:0 0 3px;line-height:1.8}.project{display:grid;grid-template-columns:48px minmax(210px,.95fr) minmax(260px,1.1fr) 48px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:29px 12px 29px 0;transition:background .2s,padding .2s}.project:last-child{border-bottom:1px solid var(--line)}.project:hover{background:var(--panel);padding-left:14px}.project-number{font:12px var(--mono);color:var(--muted);align-self:start;padding-top:8px}.project h3{font-size:30px;font-weight:700;letter-spacing:-1.6px;line-height:1.2;margin:0 0 9px}.project h3 span{color:var(--muted);font-weight:450}.project-kind{font:12px/1.5 var(--mono);color:var(--muted);letter-spacing:.7px}.project p{font-size:16px;color:var(--muted);max-width:440px;margin:0;line-height:1.7}.project-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);font-size:22px;transition:background .2s,color .2s}.project:hover .project-arrow{background:var(--text);color:var(--bg)}.signoff{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:72px 0 68px}.signoff p{font-size:clamp(2rem,3.4vw,3rem);line-height:1.18;letter-spacing:-.05em;margin:0;font-weight:600}.button-outline{background:transparent;color:var(--text);border-color:#666}.button-outline:hover{background:var(--text);color:var(--bg)}.footer{border-top:1px solid var(--line);padding:25px 0 33px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font:12px/1.8 var(--mono);letter-spacing:.2px}.footer a:hover{color:var(--text)}
.boot{display:none;position:fixed;inset:0;z-index:10;background:var(--bg);padding:32px 48px;grid-template-rows:auto 1fr auto;pointer-events:none}.boot-top,.boot-bottom{display:flex;justify-content:space-between;gap:20px;font:12px/1.6 var(--mono);letter-spacing:1px;color:var(--muted)}.boot-top>span:first-child{font:800 26px/1 Manrope,Arial,sans-serif;letter-spacing:-1.6px;color:var(--text)}.boot-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.boot-art{width:min(320px,55vw);aspect-ratio:1;overflow:hidden}.boot-art img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;mix-blend-mode:lighten}.boot-caption{font:12px/1.8 var(--mono);color:var(--muted);letter-spacing:1px;text-align:center}.boot-track{width:220px;height:3px;background:#2a2a2a;margin-top:25px;overflow:hidden}.boot-track i{display:block;width:100%;height:100%;background:var(--text);transform:scaleX(0);transform-origin:left}.skip-intro{display:none;position:fixed;z-index:12;right:48px;top:73px;min-height:44px;padding:10px 14px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:14px Manrope,Arial,sans-serif;cursor:pointer}.skip-intro span{margin-left:20px}.intro-pending .boot{display:grid;animation:boot-away .45s 2.35s steps(6,end) forwards}.intro-pending .boot-art{animation:pixel-arrive 1.4s steps(10,end) both}.intro-pending .boot-track i{animation:boot-progress 2s steps(18,end) .1s forwards}.intro-pending .skip-intro{display:block;animation:skip-away .01s 2.8s forwards}.site-shell{animation:site-arrive .7s ease-out both}.intro-pending .site-shell{animation-delay:2.3s}
@keyframes pixel-arrive{0%{clip-path:inset(100% 0 0 0);transform:translateY(14px)}100%{clip-path:inset(0);transform:none}}@keyframes boot-progress{to{transform:scaleX(1)}}@keyframes boot-away{to{clip-path:inset(0 0 100% 0);visibility:hidden}}@keyframes skip-away{to{visibility:hidden}}@keyframes site-arrive{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{gap:65px}.hero-art{max-width:550px;justify-self:end}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:20px;min-height:auto;padding:60px 0}.hero-actions{gap:14px}h1{font-size:clamp(3.3rem,7.5vw,4.8rem)}.eyebrow{font-size:12px;letter-spacing:.3px}.project{grid-template-columns:30px .95fr 1fr 44px;gap:18px}.project h3{font-size:25px}.project p{font-size:15px}.hero-art{margin-top:0}.art-top,figcaption{font-size:12px;letter-spacing:0}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:82px;gap:15px}.wordmark{font-size:27px}.header nav{gap:18px}.header nav a{gap:8px}.header nav>a:first-child{display:none}.profile-link{padding:5px 12px}.hero{grid-template-columns:1fr;padding:43px 0 40px;gap:32px}.eyebrow{margin-bottom:23px;letter-spacing:.4px}h1{font-size:clamp(3.5rem,13vw,5.2rem);max-width:11.2ch}.hero-description{margin:23px 0}.hero-actions{gap:22px}.hero-art{width:100%;max-width:470px;justify-self:center}.art-field{aspect-ratio:1.16}.terminal{object-fit:contain}.work{padding-top:37px}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:30px}.section-heading>p br{display:none}.section-heading>p{max-width:26ch}.project{grid-template-columns:24px 1fr 44px;gap:10px 15px;padding:25px 0}.project-title{grid-column:2}.project p{grid-column:2;grid-row:2;max-width:35ch;font-size:16px}.project-arrow{grid-column:3;grid-row:1}.project h3{font-size:29px}.project:hover{padding-left:0}.signoff{padding:46px 0;align-items:start;flex-direction:column;gap:26px}.footer{flex-direction:column;gap:14px;padding:24px 0}.boot{padding:25px 20px}.boot-bottom{font-size:12px;flex-direction:column;gap:8px}.skip-intro{right:20px;top:62px}.boot-caption{max-width:230px}.hero-art:hover .terminal{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.boot,.intro-pending .boot,.skip-intro,.intro-pending .skip-intro{display:none!important}.hero-art:hover .terminal{transform:none}}
