:root{--paper-dark:#ede7d9;--paper-mid:#f4f0e7;--paper-light:#fbfaf6;--rule:#dcd3c2;--rule-light:#e8e1d2;--ink:#1b2330;--ink-mid:#3b362b;--ink-light:#5c5648;--muted:#7a7468;--faint:#a39a88;--ghosted:#b3a88f;--navy:#23426a;--tag-text:#6e675b;--warm-tan:#8a8273;--gold:#9a7b3e;--gold-dot:#c79a45;--font-serif:"Newsreader", serif;--font-mono:"IBM Plex Mono", monospace;--font-sans:"IBM Plex Sans", sans-serif;--size-name:21px;--size-h1:40px;--size-label:11px;--size-label-lg:12px;--size-body:17px;--size-body-sm:13.5px;--size-body-xs:14.5px;--size-project-title:26px;--size-work-title:20px;--size-blockquote:24px;--size-caption:10.5px;--size-link:20px;--size-meta:11px;--sp-xs:4px;--sp-sm:9px;--sp-md:12px;--sp-lg:16px;--sp-xl:24px;--sp-2xl:26px;--sp-3xl:28px;--sp-4xl:30px;--sp-5xl:34px;--sp-6xl:40px;--sp-7xl:46px;--sp-8xl:52px;--sp-9xl:56px;--col-identity-width:600px;--col-work-width:362px;--shell-min-width:1362px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper-dark)}@media (width<=1200px){:root{--size-h1:32px}}#shell{height:100vh;min-width:var(--shell-min-width);background:var(--paper-dark);display:flex;overflow:hidden}.col{scrollbar-width:none;-ms-overflow-style:none;flex:none;height:100vh;overflow-y:auto}.col::-webkit-scrollbar{width:0;height:0;display:none}.col-identity{width:var(--col-identity-width);background:var(--paper-dark);border-right:1px solid var(--rule);padding:var(--sp-6xl) var(--sp-6xl) 0}.col-work{width:var(--col-work-width);background:var(--paper-mid);border-right:1px solid var(--rule)}.col-work .stickyhead{z-index:5;background:var(--paper-mid);border-bottom:1px solid var(--rule);padding:var(--sp-xl) var(--sp-5xl) 18px;position:sticky;top:0}.col-work .pad{padding:30px var(--sp-5xl) var(--sp-9xl)}.col-projects{background:var(--paper-light);flex:1;min-width:440px}.col-projects .stickyhead{z-index:5;background:var(--paper-light);border-bottom:1px solid var(--rule-light);padding:var(--sp-xl) var(--sp-5xl) 20px;position:sticky;top:0}.col-projects .pad{padding:var(--sp-6xl) var(--sp-5xl) var(--sp-9xl)}.scrollfade{height:var(--sp-8xl);margin-top:calc(var(--sp-8xl) * -1);pointer-events:none;z-index:6;position:sticky;bottom:0}.col-identity .scrollfade{background:linear-gradient(to bottom, #ede7d900 0%, var(--paper-dark) 90%)}.col-work .scrollfade{background:linear-gradient(to bottom, #f4f0e700 0%, var(--paper-mid) 90%)}.col-projects .scrollfade{height:var(--sp-9xl);margin-top:calc(var(--sp-9xl) * -1);background:linear-gradient(to bottom, #fbfaf600 0%, var(--paper-light) 90%)}.scrollcue{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ghosted);font-size:10px}@media (width<=1200px){html,body{overflow-x:auto}#shell{flex-direction:column;min-width:0;height:auto;overflow:visible}.col{border-bottom:1px solid var(--rule);flex:none;width:100%!important;height:auto!important;padding-left:max(var(--sp-xl), calc((100% - 680px) / 2))!important;padding-right:max(var(--sp-xl), calc((100% - 680px) / 2))!important;border-right:none!important;overflow:visible!important}.col-identity,.col-work,.col-projects{padding-top:var(--sp-3xl)!important;padding-bottom:0!important}.col-identity .stickyhead{position:static!important}.col .scrollfade,.scrollcue{display:none!important}.mbreak{display:inline}.col-projects{box-sizing:border-box;width:100%;max-width:none;margin:0 auto}.col-projects .pad{padding:var(--sp-6xl) var(--sp-2xl) var(--sp-9xl)!important}}@media (width>=1201px){.mbreak{display:none}}@media (width<=1300px){.pcard{gap:24px!important}.pcard>div:first-child{flex:220px!important;min-width:220px!important}.pcard>div:last-child{flex:300px!important;min-width:280px!important}}.name{font-family:var(--font-serif);font-size:var(--size-name);letter-spacing:-.01em;font-weight:500}h1{font-family:var(--font-serif);font-weight:400;font-size:var(--size-h1);letter-spacing:-.02em;color:var(--ink);margin:0;line-height:1.04}.section-label{font-family:var(--font-mono);font-size:var(--size-label);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.section-label.muted{color:var(--faint)}.col-header-label{font-family:var(--font-mono);font-size:var(--size-label-lg);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}p,.body{font-family:var(--font-serif);font-size:var(--size-body);color:var(--ink-mid);margin:0;line-height:1.6}.body-sm{font-family:var(--font-sans);font-size:var(--size-body-sm);color:var(--ink-light);line-height:1.55}.pcard-body{font-family:var(--font-sans);font-size:var(--size-body-xs);color:var(--ink-mid);line-height:1.6}.project-title{font-family:var(--font-serif);font-size:var(--size-project-title);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:400;line-height:1.12}.work-title{font-family:var(--font-serif);font-size:var(--size-work-title);color:var(--ink);margin:0;font-weight:400;line-height:1.15}blockquote{font-family:var(--font-serif);font-size:var(--size-blockquote);letter-spacing:-.01em;color:var(--ink);margin:0;font-style:italic;font-weight:400;line-height:1.28}.caption{font-family:var(--font-mono);font-size:var(--size-caption);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}.tag{font-family:var(--font-mono);font-size:var(--size-caption);color:var(--tag-text);border:1px solid var(--rule-light);border-radius:3px;padding:5px 9px;display:inline-block}.lnk{font-family:var(--font-serif);font-size:var(--size-link);letter-spacing:-.01em;color:var(--navy);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .15s}.lnk:hover{border-color:var(--navy)}.metadata{font-family:var(--font-mono);font-size:var(--size-meta);letter-spacing:.04em;color:var(--warm-tan)}.metadata-faint{font-family:var(--font-mono);font-size:var(--size-meta);letter-spacing:.04em;color:var(--faint)}.subtitle{font-family:var(--font-serif);color:var(--ink-light);margin:0;font-size:16px;font-style:italic;line-height:1.5}.work-role{font-family:var(--font-mono);letter-spacing:.04em;color:#736e62;font-size:11px}.work-date{font-family:var(--font-mono);color:var(--navy);font-size:11px}.work-date.muted{color:var(--faint)}.divider{background:var(--rule);height:1px;margin:4px 0 26px}.text-muted{color:var(--muted)}.text-faint{color:var(--faint)}html,body{margin:0;padding:0}.pcard[data-astro-cid-lcdefpme]{transition:transform .2s}.pcard[data-astro-cid-lcdefpme]:hover{transform:translateY(-2px)}
