/* FOLHA DE TIPOGRAFIA DO PERFIL. O nome do ficheiro e historico: e o unico
   CSS que o perfil carrega (`BRAND_FONT_URL` aponta para ca), e desde o
   alinhamento com o site institucional traz as TRES familias da casa --
   Manrope no corpo, Playfair Display nos titulos da montra, IBM Plex Mono
   nos micro-rotulos e nas referencias -- mais o par de tokens que as liga,
   no fim do ficheiro. Quando houver ocasiao de mexer no `brand.env`, o nome
   certo e `fonts.css`; ate la renomear so partia o `BRAND_FONT_URL`. */

/* Manrope (SIL Open Font License 1.1) -- auto-alojada.
   Sem pedidos a fonts.googleapis.com/fonts.gstatic.com: o IP do
   candidato nao sai para terceiros, e a CSP do Caddy nao precisa
   de excepcao (fica em 'self'). Variavel: um ficheiro cobre 400-800.
   Regenerar: scripts/verify/... ou refazer o fetch do css2 com wght@400..800. */

/* cyrillic-ext */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/brand/fonts/manrope-latin.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;
}

/* ------------------------------------------------------------------ */
/* Playfair Display (SIL Open Font License 1.1) -- auto-alojada.        */
/*                                                                     */
/* A serifa de display do site institucional da imAIgine. O site usa-a */
/* nos titulos grandes e poe a frase de remate em ITALICO na cor de    */
/* acento -- e essa a assinatura da casa, e sem a fonte nao ha remate.  */
/*                                                                     */
/* So `latin` e `latin-ext`: os cinco idiomas do perfil (pt-PT, es,    */
/* fr, de, en) cabem todos no `latin`, e o `latin-ext` fica como rede  */
/* para nomes proprios. Nada de cyrillic/greek/vietnamese como a       */
/* Manrope arrasta -- sao 90 KB que nenhum candidato desta instancia    */
/* chegaria a pedir. Na pratica o browser descarrega dois ficheiros:   */
/* o direito e o italico do `latin` (77 KB).                           */
/*                                                                     */
/* Variavel (400..900) num ficheiro por estilo: os titulos usam 700 e  */
/* 800, e um eixo continuo evita dois ficheiros por peso.              */
/* Regenerar: css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900 */

/* latin-ext */
@font-face {font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/brand/fonts/playfair-display-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url(/brand/fonts/playfair-display-latin.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;
}
/* latin-ext -- italico */
@font-face {font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(/brand/fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin -- italico */
@font-face {font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url(/brand/fonts/playfair-display-italic-latin.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;
}

/* ------------------------------------------------------------------ */
/* IBM Plex Mono (SIL Open Font License 1.1) -- auto-alojada.          */
/*                                                                     */
/* A terceira familia do site: os micro-rotulos em monoespacada,        */
/* maiusculas e tracking largo ("RECURSO HUMANO DE IA - 01"). Sem ela  */
/* a montra caia na ui-monospace do sistema -- Consolas em Windows, SF  */
/* Mono em macOS, DejaVu em Linux -- e uma demonstracao mostrada no     */
/* portatil do cliente nao pode depender de qual deles ele tem.        */
/*                                                                     */
/* Dois pesos (400 para as referencias, 500 para os rotulos) e so os   */
/* subconjuntos latinos: 29 KB por peso, 58 KB no total, dos quais o   */
/* browser pede 30 KB nos cinco idiomas do perfil.                     */

/* latin-ext 400 */
@font-face {font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/brand/fonts/ibm-plex-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 400 */
@font-face {font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/brand/fonts/ibm-plex-mono-400-latin.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;
}
/* latin-ext 500 */
@font-face {font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/brand/fonts/ibm-plex-mono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 500 */
@font-face {font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/brand/fonts/ibm-plex-mono-500-latin.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;
}

/* O PAR TIPOGRAFICO. `--font-display` e o token que `h1`-`h6` e a classe
   `font-display` consomem (ver `docs/design-system.md`); `--font-sans` fica a
   Manrope e continua a mandar no corpo e na interface.

   Porque vive AQUI e nao no `index.css`: o produto ainda nao tem chave
   `BRAND_FONT_DISPLAY` -- o `brandTokensCss()` emite
   `html:root { --font-display: var(--font-sans) }`, e por isso nenhuma
   declaracao no `:root` do `index.css` lhe ganharia. Enquanto essa chave nao
   existir, a tipografia de um perfil pertence ao perfil, exactamente como o
   `BRAND_FONT_SANS`: a folha viaja com os `.woff2`, e um perfil sem ela
   volta sozinho a uma familia so. O mesmo vale para o `--font-mono`, que nem
   sequer e uma chave de marca: esta fixo no `@theme` do `index.css`. Ver o
   relatorio -- `BRAND_FONT_DISPLAY` e para pedir ao upstream.

   `html:root.theme-public` e (0,2,1) e ganha ao `html:root` (0,1,1) da marca.
   O ESCOPO e deliberado: a serifa e a monoespacada sao da MONTRA. O
   back-office mostra-se como o upstream o tem -- Manrope em toda a parte e a
   mono de sistema, que e o que se le bem numa tabela de 40 linhas.

   A pilha de recurso e uma serifa de sistema e nao a Manrope: se o `.woff2`
   falhar, o titulo tem de continuar a ser um titulo com serifa -- cair na sans
   apagaria a unica coisa que esta regra existe para dizer. */
html:root.theme-public {
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
