:root{--ink:#16283b;--muted:#566573;--accent:#17666b;--line:#dbe2e6;--surface:#f3f6f8;--white:#fff;color-scheme:light;font-size:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.5rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.035em;margin-bottom:1.6rem}h2{font-size:clamp(2rem,3.3vw,2.85rem);line-height:1.15;letter-spacing:-.025em;margin-bottom:1.7rem}h3{font-size:1.15rem;line-height:1.45}p{margin-bottom:1.2rem}.wrap{width:min(1100px,calc(100% - 5rem));margin:auto}.skip{position:fixed;top:-6rem;left:1rem;padding:.65rem 1rem;background:white;z-index:20}.skip:focus{top:1rem}.site-header{border-top:5px solid var(--ink);border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:85px}.brand{color:var(--ink);font-size:1.55rem;letter-spacing:-.025em;text-decoration:none;white-space:nowrap}.navigation{display:flex;gap:1.8rem;flex-wrap:wrap}.navigation a{color:var(--ink);font-size:.95rem;text-decoration:none}.navigation a:hover{color:var(--accent);text-decoration:underline}.intro{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:6rem;align-items:center;padding:5.2rem 0 4.5rem}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}.intro-text{font-size:1.17rem;max-width:630px}.intro-text a{color:inherit}.intro-links{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;margin-top:1.9rem;font-size:1rem}.portrait{margin:0;position:relative;border-bottom:5px solid var(--accent);padding-bottom:1rem}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:left center;background:var(--surface)}.portrait figcaption{margin-top:.8rem;font-size:.875rem;color:var(--muted);line-height:1.45}.section{border-top:1px solid var(--line);display:grid;grid-template-columns:210px minmax(0,1fr);gap:3rem;padding:3.7rem 0}.section-title .eyebrow{margin-bottom:.75rem}.section-content h3.group-title{font-size:.85rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:0 0 1rem}.publications{list-style:none;padding:0;margin:0 0 2.5rem}.paper{padding:1.3rem 0;border-bottom:1px solid var(--line)}.paper:first-child{padding-top:0}.paper-title{font-family:Georgia,'Times New Roman',serif;font-size:1.35rem;line-height:1.4;display:inline-block;max-width:650px;margin-bottom:.45rem}.paper p{color:var(--muted);font-size:.98rem;margin:0}.paper .journal{color:var(--ink)}.small-note{font-size:.875rem;color:var(--muted)}.project-list{padding-left:1.2rem;margin:0}.project-list li{padding:.35rem 0}.cv-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;font-size:1.1rem;margin-bottom:1.2rem}.note{padding:1rem 1.2rem;border-left:3px solid var(--accent);background:var(--surface);font-size:.95rem;color:var(--muted);margin:1.2rem 0 0}.course-list{list-style:none;margin:0;padding:0}.course-list>li{border-bottom:1px solid var(--line);padding:1.1rem 0}.course-list>li:first-child{padding-top:0}.course-name{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1.28rem;line-height:1.4;margin-bottom:.2rem}.course-meta{font-size:.9rem;color:var(--muted)}.course-list details{margin-top:.7rem}.course-list summary{cursor:pointer;color:var(--accent);font-size:.95rem;width:fit-content}.materials{list-style:none;padding:0;margin:.9rem 0 0;columns:2;column-gap:2rem}.materials li{break-inside:avoid;padding:.3rem 0;font-size:.95rem}.contact-section{background:var(--ink);color:white;margin-top:1rem;padding:3rem 0}.contact-inner{display:flex;justify-content:space-between;gap:2rem;align-items:center}.contact-section h2{font-size:2.2rem;margin-bottom:.65rem}.contact-section p{margin:0;color:#cbd7df}.contact-section a{color:white;font-size:1.15rem;overflow-wrap:anywhere}.contact-section .institution{font-size:.95rem;text-align:right;color:#cbd7df}.footer-inner{padding:1.4rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem;color:var(--muted)}.back-top{font-size:.875rem}.archive-header{padding:3rem 0 1.5rem}.archive-header h1{font-size:clamp(2.1rem,5vw,3.5rem)}.archive-content{max-width:850px;padding-bottom:4rem;overflow-wrap:anywhere}.archive-content .paragraph{margin:1.1rem 0}.archive-content img{max-width:100%;height:auto}.archive-content iframe{width:100%;border:1px solid var(--line);min-height:500px}.archive-content font{font-family:inherit!important;font-size:inherit!important}.archive-content ul{padding-left:1.4rem}.archive-content table{max-width:100%;display:block;overflow:auto}.archive-content a{display:inline;overflow-wrap:anywhere}
@media(max-width:850px){.wrap{width:calc(100% - 3rem)}.intro{gap:3rem;grid-template-columns:minmax(0,1fr) 210px;padding:3.5rem 0}.portrait img{height:auto}.section{grid-template-columns:170px minmax(0,1fr);gap:2rem}.navigation{gap:1.1rem}.materials{columns:1}}
@media(max-width:620px){html{scroll-padding-top:8rem}.wrap{width:calc(100% - 2.5rem)}.header-inner{display:block;padding:1rem 0;min-height:0}.brand{font-size:1.4rem}.navigation{gap:.65rem 1.3rem;margin-top:.55rem}.navigation a{font-size:.9rem}.intro{grid-template-columns:1fr;gap:2rem;padding:2.8rem 0}.intro-text{font-size:1.08rem}.portrait{width:160px}.portrait img{height:auto}.portrait figcaption{font-size:.8rem}h1{font-size:2.5rem}.section{display:block;padding:2.6rem 0}.section-title h2{margin-bottom:1.9rem}.paper-title{font-size:1.25rem}.contact-inner{display:block}.contact-section .institution{text-align:left;margin-top:1.5rem}.contact-section{padding:2.5rem 0}.contact-section a{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header{position:static}.navigation,.skip,.back-top{display:none}.wrap{width:100%}.intro{padding:2rem 0;gap:2rem}.section{padding:1.5rem 0;break-inside:avoid}.contact-section{background:white;color:var(--ink);padding:1rem 0}.contact-section a,.contact-section p,.contact-section .institution{color:var(--ink)}a{color:var(--ink)}}
