:root {
  --text: #222;
  --muted: #666;
  --link: #1558a6;
  --border: #ddd;
  --max-width: 820px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 1.65; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
.page { max-width: var(--max-width); margin: 0 auto; padding: 54px 30px 70px; }
.site-header { border-bottom: 1px solid var(--border); padding-bottom: 25px; }
.site-header h1 { font-size: 30px; font-weight: 600; line-height: 1.2; margin: 0; }
.role { color: var(--muted); font-size: 16px; margin: 4px 0 9px; }
.links, footer { color: var(--muted); font-size: 14px; margin: 0; }
main section { border-bottom: 1px solid var(--border); padding: 29px 0 31px; }
main section:last-child { border-bottom: 0; }
h2 { font-size: 20px; font-weight: 600; line-height: 1.3; margin: 0 0 16px; }
h3 { font-size: 16px; font-weight: 600; line-height: 1.4; margin: 23px 0 4px; }
h3:first-of-type { margin-top: 0; }
p { margin: 0 0 13px; }
p:last-child { margin-bottom: 0; }
strong { font-weight: 600; }
ul { margin: 7px 0 15px; padding-left: 22px; }
li { margin: 5px 0; padding-left: 2px; }
.publications { margin-top: 0; padding-left: 25px; }
.publications li { padding-left: 4px; margin: 8px 0; }
.publication-links { white-space: nowrap; }
dl { margin: 0; }
dt { font-weight: 600; margin-top: 13px; }
dt:first-child { margin-top: 0; }
dd { color: var(--muted); margin: 1px 0 0; }
footer { color: var(--muted); border-top: 1px solid var(--border); font-size: 13px; padding-top: 22px; }
@media (max-width: 600px) {
  .page { padding: 34px 20px 50px; }
  .site-header h1 { font-size: 27px; }
  .role { font-size: 15px; }
  body { font-size: 14px; }
  main section { padding: 25px 0 27px; }
  h2 { font-size: 19px; }
}
