/* Site-wide type scale, aligned with index.html and kept responsive. */
:root {
  --site-font: Inter, Arial, sans-serif;
  --site-size-body: 14px;
  --site-size-small: 11px;
  --site-size-h1: clamp(36px, 4.2vw, 60px);
  --site-size-h2: clamp(27px, 2.8vw, 40px);
  --site-size-h3: clamp(20px, 1.7vw, 24px);
}
body { font-family: var(--site-font); }
main { font-family: var(--site-font); }
main h1 {
  font-size: var(--site-size-h1) !important;
  line-height: 1.1;
  letter-spacing: -2px;
}
main h2 {
  font-size: var(--site-size-h2) !important;
  line-height: 1.15;
  letter-spacing: -1px;
}
main h3 { font-size: var(--site-size-h3) !important; }
main .service-card h3 { font-size: 20px !important; }
main p:not(.eyebrow):not(.lab):not(.code-comment):not(.code-prompt):not(.system-accessible-description) {
  font-size: var(--site-size-body) !important;
  line-height: 1.75;
}
main .service-card .service-tagline { font-size: 11px !important; line-height: 1.5 !important; }
main .service-card > p:not(.service-tagline) { font-size: 13px !important; line-height: 1.55 !important; }
main small { font-size: var(--site-size-small); }
body > header nav#main-navigation a { font-size: 11px; }
.signature-footer { font-family: var(--site-font); }

@media (max-width: 760px) {
  :root {
    --site-size-h1: clamp(32px, 8.5vw, 42px);
    --site-size-h2: 26px;
    --site-size-h3: 18px;
    --site-size-body: 13px;
    --site-size-small: 10px;
  }
  main .service-card h3 { font-size: 18px !important; }
}
