/* Rebrand Oneck Creative: tokens de tipografia (etapa 2, direção A: Impacto) */
:root {
  --fonte-sans: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fonte-mono: "Fira Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Pesos: só três por tela */
  --peso-texto: 400;
  --peso-ui: 600;
  --peso-manchete: 900;

  /* Escala fluida, razão 1,25 (celular a desktop) */
  --fs-display: clamp(2.75rem, 1.5rem + 6vw, 6.5rem);   /* 44 a 104 */
  --fs-h1:      clamp(2.25rem, 1.6rem + 3vw, 3.5rem);   /* 36 a 56 */
  --fs-h2:      clamp(1.75rem, 1.35rem + 1.9vw, 2.5rem);/* 28 a 40 */
  --fs-h3:      clamp(1.375rem, 1.2rem + .8vw, 1.75rem);/* 22 a 28 */
  --fs-corpo:   clamp(1rem, .95rem + .3vw, 1.125rem);   /* 16 a 18 */
  --fs-pequeno: .875rem;                                 /* 14 */
  --fs-rotulo:  .8125rem;                                /* 13 */

  /* Espaçamento entre letras: positivo nos pesos gordos para não virar borrão */
  --ls-manchete: 0.01em;
  --ls-texto: 0;
  --ls-rotulo: 0.12em;

  --lh-display: 1;
  --lh-h1: 1.05;
  --lh-h2: 1.1;
  --lh-h3: 1.25;
  --lh-corpo: 1.6;
}

.t-display { font-family: var(--fonte-sans); font-size: var(--fs-display); font-weight: var(--peso-manchete); letter-spacing: var(--ls-manchete); line-height: var(--lh-display); }
.t-h1      { font-family: var(--fonte-sans); font-size: var(--fs-h1);      font-weight: var(--peso-manchete); letter-spacing: var(--ls-manchete); line-height: var(--lh-h1); }
.t-h2      { font-family: var(--fonte-sans); font-size: var(--fs-h2);      font-weight: var(--peso-manchete); letter-spacing: var(--ls-manchete); line-height: var(--lh-h2); }
.t-h3      { font-family: var(--fonte-sans); font-size: var(--fs-h3);      font-weight: var(--peso-ui);       letter-spacing: var(--ls-texto);    line-height: var(--lh-h3); }
.t-corpo   { font-family: var(--fonte-sans); font-size: var(--fs-corpo);   font-weight: var(--peso-texto);    letter-spacing: var(--ls-texto);    line-height: var(--lh-corpo); }
.t-pequeno { font-family: var(--fonte-sans); font-size: var(--fs-pequeno); font-weight: var(--peso-texto);    line-height: 1.5; }
.t-rotulo  { font-family: var(--fonte-sans); font-size: var(--fs-rotulo);  font-weight: var(--peso-ui);       letter-spacing: var(--ls-rotulo);   line-height: 1.3; text-transform: uppercase; }
.t-dado    { font-family: var(--fonte-mono); font-size: var(--fs-rotulo);  font-weight: 400; font-variant-numeric: tabular-nums; }

/* Quebra de linha: manchete equilibrada, parágrafo sem viúva. Complementa amarrar() de quebra.js */
.t-display, .t-h1, .t-h2, .t-h3 { text-wrap: balance; hyphens: manual; }
.t-corpo, .t-pequeno { text-wrap: pretty; hyphens: manual; }
