:root{--ink:#252525;--muted:#666;--accent:#315B70;--soft:#F7F8F8;--rule:#E5E7E8;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.68}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,.brand,nav,.eyebrow,.meta,.tags,.role,.affiliation,.links,.venue,.paperlinks,.status,.software-links,.project-meta{font-family:Inter,Arial,sans-serif}h1,h2,h3{line-height:1.2;margin-top:0}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule)}.navwrap{max-width:var(--max);margin:auto;min-height:68px;padding:0 28px;display:flex;align-items:center;gap:28px}.brand{font-weight:600;color:var(--ink);margin-right:auto}.brand:hover{text-decoration:none}.topbar nav{display:flex;gap:26px;font-size:14px}.topbar nav a{color:#4b4b4b;padding:23px 0 19px;border-bottom:2px solid transparent}.topbar nav a.active,.topbar nav a:hover{color:var(--accent);border-bottom-color:var(--accent);text-decoration:none}.menu{display:none;background:none;border:0;font-size:22px}.layout{max-width:var(--max);margin:auto;padding:72px 28px 96px;display:grid;grid-template-columns:240px minmax(0,1fr);gap:74px}.profile{position:sticky;top:112px;align-self:start}.profile img{width:178px;height:226px;object-fit:cover;border-radius:2px}.profile h1{font-size:22px;margin:20px 0 7px}.role{font-size:14px;font-weight:600;margin:0 0 8px}.affiliation{font-size:13px;line-height:1.5;color:var(--muted)}.links{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;margin-top:17px}.hero{padding-bottom:54px;border-bottom:1px solid var(--rule)}.hero h2{font-size:43px;letter-spacing:-.035em;max-width:700px;margin:8px 0 28px}.hero p{max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:600;color:var(--accent);margin:0 0 8px}.section{padding:58px 0;border-bottom:1px solid var(--rule)}.sectionhead h2{font-size:31px;margin-bottom:28px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.research-grid article{border-top:2px solid var(--accent);padding-top:18px}.research-grid h3{font-size:18px}.num{font:600 12px Inter;color:#999}.tags{font-size:12px;color:var(--muted);line-height:1.6}.more{display:inline-block;margin-top:22px;font:500 14px Inter}.pub{padding:18px 0;border-top:1px solid var(--rule)}.pub h3{font-size:18px;margin-bottom:5px}.pub p{margin:0}.venue{font-size:13px;color:var(--muted)}.timeline .event{display:grid;grid-template-columns:145px 1fr;gap:18px;border-top:1px solid var(--rule);padding:14px 0}.event time{font:500 13px Inter;color:var(--accent)}.event p{margin:0}.page{max-width:940px;margin:auto;padding:76px 28px 100px}.pagehead{padding-bottom:44px;border-bottom:1px solid var(--rule)}.pagehead h1{font-size:46px;letter-spacing:-.035em;margin:5px 0 18px}.pagehead>p:last-of-type{max-width:720px}.pub-links{display:flex;gap:20px;font:500 13px Inter;margin-top:20px}.pub-section{padding:42px 0 8px}.pub-section>h2,.teaching-layout>h2{font-size:22px;color:var(--accent);margin-bottom:20px}.publication,.course{padding:18px 0;border-top:1px solid var(--rule)}.publication h3,.course h3{font-size:18px;margin-bottom:6px}.publication p,.course p{margin:4px 0}.paperlinks,.meta{font-size:13px;color:var(--muted)}.paperlinks a{margin-right:12px}.teaching-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;padding:42px 0;border-bottom:1px solid var(--rule)}
/* Research page */.research-intro{max-width:780px}.theme-list{margin-top:12px}.theme{display:grid;grid-template-columns:78px minmax(0,1fr);gap:22px;padding:38px 0;border-top:1px solid var(--rule)}.theme:first-child{border-top:0}.theme-number{font:600 13px Inter;color:var(--accent);padding-top:5px}.theme h2{font-size:25px;margin-bottom:13px}.theme p{margin:0 0 12px;max-width:760px}.theme .tags{margin-top:15px}.research-block{padding:52px 0;border-top:1px solid var(--rule)}.research-block-head{display:grid;grid-template-columns:220px minmax(0,1fr);gap:44px;margin-bottom:18px}.research-block-head h2{font-size:28px;margin:0}.research-block-head p{margin:0;color:var(--muted);max-width:650px}.software-list{margin-left:264px}.software-item{padding:22px 0;border-top:1px solid var(--rule)}.software-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.software-title h3{font-size:19px;margin:0}.status{font-size:12px;font-style:italic;color:var(--muted)}.software-item p{margin:7px 0}.software-links{font-size:13px;display:flex;gap:16px}.projects{margin-left:264px}.project{padding:22px 0;border-top:1px solid var(--rule)}.project h3{font-size:19px;margin-bottom:7px}.project p{margin:0}.project-meta{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px!important}.sitefooter{border-top:1px solid var(--rule);background:var(--soft)}.footerin{max-width:var(--max);margin:auto;padding:30px 28px;display:flex;justify-content:space-between;gap:30px;font-size:13px}.footerin p{margin:3px 0;color:var(--muted)}
@media(max-width:820px){.menu{display:block}.topbar nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--rule);padding:12px 28px;flex-direction:column;gap:0}.topbar nav.open{display:flex}.topbar nav a{padding:11px 0}.layout{grid-template-columns:1fr;gap:42px;padding-top:44px}.profile{position:static;display:grid;grid-template-columns:130px 1fr;column-gap:22px}.profile img{width:130px;height:166px;grid-row:1/6}.profile h1{margin-top:0}.research-grid{grid-template-columns:1fr}.teaching-layout,.research-block-head{grid-template-columns:1fr;gap:8px}.software-list,.projects{margin-left:0}.theme{grid-template-columns:42px 1fr}.hero h2,.pagehead h1{font-size:36px}.footerin{flex-direction:column}.timeline .event{grid-template-columns:1fr;gap:2px}}
@media(max-width:500px){body{font-size:16px}.navwrap,.layout,.page,.footerin{padding-left:20px;padding-right:20px}.profile{display:block}.profile img{width:150px;height:191px}.theme{grid-template-columns:1fr;gap:6px}.research-block{padding:38px 0}}

/* 2026-09 compact page refinements */
.theme{display:block;padding:30px 0}.theme h2{margin-bottom:10px}.theme p{margin-bottom:10px}.software-bullets,.course-bullets{margin:0;padding-left:1.2rem}.software-bullets li,.course-bullets li{padding:13px 0 13px 5px;border-top:1px solid var(--rule)}.software-bullets li:first-child,.course-bullets li:first-child{border-top:0}.software-bullets{margin-left:264px}.software-bullets strong,.course-bullets strong{font-family:Inter,Arial,sans-serif}.course-bullets .meta{display:block;margin-top:3px}.course-bullets p{margin:4px 0 0}.publication.compact{padding:12px 0}.publication.compact h3{font-size:16px;margin:0 0 3px;line-height:1.35}.publication.compact .pub-meta{font-size:13px;line-height:1.45;color:var(--muted);margin:0}.publication.compact .pub-meta strong{color:var(--ink)}.publication.compact .venue{font-size:inherit}.publication.compact .paperlinks{font-size:inherit;white-space:nowrap}.pub-section{padding-top:34px}.pub-section>h2{margin-bottom:10px}
@media(max-width:820px){.software-bullets{margin-left:0}}

/* People page: open, typography-led group layout */
.people-section{padding:42px 0 46px;border-bottom:1px solid var(--rule)}
.people-section>h2{font-size:24px;color:var(--ink);margin:0 0 42px;padding-bottom:13px;border-bottom:1px solid var(--rule)}
.people-grid{display:grid;column-gap:38px;row-gap:34px}
.people-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.people-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.people-section .person{padding:0;min-width:0;background:none;border:0}
.people-section .person h3{font-size:18px;margin:0 0 9px;font-weight:600}
.people-section .person h3 a{color:var(--accent)}
.people-section .person p{margin:4px 0;font-size:14px;line-height:1.5}
.person-role{font-family:Inter,Arial,sans-serif;font-weight:500;color:var(--ink)}
.person-affiliation{font-family:Inter,Arial,sans-serif;font-size:12.5px!important;color:var(--muted)}
.person-topic{margin-top:10px!important;color:#454545}
.person-note{font-family:Inter,Arial,sans-serif;font-size:12px!important;color:var(--muted);margin-top:9px!important}
/* Publication titles are the paper links; metadata stays visually secondary. */
.publication.compact h3 a{color:var(--ink);text-decoration:none}
.publication.compact h3 a:hover{color:var(--accent);text-decoration:underline}
@media(max-width:550px){.people-grid-3,.people-grid-2{grid-template-columns:1fr}.people-section{padding:34px 0 38px}.people-grid{row-gap:28px}}

/* Final homepage research summary and People hierarchy */
.research-grid-titles article{padding:20px 0 4px;min-height:82px}
.research-grid-titles h3{font-size:18px;line-height:1.35;margin:0}
.people-section-featured{padding-top:46px}
.people-section-featured .people-grid{column-gap:48px}

.people-section:last-of-type{border-bottom:0;padding-bottom:20px}

/* Research page: three research areas in columns */
.theme-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px;padding-bottom:48px}
.theme-list .theme{display:block;padding:20px 0 0;border-top:2px solid var(--accent)}
.theme-list .theme:first-child{border-top:2px solid var(--accent)}
.theme-list .theme h2{font-size:21px;line-height:1.3;margin-bottom:14px}
.theme-list .theme p{margin:0 0 14px;line-height:1.6}
.theme-list .theme .tags{margin-top:14px}
#software{clear:both}
@media(max-width:700px){.theme-list{grid-template-columns:1fr;gap:24px;margin-top:28px;padding-bottom:34px}}
