h1, h2, h3 { font-weight: 400; }
h1, .display, .project-title { font-family: var(--serif); font-weight: 400; }
h1 { font-size: clamp(3.8rem, 7.6vw, 6.3rem); line-height: 1.02; letter-spacing: -.025em; }
h2 { font-size: .9375rem; line-height: 1.5; font-weight: 500; }
p { text-wrap: pretty; }
a { text-decoration-thickness: 1px; text-underline-offset: .3em; transition: color 140ms ease; }
a:hover { color: var(--accent); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; border-radius: 1px; }
::selection { background: #e4d3d5; color: var(--text); }
.wordmark { font: 1.65rem/1.1 var(--serif); text-decoration: none; white-space: nowrap; }
.wordmark span { color: var(--accent); }
nav { font-size: .875rem; }
nav a { text-decoration: none; padding-block: 8px; }
nav a:hover, nav a[aria-current] { text-decoration: underline; color: var(--accent); }
.text-link { display: inline-block; color: var(--accent); font-size: .9375rem; margin-top: 19px; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link span { margin-left: 8px; }
.meta { font: .75rem/1.6 var(--mono); color: var(--muted); }
.muted { color: var(--muted); }
.skip-link { position: absolute; top: -100px; left: 20px; background: var(--background); padding: 12px 18px; z-index: 2; }
.skip-link:focus { top: 12px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }
@media print { .site-header, .site-footer, .skip-link, .project-nav { display: none; } body { background: white; color: black; } .shell { width: 100%; } a { color: black; } figure { break-inside: avoid; } }

/* Quiet editorial details; retain the original layout and type hierarchy. */
.editorial-row > h2, .research-question > h2 { color: var(--accent); }
.currently-meta, figcaption .meta { color: var(--accent); }
.external-mark { color: var(--accent); font: .8125rem/1 var(--mono); margin-left: 3px; }
.text-link, .project-nav a, .site-footer a {
  text-decoration-line: underline;
  text-decoration-color: transparent;
  transition: color 140ms ease, text-decoration-color 140ms ease;
}
.text-link:hover, .project-nav a:hover, .site-footer a:hover { text-decoration-color: currentColor; }
.contact-links { display: flex; flex-wrap: wrap; gap: 14px 30px; }
.contact-links a { display: inline-flex; flex-wrap: wrap; gap: 3px 10px; align-items: baseline; }
.contact-label { font: .75rem/1.6 var(--mono); color: var(--accent); }
.footer-cv { margin-left: auto; align-self: flex-start; white-space: nowrap; }
@media (max-width: 700px) {
 .site-footer { gap: 22px; }
 .contact-links { flex-direction: column; gap: 10px; }
 .footer-cv { margin-left: 0; }
}
