:root { color-scheme: light; --ink: #000; --link: #3c78d8; }
* { box-sizing: border-box; }
html { scrollbar-gutter: stable; }
body { min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; margin: 0; color: var(--ink); background: #fff; font: 500 14.6667px/1.45 Lora, Georgia, serif; }
a { color: var(--link); text-decoration: none; text-underline-offset: .2em; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--link); outline-offset: 5px; }
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; display: block; }
p { margin: 0 0 12px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.site-header { flex-shrink: 0; background: #000; color: #fff; }
.header-inner { min-height: 56px; padding: 12px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-name { font-size: 20px; font-weight: 400; color: #fff; white-space: nowrap; }
nav { display: flex; gap: 26px; }
nav a { color: rgba(255,255,255,.87); font-size: 16px; font-weight: 400; }
nav a[aria-current] { color: #fff; }
.skip-link { position: fixed; z-index: 2; top: 10px; left: 10px; padding: 8px 16px; color: #fff; background: #000; transform: translateY(-200%); }
.skip-link:focus { transform: translateY(0); }
main { flex-shrink: 0; width: 80%; max-width: 1280px; margin: 88px auto 64px; }
.home-layout { display: grid; align-items: center; grid-template-columns: 35% minmax(0, 1fr); gap: 3.6%; padding-left: 6.6%; }
.home-photo img { width: 98%; max-width: 320px; margin-inline: auto; }
.biography { padding: 0; color: var(--ink); line-height: 1.45; }
.biography p { margin-bottom: 8px; }
.biography p:last-child { margin-bottom: 0; }
.page-content { min-width: 0; }
figure { margin: 0; }
figure img { width: 100%; }
.research-photo img, .cv-photo img { width: 100%; aspect-ratio: 1280 / 324; height: auto; object-fit: cover; }
figcaption { text-align: right; font-size: 10.6667px; font-weight: 500; color: #555; margin: 8px 8px 0; }
.research-photo, .cv-photo { margin-bottom: 60px; }
.cv-layout .page-content > p { margin: 0 8px; color: #555; }
.research-section { margin-bottom: 56px; }
.research-section:last-child { margin-bottom: 0; }
.research-section h2 { position: relative; font-size: 16px; line-height: 1.67; font-weight: 700; padding: 0 8px 8px; border-bottom: 1px solid #f0f0f0; margin: 0 0 24px; }
.paper { margin: 0 8px 20px; line-height: 24px; scroll-margin-top: 24px; }
.paper h3 { font-size: inherit; line-height: inherit; font-weight: 700; margin: 0; }
.paper-meta { margin: 0; color: #555; }
#concessions .paper-meta { font-style: italic; }
.paper-actions { display: flex; flex-wrap: wrap; align-items: baseline; line-height: inherit; }
.paper-actions button { border: 0; padding: 0; background: none; color: var(--link); cursor: pointer; font: inherit; text-underline-offset: .2em; }
.paper-actions button:hover, .paper-actions button[aria-expanded="true"] { text-decoration: underline; }
.paper-actions > a::before { content: '|'; color: #555; display: inline-block; margin: 0 .25em; }
.paper-actions > a:first-child::before, .paper-actions > [hidden] + a::before { content: none; }
.abstract { margin-top: 8px; font-size: .92em; line-height: 1.6; text-align: justify; }
.abstract p:last-child { margin-bottom: 0; }
address { font-style: normal; margin-bottom: 24px; }
address p { margin: 0 0 12px; }
.contact { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 56px; align-items: center; max-width: 720px; margin-inline: auto; }
.contact-logo { width: 180px; height: auto; }
.contact address { margin-bottom: 0; }
.contact-details { color: var(--ink); }
.contact-details p { margin: 0 0 8px; }
.contact-details > p:last-child { margin-bottom: 0; }
.contact a { overflow-wrap: anywhere; }
.site-footer { margin-top: auto; flex-shrink: 0; background: #f2f2f2; padding: 32px 10%; text-align: right; font-size: 10.6667px; font-weight: 400; }
@media (max-width: 800px) {
  .header-inner { padding: 14px 22px; }
  main { width: auto; margin: 64px 24px; }
  .home-layout { grid-template-columns: 32% minmax(0, 1fr); gap: 28px; padding-left: 0; }
  .site-footer { padding: 28px 24px; }
}
@media (max-width: 600px) {
  .header-inner { display: block; }
  nav { margin-top: 12px; justify-content: space-between; gap: 12px; }
  nav a { font-size: 14px; }
  main { margin: 48px 22px; }
  .home-layout { display: block; }
  .contact { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .contact-logo { width: 140px; margin-inline: auto; }
  .home-photo { width: 250px; max-width: 80%; margin: 0 auto 28px; }
  .research-photo, .cv-photo { margin-bottom: 40px; }
  .research-section { margin-bottom: 40px; }
}
@media print {
  .site-header, .site-footer, .paper-actions button, .skip-link { display: none; }
  main { width: 100%; display: block; margin: 0; padding: 0; }
  .abstract[hidden] { display: block !important; }
  .paper { break-inside: avoid; }
}
