:root{--ink:#262b2d;--muted:#61686c;--accent:#31594c;--rule:#e4e7e5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75}a{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:#162f25}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header,main,footer{width:calc(100% - 64px);max-width:920px;margin-inline:auto}header{padding:52px 0 0;border-bottom:1px solid var(--rule)}.wordmark{font-size:30px;font-weight:700;letter-spacing:-.6px;color:var(--ink);text-decoration:none;line-height:1.25}.site-subtitle{font-size:15px;color:var(--muted);margin:7px 0 28px}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{display:block;padding:0 0 16px;text-decoration:none;color:var(--muted);font-size:15px}nav a[aria-current=page]{color:var(--ink);font-weight:700;border-bottom:2px solid var(--accent);margin-bottom:-1px}main{padding:44px 0 66px;min-height:55vh}h1,h2,h3{font-family:inherit;line-height:1.35;color:var(--ink);letter-spacing:-.3px}h1{font-size:32px;margin:0 0 28px;font-weight:700}h2{font-size:23px;margin:0 0 16px;font-weight:700}h3{font-size:19px;margin:0 0 12px;font-weight:700}p{margin:0 0 18px;max-width:78ch}section{margin-top:38px}.profile-intro{padding-bottom:22px;border-bottom:1px solid var(--rule);margin-bottom:30px}.affiliation{font-weight:700;margin-bottom:5px}.profile-intro p{margin-bottom:12px}.profile-links{display:flex;gap:24px;flex-wrap:wrap;font-size:15px}.lead{font-size:18px;color:var(--muted);margin-bottom:36px}.research-list article{padding:26px 0;border-top:1px solid var(--rule)}.research-list p{margin-bottom:12px}.tag{font-size:14px;color:var(--muted)}.papers{margin-top:30px}.papers article{padding:25px 0;border-top:1px solid var(--rule)}.paper-meta{font-size:14px;color:var(--muted);margin-bottom:10px}.paper-meta span{margin-left:14px}.papers h3{font-size:18px;line-height:1.5;margin-bottom:9px}.papers p{font-size:15px;margin-bottom:6px;color:var(--muted)}.papers strong{color:var(--ink)}.papers .citation{color:var(--ink)}.equal{font-size:14px}.timeline>div{display:grid;grid-template-columns:150px 1fr;column-gap:25px;padding:16px 0;border-top:1px solid var(--rule)}.timeline span{font-size:14px;color:var(--muted);grid-row:1/3}.timeline h3{font-size:16px;letter-spacing:0;margin:0 0 4px}.timeline p{font-size:15px;color:var(--muted);margin:0;grid-column:2}.teaching-labels{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-top:28px}ul{padding-left:22px}li{padding-left:4px;margin-bottom:14px}.cv h2{margin-top:36px;padding-bottom:10px;border-bottom:1px solid var(--rule);font-size:21px;text-transform:none}.cv h3{font-size:17px;margin:24px 0 8px}.cv .papers h3{font-size:18px;margin:0 0 9px}footer{border-top:1px solid var(--rule);padding:22px 0 34px;display:flex;justify-content:space-between;gap:18px;font-size:13px;color:var(--muted)}.skip{position:absolute;top:-100px;left:16px;padding:10px;background:white}.skip:focus{top:10px}@media(max-width:620px){header,main,footer{width:calc(100% - 40px)}header{padding-top:30px}.wordmark{font-size:27px}nav{gap:8px 22px}nav a{font-size:14px;padding-bottom:10px}main{padding:32px 0 45px}h1{font-size:28px}h2{font-size:22px}.profile-links{gap:8px 20px}.timeline>div{display:block}.timeline span{display:block;margin-bottom:5px}.paper-meta span{display:inline-block}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{header,footer,.skip{display:none}main{width:100%;padding:0}body{font-size:11pt}.papers article,.timeline>div{break-inside:avoid}a{color:inherit}}
/* Presentation and publication galleries share the site's restrained typography. */
.carousel-section{margin-top:46px}.carousel-section h2{margin-bottom:20px}.carousel-slide{margin:0 0 24px;min-width:0}.slide-media{aspect-ratio:4/3;background:#f4f5f4}.slide-media img{display:block;width:100%;height:100%;object-fit:contain}.carousel-slide figcaption{padding:14px 0 4px;color:var(--muted);font-size:14px;line-height:1.6}.carousel-controls[hidden]{display:none}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:12px;border-top:1px solid var(--rule)}.carousel-controls button{font:inherit;font-size:14px;line-height:1;min-height:44px;min-width:44px;background:white;color:var(--accent);border:1px solid var(--rule);border-radius:3px;cursor:pointer}.carousel-controls button:hover{background:#f1f5f2}.carousel-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.carousel-controls [data-pause]{padding:0 12px;min-width:70px}.carousel-dots{display:flex;gap:0}.carousel-dots button{border:0;background:transparent;min-width:32px;padding:0}.carousel-dots button span{display:block;margin:auto;width:7px;height:7px;border-radius:50%;background:#b9c3be}.carousel-dots button[aria-current=true] span{background:var(--accent);outline:1px solid var(--accent);outline-offset:3px}.carousel-count{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:34px}.is-enhanced .carousel-window{overflow:hidden;touch-action:pan-y}.is-enhanced .carousel-track{display:flex;align-items:stretch;transition:transform .55s ease}.is-enhanced .carousel-slide{flex:0 0 100%;margin:0;padding-bottom:16px}.is-enhanced .carousel-slide[aria-hidden=true]{visibility:hidden;transition:visibility 0s .55s}.paper-highlight{padding:28px;background:#f6f8f6;border-top:2px solid var(--accent)}.is-enhanced .paper-highlight{padding:28px;display:flex;flex-direction:column}.paper-highlight h3{font-size:21px;line-height:1.5;margin:0 0 18px}.paper-highlight p{font-size:15px;color:var(--muted)}.paper-highlight>a{margin-top:auto;font-size:14px;align-self:flex-start}.paper-highlight .citation{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(max-width:620px){.carousel-controls{gap:6px}.carousel-dots button{min-width:26px}.carousel-controls [data-pause]{min-width:58px;padding:0 8px}.paper-highlight,.is-enhanced .paper-highlight{padding:22px}.paper-highlight h3{font-size:18px}.carousel-slide figcaption{font-size:13px;min-height:62px}}@media(prefers-reduced-motion:reduce){.is-enhanced .carousel-track,.is-enhanced .carousel-slide[aria-hidden=true]{transition:none}}@media print{.carousel-controls{display:none}.is-enhanced .carousel-track{display:block;transform:none!important}.is-enhanced .carousel-slide[aria-hidden=true]{visibility:visible}.carousel-slide{break-inside:avoid}.slide-media{max-height:300px}}
.research-carousel .figure-view{display:flex;align-items:center;justify-content:center;height:580px;padding:12px;background:#fff;border:1px solid var(--rule);text-decoration:none}.research-carousel .figure-view img{display:block;width:100%;height:100%;object-fit:contain}.research-carousel figcaption{padding:16px 0 4px}.figure-caption{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;color:var(--ink)}.figure-caption>span{margin-right:auto}.featured-label{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.7px;margin-right:10px}.research-carousel figcaption small{display:block;font-size:11px;color:var(--muted);margin-top:7px}.research-carousel figcaption small a{color:inherit}@media(max-width:620px){.research-carousel .figure-view{height:420px;max-height:115vw;padding:7px}.figure-caption{font-size:13px;gap:8px 16px}.figure-caption>span{width:100%}.research-carousel figcaption small{font-size:10px}}@media print{.research-carousel .figure-view{height:400px}}
@media(max-width:620px){.carousel .carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 62px;gap:8px}.carousel .carousel-dots{grid-column:1/-1;grid-row:2;justify-content:center;flex-wrap:wrap}.carousel .carousel-dots button{min-width:28px;min-height:36px}.carousel [data-prev]{grid-column:1;grid-row:1}.carousel .carousel-count{grid-column:2;grid-row:1;text-align:center}.carousel [data-next]{grid-column:3;grid-row:1}.carousel [data-pause]{grid-column:4;grid-row:1}}

/* Reference-inspired academic layout: PT Sans, open spacing, text and figures. */
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/pt-sans-400.ttf') format('truetype')}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/pt-sans-700.ttf') format('truetype')}
:root{--ink:#252a2d;--muted:#60686e;--accent:#345a70;--rule:#e2e7ea}
body{font-family:'PT Sans',Arial,sans-serif;font-size:18px;line-height:1.65}
header,main,footer{width:calc(100% - 48px);max-width:800px}
.site-header{padding:34px 0 20px;border:0;max-width:1000px}
nav{justify-content:center;gap:12px 30px}
nav a{padding:8px 0;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.035em;color:var(--ink)}
nav a[aria-current=page]{color:var(--accent);border:0;text-decoration:underline;text-underline-offset:7px;margin:0}
main{padding:12px 0 80px}
.site-identity{margin:18px 0 34px;text-align:center}
.site-identity>a{font-size:46px;line-height:1.15;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:0}
.site-identity p{font-size:16px;margin:10px auto 0;color:var(--muted)}
.page-banner{position:relative;margin:0 0 52px;padding:40px 0;text-align:center;isolation:isolate}
.page-banner:before{content:'';position:absolute;inset:0 calc((800px - 100vw)/2);background:#eef2f4;z-index:-1}
.page-banner h1{font-size:32px;font-weight:400;letter-spacing:0;line-height:1.25;margin:0}
h1,h2,h3{letter-spacing:0}h2{font-size:27px;line-height:1.3;margin-bottom:22px}h3{font-size:22px}
p{max-width:none;margin-bottom:24px}section{margin-top:48px}
.biography-intro>h2{font-size:32px;margin-bottom:26px}.profile-intro{border:0;padding:0;margin:0 0 24px}.profile-intro p{margin-bottom:8px}.profile-links{font-size:16px;gap:12px 26px;margin-top:20px}.biography-intro section{margin-top:26px}
.carousel-section{margin-top:60px}.carousel-section h2{margin-bottom:24px}.slide-media{background:#f5f6f7}.carousel-slide figcaption{text-align:center;font-size:16px;color:var(--ink);padding-top:16px}.carousel-controls{border:0;padding-top:4px}.carousel-controls button{border-color:transparent;border-radius:0}.carousel-controls button:hover{background:#eef2f4}.carousel-count{font-size:14px}
.research-carousel .figure-view{height:540px;border:0;padding:8px}.research-carousel figcaption{text-align:left}.figure-caption{font-size:16px}.research-carousel figcaption small{font-size:12px}.featured-label{font-size:12px}
.papers{margin-top:38px}.papers article{padding:32px 0;border-top:0;border-bottom:1px solid var(--rule)}.papers h3{font-size:20px;line-height:1.45}.papers h3 a{text-decoration:none}.papers h3 a:hover{text-decoration:underline}.papers p{font-size:16px;line-height:1.6;margin-bottom:10px}.paper-meta{font-size:13px;letter-spacing:.03em}.paper-meta span{margin-left:10px}.publication-entry{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;align-items:start}.publication-entry.text-only{display:block}.publication-image{display:flex;align-items:center;justify-content:center;min-height:160px}.publication-image img{width:100%;height:220px;object-fit:contain}.research-list article{padding:32px 0 42px;border:0}.research-image{display:block;margin-bottom:30px}.research-image img{display:block;max-width:100%;width:auto;height:380px;object-fit:contain;margin:auto}.research-list h3{font-size:25px}.lead{font-size:20px;line-height:1.65;color:var(--ink)}.tag{font-size:15px}
.timeline>div{padding:20px 0}.timeline h3{font-size:18px}.timeline p{font-size:16px}.timeline span{font-size:15px}.cv h2{font-size:24px;letter-spacing:0}.cv h3,.cv .papers h3{font-size:20px}.cv li{margin-bottom:18px}.teaching-labels{font-size:16px}footer{font-size:14px;padding:28px 0 38px}
@media(max-width:847px){.page-banner:before{inset:0 -24px}}
@media(max-width:620px){body{font-size:17px}header,main,footer{width:calc(100% - 40px)}.site-header{padding:20px 0 12px}nav{gap:4px 21px}nav a{font-size:13px;min-height:44px;display:flex;align-items:center}.site-identity{margin:20px 0 26px}.site-identity>a{font-size:36px}.site-identity p{font-size:15px}.page-banner{padding:28px 0;margin-bottom:34px}.page-banner:before{inset:0 -20px}.page-banner h1{font-size:28px}h2{font-size:25px}.biography-intro>h2{font-size:28px}.profile-links{gap:8px 20px}.carousel-section{margin-top:44px}.carousel-slide figcaption{font-size:15px;min-height:0}.publication-entry{display:block}.publication-image{margin-bottom:24px}.publication-image img{height:240px}.papers h3{font-size:19px}.research-image img{height:auto;max-height:380px}.research-carousel .figure-view{height:420px;max-height:115vw}.figure-caption{font-size:14px}.research-carousel figcaption small{font-size:11px}.cv h2{font-size:22px}footer{gap:12px}}
@media print{.site-identity,.page-banner:before{display:none}.page-banner{margin:0 0 24px;padding:0;text-align:left}body{font-family:'PT Sans',Arial,sans-serif;font-size:11pt}.publication-entry{display:block}.publication-image{display:none}}

/* MPM Group identity */
.site-identity{display:flex;align-items:center;justify-content:center;gap:36px}.site-identity .group-logo{display:block;flex:0 0 210px;line-height:0}.group-logo img{display:block;width:100%;height:auto}.identity-text{text-align:left}.identity-text>a{font-size:46px;line-height:1.15;font-weight:700;color:var(--ink);text-decoration:none}.identity-text p{margin:10px 0 0}@media(max-width:620px){.site-identity{flex-direction:column;gap:12px}.site-identity .group-logo{flex-basis:auto;width:180px}.identity-text{text-align:center}.identity-text>a{font-size:36px}}@media print{.site-identity{display:none}}
