:root{--paper:#f4f2ec;--ink:#282b25;--muted:#707266;--line:#d9d9cf;--orange:#b9512e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--orange);outline-offset:4px}aside{position:fixed;left:0;top:0;bottom:0;width:244px;border-right:1px solid var(--line);padding:35px 24px 20px;overflow-y:auto;background:var(--paper);z-index:3}.wordmark{display:block;font-size:38px;font-weight:700;letter-spacing:-2px;margin-bottom:38px}.wordmark span{display:block;font-size:9px;letter-spacing:2px;font-weight:400;margin-top:12px;color:var(--muted)}nav{display:flex;flex-direction:column;gap:3px}nav a{font-size:12px;padding:9px 12px;border-left:2px solid transparent;line-height:1.3}nav a:hover{background:#e9e7df}nav a.active{background:#e9e5da;border-color:var(--orange);color:var(--orange)}nav a.parent{font-weight:700;font-size:13px;margin-top:14px}nav a.child{padding-left:25px;color:var(--muted)}nav a.child.active{color:var(--orange)}.sidebar-foot{border-top:1px solid var(--line);margin-top:30px;padding:20px 10px;font-size:11px;line-height:1.8}.sidebar-foot span{color:var(--muted)}#menu{display:none}main{margin-left:244px;padding:45px 5%;min-height:100vh}.topline{display:flex;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:1.8px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--orange);margin:45px 0 20px}h1{font-size:clamp(44px,5.6vw,82px);line-height:1.04;font-weight:400;letter-spacing:-3px;margin:0 0 28px;max-width:950px}h1 em{font:italic 1em Georgia,serif;color:var(--orange)}.intro{font-size:18px;line-height:1.7;max-width:710px;color:#595e51}.archive-note{font-size:11px;line-height:1.7;color:var(--muted);border-left:2px solid var(--orange);padding:8px 15px;margin:28px 0}.home-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:start;margin-top:40px}.portrait{width:100%;max-height:570px;object-fit:contain;object-position:top;background:#e7e4db}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:45px}.home-link{padding:22px 0;border-top:1px solid var(--line);font-size:23px;display:flex;justify-content:space-between}.home-link span{color:var(--orange)}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin:48px 0 25px;border-top:1px solid var(--line);padding-top:22px}.section-title h2{font-size:25px;font-weight:400;letter-spacing:-.6px;margin:0}.section-title span{font-size:10px;letter-spacing:1px;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}.gallery figure{margin:0;min-width:0}.gallery button{display:block;width:100%;border:0;padding:0;background:#e8e6df;position:relative;overflow:hidden}.gallery img{width:100%;height:310px;object-fit:contain;display:block;transition:transform .3s}.gallery button:hover img{transform:scale(1.02)}.gallery button:after{content:'↗';position:absolute;right:10px;bottom:10px;background:var(--paper);padding:8px 12px}.gallery figcaption{font-size:11px;line-height:1.6;padding:12px 0;color:var(--muted)}.gallery figure.wide{grid-column:1/-1}.gallery figure.wide img{height:auto;max-height:650px}.prose{line-height:1.8;max-width:850px;font-size:15px}.prose p{margin:15px 0}.category-links{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.category-links a{font-size:22px;padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.category-links span{color:var(--orange)}.project-link{display:inline-block;padding:13px 20px;background:var(--ink);color:white;margin:10px 0 25px;font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;margin-top:65px;font-size:9px;letter-spacing:1px;color:var(--muted)}dialog{border:1px solid #555;background:#181a16;color:white;width:95vw;max-width:1600px;max-height:95vh;padding:20px}dialog::backdrop{background:#000c}.toolbar{display:flex;justify-content:space-between;gap:20px;font-size:12px;align-items:center}.toolbar button{border:0;padding:10px 17px}dialog img{width:100%;height:75vh;object-fit:contain}dialog>a{display:block;text-align:center;font-size:12px;text-decoration:underline;padding:10px}@media(max-width:1000px){aside{width:210px;padding:28px 16px}main{margin-left:210px;padding:35px 4%}.gallery img{height:240px}.home-grid{grid-template-columns:1fr;gap:25px}.portrait{max-height:420px}.home-grid>div:last-child{max-width:430px}h1{font-size:55px}}@media(max-width:600px){aside{position:relative;width:100%;padding:22px;border-right:0;border-bottom:1px solid var(--line)}.wordmark{font-size:34px;margin-bottom:24px}.wordmark span{display:inline;font-size:8px;letter-spacing:1.3px;margin-left:18px}#menu{display:flex;justify-content:space-between;width:100%;border:0;border-top:1px solid var(--line);padding:15px 0 0;background:none;font-size:12px}nav{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px}nav[hidden]{display:none}nav a{padding:8px;font-size:11px}nav a.parent{margin-top:0}nav a.child{padding-left:15px}.sidebar-foot{display:none}main{margin-left:0;padding:28px 6%}.topline{font-size:8px}.eyebrow{margin-top:35px}h1{font-size:48px;letter-spacing:-2px}.intro{font-size:16px}.gallery{grid-template-columns:1fr}.gallery img{height:auto;max-height:500px}.home-links,.category-links{grid-template-columns:1fr 1fr}.home-link,.category-links a{font-size:18px}footer{flex-direction:column}.prose{font-size:14px}}@media(prefers-reduced-motion:reduce){.gallery img{transition:none}}
.home-actions{display:flex;align-items:center;gap:30px;margin:25px 0 40px}.home-actions .project-link{margin:0}.underlined{font-size:12px;text-decoration:underline;text-underline-offset:5px}.professional-band{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:28px;background:#e9e6dc;padding:30px;margin:45px 0 55px}.professional-band span{font-size:9px;letter-spacing:1.3px;color:var(--muted);display:block;margin-bottom:15px}.professional-band strong{font-size:18px;font-weight:400;line-height:1.4;display:block}.academic-intro{font-size:16px;max-width:650px}.academic-label{font-size:10px;letter-spacing:1.1px;color:var(--muted);margin:22px 0;line-height:1.7}.profile-heading{border-top:1px solid var(--line);padding-top:35px;margin-top:35px}.profile-heading h2{font-size:38px;font-weight:400;letter-spacing:-1px;margin:16px 0 10px}.profile-heading p{color:var(--muted)}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.career-block{border-top:1px solid var(--line);padding:25px 0}.career-block .eyebrow{margin:0}.career-block h3{font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.5px;margin:18px 0 12px}.career-block p{font-size:14px;line-height:1.8;color:var(--muted)}.career-block .small{font-size:13px}.profile-source{font-size:11px;line-height:1.8;color:var(--muted);margin:20px 0 50px}.profile-source a{text-decoration:underline}@media(max-width:850px){.professional-band{grid-template-columns:1fr;padding:25px;gap:25px}.career-grid{grid-template-columns:1fr;gap:10px}}@media(max-width:600px){.home-actions{gap:20px}.home-actions a{font-size:11px}}
.home-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,32%);align-items:center;gap:35px;padding-top:35px}.home-profile h1{font-size:clamp(42px,4.4vw,68px);letter-spacing:-2px}.home-profile .eyebrow{margin-top:0}.home-profile .intro{font-size:16px}.home-headshot{width:100%;height:auto;border-radius:50%;display:block}.home-profile .home-actions{gap:20px;margin-bottom:0}.profile-heading{display:flow-root}.about-headshot{float:right;width:160px;height:auto;border-radius:50%;margin:0 0 20px 30px}@media(max-width:1000px){.home-profile{grid-template-columns:1fr;gap:30px}.home-headshot{width:260px;grid-row:1}.home-profile h1{font-size:55px}}@media(max-width:600px){.home-profile{padding-top:28px}.home-headshot{width:210px}.home-profile h1{font-size:46px}.about-headshot{width:115px;margin-left:15px}.profile-heading h2{font-size:30px}}
