:root{--paper:#f3efe5;--paper-2:#ebe5d7;--surface:#fbf9f2;--surface-2:#f7f3ea;--ink:#211f1a;--ink-soft:#3a3731;--muted:#76716a;--faint:#9b958b;--line:#211f1a21;--line-2:#211f1a3d;--sage:#a3c0a6;--sage-deep:#4f6f55;--sky:#a8c3da;--sky-deep:#4f6f8c;--clay:#ddaa93;--clay-deep:#ab6e54;--butter:#e6cf94;--butter-deep:#a78a3d;--lilac:#c2b7d8;--lilac-deep:#6f5f93;--panel:#1b201b;--panel-2:#222a22;--panel-line:#ebf0e429;--cream:#f1efe4;--mint:#bfe0c4;--accent:var(--sage-deep);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--edge:clamp(20px, 5vw, 84px);--maxw:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-feature-settings:"ss01", "cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}body:before{content:"";z-index:-2;background-color:var(--paper);background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), linear-gradient(#211f1a0d 1px, transparent 1px), linear-gradient(90deg, #211f1a0d 1px, transparent 1px);opacity:.55;background-size:192px 192px,192px 192px,32px 32px,32px 32px;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--sage);color:var(--ink)}.mono{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:500}.site-shell{min-height:100vh;overflow-x:clip}.topbar{z-index:40;padding:14px var(--edge);background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:saturate(140%);backdrop-filter:saturate(140%);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:11px;font-size:19px;font-weight:500;display:inline-flex}.brand__mark{border:1.5px solid var(--ink);width:30px;height:30px;font-family:var(--font-display);background:var(--sage);border-radius:50%;place-items:center;font-size:17px;font-style:italic;display:grid}.topbar__links{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:clamp(16px,2.6vw,34px);font-size:11.5px;font-weight:500;display:flex}.topbar__links a{color:var(--ink-soft);padding-bottom:2px;transition:color .18s;position:relative}.topbar__links a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1.5px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.topbar__links a:hover{color:var(--ink)}.topbar__links a:hover:after{transform:scaleX(1)}.topbar__stamp{color:var(--faint)}.hero{max-width:var(--maxw);padding:clamp(54px, 9vw, 120px) var(--edge) 0;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,5vw,72px);margin:0 auto;display:grid;position:relative}.eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sage-deep);align-items:center;gap:9px;margin:0 0 26px;font-size:11.5px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--sage-deep);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--sage) 50%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero h1{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;text-wrap:balance;margin:0;font-size:clamp(40px,6.4vw,88px);font-weight:400;line-height:1}.hero h1 em{color:var(--sage-deep);font-style:italic;font-weight:400}.hero__copy{max-width:50ch;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(16px,1.4vw,18.5px);line-height:1.62}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1.5px solid var(--ink);min-height:48px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;align-items:center;gap:9px;padding:0 22px;font-size:12.5px;font-weight:500;transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s,background .16s;display:inline-flex}.button .arr{transition:transform .18s cubic-bezier(.2,.8,.2,1)}.button:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.button:hover .arr{transform:translate(3px)}.button:active{box-shadow:0 0 0 var(--ink);transform:translate(0)}.button--primary{background:var(--ink);color:var(--paper)}.button--primary:hover{box-shadow:4px 4px 0 var(--sage-deep)}.button--ghost{color:var(--ink);background:0 0}.plate{background:var(--surface);border:1.5px solid var(--ink);box-shadow:7px 7px 0 var(--paper-2), 7px 7px 0 .5px var(--line-2);border-radius:3px;position:relative;overflow:hidden}.plate__head{border-bottom:1.5px solid var(--ink);background:var(--surface-2);color:var(--ink-soft);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.plate__head .mono{color:var(--ink)}.plate__head .tag{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:10px}.plate__fig{background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:26px 26px;padding:18px 18px 8px}.plate__fig svg{width:100%;height:auto;display:block}.plate__rows{border-top:1.5px solid var(--ink)}.plate__row{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;padding:9px 14px;font-size:11.5px;display:flex}.plate__row+.plate__row{border-top:1px solid var(--line)}.plate__row b{color:var(--ink);font-weight:600}.swatches{border-top:1.5px solid var(--ink);gap:0;display:flex}.swatches i{flex:1;height:16px}.fieldnotes{max-width:var(--maxw);padding:0 var(--edge);margin:clamp(40px,6vw,76px) auto 0}.fieldnotes__grid{border:1.5px solid var(--ink);background:var(--surface);border-radius:3px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.fieldnotes__grid>div{border-right:1px solid var(--line);padding:18px 20px}.fieldnotes__grid>div:last-child{border-right:0}.fieldnotes__grid .num{font-family:var(--font-mono);letter-spacing:.14em;color:var(--sage-deep);font-size:10.5px}.fieldnotes__grid p{color:var(--ink);margin:8px 0 0;font-size:14.5px;font-weight:500;line-height:1.4}.section{max-width:var(--maxw);padding-left:var(--edge);padding-right:var(--edge);margin:0 auto}.section-kicker{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin:0 0 18px;font-size:11px;font-weight:500;display:flex}.section-kicker:before{content:"";background:var(--accent);width:26px;height:1.5px}h2{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;text-wrap:balance;margin:0;font-size:clamp(30px,4.4vw,56px);font-weight:400;line-height:1.04}h2 em{color:var(--sage-deep);font-style:italic}.intro{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);align-items:start;gap:clamp(28px,6vw,80px);padding-top:clamp(74px,10vw,132px);padding-bottom:clamp(74px,10vw,132px);display:grid}.intro p{color:var(--ink-soft);margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.62}.projects{padding-top:clamp(64px,9vw,116px);padding-bottom:clamp(74px,10vw,130px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;display:flex}.section-heading .count{font-family:var(--font-mono);letter-spacing:.12em;color:var(--muted);font-size:11px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:18px;display:grid}.project-card{--c:var(--sage);--c-deep:var(--sage-deep);background:var(--surface);border:1.5px solid var(--ink);min-height:460px;box-shadow:0 1px 0 var(--line-2);border-radius:3px;flex-direction:column;padding:26px 24px 24px;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s;display:flex;position:relative}.project-card:nth-child(5n+1){--c:var(--sage);--c-deep:var(--sage-deep)}.project-card:nth-child(5n+2){--c:var(--sky);--c-deep:var(--sky-deep)}.project-card:nth-child(5n+3){--c:var(--clay);--c-deep:var(--clay-deep)}.project-card:nth-child(5n+4){--c:var(--lilac);--c-deep:var(--lilac-deep)}.project-card:nth-child(5n+5){--c:var(--butter);--c-deep:var(--butter-deep)}.project-card:before{content:"";background:var(--c);border-bottom:1.5px solid var(--ink);height:7px;position:absolute;top:0;left:0;right:0}.project-card:hover{box-shadow:0 14px 0 -6px var(--paper-2), 6px 18px 28px -18px #211f1a66;transform:translateY(-5px)}.project-card__top{justify-content:space-between;align-items:center;margin:14px 0 22px;display:flex}.project-card__index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--muted);font-size:12px}.project-card__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);background:color-mix(in srgb, var(--c) 55%, var(--surface));border-radius:999px;padding:5px 9px;font-size:10px;font-weight:500}.project-card h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(28px,3.2vw,38px);font-weight:400;line-height:1}.project-card__summary{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.project-card ul{gap:0;margin:24px 0 0;padding:0;list-style:none;display:grid}.project-card li{border-top:1px solid var(--line);color:var(--ink-soft);padding:10px 0 10px 22px;font-size:13.5px;font-weight:500;position:relative}.project-card li:before{content:"→";color:var(--c-deep);font-family:var(--font-mono);position:absolute;left:0}.project-card__link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--c-deep);align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-size:12px;font-weight:500;display:inline-flex}.project-card__link .arr{transition:transform .18s}.project-card:hover .project-card__link .arr{transform:translate(4px)}.traction{border-bottom:1px solid var(--line);padding-top:clamp(64px,9vw,116px);padding-bottom:clamp(74px,10vw,130px)}.chart{background:var(--surface);border:1.5px solid var(--ink);box-shadow:7px 7px 0 var(--paper-2), 7px 7px 0 .5px var(--line-2);border-radius:3px;overflow:hidden}.chart__head{border-bottom:1.5px solid var(--ink);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.chart__head .mono{color:var(--ink)}.legend{gap:20px;display:flex}.legend span{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);align-items:center;gap:9px;font-size:11px;display:inline-flex}.legend i{border-top:2.6px solid var(--sage-deep);width:22px}.legend i.dash{border-top-style:dashed;border-color:var(--clay-deep)}.chart__plot{padding:16px 16px 6px}.chart__svg{width:100%;height:auto;font-family:var(--font-mono);font-weight:500;display:block}.chart__stats{border-top:1.5px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.chart__stats>div{border-right:1px solid var(--line);padding:18px}.chart__stats>div:last-child{border-right:0}.chart__stats .v{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.01em;font-feature-settings:"tnum";font-size:clamp(24px,2.6vw,34px);font-weight:400;line-height:1;display:block}.chart__stats .k{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);margin-top:9px;font-size:10.5px;display:block}.research-band{background:var(--panel);color:var(--cream);border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);background-image:linear-gradient(#ebf0e40a 1px,#0000 1px),linear-gradient(90deg,#ebf0e40a 1px,#0000 1px);background-size:34px 34px;position:relative}.research-band__inner{max-width:var(--maxw);padding:clamp(72px, 10vw, 130px) var(--edge);grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:center;gap:clamp(32px,6vw,86px);margin:0 auto;display:grid}.research-band .section-kicker{color:#f1efe499}.research-band .section-kicker:before{background:var(--mint)}.research-band h2{color:var(--cream)}.research-band h2 em{color:var(--mint)}.research-band p{color:#f1efe4b8;margin:24px 0 0;font-size:clamp(16px,1.5vw,18.5px);line-height:1.62}.console{border:1.5px solid var(--panel-line);background:var(--panel-2);border-radius:3px}.console__head{border-bottom:1.5px solid var(--panel-line);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#f1efe4a8;justify-content:space-between;align-items:center;padding:12px 16px;font-size:10.5px;display:flex}.console__status{color:var(--mint);align-items:center;gap:7px;display:inline-flex}.console__status:before{content:"";background:var(--mint);width:7px;height:7px;box-shadow:0 0 8px var(--mint);border-radius:50%;animation:1.6s ease-in-out infinite pulse}.console__row{grid-template-columns:auto 1fr;align-items:baseline;gap:18px;padding:18px;display:grid}.console__row+.console__row{border-top:1px solid var(--panel-line)}.metric{font-family:var(--font-display);color:var(--mint);white-space:nowrap;font-feature-settings:"tnum";font-size:clamp(38px,5vw,58px);font-weight:400;line-height:.9}.metric-label{font-family:var(--font-mono);letter-spacing:.04em;color:#f1efe4a8;text-align:right;font-size:11.5px}.evidence{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(32px,6vw,80px);padding-top:clamp(74px,10vw,132px);padding-bottom:clamp(74px,10vw,132px);display:grid}.contact-sheet{grid-template-columns:1fr 1fr;gap:16px;display:grid}.figcard{background:var(--surface);border:1.5px solid var(--ink);border-radius:3px;transition:transform .2s cubic-bezier(.2,.8,.2,1);overflow:hidden}.figcard:hover{transform:translateY(-4px)}.figcard__art{aspect-ratio:4/3;background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-position:-1px -1px;background-size:22px 22px}.figcard__art svg{width:100%;height:100%;display:block}.figcard__cap{border-top:1.5px solid var(--ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:9px 12px;font-size:10px;display:flex}.figcard__cap b{color:var(--ink);font-weight:600}.evidence__copy p{color:var(--ink-soft);margin:22px 0 0;font-size:clamp(16px,1.5vw,18.5px);line-height:1.62}.text-link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--sage-deep);border-bottom:1.5px solid #0000;align-items:center;gap:8px;margin-top:28px;padding-bottom:2px;font-size:12.5px;font-weight:500;transition:border-color .2s;display:inline-flex}.text-link:hover{border-color:var(--sage-deep)}.text-link .arr{transition:transform .18s}.text-link:hover .arr{transform:translate(4px)}.join{padding-top:clamp(56px,8vw,100px);padding-bottom:clamp(74px,10vw,130px)}.join__grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.join-card{border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--paper-2), 8px 8px 0 .5px var(--line-2);border-radius:4px;flex-direction:column;padding:clamp(28px,3.4vw,46px);display:flex}.join-card--a{background:color-mix(in srgb, var(--sage) 46%, var(--surface))}.join-card--b{background:color-mix(in srgb, var(--clay) 42%, var(--surface))}.join-card__tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);background:var(--surface);border-radius:999px;align-self:flex-start;padding:6px 11px;font-size:10px;font-weight:500}.join-card h3{font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;margin:20px 0 0;font-size:clamp(26px,3.2vw,40px);font-weight:400;line-height:1.02}.join-card p{max-width:46ch;color:var(--ink-soft);margin:16px 0 0;font-size:clamp(15px,1.4vw,17px);line-height:1.58}.join-card .button{align-self:flex-start;margin-top:28px}.doc-hero{max-width:1120px;padding-top:clamp(48px,8vw,104px);padding-bottom:clamp(26px,4vw,46px)}.doc-hero h1{max-width:17ch;font-family:var(--font-display);font-optical-sizing:auto;letter-spacing:-.018em;text-wrap:balance;margin:0;font-size:clamp(34px,5.2vw,64px);font-weight:400;line-height:1.02}.doc-hero h1 em{color:var(--sage-deep);font-style:italic}.doc-hero__copy{max-width:64ch;color:var(--ink-soft);margin:26px 0 0;font-size:clamp(16px,1.5vw,18.5px);line-height:1.62}.doc-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(28px,5vw,60px);padding-bottom:clamp(64px,10vw,120px);display:grid}.doc-steps .section-kicker{margin-bottom:24px}.doc-step{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:18px;padding:22px 0;display:grid}.doc-step:first-of-type{border-top:0;padding-top:0}.doc-step__n{font-family:var(--font-mono);color:var(--sage-deep);padding-top:4px;font-size:13px;font-weight:600}.doc-step h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 7px;font-size:clamp(20px,2.2vw,25px);font-weight:400}.doc-step p{color:var(--muted);margin:0;font-size:15px;line-height:1.55}.shot{background:var(--surface);border:1.5px solid var(--ink);box-shadow:8px 8px 0 var(--paper-2), 8px 8px 0 .5px var(--line-2);border-radius:3px;margin:0;overflow:hidden}.shot__head{border-bottom:1.5px solid var(--ink);background:var(--surface-2);justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.shot__head .mono{color:var(--ink)}.shot__tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sage-deep);align-items:center;gap:7px;font-size:10px;display:inline-flex}.shot__tag:before{content:"";background:var(--sage-deep);border-radius:50%;width:7px;height:7px}.shot img{border-bottom:1.5px solid var(--ink);width:100%;height:auto;display:block}.shot__cap{font-family:var(--font-mono);letter-spacing:.04em;color:var(--muted);padding:11px 14px;font-size:10.5px}.footer{border-top:1px solid var(--line)}.footer__inner{max-width:var(--maxw);padding:30px var(--edge);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.footer__brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:22px;font-weight:500}.footer__meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:clamp(16px,3vw,40px);font-size:11px;display:flex}.footer__meta a:hover{color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.hero__content>*,.hero__plate{animation:.7s cubic-bezier(.2,.8,.2,1) both rise}.hero__content>:first-child{animation-delay:50ms}.hero__content>:nth-child(2){animation-delay:.14s}.hero__content>:nth-child(3){animation-delay:.23s}.hero__content>:nth-child(4){animation-delay:.32s}.hero__plate{animation-delay:.3s}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both rise;animation-timeline:view();animation-range:entry 4% cover 22%}}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}}@media (max-width:980px){.hero{grid-template-columns:1fr;gap:40px;padding-top:clamp(44px,9vw,80px)}.hero__plate{max-width:460px}.intro,.research-band__inner,.evidence,.doc-grid{grid-template-columns:1fr}.project-card{min-height:auto}}@media (max-width:640px){body{font-size:15px}.topbar__links{gap:16px}.topbar__links a:not(.topbar__cta),.topbar__stamp{display:none}.join__grid{grid-template-columns:1fr}.fieldnotes__grid{grid-template-columns:1fr 1fr}.fieldnotes__grid>div:nth-child(2n){border-right:0}.fieldnotes__grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.chart__stats{grid-template-columns:1fr 1fr}.chart__stats>div:nth-child(2n){border-right:0}.chart__stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-sheet{grid-template-columns:1fr}.footer__inner{flex-direction:column;align-items:flex-start}}
