v1.0

Sistema Tipográfico Operacional

Precisão Viva v3.0: Inter (display e body) + JetBrains Mono, as duas escalas (chrome × documento) e a fronteira entre elas — aplicação dos tokens v1.5.

Sistema Tipográfico Operacional Sincronow v3.0 — Precisão Viva

Status: Documento de execução, recalibrado para a família "Precisão Viva" (DL-015, 18/07/2026). Substitui integralmente as gerações anteriores (v1.0 Newsreader/Mona Sans e v2.0 Bricolage) — ver §6 "O que a DL-015 revogou".

Versão: 3.0.0 — recalibração Precisão Viva (21-22/08/2026).

Quando consultar: antes de definir hierarquia de página, configurar fontes em projeto digital, ou criar/usar tokens tipográficos.

1. Papel deste documento e fonte da verdade

Este documento é APLICAÇÃO, não origem. Os valores nascem em um único lugar:

  • Fonte da verdade dos valores: vault sincronow-mind/1-projects/design-system-v2/tokens/00-tokens.md (Precisão Viva, v1.5).
  • Régua de aplicação entre produtos: vault 2-areas/@sincronow/05-sincronow-mind/21-style-guide-da-marca.md (as 8 regras — Decisão 98).
  • Implementação neste app: styles/typography.css e styles/fonts.css do sincronow-brand-app (famílias também declaradas no @theme de app/globals.css).

Este documento nunca diverge do 00-tokens. Se divergir, os tokens vencem.

2. As famílias — uma família, dois papéis, mais a voz técnica

PapelVar CSS (neste app)FamíliaOnde usar
Display (títulos, hero)--font-displayInter (fallback system-ui, sans-serif)h1/h2, página, capa — o registro muda por peso e tamanho, não por família
Body (UI, corpo, h3-h6)--font-bodyInter (fallback system-ui, sans-serif)corpo de texto, UI, formulários
Mono (voz técnica)--font-monoJetBrains Mono (fallback "Fira Code", monospace)micro-rótulos (uppercase, tracking largo), dados, código, assinaturas técnicas

Inter é display E body — uma família, dois papéis. A hierarquia nasce de peso, tamanho e tracking, nunca de troca de família. É a tipografia neutra engineered do produto claro.

JetBrains Mono é a assinatura técnica da marca: labels mono-uppercase com tracking largo, número de dado, token, versão, hash. Nunca carrega identidade sozinha — entra como suporte dentro de um sistema que já tem Inter.

Bricolage Grotesque está APOSENTADA pela DL-015 (era o display da família editorial v1.2/v2.0). Newsreader e Mona Sans já estavam aposentadas desde a v2.0. Peça nova não usa nenhuma das três.

3. As DUAS escalas — e a fronteira entre elas

A fronteira é deliberada, e é a mesma lógica do chrome neutro (regra 2 do doc 21):

  • Chrome (navegação, sidebar, botões, UI) usa a escala do framework — Tailwind text-sm / text-xs / text-lg, que é a do shadcn e está consistente entre os produtos.
  • Documento (a peça que o cliente lê: entregável, relatório, doc da marca) usa a escala da casa.

Tamanho arbitrário (text-[Npx]) é dívida — o 10.5px já morreu uma vez na tokenização, não renasce.

3.1 Escala do documento — a escala da casa (00-tokens v1.4)

TokenValorPapel
--text-micro10pxmicro-rótulo mono: fonte, janela, badge
--text-corpo15pxcorpo de entregável
--text-lead17pxsubtítulo do cabeçalho
--text-numero26pxnúmero em destaque
--text-numero-lg40pxnúmero manchete
--text-titulo32pxh1 de entregável

3.2 Escala local deste app (styles/typography.css)

O brand-app carrega uma escala própria de 14 tokens, base 16px × major-third (1.25) em grid 8px — é a implementação vigente das páginas de documentação:

GrupoTokensValores
Microtipografia--text-microcopy · --text-label · --text-caption10px · 12px · 14px
Corpo--text-body-sm · --text-body-md · --text-body-lg16px · 18px · 20px
Títulos (Inter semibold)--text-heading-sm · --text-heading-md · --text-heading-lg · --text-heading-xl16px · 18px · 20px · 24px
Display (Inter — só página/hero)--text-display-sm · --text-display-md · --text-display-lg · --text-display-xl28px · 36px · 44px · 56px

A escala editorial de 44-80px da geração Newsreader está aposentada; o display atual para em 56px.

3.3 Leading e tracking (vars deste app)

LeadingValorPapelTrackingValorPapel
--leading-tight1.2display grande--tracking-tighter−0.04emdisplay bold
--leading-snug1.35títulos menores--tracking-tight−0.02emheadings
--leading-normal1.6corpo padrão--tracking-normal0corpo
--leading-relaxed1.75corpo longo editorial--tracking-wide0.05emlabels/captions uppercase
--leading-loose2código, specs tabulares--tracking-wider0.1emidentificadores mono
--tracking-widest0.15emselos, badges uppercase

Pesos oficiais: --weight-light 300 · --weight-regular 400 · --weight-medium 500 · --weight-semibold 600 · --weight-bold 700 · --weight-black 900.

Medidas de linha: --measure-narrow 45ch (citações) · --measure-default 65ch (corpo) · --measure-wide 85ch (tabelas/specs). Na Central, os tokens de largura são --container-portal (1140px, trabalho) e --container-medida (70ch, prosa) — container largo, texto capado por dentro (00-tokens v1.3).

4. Regras de aplicação (recorte do doc 21 — a régua vale em TODO produto)

Do 21-style-guide-da-marca.md (as 8 regras), as pertinentes a tipografia:

  1. Regra 1 — valor vive em token. Tamanho, leading e tracking saem das tabelas §3, nunca de número solto em componente.
  2. Regra 2 — a fronteira das escalas é única: chrome na escala do framework; documento/peça na escala da casa. text-[Npx] é dívida.
  3. Regra 3 — Inter + JetBrains Mono em todo repo. Produto sem --font-mono da marca está incompleto. Bricolage aposentada.
  4. Regra 7 — um idioma por conceito nos nomes de token — renomear é PR, não achado.

O que NÃO mudou com a DL-015: a microtipografia brasileira (aspas curly, reticências como glyph único, NBSP entre valor e unidade) segue válida — no app ela é aplicada pelo pipeline MDX (remark-microtypography). Regras de texto para mensagem a cliente moram no vault (05-sincronow-mind/20-padroes-de-mensagem.md), não aqui.

5. Como conferir uma peça (checklist mínimo)

[ ] Só Inter e JetBrains Mono? (Bricolage/Newsreader/Mona Sans = material antigo)
[ ] Cada texto está num degrau das escalas §3 — nenhum tamanho arbitrário?
[ ] Chrome na escala do framework; documento na escala da casa?
[ ] Micro-rótulo técnico em mono uppercase com tracking largo?
[ ] Leading/tracking saem dos tokens, não de valor solto?

6. Registro de mudança — o que a DL-015 revogou

A tipografia Precisão Viva foi decidida em 18/07/2026 (DL-015). A recalibração deste documento é de 21-22/08/2026. Quem tiver material antigo confere contra esta tabela:

Saiu (gerações anteriores)Entrou (Precisão Viva)
Bricolage Grotesque como display (v2.0, 06/2026)Inter no display E no body — uma família, dois papéis
Newsreader (display serifado) + Mona Sans (texto), v1.0idem — já haviam sido aposentadas na v2.0; seguem fora
Escala editorial display 44-80px, opsz da Newsreader, smallcaps reaisdisplay do app para em 56px; sem optical sizing (Inter não pede)
Pairing "3 vozes" (serifa + sans + mono)2 vozes: Inter + JetBrains Mono
Migração futura "Reckless Neue + Söhne"morta — não há migração de família prevista
JetBrains Monopermanece — a voz técnica atravessou as três gerações
Microtipografia brasileira (aspas, NBSP, glyphs)permanece — é agnóstica de família

7. A régua renderizada ao vivo

Para conferência rápida, a página viva brand.sincronow.com/tokens renderiza a régua direto dos tokens do app — é a documentação que não diverge porque É o código.

Histórico de versões

  • v3.0.0 (21-22/08/2026) — Recalibração completa para Precisão Viva (DL-015 de 18/07/2026, tokens v1.5). A nota-curativo de 20/08 morre; o documento passa a ser aplicação da fonte única (00-tokens.md) em vez de registro histórico com aviso.
  • v2.0 (11/06/2026) — Pairing Bricolage Grotesque + Inter + JetBrains Mono. Revogada pela DL-015.
  • v1.0 (05/2026) — Newsreader + Mona Sans + JetBrains Mono, escala major-third editorial. Revogada.