/* Restore the original typefaces without restoring the oversized first layout.
   Font files are self-hosted in assets/fonts.css. Artwork and layout are unchanged. */
:root {
  --sans: 'Barlow', Arial, sans-serif;
  --mono: 'IBM Plex Mono', monospace;
}
body {
  font-family: var(--sans);
  font-size: 16px;
}
h1, h2, h3 {
  font-family: var(--sans);
  font-weight: 500;
}
.hero h1 {
  font-size: clamp(32px, 2.8vw, 40px);
  line-height: 1.15;
  letter-spacing: -.018em;
  text-transform: none;
}
h2 {
  font-size: clamp(26px, 2.2vw, 30px);
  line-height: 1.2;
  letter-spacing: -.015em;
}
.hero-description {
  font-size: 16px;
  line-height: 1.6;
}
.taxonomy-header h2 {
  font-size: 22px;
  letter-spacing: -.01em;
}
.taxonomy-copy strong {
  font-size: 16px;
  letter-spacing: 0;
}
.taxonomy-copy > span {
  font-size: 13px;
  line-height: 1.5;
}
.standard-item h3, .mechanism-item summary {
  font-size: 16px;
  letter-spacing: 0;
}
.contribute-section h2 {
  font-size: 28px;
}
/* Technical navigation and metadata keep the original monospace voice. */
.mono, .desktop-nav, .mobile-nav, .eyebrow, .btn, .text-link,
.section-meta, .row-number, .taxonomy-number, .taxonomy-meta,
.preview-badge, .preview-tabs button, .rb-kicker, .rb-steps, .rb-label {
  font-family: var(--mono);
  font-weight: 400;
}
.desktop-nav {
  font-size: 11px;
  letter-spacing: .025em;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: .045em;
}
.btn, .text-link {
  font-size: 11px;
  letter-spacing: .025em;
}
.btn > span, .text-link > span {
  font-family: var(--sans);
}
.rb-title {
  font-size: 26px;
}
.rb-panel > h3, .rb-panel > h2 {
  font-size: 20px;
}
/* Form inputs remain readable; do not shrink them along with display text. */
.rb-input, .rb-textarea, .rb-select {
  font-family: var(--sans);
  font-size: 16px;
}
@media (min-width: 761px) and (max-width: 960px) {
  .hero h1 { font-size: 32px; }
  .desktop-nav { font-size: 10px; }
}
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(30px, 7.7vw, 32px); }
  h2 { font-size: 26px; }
  .taxonomy-header h2 { font-size: 22px; }
  .contribute-section h2 { font-size: 26px; }
  .hero-description { font-size: 15px; }
  .btn, .text-link, .preview-tabs button { font-size: 10px; }
  .hero-actions { gap: 18px; }
  .rb-title { font-size: 23px; }
}
@media (max-width: 370px) {
  .hero h1 { font-size: 30px; }
  .hero-actions { gap: 14px; }
  .hero-actions .btn { padding-inline: 12px; gap: 12px; }
  .hero-actions .text-link { gap: 10px; }
}
