/* ============================================================
   02 · CAMADA DE FONTE

   Este arquivo e o unico lugar do projeto que fala de arquivo de
   fonte. Todo o resto usa --font-display / --font-serif /
   --font-text. Trocar como a Obviously carrega e mexer aqui e em
   lugar nenhum mais.

   AS TRES VOZES, COM FUNCAO FIXA — nenhuma invade a outra:
     manchete  -> Obviously peso 700    (--font-display)
     editorial -> Playfair Display      (--font-serif)
     corpo     -> Inter Tight           (--font-text)
   ============================================================ */

@layer tokens {

/* ------------------------------------------------------------
   OBVIOUSLY — hospedada no proprio projeto

   Os arquivos em assets/fonts/ sao WOFF2 subsetados a partir dos
   OTF que o Eduardo forneceu. O subset cobre latin, latin-1 e
   latin extended-A mais pontuacao: acento, til, cedilha,
   travessao e aspas curvas do portugues estao todos dentro.
   Cada corte cai de ~135 KB para ~27 KB.

   POR QUE self-host e nao src:local()
   O deck vai para a maquina do cliente, que nao tem a fonte
   ativada. Com local() ele veria o fallback; com os arquivos
   dentro da pasta, ve a tipografia real.

   E ISTO FUNCIONA EM file://
   @font-face com url() RELATIVO carrega por duplo clique no
   Chrome — testado, nao suposto. E o caminho precisa ser
   relativo: url() absoluto ou de outro diretorio cai em CORS.

   NOTA DE LICENCA
   Os arquivos tem OS/2.fsType = 4 (Preview & Print). Vieram de
   um pacote de terceiros, nao da OH no Type Co. Para uso em
   producao publica — o site no ar, por exemplo — o caminho
   licenciado e um web project do Adobe Fonts ou a licenca web
   direto com a fundicao. Num deck que roda local isso nao
   aparece; num servidor, os arquivos ficam publicos.

   PESOS: a familia nao e variavel e usa escala propria
   (usWeightClass do Regular = 540), entao o mapeamento para
   font-weight CSS e explicito.
   ------------------------------------------------------------ */

@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../assets/fonts/obviously-300.woff2") format("woff2"),
       local("Obviously-Lght");
}
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/obviously-400.woff2") format("woff2"),
       local("Obviously-Regu");
}
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/obviously-500.woff2") format("woff2"),
       local("Obviously-Medi");
}
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../assets/fonts/obviously-600.woff2") format("woff2"),
       local("Obviously-Semi");
}
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../assets/fonts/obviously-700.woff2") format("woff2"),
       local("Obviously-Bold");
}
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../assets/fonts/obviously-800.woff2") format("woff2"),
       local("Obviously-Blck");
}
/* 900 aponta para o Black: o pacote fornecido nao traz o Super na
   largura padrao, so na Extended. Sem esta linha, qualquer uso de
   900 cairia em fallback silencioso. */
@font-face{
  font-family: "Obviously";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../assets/fonts/obviously-800.woff2") format("woff2"),
       local("Obviously-Supr"), local("Obviously-Blck");
}

/* ------------------------------------------------------------
   FALLBACK METRICO
   Vale para a fracao de segundo ate o WOFF2 decodificar, e para
   o caso de alguem mover o index.html sem a pasta assets.

   Medido com fontTools, nao chutado. Largura de HAMBURGEFONTSIV
   em unidades de em:
     Obviously-Medi  11.643    cap 0.750   asc 0.800  desc 0.200
     Archivo-400     10.224    cap 0.686   asc 0.878  desc 0.210
   size-adjust = 11.643 / 10.224 = 113%
   ascent/descent sao os da Obviously DIVIDIDOS pelo size-adjust,
   senao a caixa de linha cresce junto com a largura.
   ------------------------------------------------------------ */
@font-face{
  font-family: "Obviously Fallback";
  src: local("Archivo"), local("Archivo-Regular"), local("Helvetica Neue"), local("Arial");
  size-adjust: 113%;
  ascent-override: 70.8%;
  descent-override: 17.7%;
  line-gap-override: 0%;
}

/* ------------------------------------------------------------
   BINDING — daqui pra frente o projeto so conhece estes nomes
   ------------------------------------------------------------ */
:root{
  --font-display: "Obviously", "Obviously Fallback", "Archivo", sans-serif;
  --font-serif:   "Playfair Display", Georgia, "Times New Roman", serif;
  --font-text:    "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;

  /* A condensada nao veio no pacote. Ela e reservada as pecas
     verticais de Instagram e hoje nao e usada em nenhuma delas —
     se um dia for, o arquivo precisa entrar aqui antes. */
  --font-display-cond: var(--font-display);
}

}
