/* ============================================================================
   fonts.css — Kanit e DM Sans auto-hospedadas (Task 07)
   ----------------------------------------------------------------------------
   Auto-hospedadas, e não via Google Fonts, pelos mesmos três motivos do
   Qnt.ProductID.LandPage: a CSP é enforcing com `font-src 'self'` (Task 03) e
   não será afrouxada; o IP do visitante não vai para um terceiro que a Política
   de Privacidade não declara; e saem duas conexões do caminho crítico.

   Licença OFL 1.1 para as duas famílias (confirmado na Task 00) — ver
   wwwroot/fonts/OFL-DMSans.txt e wwwroot/fonts/OFL-Kanit.txt.

   DM Sans 400/500/600/700: arquivos idênticos aos já usados e testados em
   Qnt.ProductID.LandPage (mesmo subset, mesmo comando fontTools — comentário
   original no fonts.css de lá). Kanit 500/600/700: pesos que não existiam
   neste repositório antes da Task 00; obtidos de google/fonts (`ofl/kanit/`,
   mesma licença OFL) e subsetados com `subset-font` (Node/harfbuzz), já que
   este ambiente não tem Python/fontTools — mesmo alcance Unicode do DM Sans
   (Latin básico + Latin-1 Supplement + pontuação/símbolos tipográficos).

   `font-display: optional`, não `swap` — mudança da Task 11. A Task 07 escolheu
   `swap` porque "aqui não há elemento com altura crítica ainda" (a Fase B
   decidiria se precisava revisitar). A Fase B trouxe o banner de cookies para
   a página real (ele é exibido automaticamente a quem ainda não decidiu sobre
   cookies) e o Lighthouse mediu CLS 0,23 causado exatamente por ele: o texto
   troca de fonte fallback para DM Sans depois do primeiro parágrafo já
   desenhado, a altura do banner muda, e como ele é `position:fixed` ancorado
   em `bottom`, a mudança de altura desloca o conteúdo visível. `optional` é a
   mesma solução já validada no Qnt.ProductID.LandPage para o mesmo problema:
   a fonte só é usada se já estiver em cache a tempo do primeiro layout;
   caso contrário, a página fica na fonte de sistema por aquela visita, sem
   troca posterior — sem reflow, ao custo de eventualmente não pegar a fonte
   customizada numa conexão muito lenta. CLS caiu para 0 depois da troca
   (medido com Lighthouse mobile).
   ============================================================================ */

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("../fonts/dm-sans-400.woff2") format("woff2");
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url("../fonts/dm-sans-500.woff2") format("woff2");
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url("../fonts/dm-sans-600.woff2") format("woff2");
}

@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("../fonts/dm-sans-700.woff2") format("woff2");
}

@font-face {
  font-family: "Kanit";
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url("../fonts/kanit-500.woff2") format("woff2");
}

@font-face {
  font-family: "Kanit";
  font-style: normal;
  font-weight: 600;
  font-display: optional;
  src: url("../fonts/kanit-600.woff2") format("woff2");
}

@font-face {
  font-family: "Kanit";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("../fonts/kanit-700.woff2") format("woff2");
}
