:root { color-scheme: light; --ink: #252b33; --muted: #5b6470; --link: #225a87; --line: #dce1e6; }
* { box-sizing: border-box; }
html { font-size: 18px; }
body { margin: 0; background: #fff; color: var(--ink); font-family: Georgia, 'Times New Roman', serif; line-height: 1.65; }
.site-header, main, #quarto-content { width: min(100% - 3rem, 820px); margin-inline: auto; }
#quarto-content main { width: 100%; }
.site-header { padding: 2rem 0 1.1rem; border-bottom: 1px solid var(--line); }
nav { display: flex; flex-wrap: wrap; gap: .45rem 1.8rem; font-family: system-ui, sans-serif; font-size: .86rem; }
nav a { color: var(--muted); text-decoration: none; padding: .2rem 0; }
nav a[aria-current=page] { color: var(--ink); text-decoration: underline; text-underline-offset: .45rem; }
main { padding-top: 2.7rem; padding-bottom: 4rem; }
h1, h2, h3 { font-weight: 400; line-height: 1.25; }
h1 { font-size: 2.45rem; letter-spacing: -.035em; margin: 0 0 1.35rem; }
h2 { font-size: 1.5rem; margin: 2.5rem 0 1rem; }
h3 { font-size: 1.08rem; margin: 0 0 .3rem; font-weight: 600; }
p { margin: 0 0 1rem; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: .16em; }
a:hover { color: #113a5a; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--link); outline-offset: 5px; border-radius: 1px; }
.intro { display: grid; grid-template-columns: 1fr 148px; gap: 2rem; align-items: center; margin-bottom: 1.8rem; }
.intro h1 { margin-bottom: .6rem; }
.intro p { margin-bottom: 0; }
.portrait-placeholder, .portrait { width: 148px; height: 176px; object-fit: cover; }
.portrait-placeholder { display: grid; place-items: center; border: 1px solid var(--line); background: #f6f8fa; color: var(--muted); font: .8rem system-ui, sans-serif; }
.profiles { display: flex; gap: 1.4rem; font: .85rem system-ui, sans-serif; margin-top: 1.6rem; }
.selected-work { border-bottom: 1px solid var(--line); padding: 1.1rem 0 1.2rem; }
.selected-work:first-of-type { padding-top: .3rem; }
.paper-links, .paper-meta { font-family: system-ui, sans-serif; font-size: .81rem; }
.paper-meta { color: var(--muted); margin: .45rem 0; }
details { margin-top: .35rem; }
summary { color: var(--link); cursor: pointer; width: fit-content; font: .81rem/1.7 system-ui, sans-serif; text-decoration: underline; text-underline-offset: .16em; }
details p { margin: .7rem 0 0; }
.summary-placeholder { color: var(--muted); font-style: italic; }
ol, ul { padding-left: 1.35rem; }
li { padding-left: .35rem; margin-bottom: 1.25rem; }
li p { margin-bottom: .4rem; }
.publication-list li { margin-bottom: 1.45rem; }
.publication-list .paper-meta { display: block; }
.skip-link { position: absolute; left: 1rem; top: -5rem; padding: .5rem; background: #fff; }
.skip-link:focus { top: .5rem; }
@media (max-width: 540px) {
  html { font-size: 17px; }
  .site-header, main, #quarto-content { width: calc(100% - 2rem); }
  .site-header { padding-top: 1.25rem; }
  nav { gap: .4rem 1.2rem; }
  main { padding-top: 2rem; }
  .intro { grid-template-columns: 1fr 96px; gap: 1rem; align-items: start; }
  .portrait-placeholder, .portrait { width: 96px; height: 122px; }
  h1 { font-size: 2rem; }
}
@media print { .site-header, .skip-link { display: none; } main { width: 100%; padding: 0; } }
img.portrait {
  width: 100%;
  height: auto;
}
@media (min-width: 541px) {
  .intro {
    grid-template-columns: 1fr 240px;
  }
}
