/* A plain academic page. No external fonts or dependencies. */
* { box-sizing: border-box; }
html { color-scheme: light; scroll-padding-top: 16px; }
body { margin: 0; background: white; color: #111; font-family: "Times New Roman", Times, serif; font-size: 17px; line-height: 1.5; }
.page { max-width: 800px; margin: 40px auto; padding: 0 24px; }
a { color: #0000bb; }
a:visited { color: #551a8b; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
h1 { font-size: 32px; margin: 0 0 4px; }
h2 { font-size: 24px; margin: 0 0 16px; }
h3 { display: inline; font-size: 18px; margin: 0; }
p { margin: 8px 0 12px; }
.about > p:first-of-type { margin-top: 0; }
nav { margin: 16px 0 24px; }
nav a { white-space: nowrap; }
section { margin-bottom: 30px; }
.about { margin-bottom: 32px; }
.intro-links { display: flex; flex-wrap: wrap; gap: 10px; }
.entry-heading { display: block; }
.year::before { content: " ("; }
.year::after { content: ")"; }
.context { margin: 3px 0 8px; }
.research-entry + .research-entry { margin-top: 22px; }
.project-link { margin-top: -4px; }
.publications { padding-left: 24px; }
.publications strong { font-weight: normal; }
.skip-link { position: absolute; top: -100px; left: 12px; background: white; padding: 8px; }
.skip-link:focus { top: 4px; }
@media (max-width: 600px) {
  .page { margin: 24px auto; padding: 0 18px; }
  body { font-size: 16px; }
  nav { line-height: 1.9; }
}
@media print {
  .page { max-width: none; margin: 0; padding: 0; }
  nav, .skip-link { display: none; }
  section { break-inside: avoid; }
}

.interests-photo { display: block; width: 360px; max-width: 100%; height: auto; margin: 0 0 16px; }

.portrait { float: right; width: 160px; height: 190px; object-fit: cover; object-position: 50% 18%; margin: 0 0 16px 24px; }
.about::after { content: ""; display: block; clear: both; }
@media (max-width: 480px) {
  .portrait { float: none; display: block; margin: 0 0 18px; }
}
