@font-face{font-family:Newsreader;font-style:normal;font-weight:400 600;font-display:swap;src:url('./fonts/newsreader.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('./fonts/dm-sans.woff2') format('woff2')}
:root{--site-bg:#f8f7f3;--site-text:#333936;--site-heading:#202d27;--site-muted:#697267;--site-accent:#31644b;--site-rule:#dedfd7;--site-soft:#edf0e7;--site-focus:#31644b;color-scheme:light}
html[data-theme=dark]{--site-bg:#1c211e;--site-text:#d0d5cc;--site-heading:#f0eee4;--site-muted:#9ba797;--site-accent:#a4c896;--site-rule:#374137;--site-soft:#272f27;--site-focus:#a4c896;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:42px}
body{margin:0;background:var(--site-bg);color:var(--site-text);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
::selection{background:var(--site-soft);color:var(--site-accent)}
a{color:var(--site-accent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .16s ease}
a:hover{color:var(--site-heading)}
a:focus-visible,button:focus-visible{outline:2px solid var(--site-focus);outline-offset:5px;border-radius:2px}
p{margin:0 0 17px}
strong{font-weight:600;color:var(--site-heading)}
button{font:inherit}
[hidden]{display:none!important}
.skip-link{position:absolute;z-index:10;left:16px;top:-70px;background:var(--site-bg);padding:10px 16px;border:1px solid var(--site-rule)}
.skip-link:focus{top:12px}
.site-shell{background:var(--site-bg);min-width:0}
.layout{max-width:1096px;margin:0 auto;padding:81px 40px 0;display:grid;grid-template-columns:228px minmax(0,1fr);column-gap:94px;align-items:start}
.sidebar{position:sticky;top:66px;padding-bottom:32px}
.wordmark{display:block;text-decoration:none;font-family:Newsreader,Georgia,serif;font-size:51px;line-height:1.02;letter-spacing:-.045em;font-weight:500;color:var(--site-heading);width:max-content;max-width:100%}
.wordmark>span{display:block}
.name-dot{color:var(--site-accent)}
.role{font-size:12px;line-height:1.6;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--site-accent);margin:21px 0 12px}
.sidebar-interests{font-family:Newsreader,Georgia,serif;font-size:20px;line-height:1.4;max-width:218px;color:var(--site-muted);margin-bottom:24px}
.profile-links{display:grid;gap:5px;font-size:13px;line-height:1.8}
.profile-links a{display:flex;align-items:center;justify-content:space-between;max-width:158px;text-decoration:none}
.profile-links a span{font-size:15px;color:var(--site-muted)}
.profile-links .cv-link{margin-top:7px;padding-top:9px;border-top:1px solid var(--site-rule)}
.page-nav{display:grid;gap:6px;margin-top:37px;font-size:12px;line-height:1.8}
.page-nav a{color:var(--site-muted);text-decoration:none;position:relative;padding-left:0;transition:color .16s,padding-left .16s}
.page-nav a:hover,.page-nav a[aria-current]{color:var(--site-accent)}
.page-nav a[aria-current]{padding-left:16px}
.page-nav a[aria-current]::before{content:'';position:absolute;left:0;top:11px;width:8px;height:1px;background:var(--site-accent)}
.theme-toggle{display:flex;align-items:center;gap:7px;background:transparent;border:0;padding:0;margin-top:31px;cursor:pointer;color:var(--site-muted);font-size:11px;line-height:1.5}
.theme-toggle:hover{color:var(--site-accent)}
main{min-width:0}
.section{scroll-margin-top:35px;margin-bottom:55px}
.about{margin-bottom:60px}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--site-muted);margin:1px 0 15px;font-weight:600}
h1,h2{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.028em;color:var(--site-heading)}
h1{font-size:43px;line-height:1.1;margin:0 0 25px}
h2{font-size:31px;line-height:1.15;margin:0}
h3{font-size:16px;font-weight:600;line-height:1.5;color:var(--site-heading);margin:0 0 8px;letter-spacing:-.015em}
.intro{font-size:18px;line-height:1.7;letter-spacing:-.015em}
.research-question{display:flex;gap:14px;align-items:baseline;border-left:2px solid var(--site-rule);padding-left:17px;margin-top:25px;color:var(--site-accent)}
.question-mark{font-size:19px;line-height:1}
.research-question p{font-family:Newsreader,Georgia,serif;font-size:22px;line-height:1.35;margin:0;max-width:475px}
.section-heading{display:flex;align-items:baseline;gap:14px;padding-top:21px;border-top:1px solid var(--site-rule);margin-bottom:20px}
.section-index{font-size:10px;font-weight:500;letter-spacing:.04em;color:var(--site-muted);font-variant-numeric:tabular-nums}
.section-intro{font-size:14px;line-height:1.8;color:var(--site-muted);margin-bottom:25px}
.research-entry+.research-entry{margin-top:28px}
.entry-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:10px;line-height:1.7;color:var(--site-muted);margin-bottom:6px}
.entry-meta>span:first-child{color:var(--site-accent);font-weight:500}
.research-entry p{font-size:14px;line-height:1.85;margin-bottom:8px}
.entry-note,.research-entry .entry-note{font-size:11px;line-height:1.8;color:var(--site-muted);margin:5px 0 0}
.timeline-entry{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px}
.timeline-entry+.timeline-entry{margin-top:24px}
.timeline-date{font-size:10px;color:var(--site-muted);white-space:nowrap;margin-top:4px;line-height:1.7;font-variant-numeric:tabular-nums}
.timeline-entry h3{font-size:14px;margin-bottom:1px}
.muted{color:var(--site-muted);font-weight:400}
.position{font-size:11px;line-height:1.8;color:var(--site-muted);margin:0 0 8px}
.timeline-entry p:not(.timeline-date):not(.position):not(.entry-note){font-size:13px;line-height:1.85;margin-bottom:7px}
.teaching-entry{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:20px}
.teaching-entry+.teaching-entry{margin-top:23px}
.teaching-entry h3{font-size:14px;margin-bottom:1px}
.teaching-entry p:not(.position):not(.teaching-date){font-size:13px;line-height:1.85;margin-bottom:0}
.teaching-entry .position{margin-bottom:4px}
.teaching-date{font-size:10px;line-height:1.8;text-align:right;color:var(--site-muted);margin:3px 0 0;font-variant-numeric:tabular-nums}
.publication-entry{display:grid;grid-template-columns:34px minmax(0,1fr);gap:16px}
.publication-entry+.publication-entry{margin-top:24px}
.publication-year{font-size:10px;line-height:1.8;color:var(--site-muted);margin-top:3px;font-variant-numeric:tabular-nums}
.publication-entry h3{font-size:13px;line-height:1.6;margin-bottom:4px;font-weight:500}
.publication-entry h3 a{text-decoration:none}
.publication-entry h3 a:hover{text-decoration:underline}
.publication-entry h3 a span{font-size:11px;white-space:nowrap}
.authors{font-size:11px;line-height:1.8;color:var(--site-muted);margin:0}
.footer{border-top:1px solid var(--site-rule);padding:24px 0 31px;margin-top:7px}
.footer>p{font-family:Newsreader,Georgia,serif;font-size:23px;line-height:1.4;color:var(--site-heading);margin-bottom:28px}
.footer>p a{text-decoration:underline;white-space:nowrap}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;line-height:1.8;color:var(--site-muted)}
.footer-bottom a{color:var(--site-muted);text-decoration:none}
@media(min-width:1400px){.layout{padding-top:96px;column-gap:110px;max-width:1140px}}
@media(max-width:900px){.layout{grid-template-columns:199px minmax(0,1fr);gap:45px;padding:58px 30px 0}.wordmark{font-size:45px}.sidebar-interests{font-size:19px}h1{font-size:38px}}
@media(max-width:700px){html{scroll-padding-top:24px}.layout{display:block;max-width:640px;padding:35px 25px 0}.sidebar{position:static;padding-bottom:29px;border-bottom:1px solid var(--site-rule);margin-bottom:31px}.wordmark{font-size:43px;line-height:1.1}.wordmark>span{display:inline}.role{margin:9px 0 7px;font-size:10px}.sidebar-interests{font-family:'DM Sans',sans-serif;font-size:12px;line-height:1.7;max-width:none;margin:0 0 17px}.profile-links{display:flex;flex-wrap:wrap;gap:6px 19px;font-size:11px}.profile-links a{display:block}.profile-links a span{font-size:12px;margin-left:3px}.profile-links .cv-link{border:0;padding:0;margin:0}.page-nav{display:flex;flex-wrap:wrap;gap:7px 17px;margin-top:22px;font-size:10px}.page-nav a[aria-current]{padding-left:0}.page-nav a[aria-current]::before{display:none}.theme-toggle{position:absolute;right:25px;top:40px;margin:0}.theme-label{display:none}.eyebrow{font-size:9px;margin-bottom:12px}h1{font-size:37px;line-height:1.08;margin-bottom:22px}.intro{font-size:17px;line-height:1.7}body{font-size:14px;line-height:1.85}.about{margin-bottom:43px}.research-question{margin-top:23px;padding-left:13px;gap:10px}.research-question p{font-size:21px}.section{margin-bottom:41px}.section-heading{padding-top:19px;margin-bottom:18px;gap:11px}h2{font-size:29px}.section-intro{font-size:12px;margin-bottom:22px}.research-entry p{font-size:13px}.entry-meta{font-size:9px;gap:3px 12px}.research-entry .entry-note{font-size:10px}.research-entry+.research-entry{margin-top:24px}.timeline-entry{grid-template-columns:70px minmax(0,1fr);gap:11px}.timeline-date{font-size:9px}.timeline-entry h3{font-size:13px}.timeline-entry h3 .muted{display:block}.timeline-entry .position{font-size:10px}.timeline-entry p:not(.timeline-date):not(.position):not(.entry-note){font-size:12px}.entry-note{font-size:10px}.teaching-entry{grid-template-columns:minmax(0,1fr) 71px;gap:12px}.teaching-entry h3{font-size:13px}.teaching-entry p:not(.position):not(.teaching-date){font-size:12px}.teaching-date{font-size:9px}.publication-entry{grid-template-columns:28px minmax(0,1fr);gap:10px}.publication-year{font-size:9px}.publication-entry h3{font-size:12px}.authors,.publication-entry .entry-note{font-size:10px}.footer>p{font-size:21px}.footer-bottom{font-size:9px}}
@media(max-width:370px){.layout{padding-left:20px;padding-right:20px}.wordmark{font-size:38px}.theme-toggle{right:20px;top:38px}.profile-links{gap:6px 14px}.page-nav{gap:7px 12px}h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{font-size:11pt;background:white;color:black}.layout{display:block;max-width:none;padding:0}.sidebar{position:static;border-bottom:1px solid #ccc;padding-bottom:15px;margin-bottom:20px}.wordmark{font-size:26pt}.wordmark>span{display:inline}.role{margin:7px 0}.sidebar-interests,.page-nav,.theme-toggle,.skip-link,.research-question,.footer-bottom{display:none}.profile-links{display:flex;gap:18px}.profile-links .cv-link{border:0;padding:0;margin:0}.section{margin-bottom:25px}h1{font-size:25pt}h2{font-size:20pt}.research-entry,.timeline-entry,.teaching-entry,.publication-entry{break-inside:avoid}a{color:inherit}}

/* Comfortable reading and touch targets on small screens. */
@media(max-width:700px){
  .theme-toggle{width:36px;height:36px;justify-content:center;top:31px}
  .profile-links a,.page-nav a{padding-top:4px;padding-bottom:4px;min-height:26px}
  .profile-links .cv-link{padding-top:4px;padding-bottom:4px}
  .profile-links{font-size:12px;gap:4px 18px}
  .page-nav{font-size:11px;gap:3px 16px}
  .section-intro{font-size:14px}
  .research-entry p{font-size:15px;line-height:1.8}
  .entry-meta{font-size:10px}
  .research-entry .entry-note,.entry-note{font-size:11px}
  .timeline-entry{display:block}
  .timeline-date{font-size:10px;margin:0 0 6px}
  .timeline-entry h3{font-size:15px}
  .timeline-entry h3 .muted{display:inline}
  .timeline-entry .position{font-size:12px}
  .timeline-entry p:not(.timeline-date):not(.position):not(.entry-note){font-size:15px;line-height:1.8}
  .timeline-entry+.timeline-entry{margin-top:29px}
  .teaching-entry h3{font-size:15px}
  .teaching-entry .position{font-size:12px}
  .teaching-entry p:not(.position):not(.teaching-date){font-size:14px}
  .publication-entry h3{font-size:14px}
  .authors,.publication-entry .entry-note{font-size:11px}
}
