:root{--ink:#17212f;--muted:#596574;--blue:#173fba;--line:#dce2eb;--wash:#f1f5fb;--paper:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--blue)}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button,input{font:inherit}.wrap{max-width:1180px;margin:auto;padding-left:48px;padding-right:48px}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{max-width:1340px;padding:23px 48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font-weight:650;letter-spacing:-.03em;font-size:1.25rem;text-decoration:none;white-space:nowrap}.wordmark-period{color:var(--blue)}nav{display:flex;gap:30px;flex-wrap:wrap}nav a{font-size:.875rem;text-decoration:none;color:#3c4756}nav a:hover{text-decoration:underline}.skip-link{position:fixed;top:-100px;left:16px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:16px}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:80px;align-items:center;padding-top:82px;padding-bottom:90px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:650;line-height:1.6;color:var(--blue);margin:0 0 22px}h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.4rem,7.4vw,6.8rem);line-height:.98;letter-spacing:-.065em;margin:0 0 30px}h1 span{color:var(--blue)}.hero-intro{font-size:1.15rem;line-height:1.7;max-width:520px;margin:0 0 23px;color:#465263}.hero-intro strong{font-weight:500;color:var(--ink)}.affiliation{font-size:.875rem;line-height:1.7;color:var(--muted);margin:0 0 29px}.hero-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.button{background:var(--blue);color:white;border:1px solid var(--blue);padding:12px 18px;border-radius:3px;text-decoration:none;font-size:.875rem;display:inline-flex;gap:28px;align-items:center;font-weight:500}.button:hover{background:#0f2f91;color:white}.text-link{font-size:.875rem;font-weight:600}.portrait{margin:0;align-self:center;padding-top:28px}.portrait img{width:100%;height:420px;object-fit:cover;object-position:center 32%;display:block;border-radius:3px;background:var(--wash)}.portrait figcaption{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:17px 0;font-size:.75rem;color:var(--muted)}.section{padding-top:62px;padding-bottom:64px;border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:38px;align-items:start}.section-heading .eyebrow{padding-top:10px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4vw,3.1rem);line-height:1.13;letter-spacing:-.035em;margin:0}h2 em{color:var(--blue);font-style:normal}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.research-grid article{border-top:2px solid var(--blue);padding-top:17px}.topic-number{font-family:var(--serif);font-size:1rem;color:var(--blue)}h3{font-size:1.05rem;line-height:1.5;font-weight:600;letter-spacing:-.015em;margin:15px 0 10px}.research-grid p{font-size:1rem;color:var(--muted);margin:0;line-height:1.75}.section-intro{max-width:650px;margin:0 0 26px;color:var(--muted)}.teaching-list{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.teaching-list span{padding:15px 0;border-bottom:1px solid var(--line)}.contact-section{background:var(--ink);color:white;padding:66px 0 72px;margin-top:24px}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:50px}.contact-section .eyebrow{color:#a4bafb}.contact-section h2{font-size:3.1rem;margin-bottom:25px}.contact-email{font-size:clamp(1.05rem,2.4vw,1.45rem)}.contact-section a:hover{color:#b1c5ff}address{font-style:normal;color:#c4ccd8;font-size:.875rem;line-height:1.85}address strong{font-weight:500;color:white}.footer{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;padding-top:25px;padding-bottom:25px;font-size:.75rem;color:var(--muted)}.footer a{text-decoration:none}
@media(min-width:1400px){.hero{padding-top:95px;padding-bottom:100px}}@media(max-width:900px){.hero{gap:40px}.portrait img{height:350px}.header-inner{padding:20px 28px}nav{gap:18px}.wrap{padding-left:32px;padding-right:32px}.hero{padding-top:60px;padding-bottom:65px}.section-heading{grid-template-columns:1fr 2fr}.research-grid{gap:25px}}
@media(max-width:650px){html{scroll-padding-top:140px}.header-inner{padding:15px 22px;display:block}.wordmark{font-size:1.15rem}nav{margin-top:11px;gap:10px 18px}nav a{font-size:.875rem}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr;gap:32px;padding-top:42px;padding-bottom:48px}h1{font-size:4.65rem}.hero-intro{font-size:1.0625rem}.portrait{padding-top:0;max-width:360px;width:100%}.portrait img{height:340px;object-position:center 28%}.section{padding-top:38px;padding-bottom:42px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{padding:0;margin-bottom:16px}.research-grid{grid-template-columns:1fr;gap:28px}.research-grid h3{margin-top:8px}.teaching-list{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-section{padding:43px 0}.footer{font-size:.75rem;gap:9px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.project-block{max-width:1084px;margin:0 auto 62px;background:var(--wash);padding:28px 32px 30px;border-radius:3px}.project-block>h3{margin:0 0 21px;font-size:.875rem;color:var(--muted);font-weight:500}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.project-grid>a{text-decoration:none}.project-grid h4{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.03em;font-weight:400;margin:7px 0 9px;display:flex;justify-content:space-between;gap:10px}.project-grid h4 span{font-family:var(--sans);font-size:1.1rem;color:var(--blue)}.project-grid p{margin:0;color:var(--muted);font-size:.875rem;line-height:1.7}.project-meta,.project-role{font-size:.75rem;color:var(--muted)}.project-role{display:block;margin-top:10px;color:var(--blue)}.project-grid>a:hover h4{text-decoration:underline;text-underline-offset:5px}.profile-links{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:21px;font-size:.875rem;color:var(--blue)}.publication{display:grid;grid-template-columns:155px 1fr;gap:32px;padding:25px 0 27px;border-top:1px solid var(--line)}.publication:last-child{border-bottom:1px solid var(--line)}.pub-venue{display:flex;flex-direction:column;align-items:flex-start;font-size:.875rem;line-height:1.6;color:var(--blue);padding-top:4px}.pub-venue span:last-child{color:var(--muted);font-size:.8125rem;margin-top:5px}.publication h3{margin:0 0 9px;font-size:1.125rem;line-height:1.5;font-weight:500}.publication h3 a{text-decoration:none}.publication h3 a:hover{text-decoration:underline}.pub-authors{font-size:.875rem;color:var(--muted);line-height:1.7;margin:0 0 10px}.pub-authors strong{font-weight:500;color:var(--ink)}.paper-link{font-size:.8125rem;color:var(--blue);text-decoration:none;font-weight:600}.paper-link:hover{text-decoration:underline}.resource-list{display:grid;grid-template-columns:1fr 1fr;column-gap:46px}.resource-list>a{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 0;border-top:1px solid var(--line);text-decoration:none}.resource-list>a:hover>span:first-child{text-decoration:underline}.resource-type{font-size:.8125rem;color:var(--muted);white-space:nowrap}.affiliation a{text-decoration:none}.affiliation a:hover{text-decoration:underline}
@media(max-width:1180px){.project-block{margin-left:48px;margin-right:48px}}@media(max-width:900px){.project-grid{grid-template-columns:1fr 1fr}.project-block{margin-left:32px;margin-right:32px}.publication{grid-template-columns:125px 1fr;gap:22px}}
@media(max-width:650px){.project-block{margin:0 24px 40px;padding:25px}.project-grid{grid-template-columns:1fr;gap:25px}.project-grid>a+a{border-top:1px solid var(--line);padding-top:20px}.publication{grid-template-columns:1fr;gap:10px;padding:23px 0}.pub-venue{flex-direction:row;gap:12px;align-items:center}.pub-venue span:last-child{margin:0}.resource-list{grid-template-columns:1fr}.publication h3{font-size:1.0625rem}.contact-email{overflow-wrap:anywhere}}
.bio-copy{max-width:760px;margin:0 0 36px;font-size:1.0625rem;color:var(--muted)}.bio-copy p{margin:0 0 18px}.cv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.cv-grid>div{border-top:2px solid var(--blue);padding-top:16px}.cv-grid h3{margin:0 0 17px}.cv-list{list-style:none;margin:0;padding:0}.cv-list li{margin:0 0 17px;font-size:.875rem;line-height:1.65}.cv-list li:last-child{margin-bottom:0}.cv-list li span{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}
@media(max-width:1000px){.header-inner{align-items:flex-start}nav{gap:12px 20px;justify-content:flex-end}}
@media(max-width:650px){nav{justify-content:flex-start}.cv-grid{grid-template-columns:1fr;gap:28px}.bio-copy{font-size:1rem;margin-bottom:28px}}
.team-hero{padding-top:80px;padding-bottom:70px}.team-hero h1{font-size:clamp(3.5rem,7vw,5.7rem);margin-bottom:22px}.team-hero p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:1.125rem}.team-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px;padding:0;margin:0}.team-grid li{border-top:1px solid var(--line)}.team-grid a{display:flex;justify-content:space-between;gap:16px;align-items:center;text-decoration:none;padding:22px 0;font-family:var(--serif);font-size:1.5rem;line-height:1.25}.team-grid a span:last-child{font-family:var(--sans);font-size:1rem;color:var(--blue)}.team-grid a:hover span:first-child{text-decoration:underline;text-underline-offset:5px}.team-grid li p{margin:-12px 0 18px;color:var(--muted);font-size:.875rem}nav a[aria-current=page]{color:var(--blue);font-weight:650}
@media(max-width:650px){.team-hero{padding-top:46px;padding-bottom:46px}.team-hero h1{font-size:3.7rem}.team-hero p:last-child{font-size:1rem}.team-grid{grid-template-columns:1fr}.team-grid a{font-size:1.35rem;padding:18px 0}}
