:root{--ink:#203646;--muted:#5a6973;--accent:#176879;--line:#e1e7e9;--navy:#16394c;--soft:#f3f7f8;--body:1rem;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:var(--body)/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"PingFang SC",sans-serif}a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:#103d49}a:focus-visible,summary:focus-visible{outline:3px solid #bf7719;outline-offset:5px}p{margin:0 0 1.1rem}h1,h2,h3{line-height:1.3;margin:0;font-weight:600}h2{font-size:1.65rem;letter-spacing:-.025em}h3{font-size:1.05rem}section{scroll-margin-top:110px}.skip-link{position:fixed;left:12px;top:-80px;z-index:20;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{max-width:1240px;margin:auto;padding:19px 36px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:1.05rem;font-weight:650;text-decoration:none;color:var(--ink)}.monogram{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;width:34px;height:34px;border-radius:4px;font:1.15rem Georgia,serif}.site-header nav{display:flex;align-items:center;gap:25px}.site-header nav a{font-size:.875rem;text-decoration:none;color:var(--muted)}.site-header nav a:hover{color:var(--accent)}.site-header nav .nav-students{color:var(--accent);font-weight:600}.page-layout{max-width:1240px;margin:0 auto;padding:52px 36px 0;display:grid;grid-template-columns:224px minmax(0,1fr);gap:72px}.profile{position:sticky;top:125px;align-self:start;font-size:.875rem}.portrait{width:180px;height:auto;aspect-ratio:1;object-fit:contain;align-self:start;border-radius:5px;margin-bottom:21px;display:block;background:#e7eff2}.initials{display:flex;flex-direction:column;align-items:center;justify-content:center;font:4rem Georgia,serif;color:#496773;border:1px solid #d9e5e9}.initials span{font:.52rem/2 sans-serif;letter-spacing:.1em;margin-top:13px}.profile h2{font-size:1.32rem;letter-spacing:-.02em}.profile h2 span{display:block;font-size:1.05rem;letter-spacing:.12em;font-weight:450;margin-top:5px}.nickname{color:var(--muted);margin:10px 0 21px}.position{font-weight:600;margin-bottom:7px;color:var(--ink)}.affiliation{color:var(--muted);line-height:1.7}.affiliation strong{font-weight:500;color:var(--ink)}.profile-links{border-top:1px solid var(--line);margin-top:22px;padding-top:17px;display:grid;gap:8px}.profile-links a{text-decoration:none}.profile-links span{width:21px;display:inline-block;color:var(--muted)}.location{color:var(--muted);margin-top:18px}.sidebar-note{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.sidebar-note p{font-size:.875rem;color:var(--muted);line-height:1.9;margin-top:8px}.small-label,.eyebrow,.research-label{font-size:.75rem;font-weight:650;letter-spacing:.1em;color:var(--accent)}.eyebrow{margin:2px 0 18px}.intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,3.8vw,3.2rem);font-weight:400;line-height:1.13;letter-spacing:-.035em;margin-bottom:24px}.intro-lead{font-size:1.2rem;line-height:1.65;color:#3a586a;max-width:640px}.intro>p:not(.eyebrow):not(.intro-lead){max-width:745px}.intro-links{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin:27px 0 33px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--navy);color:#fff;border:1px solid var(--navy);text-decoration:none;border-radius:4px;padding:10px 19px;font-size:.875rem;font-weight:550;min-height:44px}.button:hover{background:#245367;color:#fff}.text-link{font-size:.875rem;text-decoration:none;font-weight:600}.update-note{display:grid;grid-template-columns:102px 1fr;gap:15px;padding:19px 21px;background:var(--soft);border-left:3px solid #7eabb4;align-items:start}.update-note .small-label{margin-top:3px}.update-note p{margin:0;font-size:.9rem;color:#405764;line-height:1.65}.content-section{padding-top:51px;margin-top:43px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;gap:16px;margin-bottom:28px}.section-number{font-size:.8rem;font-variant-numeric:tabular-nums;color:#7b919c}.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.research-grid article{border-top:2px solid #7eabb4;padding-top:17px}.research-label{font-size:.75rem;letter-spacing:.035em;display:block;min-height:35px}.research-grid h3{font:1.4rem/1.3 Georgia,serif;margin:4px 0 15px;letter-spacing:-.015em}.research-grid p{font-size:.94rem;color:var(--muted);line-height:1.75;margin-bottom:0}.section-aside{margin:25px 0 0;font-size:.875rem;color:var(--muted)}.publication-list{list-style:none;padding:0;margin:0}.publication-list li{display:grid;grid-template-columns:47px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--line)}.publication-list li:first-child{padding-top:0}.publication-list li:last-child{border-bottom:0;padding-bottom:0}.pub-year{font-size:.875rem;color:#6d808b;padding-top:1px;font-variant-numeric:tabular-nums}.publication-list h3{font-size:1.02rem;line-height:1.5;margin-bottom:8px;font-weight:600}.publication-list h3 a{color:var(--ink);text-decoration:none}.publication-list h3 a:hover{text-decoration:underline;color:var(--accent)}.authors{font-size:.875rem;color:var(--muted);line-height:1.7;margin-bottom:6px}.authors strong{color:var(--ink);font-weight:650}.journal{font-size:.875rem;font-style:italic;margin:0;color:#4d697a;line-height:1.7}.paper-link{font-size:.8rem;font-style:normal;white-space:nowrap;display:inline-block;margin-left:9px;text-decoration:none;font-weight:600}.timeline{margin:0}.timeline>div{display:grid;grid-template-columns:138px 1fr;gap:22px;padding-bottom:25px}.timeline>div:last-child{padding-bottom:0}.timeline dt{font-size:.875rem;color:var(--muted);padding-top:1px}.timeline dd{margin:0;border-left:2px solid var(--line);padding-left:24px}.timeline h3{margin-bottom:5px}.timeline p{margin:0;font-size:.94rem}.timeline .detail,.detail{font-size:.875rem;color:var(--muted)}.course-list{list-style:none;padding:0;margin:20px 0 0}.course-list li{display:grid;grid-template-columns:100px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0;align-items:start}.course-list span{font-size:.8rem;letter-spacing:.025em;color:var(--accent);font-weight:650;padding-top:2px}.course-list h3{font-size:1rem;line-height:1.6;font-weight:500}.activity-list{display:grid;gap:24px}.activity-list article{padding-left:21px;border-left:2px solid var(--line)}.activity-date{font-size:.75rem;letter-spacing:.06em;color:var(--accent);margin-bottom:5px;font-weight:600}.activity-list h3{margin-bottom:8px}.activity-list p:not(.activity-date){margin-bottom:4px;font-size:.94rem}.activity-list .detail{font-size:.875rem!important}.students-section{background:var(--navy);color:#f4f8fa;padding:38px 39px;margin-top:56px;border-radius:5px}.students-section .small-label{color:#adccd5}.students-section h2{font:2.2rem/1.18 Georgia,serif;letter-spacing:-.02em;margin:15px 0 24px}.students-section p{color:#e1ebef;font-size:.96rem;line-height:1.8}.students-section a{color:#fff}.students-section .light{background:#fff;color:var(--navy);margin:4px 0 19px;border:1px solid white}.students-section .light:hover{background:#e8f1f4}.students-section .admissions-link{border-top:1px solid #3c5b6b;margin:0;padding-top:19px;font-size:.875rem}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.8rem;color:var(--muted);padding:32px 0}footer p{margin:0}footer a{text-decoration:none}
.group-affiliation{display:block;margin-top:6px;font-size:.8125rem;font-weight:600;text-decoration:none}
.intro a strong{font-weight:600}
.office-contact{font-style:normal;color:var(--muted);line-height:1.7;grid-column:1/-1}
.research-intro{font-size:.94rem;color:var(--muted);margin:-8px 0 24px}
.office-contact .small-label{display:block;margin-bottom:4px}
@media(min-width:801px) and (max-height:1100px){.profile{position:static}}
@media(max-width:800px){.office-contact{margin-top:18px}}
@media(min-width:1450px){.page-layout{gap:88px;grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:1050px){.header-inner{padding-left:28px;padding-right:28px}.site-header nav{gap:16px}.page-layout{padding-left:28px;padding-right:28px;grid-template-columns:200px minmax(0,1fr);gap:40px}.research-grid{gap:20px}.research-grid h3{font-size:1.25rem}.research-label{min-height:45px}}
@media(max-width:800px){.site-header{position:relative}.header-inner{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 24px}.site-header nav{flex-wrap:wrap;gap:9px 22px}.site-header nav a{min-height:32px;display:flex;align-items:center}.page-layout{padding:32px 24px 0;display:block}.profile{position:static;display:grid;grid-template-columns:104px 1fr;gap:0 22px;margin-bottom:38px;padding-bottom:28px;border-bottom:1px solid var(--line)}.portrait{grid-column:1;grid-row:1/5;width:104px;height:auto;margin:0}.initials{font-size:2.7rem}.initials span{display:none}.profile h2{grid-column:2}.profile h2 span{display:inline-block;font-size:.95rem;margin:0 0 0 10px;letter-spacing:.03em}.nickname{grid-column:2;margin:5px 0 8px}.position{grid-column:2;font-size:.875rem;margin:0}.affiliation{grid-column:2;margin:6px 0 0}.affiliation br{display:none}.affiliation strong{display:block}.profile-links{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:10px 20px;margin-top:20px;padding-top:16px}.location,.sidebar-note{display:none}.intro h1{font-size:2.7rem}.research-label{min-height:35px}.content-section{padding-top:34px;margin-top:34px}.students-section{margin-top:39px}section{scroll-margin-top:24px}.intro-links{margin-bottom:28px}}
@media(max-width:540px){.header-inner{padding:16px 20px}.site-header nav{column-gap:18px;row-gap:7px}.page-layout{padding:27px 20px 0}.profile{grid-template-columns:85px 1fr;gap:0 17px}.portrait{width:85px;height:auto}.profile h2{font-size:1.18rem}.profile h2 span{display:block;margin:4px 0 0}.profile-links{grid-template-columns:1fr;gap:11px;margin-top:17px}.intro h1{font-size:2.25rem}.desktop-break{display:none}.intro-lead{font-size:1.1rem}.intro-links{gap:20px}.update-note{grid-template-columns:1fr;gap:7px;padding:17px 18px}.research-grid{grid-template-columns:1fr;gap:24px}.research-label{min-height:0}.research-grid h3{font-size:1.4rem;margin:8px 0 10px}.research-grid h3 br{display:none}.section-heading{gap:12px;margin-bottom:24px}.section-heading h2{font-size:1.5rem}.publication-list li{grid-template-columns:1fr;gap:8px}.pub-year{font-size:.8rem}.timeline>div{grid-template-columns:1fr;gap:9px;padding-bottom:24px}.timeline dd{padding-left:15px}.course-list li{grid-template-columns:1fr;gap:5px;padding:17px 0}.students-section{padding:28px 23px}.students-section h2{font-size:1.95rem}.students-section .button{font-size:.875rem;width:100%;padding-left:15px;padding-right:15px}footer{align-items:flex-start;font-size:.75rem}.small-label,.research-label,.eyebrow{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
.site-header nav{flex-wrap:wrap}
/* Teaching dates refer to personal teaching experience. */
.course-meta{font-size:.875rem;color:var(--muted);margin:4px 0 0;line-height:1.6}
/* Recent updates. */
.update-note.recent-updates{display:block}
.recent-updates h2.small-label{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px}
.recent-updates ul{margin:0;padding-left:1.15em;display:grid;gap:7px}
.recent-updates li{font-size:.9rem;color:#405764;line-height:1.65;padding-left:2px}
.recent-updates li::marker{color:var(--accent)}
/* Research funding and collaborative projects. */
.funding-group + .funding-group{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.funding-group-heading{font-size:.94rem;color:var(--accent);margin:0 0 20px}
.funding-list{list-style:none;padding:0;margin:0}
.funding-list li{padding:17px 0;border-bottom:1px solid var(--line);break-inside:avoid}
.funding-list li:first-child{padding-top:0}
.funding-list li:last-child{padding-bottom:0;border-bottom:0}
.funding-list h4{font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 4px}
.funding-title{font-size:.94rem;line-height:1.65;margin:0 0 5px}
.funding-meta{font-size:.875rem;color:var(--muted);margin:0}
.funding-meta .funding-amount{color:var(--ink);font-weight:600;white-space:nowrap}
.funding-id{display:inline-block}
.funding-tabs-ready .funding-group-heading{display:none}
.funding-tabs-ready .funding-group+.funding-group{margin-top:0;padding-top:0;border-top:0}
.funding-group[role="tabpanel"]:focus-visible{outline:2px solid var(--accent);outline-offset:7px}
@media print{.funding-tabs-ready .funding-group[hidden]{display:block!important}.funding-tabs-ready .funding-group-heading{display:block}.funding-tabs-ready .funding-group+.funding-group{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}}
/* Selected publications: accessible tabs with complete no-script and print lists. */
[hidden]{display:none!important}
.publication-summary{font-size:.94rem;color:var(--muted);margin:0}
.publication-summary strong{color:var(--ink);font-weight:600}
.publication-group + .publication-group{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}
.publication-group-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 18px;font-size:1.125rem;margin-bottom:25px}
.publication-group-heading span{font-size:.8rem;font-weight:400;color:var(--muted);letter-spacing:0}
.publication-overview{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:30px}
.scholar-link{font-size:.875rem;text-decoration:none}
.publication-profile-links{display:flex;flex-wrap:wrap;gap:8px 20px}
.publication-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:26px}
.publication-tabs button{flex:1;min-width:0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);padding:13px 10px;font:inherit;font-size:.94rem;line-height:1.5;text-align:left;cursor:pointer}
.publication-tabs button:hover{background:var(--soft);color:var(--accent)}
.publication-tabs button[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--ink);font-weight:600}
.publication-tabs button:focus-visible{outline:3px solid #bf7719;outline-offset:3px}
.publication-tabs button span{display:inline-block;margin-left:7px;font-size:.75rem;font-weight:500;background:var(--soft);padding:0 7px;border-radius:10px;color:var(--accent)}
.publication-tabs-ready .publication-group-heading{display:none}
.publication-tabs-ready .publication-group+.publication-group{margin-top:0;padding-top:0;border-top:0}
.publication-group[role="tabpanel"]:focus-visible{outline:2px solid var(--accent);outline-offset:7px}
.publication-legend{font-size:.875rem;color:var(--muted);margin:24px 0 0}
.authors sup{font-size:.75em;padding-left:1px}
.title-translation{font-size:.9rem;color:var(--muted);margin:-2px 0 9px}
.activities-layout{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:30px;align-items:start}
.conference-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:18px}
.conference-list>li{break-inside:avoid}
.conference-list>li+li{border-top:1px solid var(--line);padding-top:18px}
.activity-list article.conference-service{break-inside:auto}
.activity-links{display:flex;flex-wrap:wrap;gap:5px 18px;margin-top:12px}
.activity-links a{font-size:.875rem;text-decoration:none}
.life-photo{margin:0}
.life-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:5px}
.life-photo figcaption{font-size:.8rem;color:var(--muted);margin-top:9px}
@media(max-width:540px){.publication-tabs button{font-size:.8rem;padding:11px 7px}.publication-tabs button span{margin-left:4px}}
@media print{.publication-tabs{display:none!important}.publication-tabs-ready .publication-group[hidden]{display:block!important}.publication-tabs-ready .publication-group-heading{display:flex}.publication-tabs-ready .publication-group+.publication-group{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}}
@media(max-width:1050px){.activities-layout{grid-template-columns:minmax(0,1fr) 160px;gap:22px}}
@media(max-width:800px){.activities-layout{grid-template-columns:minmax(0,1fr) 200px;gap:25px}}
@media(max-width:580px){.activities-layout{grid-template-columns:1fr;gap:28px}.life-photo{max-width:320px}.publication-overview{align-items:flex-start;flex-direction:column}}
@media print{.site-header,.skip-link,.intro-links,footer>a{display:none!important}.page-layout{display:block;padding:0;max-width:none}.profile{position:static;display:block;border-bottom:1px solid #ccc;margin-bottom:25px}.portrait,.nickname,.sidebar-note,.location,.profile-links{display:none}.profile h2 span{display:inline;margin-left:10px}.affiliation br{display:none}.intro h1{font-size:28px}.content-section{margin-top:20px;padding-top:20px}.students-section{background:#fff;color:#203646;border:1px solid #ccc;break-inside:avoid}.students-section p,.students-section a,.students-section .small-label{color:#203646}.publication-list li,.timeline>div,.activity-list article,.life-photo{break-inside:avoid}a{text-decoration:none}}
