/* ===========================================================================
   Malune — fontes, servidas do próprio site (Fase 6)

   POR QUE SAIU DO GOOGLE FONTS.

   1. A §7.7 do PROMPT-LOJA.md proíbe "dependência de CDN de terceiros que
      possa cair", e a §4 pede explicitamente considerar o self-host.
   2. LGPD: cada visita ao site disparava uma requisição ao Google carregando
      o IP do cliente. Não é o fim do mundo, mas é dado pessoal indo para
      terceiro sem que a Malune precise disso para nada.
   3. Velocidade: eram duas conexões externas (fonts.googleapis.com para o CSS,
      fonts.gstatic.com para os arquivos), cada uma com DNS + TLS antes do
      primeiro byte. Medido na Fase 6: 77–100 KB e ~3 requisições por página.

   SÃO DOIS ARQUIVOS, NÃO SETE.

   O Google serve Montserrat e Open Sans como FONTES VARIÁVEIS: o mesmo .woff2
   cobre toda a faixa de pesos. Isso só ficou visível ao baixar os sete pesos
   pedidos e ver que os md5 batiam três a três e quatro a quatro — 268 KB que
   viraram 86 KB depois de apagar as cópias.

   Por isso `font-weight` aqui declara uma FAIXA (`500 700`), não um número: é
   assim que o navegador sabe que pode interpolar qualquer peso dentro dela a
   partir de um arquivo só.

   SUBSET: só `latin`. Ele cobre U+0000–00FF, que inclui ã, õ, ç, é, ê, á, à e
   todo o resto do português. Os outros nove subsets que o Google oferece
   (cirílico, grego, hebraico, vietnamita…) seriam peso morto.

   PARA ATUALIZAR: baixar de novo do Google Fonts com User-Agent de navegador
   moderno (senão vem .ttf em vez de .woff2), pegar só os blocos `/* latin */`
   e conferir os md5 antes de guardar sete arquivos que são dois.
   =========================================================================== */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  /* Faixa, não peso único: é uma fonte variável. */
  font-weight: 500 700;
  /* `swap`: o texto aparece na hora com a fonte de sistema e troca quando a
     nossa chega. Sem isto o título fica invisível durante o carregamento —
     e texto invisível é pior que texto na fonte errada. */
  font-display: swap;
  src: url('fontes/montserrat-variavel.woff2') format('woff2');
  /* Diz ao navegador exatamente quais caracteres este arquivo tem, para ele
     nem tentar baixá-lo numa página que não os use. */
  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+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fontes/open-sans-variavel.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+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
