/* ═══════════════════════════════════════════════════════════════════════════
   Fontes do ecossistema Pipefitter Academy — auto-alojadas, sem CDN.

   ESTA FOLHA NÃO ESTÁ NO brand.css, DE PROPÓSITO.

   O brand.css é servido `no-cache` da raiz e carregado cross-origin pela
   Formação e pelo Emprego. A CSP desses dois subdomínios declara
   `font-src https://fonts.gstatic.com` — sem 'self' e sem o domínio da raiz.
   Um @font-face dentro do brand.css produziria violações de CSP na consola dos
   dois sites no instante em que o target `main` fosse publicado.

   Com a folha separada, cada site opta:
     • raiz          — <link href="/fonts.css"> (same-origin, font-src 'self')
     • Formação      — <link href="https://pipefitteracademy.com/fonts.css">
                       e `font-src 'self' https://pipefitteracademy.com ...`
                       no seu _headers
     • Emprego       — não opta, e não parte: continua com as Google Fonts que
                       já carrega (Inter e JetBrains Mono são as mesmas; só os
                       títulos caem em Space Grotesk, o item seguinte da pilha)

   ORDEM: carregar SEMPRE DEPOIS do brand.css. O bloco :root no fim desta folha
   substitui as pilhas de sistema declaradas em 00-tokens.css, e a mesma
   especificidade resolve-se pela ordem — invertê-la anula as webfonts.

   Os woff2 vêm de home/fonts/, copiados por scripts/sync-fonts.mjs a partir de
   @fontsource. Licenças OFL-1.1 ao lado dos ficheiros.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Archivo — display (títulos, kickers, wordmark) ───────────────────── */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/archivo-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/archivo-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/archivo-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Inter — corpo e interface ────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/inter-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── JetBrains Mono — valores medidos, tabulares ──────────────────────── */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Recursos ajustados ───────────────────────────────────────────────── */
/* Enquanto o woff2 não chega, o `swap` mostra a pilha de sistema. Sem ajuste,
   a troca desloca o texto (CLS). Estas famílias sintéticas aproximam a métrica
   das reais a partir do Arial, e entram na pilha logo a seguir a cada uma. */
@font-face {
  font-family: 'Archivo Fallback';
  src: local('Arial');
  size-adjust: 101%;
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 107%;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
}

/* As pilhas do brand.css usam nomes genéricos; aqui declaram-se as reais à
   cabeça. Só se aplica a quem carregar esta folha. */
:root {
  --font-display: Archivo, 'Archivo Fallback', 'Space Grotesk', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-sans: Inter, 'Inter Fallback', 'Segoe UI', system-ui, -apple-system, Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, 'Cascadia Mono', Consolas, 'Liberation Mono', monospace;
  --font: var(--font-sans);
}
