/* ════════════════════════════════════════════════════════════════════
   DevCode · Fontes locais — SEC-05 · 06/08/2026

   O QUE ISSO RESOLVE
   As três famílias vinham de fonts.googleapis.com + fonts.gstatic.com.
   Toda visita entregava o endereço IP, o User-Agent e o Referer ao Google
   ANTES de o banner de consentimento sequer existir (ele monta 3,8 s
   depois). Ao mesmo tempo, privacidade.html §2 afirmava que dados de
   navegação eram coletados "com seu consentimento", e §4 não listava
   terceiro nenhum. Endereço IP é dado pessoal sob a LGPD, e a
   transferência era internacional, sem base legal declarada.

   Com as fontes aqui, a frase da política passa a ser verdadeira — e é
   uma frase melhor de vender do que a anterior.

   O QUE NÃO SE PERDE
   O cache compartilhado entre sites do Google Fonts não existe desde que
   os navegadores particionaram o cache por origem (2020). Não há perda
   real. Há ganho: dois domínios a menos no caminho crítico, e o
   `<link rel="stylesheet">` de terceiro que travava o first paint some.

   ESCOPO — exatamente os mesmos 8 arquivos que o Google servia:
     Syne            600 · 700 · 800
     DM Sans         400 · 500 · 600 · 700
     JetBrains Mono  500
   Nada a mais. O CSS declara `font-weight: 300` em 3 pontos; ali o
   navegador já usava o peso mais próximo antes desta mudança e continua
   usando agora — comportamento preservado byte a byte.

   SUBSET: `latin`. Cobre todos os acentos do português (ã é ç õ â ú).
   `latin-ext`, `greek` e `cyrillic` foram deixados de fora de propósito:
   somariam ~100 KB para caracteres que este site nunca renderiza.

   `font-display: swap` — mesmo comportamento que a URL do Google trazia:
   texto visível imediatamente, troca quando a fonte chega. Sem FOIT.

   PROCEDÊNCIA: pacotes `@fontsource/*` 5.3.0 (npm), que redistribuem os
   arquivos oficiais sob a SIL Open Font License 1.1. As três famílias são
   OFL — a redistribuição própria é permitida pela licença.
   ════════════════════════════════════════════════════════════════════ */

/* ── Syne (display) ─────────────────────────────────────────────── */
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("syne-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("syne-latin-700-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Syne";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("syne-latin-800-normal.woff2") format("woff2");
}

/* ── DM Sans (corpo) ────────────────────────────────────────────── */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("dm-sans-latin-400-normal.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("dm-sans-latin-500-normal.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("dm-sans-latin-600-normal.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("dm-sans-latin-700-normal.woff2") format("woff2");
}

/* ── JetBrains Mono (código / detalhes) ─────────────────────────── */
@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("jetbrains-mono-latin-500-normal.woff2") format("woff2");
}
