:root{--paper:#faf9f7;--ink:#1a1917;--ink-quiet:#57534e;--rule:#dedbd5;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--measure-text:34rem;--measure-plate:75rem;--gutter:1.5rem;--plate-gap:7rem}@media (width>=48rem){:root{--gutter:3rem;--plate-gap:10rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.18em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--rule)}a:hover,a:focus-visible{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:500;line-height:1.25}p{margin:0 0 1.1em}p:last-child{margin-bottom:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--ink);color:var(--paper);z-index:10;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.shell{width:100%;max-width:var(--measure-plate);padding-inline:var(--gutter);margin-inline:auto}.prose{max-width:var(--measure-text)}.prose h2{margin-top:2.5rem;margin-bottom:.5rem;font-size:1rem}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem 2rem;padding-top:2.5rem;padding-bottom:3.5rem;display:flex}.wordmark{letter-spacing:.02em;font-size:1rem;font-weight:500;text-decoration:none}.wordmark:hover,.wordmark:focus-visible{text-underline-offset:.18em;text-decoration:underline 1px}.site-nav{flex-wrap:wrap;gap:1.4rem;font-size:.875rem;display:flex}.site-nav a{color:var(--ink-quiet);text-decoration:none}.site-nav a:hover,.site-nav a:focus-visible{color:var(--ink);text-underline-offset:.18em;text-decoration:underline 1px}.site-nav a[aria-current=page]{color:var(--ink)}.site-footer{border-top:1px solid var(--rule);color:var(--ink-quiet);flex-wrap:wrap;justify-content:space-between;gap:.4rem 2rem;margin-top:8rem;padding-top:2rem;padding-bottom:4rem;font-size:.8125rem;display:flex}.page-head{max-width:var(--measure-text);margin-bottom:4rem}.page-head h1{font-size:1.5rem}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-quiet);margin:0 0 .75rem;font-size:.75rem}.project-list{margin:0;padding:0;list-style:none}.project-group+.project-group{margin-top:5rem}.project-group>.label{border-bottom:1px solid var(--rule);padding-bottom:.75rem}.project-item{border-bottom:1px solid var(--rule)}.project-item>a{max-width:var(--measure-text);padding:2rem 0;text-decoration:none;display:block}.project-item h3{font-size:1.375rem;display:inline}.project-item>a:hover h3,.project-item>a:focus-visible h3{text-underline-offset:.18em;text-decoration:underline 1px}.project-item .excerpt{color:var(--ink-quiet);margin:.6rem 0 0}.project-meta{color:var(--ink-quiet);margin:.6rem 0 0;font-size:.8125rem}.project-meta>*+:before,.project-meta-inline>*+:before{content:"·";margin:0 .5em}.plates{margin-top:5rem}.plate{margin:0}.plate+.plate{margin-top:var(--plate-gap)}.plate img{width:100%}.plate figcaption{color:var(--ink-quiet);max-width:var(--measure-text);margin-top:.9rem;font-size:.8125rem;line-height:1.5}.plate .caption-text{color:var(--ink);display:block}.plate .record{display:block}.plate .record>*+:before{content:"·";margin:0 .5em}.cv-section{max-width:var(--measure-text);margin-top:3.5rem}.cv-section h2{border-bottom:1px solid var(--rule);padding-bottom:.6rem;font-size:1rem}.cv-list{margin:0;padding:0;font-size:.9375rem;list-style:none}.cv-list li{border-bottom:1px solid var(--rule);grid-template-columns:4.5rem 1fr;gap:0 1rem;padding:.7rem 0;display:grid}.cv-list .year{color:var(--ink-quiet);font-variant-numeric:tabular-nums}.cv-empty{color:var(--ink-quiet);padding-top:.9rem;font-size:.9375rem}.contact-list{max-width:var(--measure-text);margin:0}.contact-list>div{border-bottom:1px solid var(--rule);padding:1.2rem 0}.contact-list dt{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-quiet);margin-bottom:.3rem;font-size:.75rem}.contact-list dd{margin:0}
