:root { --ink:#222b36; --muted:#566371; --blue:#1e4771; --line:#d8dfe6; --max:970px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font:1rem/1.65 Arial,Helvetica,sans-serif; }
a { color:var(--blue); text-underline-offset:.18em; }
a:hover { color:#0c3158; }
a:focus-visible { outline:3px solid #86b9ec; outline-offset:3px; }
.wrap { max-width:var(--max); padding-inline:1.5rem; margin-inline:auto; }
.skip { position:absolute; top:-5rem; left:1rem; background:white; padding:.5rem 1rem; }
.skip:focus { top:.5rem; }
.site-header { border-top:5px solid var(--blue); }
.site-header .wrap { padding-block:2.15rem 1.7rem; }
.site-name { color:var(--ink); font:normal clamp(2.25rem,5vw,3.25rem)/1.15 Georgia,"Times New Roman",serif; text-decoration:none; }
.site-header p { margin:.55rem 0 0; color:var(--muted); line-height:1.5; }
.site-nav { border-block:1px solid var(--line); }
.site-nav .wrap { display:flex; flex-wrap:wrap; gap:.15rem 2rem; }
.site-nav a { padding:.8rem 0; color:var(--ink); text-decoration:none; font-weight:600; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--blue); }
.site-nav a[aria-current="page"] { box-shadow:inset 0 -3px var(--blue); }
.site-main { min-height:calc(100vh - 290px); padding-block:3rem 5rem; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; line-height:1.2; font-weight:normal; }
h1,h2 { font-size:clamp(2rem,4vw,2.7rem); margin:0 0 1.35rem; }
h3 { font-size:1.32rem; margin:0 0 .5rem; }
p { margin-top:0; }
.home-grid { display:grid; grid-template-columns:minmax(190px,245px) minmax(0,1fr); align-items:start; gap:clamp(2rem,6vw,4rem); }
.portrait-slot { aspect-ratio:4/5; width:100%; display:grid; place-items:center; overflow:hidden; background:#e8eef4; border:1px solid #d5e0e9; color:#647e99; font:normal 3.5rem/1 Georgia,"Times New Roman",serif; }
.portrait-slot img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.home-copy { max-width:42rem; }
.home-copy p { margin-bottom:1.1rem; text-align:justify; text-justify:inter-word; }
.research-focus { margin:0 0 1.1rem; padding-left:2.6rem; }
.research-focus li { margin:.4rem 0; }
.home-links { margin:1.4rem 0 0; padding-left:1.3rem; }
.home-links li { margin:.35rem 0; }
.home-links .email-address { user-select:all; }
.education { border-top:1px solid var(--line); margin-top:3.2rem; padding-top:1.8rem; }
.education h2 { font:700 1.35rem/1.35 Arial,Helvetica,sans-serif; margin:0 0 .8rem; }
.education ul { margin:0; padding-left:1.5rem; }
.education li { margin:.45rem 0; }
.research-sections section + section { margin-top:3.5rem; }
.section-head { margin-bottom:2rem; }
.section-head .label { display:none; }
.section-head p { color:var(--muted); max-width:43rem; }
.grid { display:grid; grid-template-columns:1fr; }
.project { padding:1.4rem 0; border-top:1px solid var(--line); }
.project:last-child { border-bottom:1px solid var(--line); }
.project .label { color:var(--blue); font-size:.85rem; font-weight:600; }
.project h3 { margin:.3rem 0 .4rem; }
.project p { color:var(--muted); margin:0; max-width:47rem; }
.pubs { padding:0; margin:0; list-style:none; }
.pubs li { padding:1.3rem 0; border-top:1px solid var(--line); }
.pubs li:last-child { border-bottom:1px solid var(--line); }
.pubs .year { color:var(--blue); font-size:.9rem; font-weight:600; margin-bottom:.2rem; }
.pubs h3 { margin:.15rem 0 .4rem; font:600 1.1rem/1.45 Arial,Helvetica,sans-serif; }
.pubs p { margin:.1rem 0; color:var(--muted); }
.pubs .author-self { color:#000; font-weight:700; }
.pubs .venue { color:#384d62; }
.pubs a { display:inline-block; margin-top:.3rem; }
.paper-abstract { margin-top:.75rem; max-width:50rem; color:var(--muted); }
.paper-abstract summary { list-style:none; cursor:pointer; line-height:1.65; }
.paper-abstract summary::-webkit-details-marker { display:none; }
.paper-abstract summary:focus-visible { outline:3px solid #86b9ec; outline-offset:3px; }
.paper-abstract .abstract-toggle { display:inline-block; color:var(--blue); text-decoration:underline; text-underline-offset:.18em; white-space:nowrap; }
.paper-abstract .close-label,.paper-abstract[open] .open-label { display:none; }
.paper-abstract[open] .close-label { display:inline; }
.paper-abstract .abstract-rest { margin-top:.65rem; }
.note { color:var(--muted); font-size:.9rem; margin-top:1.2rem; }
.teaching,.honors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.5rem; }
.teaching article,.honors>div { border-top:1px solid var(--line); padding-top:1.2rem; }
.teaching p { color:var(--muted); }
.teaching ul { padding-left:1.25rem; }
.teaching li { margin-bottom:.65rem; }
.honors ul { padding-left:1.25rem; margin:0; }
.honors li { margin-bottom:.7rem; }
.honors li span { color:var(--muted); }
.site-footer { border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.site-footer .wrap { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem 1rem; padding-block:1.4rem; }
.site-footer p { margin:0; }
@media(max-width:680px) { .site-header .wrap { padding-block:1.6rem 1.2rem; } .site-nav .wrap { column-gap:1.25rem; } .site-nav a { padding:.55rem 0; } .site-main { padding-block:2rem 3rem; } .home-grid,.teaching,.honors { grid-template-columns:1fr; } .portrait-slot { max-width:210px; } .home-grid { gap:1.6rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
