/* Skin: classic. Source Serif throughout, centered masthead, oxblood accent: a traditional scholar's page. */
@font-face { font-family: "Source Serif 4"; src: url("/fonts/source-serif-4/source-serif-4-latin-wght-normal.woff2") format("woff2"); font-weight: 200 900; font-display: swap; }
@font-face { font-family: "Source Serif 4"; src: url("/fonts/source-serif-4/source-serif-4-latin-wght-italic.woff2") format("woff2"); font-weight: 200 900; font-style: italic; font-display: swap; }

:root {
  --bg: #fffdf8; --fg: #222019; --muted: #6d665a; --rule: #e6ddcc;
  --link: #8b1e2d; --link-hover: #5e0f1b; --code-bg: #f6f1e6;
  --venue-bg: transparent; --venue-bd: #8b1e2d; --venue-fg: #8b1e2d;
  --award-bg: #f7eac0; --award-bd: #c6a346; --award-fg: #4a3700;
  --ugrad-bg: #efe2f5; --ugrad-bd: #a585b8; --ugrad-fg: #3e1c52;
  --serif: "Source Serif 4", Charter, Georgia, serif;
  --sans: "Source Serif 4", Charter, Georgia, serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #1a1815; --fg: #ebe5d8; --muted: #a39b8b; --rule: #34302a;
    --link: #e8a0a8; --link-hover: #f5c6cb; --code-bg: #232019;
    --venue-bg: transparent; --venue-bd: #e8a0a8; --venue-fg: #f2c2c7;
    --award-bg: #3d3212; --award-bd: #9e8233; --award-fg: #f4df9c;
    --ugrad-bg: #33223d; --ugrad-bd: #7d5f90; --ugrad-fg: #e8d2f4;
  }
}
body { font-size: 18px; line-height: 1.6; }
.wrap { max-width: 46rem; }
a:hover { text-decoration-thickness: 1px; }
.site-header { border-bottom: 3px double var(--rule); }
.site-header .wrap { flex-direction: column; align-items: center; text-align: center; gap: .35rem; padding-top: 1.75rem; padding-bottom: 1.1rem; }
.site-name { font-size: 1.9rem; font-weight: 600; letter-spacing: .01em; }
.site-header nav { justify-content: center; font-variant: all-small-caps; letter-spacing: .08em; font-size: 1.05rem; gap: .2rem 1.4rem; }
.site-header nav a[aria-current] { text-underline-offset: 4px; text-decoration-thickness: 1px; }
.page-title { text-align: center; font-weight: 600; font-size: 2.1rem; }
.lede { text-align: center; font-style: italic; }
.section-title { font-weight: 600; font-variant: small-caps; letter-spacing: .06em; font-size: 1.35rem; border-bottom: 1px solid var(--rule); }
.section-title .more { font-family: var(--sans); font-variant: normal; letter-spacing: 0; font-style: italic; }
.year { text-align: center; border: 0; font-size: 1.1rem; font-variant: oldstyle-nums; }
.year::before, .year::after { content: " — "; color: var(--rule); }
.intro { grid-template-columns: 170px 1fr; }
.portrait { width: 170px; height: 170px; border-radius: 50%; }
.intro h1 { font-weight: 600; }
.role { font-style: italic; }
.profile-links a { border-radius: 3px; font-size: .85rem; }
.pill { border-width: 1px; font-family: var(--sans); font-size: .78rem; }
.pill-venue { font-family: var(--sans); font-variant: small-caps; font-size: .85rem; letter-spacing: .03em; box-shadow: none; padding: 0 .4rem; }
.pub-title { font-weight: 600; }
.btn { font-variant: all-small-caps; letter-spacing: .05em; font-size: .9rem; border-radius: 2px; padding: 0 .45rem; }
.news-item time { font-style: italic; font-size: .95rem; }
.news-item + .news-item, .course + .course { border-top-style: solid; }
.course-code { font-family: var(--sans); font-variant: small-caps; font-size: 1rem; }
pre, code { font-family: var(--mono); }
@media (max-width: 600px) {
  .intro { grid-template-columns: 1fr; }
  .portrait { width: 120px; height: 120px; }
  .site-name { font-size: 1.6rem; }
}
