/* A small, traditional academic page. */
:root { color-scheme: light; }
body {
  margin: 28px;
  color: #000;
  background: #fff;
  font: 18px/1.45 "Times New Roman", Times, serif;
}
.page { max-width: 900px; }
a { color: #0000ee; }
a:visited { color: #551a8b; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
h1 { font-size: 2em; margin: 0 0 12px; }
h2 { font-size: 1.3em; margin: 0 0 10px; }
p { margin: 0 0 16px; }
.site-header { margin-bottom: 26px; }
.site-nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.site-nav [aria-current="page"] { color: #000; text-decoration: none; }
.intro { display: flex; align-items: flex-start; gap: 32px; }
.intro > div { flex: 1; }
.portrait { width: 180px; height: 180px; object-fit: cover; object-position: 65% center; }
section { margin-top: 24px; }
.publications { padding-left: 24px; margin: 0 0 12px; }
.publications li { margin-bottom: 10px; }
.meta { font-size: 0.95em; }
.entry { margin-bottom: 16px; }
.contact a { overflow-wrap: anywhere; }
.site-footer { margin-top: 28px; padding-top: 10px; border-top: 1px solid #aaa; font-size: 0.85em; }
@media (max-width: 600px) {
  body { margin: 20px 16px; }
  .intro { flex-direction: column; gap: 4px; }
  .portrait { width: 160px; height: 160px; }
}
@media print {
  body { margin: 0; font-size: 12pt; }
  .site-nav, .site-footer { display: none; }
  a, a:visited { color: inherit; text-decoration: none; }
  .entry, .publications li { break-inside: avoid; }
}
