:root{--ink:#222;--muted:#666;--line:#e2e2e2;--accent:#8b1e1e;--soft:#f7f7f7;--font:"Gill Sans","Gill Sans MT",Calibri,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;color:var(--ink);font:16px/1.7 var(--font);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(900px,calc(100% - 40px));margin-inline:auto}.site-header{height:52px;background:#f5f5f5;border-bottom:1px solid #eee;position:sticky;top:0;z-index:20}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{color:#333;font-size:17px;font-weight:600}.brand:hover{text-decoration:none}.nav-links{display:flex;height:100%}.nav-links a{display:flex;align-items:center;color:#444;font-size:13px;padding:0 13px}.nav-links a:hover{background:#e9e9e9;text-decoration:none}.menu-button{display:none;background:none;border:0;font:15px var(--font)}.intro{display:grid;grid-template-columns:1fr 255px;gap:55px;padding-top:92px;padding-bottom:55px;align-items:center}.intro h1{font-size:48px;line-height:1.12;margin:0 0 20px;color:#363636;letter-spacing:-.015em}.intro h1 span{font-size:20px;font-weight:400;margin-left:7px;letter-spacing:0}.intro p{margin:0 0 14px}.profile-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px}.profile-links a{border:2px solid var(--accent);padding:4px 12px;text-transform:lowercase}.portrait{margin:0}.portrait img{aspect-ratio:1/1;object-fit:cover;object-position:50% 18%;border:3px solid var(--accent);border-radius:4px;box-shadow:0 4px 10px rgba(0,0,0,.12)}.section{padding-top:30px;padding-bottom:42px}.section h2{font-size:32px;line-height:1.15;margin:0 0 22px;color:#363636;font-weight:600}.section>p{margin:0 0 18px}.dated-list{list-style:none;padding:0;margin:0}.dated-list li{display:grid;grid-template-columns:100px 1fr;gap:15px;margin-bottom:8px}.dated-list time{font-weight:600;color:#444}.news-list .more-news{display:none}.news-list.expanded .more-news{display:grid}.text-button{padding:0;border:0;background:none;color:var(--accent);font:14px var(--font);cursor:pointer;margin-top:7px}.research-topics{border-left:3px solid #ddd;padding-left:20px;margin:24px 0 30px}.research-topics p{margin:6px 0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 17px}.filters button{font:14px var(--font);padding:5px 11px;color:var(--accent);background:white;border:1px solid var(--accent);cursor:pointer}.filters button:hover,.filters button.active{color:white;background:var(--accent)}.publication-count{font-size:14px;color:var(--muted);padding-bottom:9px;border-bottom:1px solid #bbb}.paper{display:grid;grid-template-columns:55px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.paper[hidden]{display:none}.paper-year{font-weight:600;color:#555}.paper h3{font-size:17px;line-height:1.35;margin:0 0 3px;font-weight:600}.paper p{font-size:14px;line-height:1.5;margin:0}.paper .venue{color:#4f6b3b;font-style:italic}.paper-links{margin-top:3px!important}.mentorship-groups{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:18px}.mentorship-groups h3,.service-list h3{font-size:18px;margin:0 0 7px}.mentorship-groups ul{padding-left:20px;margin:0}.mentorship-groups li{margin-bottom:7px}.service-list{border-top:1px solid var(--line)}.service-list>div{display:grid;grid-template-columns:200px 1fr;gap:25px;padding:16px 0;border-bottom:1px solid var(--line)}.service-list p{margin:0}.detail-list li,.awards-list li{padding:5px 0}.note{font-size:14px;color:var(--muted);margin-top:16px!important}#education{padding-bottom:70px}footer{background:#f5f5f5;border-top:1px solid #e8e8e8;padding:24px 0;color:#777;font-size:13px}footer .container{display:flex;justify-content:space-between}footer p{margin:0}@media(max-width:850px){.nav-links a{padding:0 8px;font-size:12px}}@media(max-width:720px){.site-header{height:55px}.menu-button{display:block}.nav-links{display:none;position:absolute;top:55px;left:0;right:0;height:auto;background:#f5f5f5;border-bottom:1px solid #ddd;flex-direction:column;padding:8px 20px}.nav-links.open{display:flex}.nav-links a{padding:8px 0}.intro{grid-template-columns:1fr;padding-top:55px;gap:30px}.portrait{width:230px;grid-row:1;}.intro-copy{grid-row:2}.intro h1{font-size:42px}.mentorship-groups{grid-template-columns:1fr;gap:20px}.service-list>div{grid-template-columns:1fr;gap:4px}.section{padding-top:26px}}@media(max-width:480px){.container{width:calc(100% - 30px)}.intro{padding-top:38px}.portrait{width:190px}.intro h1{font-size:38px}.intro h1 span{display:block;margin:6px 0 0}.profile-links{gap:8px}.profile-links a{padding:3px 9px}.dated-list li{grid-template-columns:78px 1fr;gap:9px}.section h2{font-size:29px}.paper{grid-template-columns:42px 1fr;gap:8px}.filters button{font-size:13px}footer .container{gap:8px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
img{display:block;max-width:100%}
.news-list li,.awards-list li{line-height:1.38;margin-bottom:4px}
.news-list li:nth-child(n+11),.awards-list li:nth-child(n+11){display:none}
.news-list.expanded li,.awards-list.expanded li{display:grid}
.authorship-note{font-size:13px;color:var(--muted);font-style:italic;margin:5px 0 12px!important}
.talks-list li{padding:5px 0;margin-bottom:5px}
.service-list ul{margin:0;padding-left:20px}
.service-list li{margin-bottom:5px}
.undergraduate{margin-top:10px}
.undergraduate summary{color:var(--accent);cursor:pointer;font-size:14px;width:max-content}
.undergraduate .detail-list{margin-top:8px}
.show-less-text{display:none}
.undergraduate[open] .show-more-text{display:none}
.undergraduate[open] .show-less-text{display:inline}
.portrait img{object-position:50% 32%}
.mentorship-list{border-top:1px solid var(--line);margin-top:24px}
.mentorship-group{display:grid;grid-template-columns:175px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}
.mentorship-group h3{font-size:17px;margin:0}
.mentorship-group ul{list-style:none;padding:0;margin:0}
.mentorship-group li{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;margin-bottom:9px;line-height:1.4}
.mentorship-group li:last-child{margin-bottom:0}
.research-keywords{color:#888;font-size:13px;text-align:right}
.personal-placeholder{color:#999;font-style:italic}
@media(max-width:720px){.mentorship-group{grid-template-columns:1fr;gap:8px}.mentorship-group li{grid-template-columns:1fr;gap:1px}.research-keywords{text-align:left}.portrait img{object-position:50% 30%}}
.intro h1{margin-bottom:20px}
.portrait-details{text-align:center}
.portrait .identity-line{font-size:15px;line-height:1.5;color:#555;margin:14px -25px 11px}
.intro-profile{justify-content:center;gap:11px;margin:0}
.intro-profile a{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;padding:0;border:1.5px solid var(--accent);border-radius:50%;color:var(--accent);transition:background-color .15s ease,color .15s ease,transform .15s ease}
.intro-profile a:hover{color:#fff;background:var(--accent);text-decoration:none;transform:translateY(-1px)}
.intro-profile a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.intro-profile svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
