@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&family=Onest:wght@400;500;600;700&display=swap');

:root {
  --bg: #f0efe8;
  --surface: #e7e5dc;
  --ink: #11110f;
  --muted: #6f7069;
  --line: rgba(17,17,15,.15);
  --acid: #d8ff3e;
  --blue: #376dff;
  --serif: 'Newsreader', Iowan Old Style, Baskerville, Georgia, serif;
  --sans: 'Onest', Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;
  --pad: clamp(20px, 3.8vw, 64px);
  --ease: cubic-bezier(.22,.82,.16,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:17px;line-height:1.68;letter-spacing:-.006em;overflow-x:hidden;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.is-dark{--bg:#0d0d0b;--surface:#181815;--ink:#f3f1e9;--muted:#9a9a91;--line:rgba(244,242,234,.15)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--acid);color:#11110f}
.noise{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;background-image:url('/assets/noise.svg');mix-blend-mode:multiply}
.grid-bg{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px}
.container{width:min(1500px,100%);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding:clamp(92px,13vw,190px) 0;border-top:1px solid var(--line);position:relative}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kicker{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;display:flex;gap:10px;align-items:center}
.kicker:before{content:'';width:28px;height:1px;background:currentColor;opacity:.6}
.display{font-family:var(--serif);font-optical-sizing:auto;font-weight:500;letter-spacing:-.026em;line-height:.96;margin:0;text-wrap:balance}
.h1{font-size:clamp(54px,8.7vw,132px)}
.h2{font-size:clamp(44px,6.2vw,96px)}
.h3{font-size:clamp(32px,4vw,62px)}
.body-xl{font-size:clamp(21px,1.85vw,30px);line-height:1.48;letter-spacing:-.012em}
.body-lg{font-size:clamp(18px,1.35vw,23px);line-height:1.6;letter-spacing:-.008em}
.copy{max-width:680px;color:var(--muted)}
.mono{font-family:var(--mono)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;padding-bottom:3px;transition:gap .35s var(--ease),opacity .35s}
.link-arrow:hover{gap:18px}
.pill{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line);padding:8px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--bg) 78%,transparent)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 5px rgba(216,255,62,.12)}

/* Navigation */
.site-header{position:fixed;z-index:70;left:0;right:0;top:0;padding:14px 0;transition:transform .5s var(--ease),padding .35s var(--ease);color:var(--ink)}
.nav-shell{min-height:72px;display:grid;grid-template-columns:minmax(260px,1.25fr) auto minmax(280px,1fr);align-items:center;gap:20px;padding:9px 10px 9px 12px;border:1px solid rgba(17,17,15,.12);border-radius:18px;background:rgba(240,239,232,.82);box-shadow:0 12px 42px rgba(17,17,15,.07),inset 0 1px rgba(255,255,255,.45);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.brand{display:inline-flex;align-items:center;gap:12px;min-width:0;width:max-content}
.brand-sigil{width:46px;height:46px;border-radius:13px;background:#11110f;color:#f4f2eb;display:grid;place-items:center;font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.04em;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.brand-copy{display:flex;flex-direction:column;gap:1px;line-height:1.1;min-width:0}
.brand-copy strong{font-size:14px;letter-spacing:-.015em;font-weight:700;white-space:nowrap}
.brand-copy small{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.nav-center{display:flex;justify-content:center;gap:3px;padding:4px;border:1px solid rgba(17,17,15,.09);border-radius:999px;background:rgba(17,17,15,.035);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.nav-center a{position:relative;opacity:.62;padding:9px 13px;border-radius:999px;transition:opacity .25s,background .25s,color .25s,transform .25s var(--ease)}
.nav-center a:hover{opacity:1;transform:translateY(-1px)}
.nav-center a.active{opacity:1;background:#11110f;color:#f4f2eb;box-shadow:0 5px 14px rgba(17,17,15,.12)}
.nav-right{display:flex;justify-content:flex-end;gap:10px;align-items:center;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.availability{display:inline-flex;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}
.availability i{width:7px;height:7px;border-radius:50%;background:#76a800;box-shadow:0 0 0 4px rgba(118,168,0,.1)}
.header-cta{display:inline-flex;align-items:center;gap:7px;padding:12px 15px;border-radius:12px;background:var(--acid);color:#11110f;font-weight:600;box-shadow:0 8px 20px rgba(17,17,15,.08);transition:transform .28s var(--ease),box-shadow .28s var(--ease)}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(17,17,15,.13)}
.header-cta span{font-size:13px;transition:transform .28s var(--ease)}
.header-cta:hover span{transform:translate(2px,-2px)}
.menu-btn{display:none;border:0;background:#11110f;color:#f4f2eb;padding:11px 13px;border-radius:11px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.mobile-menu{position:fixed;inset:0;background:#11110f;color:#f4f2eb;z-index:65;display:none;padding:110px var(--pad) 40px;flex-direction:column;justify-content:space-between}
.mobile-menu nav{display:flex;flex-direction:column;gap:12px}
.mobile-menu a{font-family:var(--serif);font-weight:500;font-size:clamp(46px,12vw,72px);line-height:1}

/* Loader + transition */
.loader{position:fixed;inset:0;background:#11110f;color:#f5f2e8;z-index:110;display:grid;place-items:center}
.loader-inner{width:min(520px,78vw)}
.loader-name{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.loader-track{height:1px;background:rgba(255,255,255,.18);margin-top:18px;overflow:hidden}.loader-bar{height:100%;width:0;background:var(--acid)}
.transition-panel{position:fixed;inset:0;background:var(--acid);z-index:105;transform:scaleY(0);transform-origin:bottom;pointer-events:none}

/* Cursor */
.cursor{position:fixed;z-index:120;width:12px;height:12px;border-radius:50%;background:var(--acid);pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:8px;color:#111;white-space:nowrap}
.cursor.is-label{width:58px;height:58px;mix-blend-mode:normal;background:var(--acid)}

/* Home */
.hero{min-height:100svh;display:flex;align-items:flex-end;position:relative;overflow:hidden;padding:168px 0 56px}
.hero-canvas{position:absolute;inset:0;z-index:0}.hero-canvas canvas{width:100%;height:100%;display:block}
.hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(240,239,232,.08),rgba(240,239,232,.18) 48%,rgba(240,239,232,.94) 96%)}
.hero-content{position:relative;z-index:2;width:100%}
.hero-topline{display:flex;justify-content:space-between;gap:30px;margin-bottom:clamp(32px,5vw,78px);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.09em}
.hero-title{font-size:clamp(62px,9.35vw,146px);font-family:var(--serif);font-optical-sizing:auto;font-weight:500;line-height:.94;letter-spacing:-.026em;margin:0;max-width:1380px;text-wrap:balance}
.hero-title .line{display:block;overflow:hidden;padding:.12em .055em .13em .035em;margin:-.12em -.055em -.13em -.035em}.hero-title .line>span{display:block;will-change:transform}
.hero-bottom{margin-top:42px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end}
.hero-bottom .body-lg{max-width:760px;margin:0}.hero-actions{display:flex;justify-content:flex-end;gap:24px;align-items:center}
.section-head{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:end;margin-bottom:70px}
.section-head .display{max-width:950px}.section-head-right{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.work-stack{display:flex;flex-direction:column}
.project-row{display:grid;grid-template-columns:1.05fr 1.65fr;gap:clamp(28px,6vw,100px);padding:54px 0;border-top:1px solid var(--line);align-items:center;position:relative}
.project-row:last-child{border-bottom:1px solid var(--line)}
.project-meta{display:flex;flex-direction:column;justify-content:space-between;min-height:440px}
.project-index{font-family:var(--mono);font-size:11px;color:var(--muted)}
.project-title{font-family:var(--serif);font-size:clamp(42px,5.2vw,78px);font-weight:500;line-height:.98;margin:0 0 20px;letter-spacing:-.024em;text-wrap:balance}
.project-desc{max-width:460px;color:var(--muted);font-size:17px}
.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.project-media{overflow:hidden;border-radius:3px;position:relative;background:#171713;aspect-ratio:1.45/1}.project-media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.project-row:hover .project-media img{transform:scale(1.03)}
.project-stamp{position:absolute;right:22px;top:22px;background:rgba(240,239,232,.92);color:#11110f;border-radius:999px;width:84px;height:84px;display:grid;place-items:center;text-align:center;font-family:var(--mono);font-size:9px;line-height:1.2;transform:rotate(8deg)}
.statement{min-height:80svh;display:grid;align-items:center;background:#11110f;color:#f3f1e9;overflow:hidden}.statement .display{font-size:clamp(58px,8.5vw,132px);max-width:1200px;line-height:.98}.statement em{color:var(--acid);font-weight:400}
.capabilities{overflow:hidden}.cap-track{display:flex;gap:28px;width:max-content;align-items:center}.cap-item{font-family:var(--serif);font-size:clamp(38px,5.1vw,72px);font-weight:500;white-space:nowrap}.cap-sep{font-family:var(--mono);font-size:22px;color:var(--acid)}
.oss-teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.oss-card{padding:32px;min-height:320px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.oss-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(216,255,62,.28),transparent 32%);opacity:0;transition:opacity .25s}.oss-card:hover:before{opacity:1}.oss-card>*{position:relative;z-index:1}.oss-name{font-size:26px;font-weight:500;letter-spacing:-.03em}.oss-code{font-family:var(--mono);font-size:11px;color:var(--muted)}
.closing{min-height:86svh;display:flex;align-items:flex-end;padding-bottom:60px;background:var(--acid);color:#11110f}.closing .display{font-size:clamp(60px,9.8vw,148px);max-width:1350px;line-height:.98}.closing-footer{display:flex;justify-content:space-between;gap:30px;margin-top:50px;font-family:var(--mono);font-size:11px;text-transform:uppercase}

/* Work page */
.page-hero{padding:180px 0 80px;min-height:70svh;display:flex;align-items:flex-end}.page-hero .display{font-size:clamp(62px,9.8vw,146px);line-height:.97}
.page-intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;margin-top:50px}.page-intro-grid .body-xl{margin:0;max-width:880px}
.filterbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:50px;position:sticky;top:64px;z-index:15;padding:18px 0;background:linear-gradient(var(--bg) 76%,transparent)}
.filter-btn{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.filter-btn.active{background:var(--ink);color:var(--bg)}
.archive-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.archive-card{grid-column:span 6;margin-bottom:52px}.archive-card.wide{grid-column:span 8}.archive-card.narrow{grid-column:span 4}.archive-media{aspect-ratio:1.28/1;overflow:hidden;background:var(--surface);position:relative}.archive-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.archive-card:hover img{transform:scale(1.025)}
.archive-info{display:grid;grid-template-columns:70px 1fr auto;gap:18px;padding-top:18px}.archive-title{font-size:28px;letter-spacing:-.03em}.archive-caption{color:var(--muted);max-width:520px;margin-top:8px}.archive-year{font-family:var(--mono);font-size:10px;color:var(--muted);text-align:right}

/* Case study */
.case-hero{padding:170px 0 50px}.case-labels{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:46px}.case-title{font-family:var(--serif);font-optical-sizing:auto;font-size:clamp(58px,8.6vw,124px);line-height:.96;letter-spacing:-.03em;font-weight:500;max-width:1220px;margin:0;text-wrap:balance}.case-sub{font-size:clamp(20px,1.75vw,28px);line-height:1.55;max-width:820px;margin:36px 0 0}.case-cover{margin-top:60px;aspect-ratio:16/8.5;overflow:hidden;background:#111}.case-cover img{width:100%;height:100%;object-fit:cover}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1px}.fact{background:var(--bg);padding:26px}.fact dt{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.1em}.fact dd{margin:12px 0 0;font-size:16px}
.story-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.story-body{max-width:760px}.story-body h2{font-family:var(--serif);font-weight:500;font-size:clamp(42px,4.6vw,68px);line-height:1.02;letter-spacing:-.022em;margin:0 0 30px;text-wrap:balance}.story-body p{font-size:18px;line-height:1.75;color:var(--muted);margin:0 0 24px}.pullquote{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5vw,74px);line-height:1.04;letter-spacing:-.022em;margin:70px 0;text-wrap:balance}
.architecture{background:#11110f;color:#f3f1e9}.arch-wrap{display:grid;grid-template-columns:.9fr 1.4fr;gap:70px;align-items:center}.arch-stage{min-height:620px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);position:relative;background:radial-gradient(circle at 50% 50%,rgba(216,255,62,.09),transparent 38%)}
.arch-svg{width:min(780px,92%);height:auto}.arch-svg .node{fill:#171713;stroke:rgba(244,242,234,.32);stroke-width:1}.arch-svg text{fill:#f4f2eb;font-family:var(--mono);font-size:11px;letter-spacing:.08em}.arch-svg .path{fill:none;stroke:#d8ff3e;stroke-width:1.6;stroke-dasharray:7 8}.arch-copy .display{font-size:clamp(48px,5.3vw,82px)}.arch-copy p{color:#a6a69e;max-width:560px}
.code-panel{margin-top:42px;border:1px solid rgba(255,255,255,.13);padding:20px;font-family:var(--mono);font-size:12px;line-height:1.8;color:#b7b7ae;background:#0b0b0a}.code-panel .acid{color:var(--acid)}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.outcome{background:var(--bg);padding:38px;min-height:240px}.outcome strong{display:block;font-family:var(--serif);font-size:clamp(44px,4.4vw,66px);font-weight:500;letter-spacing:-.022em}.outcome span{color:var(--muted)}
.next-project{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.next-project .display{font-size:clamp(54px,7vw,104px)}

/* Lab */
.lab-hero{min-height:100svh;padding:170px 0 60px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#11110f;color:#f4f2eb}.lab-canvas{position:absolute;inset:0}.lab-content{position:relative;z-index:2}.lab-content .display{font-size:clamp(64px,9.8vw,148px);max-width:1320px;line-height:.96}.lab-content .body-lg{max-width:720px;color:#a2a29a;margin-top:32px}.lab-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:38px}
.repo-list{border-top:1px solid var(--line)}.repo-row{display:grid;grid-template-columns:80px 1.3fr 1fr auto;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s var(--ease)}.repo-row:hover{padding-left:14px;padding-right:14px}.repo-name{font-size:26px;letter-spacing:-.025em}.repo-desc{color:var(--muted)}.repo-stats{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--muted);text-align:right}
.experiment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.experiment{min-height:480px;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.experiment-number{font-family:var(--mono);font-size:11px}.experiment-title{font-family:var(--serif);font-weight:500;font-size:clamp(38px,4.4vw,64px);line-height:1.02;max-width:520px}.experiment-orbit{position:absolute;width:320px;height:320px;border:1px solid var(--line);border-radius:50%;right:-70px;top:-80px}.experiment-orbit:after,.experiment-orbit:before{content:'';position:absolute;border:1px solid var(--line);border-radius:50%;inset:45px}.experiment-orbit:after{inset:100px;background:var(--acid);border:none;opacity:.85}
.contribution{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:45px 0;border-top:1px solid var(--line)}.contribution:last-child{border-bottom:1px solid var(--line)}.contribution h3{font-size:32px;margin:0}.contribution p{color:var(--muted);max-width:720px}.contrib-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}

/* About */
.about-hero{padding:180px 0 110px;min-height:86svh;display:flex;align-items:flex-end}.about-hero .display{font-size:clamp(60px,8.6vw,126px);max-width:1320px;line-height:.98}.about-hero .body-xl{max-width:900px;margin-top:42px}
.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.portrait-placeholder{min-height:640px;background:#11110f;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:30px;color:white}.portrait-placeholder:before{content:'HM';position:absolute;right:-20px;top:-60px;font-family:var(--serif);font-weight:500;font-size:340px;line-height:1;color:rgba(255,255,255,.05)}.portrait-placeholder .orb{position:absolute;width:330px;height:330px;border-radius:50%;background:var(--acid);right:-80px;bottom:90px;filter:blur(2px)}.portrait-placeholder .label{position:relative;z-index:2;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;max-width:280px}
.about-copy p{font-size:clamp(20px,1.65vw,27px);line-height:1.58;letter-spacing:-.01em;margin:0 0 34px;max-width:760px}.about-copy .muted{color:var(--muted)}
.timeline{position:relative;margin-top:50px}.timeline-line{position:absolute;left:125px;top:0;bottom:0;width:1px;background:var(--line);overflow:hidden}.timeline-progress{position:absolute;inset:0 auto auto 0;width:1px;height:0;background:var(--acid)}.timeline-item{display:grid;grid-template-columns:90px 1fr;gap:70px;padding:36px 0;border-top:1px solid var(--line);position:relative}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-year{font-family:var(--mono);font-size:11px;color:var(--muted)}.timeline-copy h3{font-size:24px;margin:0 0 10px}.timeline-copy p{color:var(--muted);max-width:700px;margin:0}.timeline-node{position:absolute;left:121px;top:41px;width:9px;height:9px;background:var(--bg);border:1px solid var(--ink);border-radius:50%;z-index:2}
.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.stack-col{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:310px}.stack-col h3{font-family:var(--serif);font-size:38px;font-weight:500;margin:0 0 36px}.stack-col ul{list-style:none;padding:0;margin:0;color:var(--muted)}.stack-col li{padding:7px 0;border-bottom:1px solid var(--line)}
.contact-block{background:var(--acid);color:#11110f;min-height:90svh;display:flex;align-items:flex-end;padding:100px 0 50px}.contact-block .display{font-size:clamp(62px,9.8vw,148px);max-width:1320px;line-height:.98}.contact-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:46px;font-family:var(--mono);font-size:11px;text-transform:uppercase}.contact-meta{display:flex;justify-content:space-between;gap:20px;margin-top:80px;padding-top:24px;border-top:1px solid rgba(17,17,15,.2);font-family:var(--mono);font-size:10px;text-transform:uppercase}

/* Footer */
.footer{padding:24px 0;background:#11110f;color:#f4f2eb}.footer-inner{display:flex;justify-content:space-between;gap:30px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.72}

.reveal{opacity:0;transform:translateY(36px)}
.clip-line{overflow:hidden;display:block}.clip-line>*{display:block}

@media (max-width: 980px){
  .nav-shell{grid-template-columns:1fr auto;padding:8px 9px 8px 10px;min-height:66px}.nav-center,.nav-right .availability,.header-cta{display:none}.menu-btn{display:block}.nav-right{display:flex}.hero-bottom,.section-head,.page-intro-grid,.story-grid,.arch-wrap,.about-grid,.next-project{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.project-row{grid-template-columns:1fr}.project-meta{min-height:auto;gap:36px}.oss-teaser-grid{grid-template-columns:1fr}.facts{grid-template-columns:repeat(2,1fr)}.outcome-grid{grid-template-columns:1fr}.repo-row{grid-template-columns:60px 1fr auto}.repo-desc{grid-column:2/4}.experiment-grid{grid-template-columns:1fr}.contribution{grid-template-columns:1fr}.stack-grid{grid-template-columns:repeat(2,1fr)}.archive-card,.archive-card.wide,.archive-card.narrow{grid-column:span 12}.case-cover{aspect-ratio:1.2/1}
}
@media (max-width: 640px){
  :root{--pad:18px}.site-header{padding:10px 0}.nav-shell{border-radius:15px;min-height:60px}.brand-sigil{width:40px;height:40px;border-radius:11px;font-size:17px}.brand-copy small{display:none}.hero{padding-top:128px;padding-bottom:30px}.hero-topline{margin-bottom:28px;flex-direction:column;gap:7px}.hero-title{font-size:clamp(54px,16.5vw,84px);line-height:.96;letter-spacing:-.02em}.hero-bottom{margin-top:28px;gap:28px}.hero-actions{display:grid;grid-template-columns:1fr}.section{padding:82px 0}.section-head{margin-bottom:38px}.project-row{padding:34px 0}.project-media{aspect-ratio:1/1}.project-stamp{width:66px;height:66px}.oss-card{min-height:250px}.page-hero{padding-top:130px;min-height:62svh}.filterbar{top:48px;overflow-x:auto;flex-wrap:nowrap}.filter-btn{white-space:nowrap}.archive-info{grid-template-columns:46px 1fr}.archive-year{grid-column:2;text-align:left}.case-hero{padding-top:130px}.case-labels{flex-direction:column}.facts{grid-template-columns:1fr}.fact{padding:20px}.arch-stage{min-height:420px}.repo-row{grid-template-columns:42px 1fr}.repo-stats{grid-column:2;text-align:left}.repo-desc{grid-column:2}.experiment{min-height:380px}.about-hero{padding-top:130px}.portrait-placeholder{min-height:480px}.timeline-line{left:72px}.timeline-item{grid-template-columns:45px 1fr;gap:40px}.timeline-node{left:68px}.stack-grid{grid-template-columns:1fr}.contact-meta,.closing-footer,.footer-inner{flex-direction:column}.cursor{display:none}.nav-right{justify-content:flex-end}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.cursor,.loader{display:none!important}.reveal{opacity:1!important;transform:none!important}
}


/* ================= WORLD-CLASS REFINEMENT PASS ================= */
html{background:linear-gradient(180deg,#f3f1e8 0%,#ece9dc 100%)}
body{background:
 radial-gradient(circle at 10% 10%, rgba(216,255,62,.08), transparent 28%),
 radial-gradient(circle at 90% 14%, rgba(125,107,255,.06), transparent 24%),
 linear-gradient(180deg,#f3f1e8 0%,#edeadd 100%);
 min-height:100vh}
main{position:relative;z-index:2}
.site-header{padding:18px 0}.site-header .container{position:relative;z-index:4}
.nav-shell{border-color:rgba(17,17,15,.11);background:rgba(245,243,236,.8);box-shadow:0 18px 48px rgba(17,17,15,.08), inset 0 1px rgba(255,255,255,.6)}
.nav-shell:before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(17,17,15,.05),rgba(216,255,62,.35));-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.brand-copy strong{font-size:15px}.brand-copy small{opacity:.9}
.hero,.page-hero,.about-hero,.case-hero,.lab-hero{position:relative;overflow:hidden;isolation:isolate}
.hero:before,.page-hero:before,.about-hero:before,.case-hero:before,.lab-hero:before{content:'';position:absolute;inset:0;background:
 radial-gradient(circle at 78% 14%, rgba(216,255,62,.18), transparent 24%),
 radial-gradient(circle at 22% 88%, rgba(110,100,255,.08), transparent 18%),
 linear-gradient(180deg, rgba(255,255,255,.05), rgba(17,17,15,.02));z-index:0;pointer-events:none}
.hero:after,.page-hero:after,.about-hero:after,.case-hero:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(17,17,15,.055) 1px, transparent 1px),linear-gradient(90deg, rgba(17,17,15,.055) 1px, transparent 1px);background-size:clamp(46px,4.4vw,74px) clamp(46px,4.4vw,74px);mask-image:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,0));opacity:.3;z-index:0}
.hero{padding-top:158px;padding-bottom:72px;min-height:100svh}
.hero-shade{background:linear-gradient(180deg,rgba(240,239,232,.02),rgba(240,239,232,.12) 50%,rgba(240,239,232,.95) 95%)}
.hero-topline{padding:12px 0;border-top:1px solid rgba(17,17,15,.12);border-bottom:1px solid rgba(17,17,15,.12)}
.hero-title{max-width:1200px;font-size:clamp(64px,8vw,130px);line-height:.92;letter-spacing:-.03em}
.hero-title em{font-style:normal;color:#0d0d0b;position:relative}
.hero-title em:after{content:'';position:absolute;left:-.02em;right:-.02em;bottom:.13em;height:.14em;background:rgba(216,255,62,.75);z-index:-1;filter:blur(.3px)}
.hero-bottom{grid-template-columns:1.15fr .85fr;gap:48px}
.body-lg,.page-intro-grid p,.case-sub{max-width:780px}
.section{padding:clamp(90px,10.5vw,170px) 0}
.section-dark{background:#11110f;color:#f4f1e9;border-top-color:rgba(255,255,255,.09)}
.section-dark .copy,.section-dark .project-desc,.section-dark .project-index,.section-dark .kicker,.section-dark .eyebrow,.statement-dark .body-lg{color:#b2b2aa}
.section-dark .project-media{box-shadow:0 22px 70px rgba(0,0,0,.28)}
.section-dark .pill{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.1)}
.work-showcase{background:
 linear-gradient(180deg,#10110f 0%,#161711 100%),
 radial-gradient(circle at 70% 10%, rgba(216,255,62,.18), transparent 25%)}
.statement-dark{background:linear-gradient(180deg,#11110f 0%,#181814 100%);color:#f4f1e9;border-top-color:rgba(255,255,255,.08)}
.statement-dark .display em{font-style:normal;color:var(--acid)}
.capabilities-band{background:linear-gradient(180deg,#f4f1e8 0%,#ebe8dc 100%);position:relative}
.capabilities-band:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--acid),transparent)}
.cap-track{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:rgba(17,17,15,.03)}
.cap-item{font-family:var(--serif);font-size:clamp(28px,4vw,56px);letter-spacing:-.03em}
.cap-sep{font-size:20px;color:var(--muted);padding:0 12px}
.oss-card,.archive-card,.experiment,.repo-row,.project-media,.portrait-placeholder,.fact,.outcome{transform-style:preserve-3d;will-change:transform}
.oss-card,.archive-card,.experiment,.outcome,.fact{box-shadow:0 14px 38px rgba(17,17,15,.06)}
.page-hero-rich,.about-hero-rich,.case-hero-rich{padding-top:180px;padding-bottom:100px;background:linear-gradient(180deg,rgba(17,17,15,.035),transparent 55%)}
.page-hero .display{max-width:1020px;font-size:clamp(56px,7vw,104px)}
.page-intro-grid{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.archive-shell{background:linear-gradient(180deg,#f4f2ea 0%,#efecdf 100%)}
.filterbar{top:102px;z-index:6;padding:10px;border-radius:999px;background:rgba(245,243,236,.86);backdrop-filter:blur(12px);border:1px solid rgba(17,17,15,.09);box-shadow:0 14px 30px rgba(17,17,15,.05);width:max-content;max-width:100%;margin-bottom:28px}
.filter-btn{background:transparent;border-color:rgba(17,17,15,.12);transition:background .28s var(--ease), color .28s var(--ease), transform .28s var(--ease)}
.filter-btn:hover{transform:translateY(-2px);border-color:rgba(17,17,15,.2)}
.filter-btn.active{background:#11110f;color:#f7f4ed;border-color:#11110f;box-shadow:0 10px 18px rgba(17,17,15,.12)}
.archive-grid{gap:28px}.archive-card{border-radius:28px;overflow:hidden;border:1px solid rgba(17,17,15,.08);background:rgba(255,255,255,.3)}
.archive-media{aspect-ratio:1.46/1;background:#131412;overflow:hidden}
.archive-media img{width:100%;height:100%;object-fit:cover;transition:transform .95s var(--ease), filter .95s var(--ease)}
.archive-card:hover .archive-media img{transform:scale(1.035);filter:saturate(1.06)}
.archive-info{padding:28px 30px 32px}.archive-title{font-family:var(--serif);font-size:clamp(34px,3vw,60px);line-height:1.02;letter-spacing:-.03em}.archive-caption{font-size:17px;color:var(--muted)}
.case-hero-rich .case-title{font-size:clamp(56px,7vw,112px);max-width:1100px}.case-cover{background:#11110f;border-radius:30px;overflow:hidden;box-shadow:0 30px 80px rgba(17,17,15,.2)}
.story-body h2{font-size:clamp(38px,4.2vw,60px)}
.pullquote{padding-left:24px;border-left:2px solid var(--acid);max-width:980px}
.about-hero-rich{min-height:82svh}
.about-hero-rich .display{font-size:clamp(52px,7.4vw,108px);max-width:1080px;line-height:.96}
.about-hero-rich .body-xl{max-width:760px;color:#5e6059}
.portrait-placeholder{min-height:660px;border-radius:26px;border:1px solid rgba(255,255,255,.09);background:#11110f;padding:0;box-shadow:0 28px 80px rgba(17,17,15,.18)}
.portrait-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.94}
.portrait-placeholder .label{padding:0 26px 26px;max-width:310px;background:linear-gradient(180deg,transparent,rgba(17,17,15,.86) 60%)}
.portrait-placeholder .orb{width:260px;height:260px;right:-38px;bottom:120px;filter:blur(32px);opacity:.5}
.stack-grid{background:#f7f5ed;border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(17,17,15,.07)}
.closing-dark{background:linear-gradient(180deg,#11110f 0%,#171711 100%);color:#f5f2eb;border-top:1px solid rgba(255,255,255,.08)}
.closing-dark .eyebrow,.closing-dark span{color:#a9a9a0}
.footer{background:#090a09}
.footer-inner{opacity:.82}
.lab-hero{background:linear-gradient(180deg,#11110f 0%,#161712 100%)}
.lab-content .display{max-width:1100px;font-size:clamp(62px,8.6vw,126px)}
.repo-row{padding:30px 18px;border-radius:18px}
.repo-row:hover{background:rgba(17,17,15,.03)}
.experiment{border-radius:28px;background:linear-gradient(180deg,#f5f2ea 0%,#ede9dd 100%)}
.contact-block{background:linear-gradient(160deg,#d8ff3e 0%,#d8ff3e 65%,#c7ec37 100%)}
.contact-block .display{max-width:1200px}
.contact-links a{padding-bottom:4px;border-bottom:1px solid rgba(17,17,15,.24)}
.loader{background:#080907;overflow:hidden}
.loader-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg, rgba(255,255,255,.06) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle at center,rgba(0,0,0,.9),transparent 78%)}
.loader-orb{position:absolute;left:50%;top:50%;width:min(52vw,420px);height:min(52vw,420px);border-radius:50%;transform:translate(-50%,-56%);background:radial-gradient(circle at 45% 45%, rgba(216,255,62,.95), rgba(216,255,62,.18) 38%, rgba(216,255,62,0) 70%);filter:blur(18px);opacity:.9}
.loader-inner{position:relative;z-index:2;width:min(760px,82vw)}
.loader-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#9f9f95;margin-bottom:22px}
.loader-name{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end}
.loader-lockup{font-family:var(--serif);font-size:clamp(54px,10vw,120px);line-height:.9;letter-spacing:-.04em;color:#f5f2eb}
.loader-lockup em{font-style:normal;color:var(--acid)}
.loader-name [data-loader-count]{font-family:var(--mono);font-size:12px;letter-spacing:.12em}
.loader-phrase{font-family:var(--sans);font-size:clamp(18px,2vw,28px);color:#d5d2c8;margin-top:10px;min-height:1.3em}
.loader-track{height:2px;background:rgba(255,255,255,.12);margin-top:24px;border-radius:999px}.loader-bar{background:linear-gradient(90deg,var(--acid),#f6f3eb)}
.transition-panel{background:linear-gradient(180deg,var(--acid),#c5eb34)}
.cursor{background:#d8ff3e;box-shadow:0 0 0 1px rgba(17,17,15,.06),0 8px 24px rgba(17,17,15,.2)}
.cursor.is-label{width:72px;height:72px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(52px) rotateX(10deg);transform-origin:50% 100%}
.parallax-shell{overflow:hidden}
.floating-grid{position:absolute;inset:auto 6% 10% auto;width:190px;height:190px;border:1px solid rgba(17,17,15,.12);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);opacity:.65;z-index:1}
.floating-grid i{border-right:1px solid rgba(17,17,15,.08);border-bottom:1px solid rgba(17,17,15,.08)}
@media (max-width:980px){
  .hero-bottom{grid-template-columns:1fr}.filterbar{top:88px;overflow:auto;width:100%}.page-hero-rich,.about-hero-rich,.case-hero-rich{padding-top:150px}.archive-title{font-size:40px}
}
@media (max-width:640px){
  .site-header{padding:10px 0}.hero{padding-top:132px;padding-bottom:42px}.hero-title{font-size:clamp(54px,15.5vw,82px)}.page-hero .display,.about-hero-rich .display,.case-hero-rich .case-title{font-size:clamp(42px,13vw,72px)}.filterbar{top:76px;padding:8px}.archive-card{border-radius:22px}.portrait-placeholder{min-height:480px}.loader-lockup{font-size:clamp(42px,13vw,74px)}
}
@media (prefers-reduced-motion: reduce){
  .loader{display:none!important}.loader-grid,.loader-orb,.hero-canvas,.lab-canvas{display:none!important}.reveal{opacity:1!important;transform:none!important}
}


/* ================= MINIMAL SIGNATURE INTRO ================= */
.loader{display:none!important}
html.hm-intro .loader{display:grid!important;position:fixed;inset:0;z-index:120;place-items:center;background:#0a0b09;color:#f5f2eb;opacity:1;visibility:visible;transition:opacity .42s cubic-bezier(.22,.82,.16,1),visibility .42s}
html.hm-intro .loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.loader-min{width:min(360px,72vw);display:grid;grid-template-columns:auto 1fr;grid-template-areas:'mark label' 'rule rule';align-items:end;gap:11px 16px}
.loader-mark{grid-area:mark;font-family:var(--serif);font-size:34px;font-weight:500;letter-spacing:-.05em;line-height:.9;color:#f5f2eb}
.loader-label{grid-area:label;justify-self:end;font-family:var(--mono);font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.18em;color:#a7a79e;white-space:nowrap;padding-bottom:3px}
.loader-rule{grid-area:rule;display:block;height:1px;background:rgba(255,255,255,.12);overflow:hidden;position:relative}
.loader-rule i{display:block;height:100%;width:28%;background:var(--acid);transform:translateX(-120%);animation:hm-loader-line .82s cubic-bezier(.22,.82,.16,1) forwards}
@keyframes hm-loader-line{0%{transform:translateX(-120%);width:22%}60%{width:52%}100%{transform:translateX(360%);width:22%}}
@media (max-width:640px){.loader-min{width:min(300px,76vw)}.loader-mark{font-size:30px}.loader-label{font-size:8px;letter-spacing:.15em}}
@media (prefers-reduced-motion:reduce){html.hm-intro .loader{display:none!important}}
