@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#132d43;--ink:#192f40;--muted:#5c6a75;--line:#dce2e6;--accent:#a95130;--paper:#fff;--soft:#f3f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #ba724f;outline-offset:5px}.wrap{max-width:1192px;margin:auto;padding:0 40px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:29px;white-space:nowrap}.brand span{color:var(--accent);padding-left:8px;font-family:serif;font-size:21px}nav{display:flex;gap:29px;font-size:14px}nav a{padding:7px 0;border-bottom:2px solid transparent}nav a:hover,nav a.active{border-color:var(--accent)}.hero{display:grid;grid-template-columns:1fr 310px;gap:90px;padding-top:72px;padding-bottom:72px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;color:var(--accent);margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1,h2,.big-serif{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:86px;line-height:1.05;letter-spacing:-.035em;margin-bottom:20px}.role{font-weight:600;font-size:18px;margin-bottom:5px}.affiliation{color:var(--muted);line-height:1.6;margin-bottom:25px}.intro{font-size:18px;max-width:610px;line-height:1.8}.links{display:flex;flex-wrap:wrap;gap:25px;align-items:center;font-size:14px;margin-top:26px}.button{background:var(--navy);color:white;padding:11px 20px;border:1px solid var(--navy)}.button:hover{background:#23465f;color:white}.text-link{border-bottom:1px solid #a7b2ba;padding-bottom:2px}.portrait{margin:0;position:relative}.portrait img{width:100%;height:360px;object-fit:cover;object-position:center 24%;display:block;filter:saturate(.8)}.research-band{background:var(--navy);color:white;padding:34px 0}.research-grid{display:grid;grid-template-columns:180px repeat(3,1fr);gap:35px;align-items:start}.research-grid .eyebrow{color:#c3d0d9;margin-top:5px}.research-grid h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:25px;font-weight:400;margin-bottom:8px;line-height:1.2}.research-grid p{color:#c4d1db;font-size:14px;line-height:1.7;margin-bottom:0}.section{padding-top:75px;padding-bottom:75px;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}h2{font-size:48px;line-height:1.15;letter-spacing:-.02em;margin-bottom:0}.section-head .eyebrow{margin-bottom:0}.section-note{color:var(--muted);font-size:14px}.pub-group{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--line);margin:0}.pub{display:grid;grid-template-columns:64px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.pub:last-child{border-bottom:0}.pub-year{font-size:14px;color:var(--accent);padding-top:4px}.pub h3{font:400 25px/1.35 'Libre Caslon Display',Georgia,serif;margin:0 0 9px}.pub h3 a:hover{text-decoration:underline;text-underline-offset:5px}.authors{color:var(--muted);font-size:14px;margin-bottom:8px}.journal{font-size:14px;margin-bottom:9px}.journal strong{font-weight:600}.pub-actions{display:flex;gap:20px;font-size:13px}.pub-actions a{color:var(--accent)}details{font-size:14px;color:var(--muted);margin-top:10px}summary{cursor:pointer;list-style:none;width:fit-content;color:var(--accent)}summary::-webkit-details-marker{display:none}summary:before{content:'+';display:inline-block;width:17px}details[open] summary:before{content:'−'}details p{margin:12px 0 0;max-width:790px}.other-pubs{margin-top:35px}.two-col{display:grid;grid-template-columns:280px 1fr;gap:65px}.two-col h2{margin-bottom:22px}.side-note{color:var(--muted);font-size:16px}.course-group{padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.course-group:last-child{border:0;padding-bottom:0;margin-bottom:0}.course-group h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:17px}.course{display:flex;justify-content:space-between;gap:20px;margin:11px 0}.course strong{display:block;font-weight:500}.course small{display:block;color:var(--muted);font-size:14px}.term{font-size:13px;color:var(--muted);text-align:right;flex-shrink:0;padding-top:3px}.pale{background:var(--soft)}.award{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.award:first-child{padding-top:0}.award:last-child{border:0}.award time{font-size:14px;color:var(--accent)}.award strong{font-size:16px;font-weight:500}.award p{font-size:14px;color:var(--muted);margin:3px 0 0}.contact{padding:65px 0;background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact .eyebrow{color:#b6c9d7}.contact h2{font-size:44px;margin-bottom:22px}.email{font-family:'Libre Caslon Display',Georgia,serif;font-size:31px;border-bottom:1px solid #7690a2;overflow-wrap:anywhere}.contact p{color:#c7d3dc;font-size:15px;margin-bottom:12px}.contact a:hover{color:#efb192}.contact .links{color:white}footer{font-size:12px;padding:24px 0;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:20px}.menu-button{display:none}
@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:90px}}@media(max-width:900px){.wrap{padding:0 28px}.hero{gap:40px;grid-template-columns:1fr 245px;padding-top:50px;padding-bottom:50px}h1{font-size:65px}.portrait img{height:310px}nav{gap:18px}.research-grid{grid-template-columns:repeat(3,1fr);gap:25px}.research-grid>.eyebrow{grid-column:1/-1;margin-bottom:0}.two-col{grid-template-columns:220px 1fr;gap:35px}}@media(max-width:650px){.wrap{padding-left:22px;padding-right:22px}.header-inner{height:auto;min-height:78px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;gap:12px}.brand{font-size:26px}.menu-button{display:block;border:1px solid var(--line);background:white;padding:7px 12px;font:14px 'DM Sans',sans-serif;color:var(--navy)}nav{display:flex;width:100%;flex-wrap:wrap;gap:8px 22px;padding:10px 0}nav.open{display:flex}.hero{grid-template-columns:1fr;gap:32px;padding-top:40px;padding-bottom:40px}h1{font-size:64px}.hero .eyebrow{font-size:11px;margin-bottom:16px}.intro{font-size:17px}.portrait{max-width:310px;width:100%}.portrait img{height:320px}.research-grid{grid-template-columns:1fr;gap:25px}.research-grid h3{font-size:26px}.section{padding-top:48px;padding-bottom:48px}.section-head{display:block}.section-head .eyebrow{margin-bottom:12px}h2{font-size:41px}.section-note{margin-top:10px}.pub{grid-template-columns:42px 1fr;gap:12px;padding:24px 0}.pub h3{font-size:24px}.two-col{grid-template-columns:1fr;gap:25px}.course{display:block}.term{text-align:left;font-size:12px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact h2{font-size:40px}.email{font-size:30px}.footer-inner{flex-direction:column;gap:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:650px){.js nav{display:none}.js nav.open{display:flex}}

.profile-group{margin-bottom:32px}.profile-group:last-child{margin-bottom:0}.profile-group>h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin:0 0 22px}.appointment h4,.funding h4{font-size:19px;font-weight:500;line-height:1.5;margin:0 0 7px}.appointment p,.funding p{font-size:15px;color:var(--muted);margin:0}.appointment .date-label,.funding .date-label{font-size:14px;color:var(--accent);margin:0 0 9px}.appointment{padding-bottom:4px}.funding{padding:22px 0;border-bottom:1px solid var(--line)}.funding:last-child{border:0;padding-bottom:0}.profile-group>.funding:nth-child(2){padding-top:0}nav{gap:22px}@media(max-width:1050px) and (min-width:651px){.header-inner{height:auto;min-height:88px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:8px 25px}nav{gap:18px;flex-wrap:wrap}}@media(max-width:650px){nav{gap:8px 22px}}

.funding .project-original{margin-top:10px;font-size:14px;line-height:1.8}nav{gap:18px}

.portrait img{height:auto;aspect-ratio:1106/1316;object-fit:cover;object-position:center;filter:none}

.portrait figcaption{margin-top:12px;text-align:center;font-size:0.875rem;color:var(--muted)}
