:root{--paper:#f5f7f4;--surface:#fcfdfb;--ink:#202724;--muted:#5f6964;--rule:#d4dbd6;--accent:#41675c;--accent-dark:#294c43;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.04rem;line-height:1.68}a{color:var(--accent-dark);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.17;margin-top:0}h1{font-size:clamp(2.65rem,7vw,5.4rem);letter-spacing:-.045em}h2{font-size:clamp(1.65rem,3vw,2.4rem);letter-spacing:-.02em}h3{font-size:1.22rem}p{margin:0 0 1.05rem}.shell{width:min(1120px,calc(100% - 3rem));margin-inline:auto}.skip-link{position:absolute;top:-5rem;left:1rem;background:var(--ink);color:white;padding:.7rem 1rem;z-index:10}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid var(--rule);background:rgba(246,243,237,.97)}.masthead{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.identity{text-decoration:none;color:var(--ink);display:flex;flex-direction:column}.identity span{font-family:var(--serif);font-size:1.35rem}.identity small{color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.primary-nav{display:flex;gap:1.55rem;flex-wrap:wrap}.primary-nav a{text-decoration:none;color:var(--muted);font-size:.9rem;letter-spacing:.03em;padding:.35rem 0;border-bottom:1px solid transparent}.primary-nav a.active,.primary-nav a:hover{color:var(--ink);border-color:var(--accent)}.page-content{min-height:65vh;padding-block:5rem 7rem}.site-footer{border-top:1px solid var(--rule);color:var(--muted);font-size:.84rem}.footer-inner{padding-block:2rem;display:flex;justify-content:space-between;gap:2rem}.footer-inner p{margin:0}.eyebrow,.status-line{color:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(3rem,8vw,8rem);align-items:end;padding:2rem 0 6rem}.hero h1{margin:.3rem 0 .75rem}.role{font-family:var(--serif);font-size:clamp(1.2rem,2.5vw,1.55rem);color:var(--muted)}.statement{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.75rem);max-width:760px;margin-top:2.5rem}.text-links{display:flex;gap:1.5rem;margin-top:2rem}.portrait-placeholder{margin:0}.portrait-placeholder div{aspect-ratio:4/5;display:grid;place-items:center;border:1px solid var(--rule);background:var(--surface);font-family:var(--serif);font-size:3rem;color:var(--rule)}.portrait-placeholder figcaption{font-size:.72rem;color:var(--muted);margin-top:.65rem}.ruled-section{border-top:1px solid var(--rule);padding:3.5rem 0}.section-grid{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(3rem,8vw,8rem)}.section-grid h2{max-width:360px}.interest-summary article,.project-index article{padding-bottom:1.6rem;margin-bottom:1.6rem;border-bottom:1px solid var(--rule)}.interest-summary article:last-child,.project-index article:last-of-type{border:0}.interest-summary h3,.project-index h3{margin-bottom:.4rem}.page-intro{max-width:880px;padding-bottom:4rem;border-bottom:1px solid var(--rule);margin-bottom:4rem}.page-intro h1{font-size:clamp(2.7rem,6vw,4.75rem);margin:.5rem 0 1.5rem}.lead{font-family:var(--serif);font-size:1.35rem;color:var(--muted);max-width:780px}.prose-intro{max-width:760px;margin-bottom:4rem}.prose-intro>p,.prose-intro>h2~p{font-family:var(--serif);font-size:1.2rem}.theme-list article{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,6rem);padding:3rem 0;border-top:1px solid var(--rule)}.theme-number{display:block;color:var(--muted);font-size:.8rem;margin-bottom:1rem}.theme-list h3,.experience-list h3{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.theme-list li,.experience-list li{margin-bottom:.75rem}.note-block{background:var(--surface);border-left:3px solid var(--accent);padding:2rem 2.5rem;margin-top:4rem;max-width:850px}.note-block h2{font-size:1.55rem}.publication-group{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding:2.5rem 0;border-top:1px solid var(--rule)}.publication-list{list-style:none;padding:0;margin:0}.publication-list li{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--rule)}.publication-list h3{font-size:1.35rem;margin-bottom:.45rem}.publication-list p{margin:.25rem 0}.venue,.empty-note{color:var(--muted);font-style:italic}.status{display:inline-block;margin-top:.65rem;color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.record-links{display:flex;gap:1rem;margin-top:.75rem;font-size:.9rem}.project-list>article{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding:3.5rem 0;border-top:1px solid var(--rule);scroll-margin-top:2rem}.project-details{margin:0}.project-details>div{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule)}dt{font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}dd{margin:0}.experience-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}.experience-list article{padding:2.5rem 3rem 2.5rem 0;border-bottom:1px solid var(--rule)}.experience-list article:nth-child(even){border-left:1px solid var(--rule);padding-left:3rem}.cv-layout{display:grid;grid-template-columns:280px 1fr;gap:clamp(3rem,8vw,7rem)}.cv-layout aside{border-right:1px solid var(--rule);padding-right:2rem}.cv-layout section{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--rule)}.download-unavailable{margin-top:2rem;border:1px solid var(--rule);padding:1rem;display:flex;flex-direction:column}.download-unavailable span{color:var(--muted);font-size:.85rem}ul{padding-left:1.2rem}
@media(max-width:760px){.shell{width:min(100% - 2rem,1120px)}.masthead{display:block;padding-block:1.25rem}.primary-nav{margin-top:1.1rem;gap:.45rem 1.1rem}.page-content{padding-block:3rem 5rem}.hero{grid-template-columns:1fr;padding-bottom:4rem}.portrait-placeholder{max-width:180px;grid-row:1}.section-grid,.theme-list article,.publication-group,.project-list>article,.cv-layout{grid-template-columns:1fr;gap:1.5rem}.project-details>div{grid-template-columns:1fr;gap:.35rem}.experience-list{grid-template-columns:1fr}.experience-list article:nth-child(even){border-left:0;padding-left:0}.cv-layout aside{border-right:0;border-bottom:1px solid var(--rule);padding:0 0 2rem}.footer-inner{display:block}.footer-inner p+p{margin-top:.5rem}}
@media print{.site-header,.site-footer,.text-links,.portrait-placeholder{display:none}.page-content{padding:0}.shell{width:100%}body{background:white;color:black;font-size:10.5pt}a{color:black;text-decoration:none}.page-intro{margin-bottom:2rem;padding-bottom:1.5rem}.project-list>article,.theme-list article{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.affiliation{color:var(--muted);max-width:620px}.profile-links{display:flex;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:2rem}.authors a{color:inherit}.year{font-size:.85rem;color:var(--muted);margin-right:.75rem}.inline-list{display:inline-block;margin:0 1rem .4rem 0}.related-output{display:block;margin-bottom:.6rem}.trajectory{max-width:840px;margin-bottom:4rem}.trajectory>p:first-of-type{font-family:var(--serif);font-size:1.2rem}.disclaimer,.institution-note{color:var(--muted);font-size:.9rem;border-left:2px solid var(--rule);padding-left:1rem}.system-list>.system-case{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding:3.5rem 0;border-top:1px solid var(--rule)}.system-case .research-relevance{background:var(--surface);padding:1.25rem;margin-top:.5rem}.additional-systems{margin-top:5rem;border-top:2px solid var(--ink);padding-top:2rem}.additional-systems>article,.career-list>article{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:1.6rem 0;border-top:1px solid var(--rule)}.additional-systems h3,.career-list h3{margin-bottom:.25rem}.research-link{color:var(--muted);font-family:var(--serif)}.career-list{margin:4rem 0}.career-list>h2{margin-bottom:2rem}.period{color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.institution-note{max-width:850px;margin-bottom:3rem}.collaborator-list>article{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding:3rem 0;border-top:1px solid var(--rule);scroll-margin-top:2rem}.collaborator-title,.relationship{color:var(--accent);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.collaborator-list h3{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:1.5rem 0 .45rem}.download-link{display:block;border-top:1px solid var(--rule);padding-top:1.25rem;margin-top:2rem}
@media(max-width:760px){.system-list>.system-case,.additional-systems>article,.career-list>article,.collaborator-list>article{grid-template-columns:1fr;gap:1rem}.primary-nav{font-size:.9rem}}
.portrait{margin:0}.portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 38%;border:1px solid var(--rule);filter:saturate(.82) contrast(.98)}.portrait figcaption{font-size:.72rem;color:var(--muted);margin-top:.65rem}@media(max-width:760px){.portrait{max-width:180px;grid-row:1}}@media print{.portrait{display:none}}
.hero{grid-template-columns:minmax(0,1fr) 190px;align-items:start}.portrait{width:190px;align-self:start;margin-top:1.5rem}.portrait img{width:190px;height:190px;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:50% 24%;border:4px solid var(--surface);outline:1px solid var(--rule);box-shadow:0 0 0 7px var(--paper)}@media(max-width:760px){.hero{grid-template-columns:1fr}.portrait{width:132px;margin:0 0 .75rem 7px}.portrait img{width:132px;height:132px;border-width:3px;box-shadow:0 0 0 5px var(--paper)}}
.identity{flex-direction:row;align-items:center;gap:1rem}.identity img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 24%;border:3px solid var(--surface);outline:1px solid var(--rule)}.hero{display:block;max-width:900px}.role-title{font-size:clamp(2.25rem,5vw,4.3rem);margin:0 0 1.25rem;max-width:900px}.hero .statement{max-width:820px}@media(max-width:760px){.identity{gap:.75rem}.identity img{width:48px;height:48px}.role-title{font-size:clamp(2rem,10vw,3rem)}}
.site-header{background:rgba(245,247,244,.97)}
.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-family:var(--serif);font-size:1.1rem}.view-cv{margin-top:.75rem;font-size:.9rem}
