Tipografia

O sistema tipografico usa duas familias de fontes carregadas via Google Fonts, uma escala fluida responsiva e letter-spacing apertado para headings.

Familias de fonte

TokenValorUso
--font-sans'Inter', ui-sans-serif, system-ui, sans-serifTexto corpo, headings, UI
--font-monoui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospaceCodigo, nomes de produto, labels

Fontes carregadas do Google Fonts com preconnect:

<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />

Escala tipografica

Todos os tamanhos usam clamp() para responsividade fluida onde apropriado.

TokenValorUso
--text-displayclamp(2.35rem, 5vw, 4.2rem)Titulos hero
--text-h1clamp(1.9rem, 3.2vw, 3rem)Headings de pagina
--text-h2clamp(1.2rem, 2vw, 1.65rem)Headings de secao
--text-h31.125remTitulos de subsecao
--text-body1remTexto corpo padrao
--text-body-lgclamp(1.05rem, 1.8vw, 1.325rem)Subtitulos hero, texto destaque
--text-small0.875remBotoes, sidebar, celulas de tabela
--text-xs0.75remBadges, labels, captions
--text-code0.875remBlocos de codigo, codigo inline

Alturas de linha

TokenValorUso
--leading-tight1.05Headings, texto display
--leading-normal1.7Texto corpo
--leading-relaxed1.65Corpo grande, prosa de docs

Estilos de heading

NivelTamanhoPesoLetter-spacing
h1var(--text-h1)800-0.035em
h2var(--text-h2)800-0.025em
h3var(--text-h3)600-0.015em
displayvar(--text-display)800-0.04em

Defaults do corpo

body {
  font-family: var(--font-sans);
  font-size: var(--text-body);    /* 1rem */
  font-weight: 400;
  line-height: var(--leading-normal);  /* 1.7 */
  letter-spacing: -0.011em;
  -webkit-font-smoothing: antialiased;
}

Labels de secao

Usados para headers de categoria em uppercase acima de secoes:

.section-label {
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}