:root{--ink:#142c3d;--muted:#536774;--paper:#fff;--subtle:#f2f5f6;--line:#dce3e6;--accent:#9e3444;--teal:#176b70;--dark:#142f40;--serif:Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.7 var(--sans);color:var(--ink);background:var(--paper)}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}img{max-width:100%;display:block}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ce8f33;outline-offset:5px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.17}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5vw,4.7rem)}h2{font-size:clamp(2rem,3.2vw,3.1rem)}h3{font-size:1.25rem;line-height:1.4}p{margin-bottom:1.2rem}small{font-size:.82rem}.wrap{width:min(1216px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;left:10px;top:-100px;background:white;z-index:100;padding:10px}.skip:focus{top:10px}.review-strip{background:var(--dark);color:#dce8ed;font-size:.78rem;letter-spacing:.04em;display:flex;justify-content:center;gap:16px;padding:6px 20px}.review-strip a{color:#fff}.header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:94px;gap:22px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:600;line-height:1.3}.monogram{display:grid;place-items:center;width:45px;height:45px;background:var(--accent);color:#fff;font:22px var(--serif)}.brand small{display:block;font-weight:400;font-size:.72rem;letter-spacing:.09em;color:var(--muted);margin-top:4px;text-transform:uppercase}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:.9rem;text-decoration:none;padding:10px 0;border-bottom:2px solid transparent}.nav a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:6px 13px;border-radius:3px;color:var(--ink)}.eyebrow{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:var(--teal);margin-bottom:22px}.hero{display:grid;grid-template-columns:1fr .67fr;gap:88px;align-items:center;padding:72px 0 66px}.hero h1{margin:0 0 18px}.hero .position{font-size:1.05rem;font-weight:600;color:var(--accent);margin-bottom:22px}.hero .lead{font-size:1.2rem;max-width:620px;line-height:1.65;color:var(--muted)}.hero-portrait{padding:14px;border:1px solid #adc4c9;background:var(--paper)}.hero-portrait figure{position:relative;margin:0;background:var(--subtle)}.hero-portrait img{width:100%;height:auto;object-fit:contain;object-position:center}.portrait-caption{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;padding:12px 17px;background:var(--dark);color:#fff;font-size:.74rem;letter-spacing:.04em}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 21px;border:1px solid var(--ink);text-decoration:none;font-size:.9rem;font-weight:550;background:var(--ink);color:#fff;border-radius:2px;line-height:1.4}.button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.button.secondary{background:transparent;color:var(--ink);border-color:#b6c3ca}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.profile-links{display:flex;flex-wrap:wrap;gap:23px;margin-top:25px;font-size:.83rem}.profile-links a{color:var(--muted);text-decoration:none;border-bottom:1px solid #bac9cf}.metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0}.metric{padding:0 30px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric strong{font:2.65rem var(--serif);display:block}.metric span{font-size:.82rem;color:var(--muted)}.metric-note{font-size:.72rem;color:var(--muted);padding-top:12px}.section{padding:76px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.section-head h2{margin-bottom:0}.section-head .eyebrow{margin-bottom:10px}.text-link{color:var(--teal);font-size:.88rem;white-space:nowrap}.themes{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.theme{border-top:2px solid var(--teal);padding-top:22px}.theme .num{font:1rem var(--serif);color:var(--accent);margin-bottom:26px;display:block}.theme h3{font:1.65rem/1.22 var(--serif)}.theme p{color:var(--muted);font-size:.95rem}.theme a{font-size:.84rem}.dark-section{background:var(--dark);color:white}.dark-section .eyebrow{color:#9cd5d0}.dark-section .text-link{color:#d7e8eb}.project-feature{display:grid;grid-template-columns:160px 1fr 220px;gap:40px;border-top:1px solid #3e5665;padding:29px 0;align-items:start}.project-feature .name{font:1.65rem var(--serif);color:white;text-decoration:none}.project-feature h3{font-weight:500;font-size:1.15rem;margin-bottom:8px}.project-feature p{color:#b9cbd5;font-size:.9rem;margin:0}.project-feature .role{text-align:right;font-size:.82rem;color:#b9cbd5}.role strong{display:block;color:inherit;font-weight:600}.role small{display:block;margin-top:8px}.pub-list{border-top:1px solid var(--line)}.pub-row{display:grid;grid-template-columns:67px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.pub-year{font-family:var(--serif);font-size:1.4rem;color:var(--muted)}.pub-row h3{font:1.25rem/1.4 var(--serif);margin:7px 0 10px;letter-spacing:0}.pub-row h3 a{text-decoration:none}.pub-meta{font-size:.74rem;color:var(--teal);text-transform:uppercase;letter-spacing:.06em}.pub-authors{font-size:.85rem;color:var(--muted);margin-bottom:8px}.pub-venue{font-size:.88rem;margin-bottom:10px}.pub-actions{display:flex;flex-wrap:wrap;gap:20px;font-size:.8rem}.pub-actions a{color:var(--teal)}.pub-detail{margin-top:12px}.pub-detail summary{font-size:.84rem;color:var(--teal);cursor:pointer;width:fit-content}.pub-detail-body{margin-top:15px;background:var(--subtle);padding:20px;font-size:.9rem}.pub-detail-body p:last-child{margin-bottom:0}.pub-detail-body dl{margin:0 0 12px}.pub-detail-body dt{font-weight:600;float:left;margin-right:7px}.pub-detail-body dd{margin-left:0;overflow-wrap:anywhere}.callout{background:var(--subtle);padding:40px 46px;display:flex;align-items:center;justify-content:space-between;gap:40px}.callout h2{font-size:2rem;margin-bottom:8px}.callout p{margin:0;color:var(--muted)}.footer{border-top:1px solid var(--line);margin-top:30px;padding:38px 0 28px;font-size:.83rem;color:var(--muted)}.footer-top{display:flex;justify-content:space-between;gap:35px}.footer strong{font-family:var(--serif);font-size:1.2rem;color:var(--ink);font-weight:400}.footer nav{display:flex;flex-wrap:wrap;gap:22px}.footer-bottom{font-size:.73rem;margin-top:26px;display:flex;justify-content:space-between;gap:20px}.page-intro{padding:62px 0 44px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(2.6rem,4vw,3.8rem);margin-bottom:22px}.page-intro .lead{font-size:1.12rem;color:var(--muted);max-width:800px;margin-bottom:0}.page-intro .eyebrow{margin-bottom:18px}.filters{display:flex;gap:16px;align-items:end;padding:27px 0;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;font-weight:600}.filters .search-field{flex:1;min-width:220px}.filters input,.filters select{padding:11px 13px;min-height:47px;border:1px solid #b8c8ce;border-radius:2px;background:#fff;color:var(--ink);font-size:.9rem}.filter-count{font-size:.82rem;color:var(--muted);display:flex;justify-content:space-between;gap:20px;padding-bottom:18px}.empty{padding:44px;background:var(--subtle);text-align:center}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-card{border:1px solid var(--line);padding:32px;position:relative;display:flex;flex-direction:column}.project-card.director{border-top:3px solid var(--accent)}.project-card .eyebrow{margin-bottom:15px}.project-card h2{font-size:2rem;margin-bottom:12px}.project-card h2 a{text-decoration:none}.project-card h3{font-size:1rem;font-weight:500;color:var(--muted);margin-bottom:19px}.project-card p{font-size:.92rem}.project-card .project-meta{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:auto;display:flex;justify-content:space-between;gap:15px}.project-card .text-link{display:inline-block;margin-top:18px}.project-detail{display:grid;grid-template-columns:1fr 310px;gap:65px;align-items:start}.prose{max-width:810px}.prose h2{font-size:2rem;margin:38px 0 18px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:var(--muted)}.prose li{margin-bottom:12px}.prose ul{padding-left:22px}.fact-panel{background:var(--subtle);padding:28px;font-size:.88rem;border-top:3px solid var(--teal)}.fact-panel dt{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:650;color:var(--teal);margin-bottom:4px}.fact-panel dd{margin:0 0 22px;overflow-wrap:anywhere}.fact-panel dd:last-child{margin-bottom:0}.breadcrumb{font-size:.83rem;color:var(--muted);padding-top:30px}.timeline-row{display:grid;grid-template-columns:220px 1fr;gap:35px;border-top:1px solid var(--line);padding:28px 0}.timeline-row .date{font-size:.88rem;color:var(--teal)}.timeline-row h3{font-size:1.2rem;margin-bottom:7px}.timeline-row .org{color:var(--accent);font-size:.92rem;margin-bottom:10px}.timeline-row p{color:var(--muted);font-size:.94rem;margin-bottom:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px}.two-col h2{font-size:2.3rem}.affiliations{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;margin-top:24px}.affiliations>div{min-width:0}.society-label{font-size:.85rem;font-weight:600;margin:18px 0 7px}.society-list{padding-left:20px;margin:0;font-size:.85rem;color:var(--muted)}.society-list li{margin-bottom:7px}.affiliations strong{display:block;font:1.6rem var(--serif)}.affiliations span{font-size:.86rem;color:var(--muted)}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:26px}.course{background:var(--subtle);padding:30px;border-top:2px solid var(--teal)}.course h3{font:1.5rem var(--serif);margin-bottom:14px}.course p{font-size:.94rem;color:var(--muted);margin:0}.course small{display:block;color:var(--accent);margin-bottom:17px}.bar-chart{display:flex;gap:8px;align-items:end;height:145px;margin:34px 0 20px;padding-bottom:25px;border-bottom:1px solid var(--line)}.bar-wrap{height:100%;flex:1;display:flex;align-items:center;justify-content:end;flex-direction:column;position:relative}.bar{width:100%;max-width:60px;background:var(--teal);min-height:4px}.bar-count{font-size:.72rem;line-height:1.4;margin-bottom:5px;color:var(--muted)}.bar-label{font-size:.72rem;position:absolute;bottom:-23px}.tag{font-size:.72rem;background:#e8f0f1;color:#17565e;padding:3px 8px;display:inline-block;margin:3px 5px 3px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-card{padding:30px 0;border-bottom:1px solid var(--line)}.contact-card h2{font:1.7rem var(--serif);margin-bottom:12px}.contact-card p{color:var(--muted)}.contact-card a{overflow-wrap:anywhere}.figure-note{font-size:.8rem;color:var(--muted)}.research-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);margin-top:24px}.research-flow div{padding:30px;border-right:1px solid var(--line);background:var(--subtle)}.research-flow div:last-child{border:0}.research-flow strong{font:1.45rem var(--serif);display:block;margin:12px 0}.research-flow span{font-size:.84rem;color:var(--muted)}[hidden]{display:none!important}.cv-page .review-strip,.cv-page .header,.cv-page .footer{display:none}.cv-page .page-intro{padding-top:48px}.cv-page .wrap{max-width:1000px}.cv-contact{font-size:.92rem;color:var(--muted)}.cv-page h1{font-size:2.8rem}.cv-page .section{padding:30px 0}.cv-page h2{font-size:1.9rem}.cv-page .timeline-row{padding:16px 0;grid-template-columns:180px 1fr}.cv-page .timeline-row p{font-size:.87rem}.top-link{font-size:.8rem}
@media(min-width:1450px){.hero{gap:115px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav{gap:17px}.brand .brand-name{display:none}.hero{gap:40px;grid-template-columns:1.15fr .85fr}.project-feature{grid-template-columns:130px 1fr 170px;gap:25px}.project-detail{gap:35px;grid-template-columns:1fr 280px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.review-strip{font-size:.7rem;gap:12px}.header-inner{min-height:74px}.brand .brand-name{display:block;font-size:.85rem}.brand small{font-size:.6rem}.monogram{width:37px;height:37px;font-size:19px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px;background:white;border-bottom:1px solid var(--line);box-shadow:0 6px 12px #0001;flex-wrap:wrap;gap:10px 24px}.nav.open{display:flex}.nav a{font-size:1rem}.hero{padding:40px 0;grid-template-columns:1fr;gap:35px}.hero h1{font-size:3.1rem}.hero .lead{font-size:1.06rem}.hero-portrait{max-width:390px;width:100%;margin-inline:auto}.hero .eyebrow{font-size:.68rem}.metrics{grid-template-columns:1fr 1fr;row-gap:25px}.metric,.metric:first-child{padding:0 15px}.metric:nth-child(2){border-right:0}.metric strong{font-size:2.25rem}.metric span{font-size:.75rem}.metric-note{font-size:.7rem}.section{padding:48px 0}.section-head{align-items:start;gap:16px;flex-direction:column}.themes{grid-template-columns:1fr;gap:27px}.theme .num{margin-bottom:13px}.theme h3{font-size:1.5rem}.project-feature{grid-template-columns:1fr;gap:12px;padding:25px 0}.project-feature .role{text-align:left}.role small{margin-top:3px}.project-grid,.course-list,.two-col,.contact-grid{grid-template-columns:1fr;gap:24px}.project-card{padding:24px}.project-card h2{font-size:1.8rem}.project-detail{grid-template-columns:1fr;gap:32px}.fact-panel{order:-1}.project-detail .fact-panel dl{display:grid;grid-template-columns:1fr}.pub-row{grid-template-columns:45px 1fr;gap:13px;padding:23px 0}.pub-year{font-size:1.15rem}.pub-row h3{font-size:1.12rem}.pub-authors{font-size:.82rem;overflow-wrap:anywhere}.pub-detail-body{padding:16px}.pub-actions{gap:13px}.page-intro{padding:42px 0 30px}.page-intro h1{font-size:2.6rem}.page-intro .lead{font-size:1rem}.filters{gap:12px}.filters label{flex:1;min-width:125px}.filters .search-field{min-width:100%}.filters select{max-width:100%;width:100%}.timeline-row,.cv-page .timeline-row{grid-template-columns:1fr;gap:9px;padding:23px 0}.timeline-row .date{font-size:.8rem}.callout{padding:30px;flex-direction:column;align-items:start;gap:20px}.callout .buttons{margin:0}.footer-top,.footer-bottom{flex-direction:column;gap:20px}.footer nav{gap:15px}.footer-bottom{margin-top:22px}.research-flow{grid-template-columns:1fr}.research-flow div{border-right:0;border-bottom:1px solid var(--line);padding:22px}.bar-chart{gap:5px}.bar-label{font-size:.6rem;transform:rotate(-45deg);bottom:-25px}.affiliations{grid-template-columns:1fr;gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media print{body{font-size:10pt;background:white}.header,.review-strip,.footer,.filters,.buttons,.menu-toggle,.no-print{display:none!important}.wrap{width:100%;max-width:none}.section{padding:16px 0}.page-intro{padding:20px 0}.timeline-row{break-inside:avoid}.pub-row{break-inside:avoid}.project-card{break-inside:avoid}h1{font-size:30pt}h2{font-size:22pt}a{text-decoration:none}.dark-section{background:white;color:var(--ink)}.dark-section *{color:var(--ink)!important}.cv-page .timeline-row{padding:12px 0}.cv-page .wrap{max-width:none}details:not([open]) .pub-detail-body{display:none}}
