@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#222427;font-synthesis:none;--ink:#222427;--muted:#62676c;--line:#d9dcdf;--accent:#ba3b20;--surface:#f2f3f4;--mono:"IBM Plex Mono", monospace;background:#fff;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}#root>#page-content{flex:1 0 auto}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1{letter-spacing:-2.8px;font-size:clamp(44px,5.5vw,76px);line-height:1.06}h2{letter-spacing:-1px;font-size:clamp(30px,3vw,38px);line-height:1.15}.eyebrow{font:12px/1.6 var(--mono);color:var(--muted)}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 max(28px,50vw - 612px);display:flex;position:sticky;top:0}.identity{letter-spacing:-.6px;font-size:19px;font-weight:500;text-decoration:none}.identity span,.name-stop{color:var(--accent)}.topbar nav{gap:28px;font-size:14px;display:flex}.topbar nav a{padding:8px 0;text-decoration:none}.topbar nav a[aria-current=page]{color:var(--accent)}.contact-link{margin-left:0}.skip{background:var(--ink);color:#fff;z-index:100;padding:12px 20px;position:fixed;top:-80px;left:20px}.skip:focus{top:12px}.hero{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:32px clamp(56px,7vw,88px);max-width:1280px;margin:auto;padding:clamp(72px,7vw,96px) 28px 64px;display:grid}.lede{color:#454b50;max-width:640px;font-size:18px;line-height:1.75}.hero-portrait{justify-self:end;width:100%;max-width:300px;margin:0}.hero-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}figcaption{color:var(--muted);padding-top:12px;font-size:12px;line-height:1.6}.landing-main{overflow:clip}.hero-intro{max-width:800px}.hero h1{letter-spacing:-4px;margin:0 0 30px;font-size:clamp(58px,6.5vw,88px);line-height:.98}.hero-witty{letter-spacing:-.55px;max-width:760px;color:var(--ink);font-size:clamp(23px,2.35vw,31px);line-height:1.35}.hero-witty em{color:var(--accent);font-style:normal}.hero .lede{max-width:760px;margin-top:22px;font-size:18px;line-height:1.72}.trajectory-section,.landing-projects,.landing-writing,.landing-record{max-width:1280px;margin:0 auto;padding:52px 28px 64px}.trajectory-section{border-top:1px solid var(--line)}.section-split-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding-bottom:20px;display:flex}.section-split-head h2{margin-top:8px;font-size:clamp(26px,3vw,36px)}.section-jump{color:var(--accent);flex:none;padding-bottom:4px;font-size:13px}.trajectory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:26px;display:grid}.trajectory-card{border-top:2px solid var(--ink);flex-direction:column;align-items:flex-start;min-height:205px;padding-top:14px;text-decoration:none;display:flex}.traj-num{font:10px/1.5 var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.trajectory-card h3{margin-top:14px;font-size:19px;line-height:1.3}.trajectory-card p{color:#4a5157;margin-top:10px;font-size:14px;line-height:1.65}.traj-link{color:var(--accent);margin-top:auto;padding-top:15px;font-size:12px}.landing-projects,.landing-writing,.landing-record{border-top:1px solid var(--line)}.project-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;margin-top:8px;display:grid}.project-showcase-card{border-bottom:1px solid var(--line);grid-template-columns:minmax(110px,156px) minmax(0,1fr);align-content:start;gap:0 20px;min-width:0;padding:24px 0;display:grid}.project-card-media{background:var(--surface);grid-row:span 2;align-self:start;overflow:hidden}.project-card-media img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.project-card-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.project-card-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;width:100%;display:flex}.project-card-meta .eyebrow{font-size:9px}.status-pill{font:9px/1.5 var(--mono);color:var(--muted)}.project-card-body h3{margin-top:8px;font-size:19px;line-height:1.25}.project-card-body h3 a{text-decoration:none}.project-card-summary{color:#4a5157;margin-top:8px;font-size:13px;line-height:1.55}.stack-pills{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.stack-pills li{font:9px/1.5 var(--mono)}.project-card-links{flex-wrap:wrap;align-items:center;gap:7px 14px;margin-top:12px;font-size:11px;display:flex}.card-link-primary,.card-link-secondary{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.cards.writing{margin-top:8px}.cards.writing .card{padding:24px 0}.cards.writing .card h3{font-size:19px}.landing-record .record{border:0;margin-top:0;padding:0}.landing-contact{border-top:2px solid var(--ink);padding:52px 28px 72px}.contact-inner{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:18px 72px;max-width:1224px;margin:0 auto;display:grid}.contact-inner h2{max-width:440px;margin-top:10px;font-size:clamp(28px,3vw,38px)}.contact-sub{max-width:430px;color:var(--muted);margin-top:14px;font-size:15px;line-height:1.7}.contact-cards{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-card-box{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 18px 16px 0;text-decoration:none;display:flex}.contact-card-box+.contact-card-box{border-left:1px solid var(--line);padding-left:20px}.contact-card-box strong{overflow-wrap:anywhere;font-size:15px;font-weight:500}.contact-card-box>span:last-child{color:var(--muted);font-size:12px;line-height:1.5}.contact-inner>.social-links{grid-column:2}.project-detail-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:22px;display:flex}.project-detail-figure{background:var(--surface);margin:30px 0}.project-detail-figure img{object-fit:contain;width:100%;height:auto;display:block}.story-page-hero{max-width:1224px;margin:0 auto;padding:54px 28px 36px}.story-page-intro{max-width:800px}.story-page-hero h1{margin:14px 0 18px}.story-page-hero .lede{max-width:750px}.timeline{grid-template-columns:172px minmax(0,1fr);gap:64px;max-width:1224px;margin:0 auto;padding:48px 28px 0;display:grid}.rail{align-self:start;position:sticky;top:112px}.rail>.eyebrow{color:var(--ink);margin-bottom:16px;display:block}.rail>a{color:var(--muted);gap:12px;padding:10px 0;font-size:13px;text-decoration:none;display:flex}.rail>a[aria-current=location]{color:var(--accent)}.rail-number{font:11px/1.7 var(--mono);color:#70757a}.rail>a[aria-current=location] .rail-number{color:var(--accent)}.chapter{border-bottom:1px solid var(--line);margin-bottom:48px;padding:0 0 48px;scroll-margin-top:24px}.chapter-head{margin-bottom:24px}.chapter-number{color:var(--accent);margin-right:12px}.chapter h2{margin:12px 0}.chapter-summary{color:var(--muted);font-size:17px;line-height:1.65}.chapter-layout{grid-template-columns:minmax(0,1fr);display:grid}.chapter-layout>div:first-child{max-width:650px}.chapter-layout.with-media{grid-template-columns:minmax(0,1fr) 212px;gap:32px}.prose{color:#30363b;overflow-wrap:break-word;font-size:18px;line-height:1.8}.prose p+p,.prose p+ul,.prose p+ol{margin-top:20px}.prose h2{margin:40px 0 20px;font-size:29px}.prose h3{margin:28px 0 16px;font-size:23px}.prose a{color:var(--accent)}.prose blockquote{border-left:2px solid var(--accent);margin:28px 0;padding-left:24px}.prose figure{margin:32px 0}.prose figure img{max-height:700px;margin:auto;display:block}.prose pre{background:var(--surface);font:14px/1.7 var(--mono);padding:20px;overflow:auto}.prose table{font-size:15px;display:block;overflow:auto}.prose td,.prose th{border-bottom:1px solid var(--line);padding:8px}.chapter-media{margin-top:4px}.chapter-media img{width:100%;display:block}.chapter-media svg{width:100%;height:auto}.chapter-media text{fill:var(--ink);font:14px IBM Plex Sans,sans-serif}.chapter-media .map-label{letter-spacing:1px;font-size:18px}.chapter-media .map-small{font:9px var(--mono)}.chapter-links{color:var(--accent);flex-wrap:wrap;gap:16px 24px;margin-top:24px;font-size:14px;display:flex}.overlap-note{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.6}.closing{grid-template-columns:172px 1fr;gap:64px;max-width:1224px;margin:auto;padding:0 28px 64px;display:grid}.closing h2{letter-spacing:-.3px;font-size:20px}.closing p{color:var(--muted);margin-bottom:12px;font-size:17px}.closing a{color:var(--accent);font-size:18px}.record{border-top:2px solid var(--ink);margin-top:56px;padding-top:32px}.record h2{letter-spacing:-.4px;margin-bottom:28px;font-size:22px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;display:grid}.record-grid ul{gap:14px;margin:14px 0 0;padding:0;list-style:none;display:grid}.record-grid li{color:#454b50;padding-left:20px;font-size:15.5px;line-height:1.6;position:relative}.record-grid li:before{content:"";background:var(--accent);width:8px;height:2px;position:absolute;top:.62em;left:0}.record-grid strong{color:var(--ink);font-weight:600}.filters{flex-wrap:wrap;gap:8px 20px;margin-top:28px;display:flex}.filters button{font:12px/1 var(--mono);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:0 0;border:0;padding:6px 0}.filters button[aria-pressed=true]{color:var(--accent)}.filters button:hover{color:var(--ink)}.button{background:var(--ink);color:#fff;align-items:center;gap:16px;padding:12px 18px;font-size:14px;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent);color:#fff}.page{max-width:1056px;margin:auto;padding:56px 28px 80px}.page h1{margin:16px 0 24px;font-size:60px}.page>.lede{margin-bottom:20px}.cards{border-top:2px solid var(--ink);margin-top:40px}.card{border-bottom:1px solid var(--line);grid-template-columns:156px minmax(0,1fr);gap:32px;padding:32px 0;display:grid}.card>.eyebrow{padding-top:6px}.card h2{letter-spacing:-.7px;margin:0 0 12px;font-size:29px}.card h2 a{text-decoration:none}.card h2 a:hover{text-decoration:underline}.listing-content>p{color:#4a5157;max-width:620px;font-size:17px;line-height:1.75}.listing-note{font:11px/1.7 var(--mono);color:var(--muted);margin-top:16px;display:block}.detail{max-width:812px;margin:auto;padding:40px 28px 80px}.back{color:var(--muted);font-size:14px}.article-head{margin:40px 0 32px}.article-head h1{letter-spacing:-1.5px;margin:16px 0 24px;font-size:clamp(38px,4.5vw,56px)}.source-credit{color:var(--muted);font-size:13px;line-height:1.7}.detail>.chapter-media{max-width:440px;margin:0 auto 32px}.detail-end{border-top:1px solid var(--line);color:var(--muted);margin-top:32px;padding-top:24px;font-size:14px;line-height:1.7}.detail-end p{margin-top:16px}.about-layout{grid-template-columns:minmax(0,1fr) 216px;gap:48px;margin-top:32px;display:grid}.about-layout img{display:block}.contact{border-top:2px solid var(--ink);margin-top:48px;padding-top:32px}.contact h2{margin-bottom:24px}.contact>a{overflow-wrap:anywhere;width:fit-content;max-width:100%;color:var(--accent);margin:20px 0;font-size:18px;display:block}.contact a span{color:var(--muted);margin-top:8px;font-size:13px;display:block}.missing{min-height:65vh}footer{border-top:1px solid var(--line);width:100%;max-width:1224px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:20px;margin:auto;padding:24px 28px;font-size:13px;display:flex}footer a{text-decoration:none}footer>a:first-child{color:var(--ink)}.preview-banner{background:var(--surface);border-bottom:1px solid var(--line);text-align:center;padding:12px;font-size:13px}.social-links{flex-wrap:wrap;gap:20px;display:flex}.contact .social-links{margin-top:28px}.contact .social-links a{font-size:16px}@media (width<=1050px){.hero{grid-template-columns:minmax(0,1fr) 260px;column-gap:48px}.hero h1{font-size:clamp(56px,6.5vw,68px)}.trajectory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-showcase-grid{column-gap:24px}.project-showcase-card{grid-template-columns:118px minmax(0,1fr);gap:0 14px}.contact-inner{gap:18px 36px}.timeline{grid-template-columns:152px minmax(0,1fr);gap:32px}.chapter-layout.with-media{grid-template-columns:minmax(0,1fr)}.chapter-layout.with-media>.chapter-media{grid-row:1;max-width:340px;margin:0 0 28px}.closing{grid-template-columns:152px 1fr;gap:32px}}@media (width<=820px){.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:60px 32px 52px}.hero-intro{max-width:700px}.hero-portrait{justify-self:start;width:min(72vw,300px)}}@media (width<=700px){html{scroll-padding-top:112px}.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:94px;padding:16px 24px 12px}.identity{font-size:18px}.topbar nav{gap:20px;width:100%;font-size:13px}.hero{gap:28px;padding:44px 24px}.hero h1{letter-spacing:-2.8px;margin:0 0 22px;font-size:clamp(48px,12vw,64px)}.hero-witty{font-size:22px}.hero .lede{margin-top:20px;font-size:17px}.hero-portrait{width:min(72vw,260px)}.hero-portrait img{width:100%}.trajectory-section,.landing-projects,.landing-writing,.landing-record{padding:36px 24px 44px}.section-split-head{flex-direction:column;align-items:flex-start;gap:10px}.section-split-head h2{font-size:28px}.trajectory-grid{grid-template-columns:minmax(0,1fr);gap:18px}.trajectory-card{min-height:unset;padding:12px 0 0}.traj-link{margin-top:0}.project-showcase-grid{grid-template-columns:minmax(0,1fr)}.project-showcase-card{grid-template-columns:112px minmax(0,1fr);gap:0 14px}.project-card-body h3{font-size:17px}.project-card-summary{font-size:12px}.landing-contact{padding:40px 24px 52px}.contact-inner{grid-template-columns:minmax(0,1fr);gap:22px}.contact-cards{grid-template-columns:minmax(0,1fr)}.contact-card-box+.contact-card-box{border-left:0;border-top:1px solid var(--line);padding-left:0}.contact-inner>.social-links{grid-column:1}.story-page-hero{padding:36px 24px 20px}.timeline{grid-template-columns:minmax(0,1fr);gap:32px;padding:24px 24px 0}.rail{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 18px;padding-bottom:20px;display:flex;position:static}.rail>.eyebrow{width:100%;margin:0}.rail>a{gap:8px;padding:4px 0;font-size:12px}.rail-number{display:none}.chapter{margin-bottom:32px;padding-bottom:32px;scroll-margin-top:12px}.chapter h2{letter-spacing:-.9px;font-size:32px}.chapter-summary{font-size:16px}.chapter-layout.with-media{gap:0}.chapter-layout.with-media>.chapter-media{max-width:290px}.prose{font-size:17px;line-height:1.8}.chapter-media{position:relative}.closing{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 24px 40px}.record{margin-top:40px}.record-grid{grid-template-columns:minmax(0,1fr);gap:28px}.page{padding:36px 24px 56px}.page h1{letter-spacing:-1.5px;font-size:44px}.cards{margin-top:32px}.card{grid-template-columns:minmax(0,1fr);gap:12px;padding:24px 0}.card>.eyebrow{padding:0}.card h2{font-size:26px}.detail{padding:28px 24px 56px}.article-head{margin-top:28px}.article-head h1{letter-spacing:-1.2px;font-size:40px}.about-layout{grid-template-columns:minmax(0,1fr);gap:24px}.about-layout>figure{grid-row:1;max-width:160px}footer{padding:24px}footer>span{display:none}}@media (width<=360px){.topbar nav{gap:15px;font-size:12px}.hero h1{font-size:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
