/* ═══════════════════════════════════════════════════════════════════════════
   FONTES — self-hosted (sem CDN: LGPD + performance)

   ⚠️ CORREÇÃO AO DOC 07 §6: as fontes da campanha NÃO são BR Sonoma e Juana.
   São **Antonia H1/H2** (serifada de alto contraste, display) e **Axiforma**
   (geométrica, corpo). Confirmado extraindo os @font-face de
   `acervo/02-produto/Apresentacao Treinamento XERF (2).html`.

   ⚠️ LICENÇA — VERIFICAR ANTES DE PUBLICAR
   No deck elas estavam embutidas em **OTF** (formato desktop), não em woff2.
   Eu converti para woff2 e fiz subset PT-BR (261 KB → 96,5 KB). Isso resolve o
   lado técnico, NÃO o jurídico: Antonia e Axiforma são tipos comerciais e web
   exige licença própria, separada da desktop. A ressalva do doc 07 §6 continua
   de pé — só mudou o nome das fontes.

   Se a licença web não sair, apagar os 5 arquivos `antonia-*`/`axiforma-*` e
   os @font-face abaixo: o stack cai automaticamente em Playfair Display +
   Inter (SIL Open Font License, uso web liberado), que já estão no bundle.
   Nenhuma outra alteração é necessária.

   Subset: Latin-1 + pontuação tipográfica — cobre todo o PT-BR.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Antonia · display (campanha) ────────────────────────────────────────── */
@font-face {
  font-family: 'Antonia';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/antonia-h1-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Antonia';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/antonia-h2-700.woff2') format('woff2');
}

/* ⚠️⚠️ ARMADILHA — LEIA ANTES DE PEDIR PESO EM ANTONIA ⚠️⚠️
   `Antonia H1` e `Antonia H2` NÃO são dois pesos da mesma fonte. São dois
   DESENHOS diferentes: H1 é o display de alto contraste, H2 é um corte bem mais
   pesado e compacto, com outras proporções. Os dois @font-face acima estão sob o
   MESMO font-family 'Antonia' (400 e 700) — então ali pedir negrito troca a
   FONTE, não a espessura.

   E a troca é silenciosa, porque a regra de casamento de peso do CSS não é
   "arredonda para o mais perto":
     peso 400 → face 400 = H1
     peso 500 → não existe; para desejado ≤500 o browser DESCE primeiro → H1
     peso 600 → não existe; para desejado ≥600 ele SOBE primeiro → 700 = H2
     peso 700 → face 700 = H2
   500 e 600 parecem vizinhos e caem em desenhos diferentes. Foi exatamente
   assim que o H1 do hero acabou em H2 sem ninguém pedir.

   As duas famílias explícitas abaixo existem para ESCOLHER o corte em vez de
   herdá-lo por acidente. O design system oficial manda: H1 Regular em display e
   título; H2 Bold SÓ na palavra de ênfase dentro do título. */
@font-face {
  font-family: 'Antonia H1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/antonia-h1-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Antonia H2';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/antonia-h2-700.woff2') format('woff2');
}

/* ── Axiforma · corpo (campanha) ─────────────────────────────────────────── */
@font-face {
  font-family: 'Axiforma';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('assets/fonts/axiforma-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Axiforma';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('assets/fonts/axiforma-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Axiforma';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/axiforma-600.woff2') format('woff2');
}

/* ── Fallback licenciado (SIL OFL) — só baixa se as de cima faltarem ────── */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('assets/fonts/playfair-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url('assets/fonts/inter-latin.woff2') format('woff2');
}
