:root {
  --serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --sans: 'Manrope', Arial, Helvetica, sans-serif;
}
body {
  font-family: var(--sans);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  line-height: 1.75;
  letter-spacing: -.12px;
}
.brand-name {
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 500;
  letter-spacing: -.55px;
  line-height: 1;
}
.brand-sub {
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 1.25px;
  margin-top: 8px;
}
.navigation { font-size: 12px; font-weight: 600; gap: 25px; }
.lang, .menu-toggle { font-weight: 600; }
.eyebrow, .timeline-heading { font-weight: 700; letter-spacing: 1.8px; }
.hero h1 {
  font-size: clamp(52px, 5.4vw, 78px);
  font-weight: 450;
  line-height: 1.06;
  letter-spacing: -2.7px;
}
.hero h1 em { font-weight: 400; }
.hero .intro { font-size: 16px; line-height: 1.85; max-width: 495px; }
.button, .text-link { font-weight: 600; }
.affiliation { font-size: 21px; line-height: 1.2; }
.affiliation small { font-family: var(--sans); font-size: 10px; line-height: 1.6; }
.section h2 { font-size: 46px; font-weight: 500; letter-spacing: -1.1px; }
.page-heading h1 { font-size: 64px; font-weight: 450; letter-spacing: -1.5px; }
.page-heading p, .about-copy, .section-desc { line-height: 1.85; }
.metric strong { font-size: 52px; font-weight: 450; font-variant-numeric: lining-nums; letter-spacing: -1.5px; }
.metric small { font-size: 11px; line-height: 1.6; letter-spacing: .1px; }
.topic h3, .journal h3, .timeline-item h3 { font-size: 28px; font-weight: 500; letter-spacing: -.4px; }
.topic p, .timeline-item p, .contact-grid p, .conference p { font-size: 14px; line-height: 1.8; }
.topic-tags, .publication .type-tag { font-weight: 600; }
.apa-reference { font-size: 15px; line-height: 1.9; letter-spacing: 0; }
.apa-reference .author-self { font-weight: 700; }
.publication-year, .results-count { font-variant-numeric: tabular-nums; }
.conference h3 { font-size: 29px; font-weight: 500; }
.contact-band h2 { font-size: 43px; font-weight: 500; letter-spacing: -.65px; }
.contact-band p { font-size: 14px; line-height: 1.85; }
.contact-grid h2 { font-size: 37px; font-weight: 500; }
.office strong { font-size: 29px; font-weight: 500; }
.portrait-caption strong { font-weight: 700; }
.filters input, .filters select { font-family: var(--sans); }
@media (max-width: 1000px) {
  .about-grid > div { min-width: 0; }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 721px) and (max-width: 1100px) {
  .navigation { gap: 16px; font-size: 11px; }
  .brand-name { font-size: 25px; }
}
@media (min-width: 721px) and (max-width: 900px) {
  .header-inner { gap: 16px; }
  .brand-sub { max-width: 155px; font-size: 7px; letter-spacing: .7px; }
  .navigation { gap: 11px; font-size: 10px; }
  .lang { padding-left: 10px; gap: 7px; }
}
@media (max-width: 720px) {
  .brand-name { font-size: 22px; letter-spacing: -.5px; }
  .brand-sub { font-size: 7px; line-height: 1.5; letter-spacing: .65px; margin-top: 6px; }
  .navigation { font-size: 14px; gap: 18px; }
  .hero h1 { font-size: clamp(38px, 12vw, 66px); line-height: 1.08; letter-spacing: -1.5px; }
  .hero .intro { font-size: 15px; }
  .hero-foot { font-size: 9px; }
  .affiliation { font-size: 21px; }
  .section h2 { font-size: 39px; }
  .page-heading h1 { font-size: 46px; }
  .metric strong { font-size: 46px; }
  .metric small { font-size: 10px; }
  .topic h3, .journal h3, .timeline-item h3 { font-size: 28px; }
  .apa-reference { font-size: 14px; line-height: 1.85; }
  .contact-band h2 { font-size: 37px; }
  .hero-actions { gap: 17px; font-size: 12px; }
  .hero-actions .button { gap: 16px; padding: 13px 18px; }
  .hero-actions .text-link { font-size: 12px; }
}
