:root { --text:#222; --muted:#666; --rule:#d8d8d8; --paper:#fff; --max:880px; }
* { box-sizing:border-box; }
html { background:var(--paper); color:var(--text); font-family: Georgia, "Times New Roman", serif; font-size:18px; line-height:1.58; }
body { margin:0; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:.16em; }
a:hover { text-decoration-thickness:2px; }
header, main, footer { width:min(calc(100% - 3rem), var(--max)); margin-inline:auto; }
header { padding:2.3rem 0 1.1rem; border-bottom:1px solid var(--rule); }
.site-title { margin:0 0 .75rem; font-size:1.12rem; letter-spacing:.01em; }
.site-title a { text-decoration:none; }
nav { font-size:.88rem; line-height:1.9; }
nav a { margin-right:1.05rem; text-decoration:none; white-space:nowrap; }
nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:.25em; }
main { padding:3rem 0 4rem; }
h1,h2,h3 { font-weight:normal; line-height:1.22; }
h1 { font-size:2rem; margin:0 0 2rem; }
h2 { font-size:1.45rem; margin:3.5rem 0 1.4rem; padding-top:.8rem; border-top:1px solid var(--rule); }
h3 { font-size:1.17rem; margin:2.3rem 0 .8rem; }
p { margin:.8rem 0 1rem; }
.lead { font-size:1.08rem; }
.research-citation { font-size:.92em; }
.research-citation a { text-decoration-style:dotted; }
.section-intro { color:#444; max-width:48rem; }
.research-chain { margin-top:2.2rem; font-size:.96rem; letter-spacing:.01em; }
.publications-toolbar { margin:0 0 2rem; font-size:.9rem; color:var(--muted); }
.year-group { margin:2.7rem 0 0; }
.year-group h2 { margin-bottom:.9rem; }
.publication { padding:.72rem 0 .82rem; border-bottom:1px solid #ececec; scroll-margin-top:1.5rem; }
.publication p { margin:0; }
.publication .authors { font-size:.94rem; }
.publication .title { margin:.12rem 0; }
.publication .venue { font-size:.91rem; color:#555; }
.publication .links { margin-top:.18rem; font-size:.84rem; color:#555; }
.publication .links a { margin-right:.7rem; }
footer { border-top:1px solid var(--rule); padding:1.3rem 0 2.5rem; font-size:.82rem; color:var(--muted); }
.placeholder { color:var(--muted); }
@media (max-width:640px){ html{font-size:17px} header,main,footer{width:min(calc(100% - 2rem),var(--max))} main{padding-top:2.2rem} nav a{margin-right:.7rem} }
