:root{--paper:#f2eee5;--sidebar:#dedfcf;--ink:#30372d;--muted:#626657;--rust:#7d492e;--rule:#c5c5b7;--serif:Georgia, "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--rust)}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rust);outline-offset:6px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}button{cursor:pointer}[hidden]{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{color:#fff;transform:translateY(0)}.site-shell{grid-template-columns:248px minmax(0,1fr);max-width:1240px;min-height:100vh;margin-inline:auto;display:grid}.identity-sidebar{background:var(--sidebar);padding:58px 34px 36px}.identity-inner{flex-direction:column;align-items:flex-start;min-height:calc(100vh - 94px);display:flex}.monogram{font:78px/.95 var(--serif);letter-spacing:-7px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);margin-bottom:36px;padding:16px 8px 17px 0;text-decoration:none}.monogram span{color:var(--rust)}.identity-name{font:28px/1.2 var(--serif);letter-spacing:-.6px;text-decoration:none}.identity-description{color:var(--muted);margin:15px 0 40px;font-size:14px;line-height:1.7}.identity-sidebar nav{flex-direction:column;gap:7px;width:100%;display:flex}.identity-sidebar nav a{justify-content:space-between;padding:11px 0;font-size:14px;text-decoration:none;display:flex}.identity-sidebar nav a[aria-current=page]{font-weight:700}.identity-sidebar nav span{color:var(--rust)}.identity-footnote{font:14px/1.8 var(--serif);color:var(--muted);margin-top:auto;padding-top:65px}.profile-links{font:12px/1.6 var(--sans);flex-wrap:wrap;gap:15px;margin-top:20px;display:flex}.reading-column{flex-direction:column;min-width:0;padding:60px clamp(26px,5vw,72px) 0;display:flex}main{outline:none;flex:1;min-width:0}.site-footer{border-top:1px solid var(--rule);color:var(--muted);justify-content:space-between;gap:20px;margin-top:62px;padding:22px 0 30px;font-size:12px;display:flex}.section-label{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-size:12px;line-height:1.5}h1{letter-spacing:-2.5px;max-width:14ch;font-size:clamp(42px,5.1vw,64px);line-height:1.07}.home-intro h1{margin:24px 0}.home-intro h1 em{color:var(--rust);font-weight:400}.lede{font:18px/1.75 var(--serif);max-width:58ch}.home-intro .intro-links{gap:24px;margin-top:26px;font-size:13px;display:flex}.home-section{margin-top:52px}.section-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{letter-spacing:-.7px;font-size:29px}.section-heading>a{white-space:nowrap;font-size:12px}.entry-kicker{color:var(--muted);font-size:12px;line-height:1.7}.draft-badge{vertical-align:middle;color:#694721;font:10px/1.6 var(--sans);background:#e7dac7;border:1px solid #cdb695;border-radius:3px;margin-left:10px;padding:1px 6px;display:inline-block}.draft-note{color:#694721;background:#ece3d3;border-left:2px solid #b49466;margin-bottom:26px;padding:8px 13px;font-size:12px;line-height:1.7}.career-summary{border-top:1px solid var(--rule);grid-template-columns:106px 1fr;gap:21px;padding:23px 0;display:grid}.entry-dates{color:var(--muted);padding-top:3px;font-size:11px;line-height:1.7}.summary-title{letter-spacing:-.5px;margin:7px 0 10px;font-size:25px;line-height:1.23}.summary-title a{text-decoration:none}.summary-title a:hover{text-decoration:underline}.career-summary p,.project-summary p{color:var(--muted);max-width:58ch;font-size:14px;line-height:1.75}.project-summary{border-top:1px solid var(--rule);padding:24px 0}.project-summary.has-cover{grid-template-columns:160px minmax(0,1fr);align-items:start;gap:24px;display:grid}.project-cover img{object-fit:cover;width:100%;height:150px}.about-invitation{border-top:1px solid var(--rule);font:17px/1.75 var(--serif);margin-top:42px;padding-top:25px}.about-invitation a{color:var(--rust)}.page-heading{margin-bottom:36px}.page-heading h1{margin:14px 0 20px}.page-heading p{font:17px/1.75 var(--serif);max-width:55ch}.empty-state{border-top:1px solid var(--rule);font:17px/1.8 var(--serif);color:var(--muted);padding:26px 0}.back-link{margin-bottom:36px;font-size:12px;display:inline-block}.detail-header{border-bottom:1px solid var(--rule);margin-bottom:34px;padding-bottom:28px}.detail-header h1{max-width:19ch;margin:15px 0 20px;font-size:clamp(36px,4.4vw,53px)}.detail-header .lede{font-size:17px}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:12px;display:flex}.cover-figure{margin:28px 0 36px}.cover-figure img{object-fit:contain;width:100%;max-height:600px}.prose{font:17px/1.85 var(--serif);overflow-wrap:anywhere;max-width:68ch}.prose p{margin-bottom:1.35em}.prose h2{letter-spacing:-.6px;margin:1.6em 0 .65em;font-size:29px;line-height:1.3}.prose h3{margin:1.5em 0 .6em;font-size:23px;line-height:1.4}.prose h2:first-child{margin-top:0}.prose ul,.prose ol{margin:0 0 1.5em;padding-left:1.4em}.prose li{margin-bottom:.5em}.prose img{max-width:100%;height:auto;margin:26px auto}.prose pre{border:1px solid var(--rule);max-width:100%;padding:20px;font:13px/1.7 monospace;overflow-x:auto}.prose code{font-size:.85em}.prose blockquote{border-left:2px solid var(--rust);color:var(--muted);margin:20px 0;padding-left:22px}.prose table{border-collapse:collapse;max-width:100%;font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--rule);text-align:left;padding:8px 13px}.filter-controls{margin:0 0 28px}.filter-buttons{flex-wrap:wrap;gap:9px;display:flex}.filter-buttons button{color:var(--ink);background:0 0;border:1px solid #a9ad9a;border-radius:2px;min-height:38px;padding:9px 13px;font-size:12px}.filter-buttons button[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.result-count{color:var(--muted);margin-top:13px;font-size:12px}.public-links{flex-wrap:wrap;gap:20px;margin-top:30px;display:flex}.error-page h1{max-width:18ch}.error-page .intro-links{gap:24px;margin-top:26px;font-size:14px;display:flex}@media (width>=761px) and (height>=720px){.identity-inner{min-height:calc(100vh - 94px);max-height:calc(100vh - 72px);position:sticky;top:36px}}@media (width<=1000px){.site-shell{grid-template-columns:210px minmax(0,1fr)}.identity-sidebar{padding-inline:26px}.reading-column{padding-inline:34px}.career-summary{grid-template-columns:1fr;gap:7px}.project-summary.has-cover{grid-template-columns:125px minmax(0,1fr);gap:20px}.project-cover img{height:125px}}@media (width<=760px){.site-shell{display:block}.identity-sidebar{padding:23px 24px}.identity-inner{min-height:0;display:block}.monogram,.identity-footnote{display:none}.identity-name{font-size:26px}.identity-description{margin:7px 0 16px;font-size:12px}.identity-description br{display:none}.identity-sidebar nav{flex-flow:wrap;gap:24px}.identity-sidebar nav a{padding:6px 0;font-size:13px}.identity-sidebar nav span{display:none}.reading-column{padding:34px 24px 0}h1{letter-spacing:-1.9px;font-size:46px}.home-intro h1{margin-top:20px}.lede{font-size:17px}.home-section{margin-top:38px}.section-heading{gap:15px}.section-heading h2{font-size:26px}.summary-title{font-size:23px}.project-summary.has-cover{grid-template-columns:100px minmax(0,1fr);gap:17px}.project-cover img{height:115px}.site-footer{margin-top:45px}.detail-header h1{font-size:38px}.draft-badge{margin-left:7px}}@media (width<=380px){.project-summary.has-cover{grid-template-columns:1fr}.project-cover img{height:200px}.section-heading{flex-direction:column;align-items:flex-start;gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
