@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fontes/newsreader.woff2') format('woff2');
}
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fontes/public-sans.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fontes/ibm-plex-mono.woff2') format('woff2');
}

body {
  font-family: var(--fonte-corpo);
  font-size: var(--t-base);
  color: var(--cor-texto);
  background-color: var(--cor-fundo);
}

h1, h2, h3, h4, .display {
  font-family: var(--fonte-display);
  line-height: 1.15;
  color: var(--cor-texto);
}

h1 { font-size: var(--t-3xl); margin-bottom: var(--e-5); }
h2 { font-size: var(--t-2xl); margin-bottom: var(--e-4); }
h3 { font-size: var(--t-xl); margin-bottom: var(--e-3); }

p {
  max-width: 68ch; /* Comprimento de linha confortável */
  margin-bottom: var(--e-4);
}

.dados {
  font-family: var(--fonte-dados);
  font-variant-numeric: tabular-nums;
}