/* ===========================================================================
   Campanha 2026 · tipografia da marca
   ---------------------------------------------------------------------------
   Só as @font-face moram aqui. As cores continuam nos tokens que cada página
   declara inline, reescritos pelo scripts/migrar-campanha.py: folha externa
   perderia para o :root inline, e não vale trocar a briga de especificidade
   por uma reescrita de 50 arquivos.

   Grift é a fonte de apoio no manual da Brava (V2, 12/08/2026). Assume também
   os títulos no digital porque Roc Grotesk não veio no pacote, e uma fonte da
   marca em toda parte é melhor que um substituto genérico.
   Arquivos versionados (-v1) por causa do cache de um ano do Cloudflare.
   =========================================================================== */

@font-face {
  font-family: 'Grift';
  src: url('/assets/fontes/grift-regular-v1.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Grift';
  src: url('/assets/fontes/grift-medium-v1.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Grift';
  src: url('/assets/fontes/grift-semibold-v1.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Grift';
  src: url('/assets/fontes/grift-bold-v1.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Grift';
  src: url('/assets/fontes/grift-black-v1.woff2') format('woff2');
  font-weight: 800 900; font-style: normal; font-display: swap;
}

/* Oswald era condensada e Grift não é: no mesmo corpo, um título em Grift
   ocupa mais linha. Onde havia Oswald, o texto sobe de peso e desce um pouco
   de tracking, para manter a densidade visual do título sem quebrar linha. */
h1, h2, h3, .titulo, .hero h1 { letter-spacing: -0.015em; }
