@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');

:root{--ink:#252328;--muted:#6f6970;--soft:#f7f5f6;--line:#e5e1e3;--pink:#b85b7c;--pink-soft:#ead3dc;--pink-pale:#fbf8f9;--max:1080px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif;line-height:1.7}
a{color:inherit;text-underline-offset:4px}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.nav-wrap{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;font-size:.88rem;font-weight:600;letter-spacing:.04em}
nav{display:flex;flex-wrap:wrap;gap:18px 22px;justify-content:flex-end}
nav a{text-decoration:none;font-size:.8rem;color:var(--muted)}
nav a:hover{color:var(--pink)}
.hero{padding:100px 0 105px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1fr 270px;gap:90px;align-items:center}
.eyebrow{color:var(--pink);text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:700}
h1,h2,h3{line-height:1.2}
h1,h2{font-family:"Libre Baskerville",Georgia,serif;font-weight:700}
h1{font-size:clamp(3.3rem,7vw,5.8rem);letter-spacing:-.045em;margin:20px 0 10px}
.section-title{font-family:"DM Sans",Arial,sans-serif;color:var(--pink);text-transform:uppercase;letter-spacing:.12em;font-size:1.05rem;font-weight:700;margin:0 0 30px}
h3{margin:0 0 7px;font-size:1.05rem}
.role{font-size:1.1rem;margin:0 0 25px;color:var(--muted)}
.intro{max-width:650px;font-size:1.12rem;color:var(--muted)}
.quick-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}
.quick-links a,.pub-links a,.contact-info>a,.profiles a{color:var(--pink);font-weight:600;text-decoration:none}
.quick-links a:after{content:" ↗"}
.profile{border-left:1px solid var(--line);padding-left:30px;color:var(--muted);font-size:.82rem}
.portrait-placeholder{aspect-ratio:4/5;display:grid;place-items:center;background:var(--soft);border:1px solid var(--line);color:#aaa;font-size:.7rem;letter-spacing:.15em}
.profile p{margin:15px 0 0}.profile strong{color:var(--ink)}.portrait-placeholder.has-photo{overflow:hidden}.portrait-placeholder img{width:100%;height:100%;object-fit:cover;display:block}
.section{padding:90px 0}.section-muted{background:var(--soft)}
.content-narrow{max-width:930px}
.lead{max-width:720px;color:var(--muted);font-size:1.02rem;margin:0 0 42px}
.research-list>div{display:grid;grid-template-columns:55px 210px 1fr;gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.research-list>div>span{color:var(--pink);font-size:.8rem;font-weight:700}.research-list p{margin:0;color:var(--muted)}
.publication-list{border-top:1px solid var(--line)}
.publication{display:grid;grid-template-columns:145px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}
.pub-meta{display:flex;flex-direction:column;gap:3px;color:var(--muted);font-size:.82rem}.pub-meta span:first-child{color:var(--pink);font-weight:700}.publication h3{font-family:"Libre Baskerville",Georgia,serif;font-size:1.08rem}.publication p{margin:4px 0;color:var(--muted)}.publication .venue{font-size:.9rem}.pub-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:.82rem}
.timeline{border-left:1px solid var(--line);margin-left:7px}.timeline article{display:grid;grid-template-columns:155px 1fr;gap:30px;padding:0 0 38px 28px;position:relative}.timeline article:before{content:"";position:absolute;left:-4px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--pink)}.timeline-date{color:var(--pink);font-size:.82rem;font-weight:700}.timeline p{margin:0;color:var(--muted)}
.teaching-table{border-top:1px solid var(--line)}.teaching-table div{display:grid;grid-template-columns:175px 1fr 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.teaching-table span,.teaching-table em{font-size:.86rem;color:var(--muted);font-style:normal}.placeholder-list{border-top:1px solid var(--line)}.placeholder-list p{display:flex;gap:28px;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}.placeholder-list span{color:var(--pink);font-size:.85rem;font-weight:700;min-width:100px}
.education>div{padding:20px 0;border-top:1px solid var(--line)}.education span{color:var(--pink);font-size:.82rem;font-weight:700}.education strong{display:block;margin-top:5px}.education p{margin:5px 0;color:var(--muted)}
.award-row{display:grid;grid-template-columns:120px 1fr;gap:30px;padding-top:24px;border-top:1px solid var(--line)}.award-row>span{color:var(--pink);font-weight:700}.award-row p{margin:5px 0;color:var(--muted)}
.contact{background:#252328;color:#fff;padding:85px 0}.contact .section-title{color:#d58ba5}.contact p{color:#bdb8bd}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info{display:flex;flex-direction:column;gap:10px}.contact-info>a{font-size:1.05rem}.profiles{display:flex;flex-wrap:wrap;gap:18px}.profiles a{color:#d58ba5}
.site-footer{border-top:1px solid var(--line)}.site-footer .container{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.78rem;color:var(--muted)}.site-footer a{text-decoration:none}
@media(max-width:850px){.hero-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.profile{border-left:0;border-top:1px solid var(--line);padding:25px 0 0;max-width:350px}.research-list>div{grid-template-columns:45px 1fr}.research-list p{grid-column:2}.teaching-table div{grid-template-columns:150px 1fr}.teaching-table em{grid-column:2}}
@media(max-width:600px){.container{width:min(calc(100% - 30px),var(--max))}.site-header{position:static}.nav-wrap{padding:14px 0;align-items:flex-start}.nav-wrap .brand{padding-top:3px}nav{gap:8px 14px}.hero{padding:65px 0 75px}h1{font-size:3.2rem}.section{padding:70px 0}.section-title{font-size:1rem;margin-bottom:25px}.publication,.timeline article,.award-row{grid-template-columns:1fr;gap:7px}.pub-meta{flex-direction:row;gap:15px}.teaching-table div{grid-template-columns:1fr;gap:3px}.teaching-table em{grid-column:auto}.placeholder-list p{flex-direction:column;gap:2px}.site-footer .container{padding:15px 0;min-height:0;flex-direction:column;align-items:flex-start;gap:7px}}


/* Section hierarchy: subtitles stay within their parent section. */
.section-subtitle {
  margin: 3rem 0 1.25rem;
  font-size: 1.15rem;
  line-height: 1.25;
}
.section-subtitle:first-of-type {
  margin-top: 2.5rem;
}
#about-intro {
  max-width: 760px;
  color: var(--muted);
  font-size: 1.05rem;
  margin: 0 0 2rem;
}
