/* Ouro Printer — tokens da marca, direto do manual de identidade.
   Importado por todas as páginas, antes do `lp.css`. Os dois arquivos juntos são o site: um
   traz a marca, o outro o desenho.

   ═══ O QUE MUDOU EM 24/08/2026, E POR QUÊ ═══

   Até aqui a landing usava marinho `#0f2c52` e amarelo `#FCB803` — valores que o próprio
   `CLAUDE.md` registrava como aproximação, à espera do manual: "ajustar aos valores exatos
   do manual de identidade". O manual chegou, e os valores exatos são outros:

     · Azul Profundo Mineral  #000066   (CMYK 100,94,32,30)
     · Amarelo Ouro Brilhante #fec203   (CMYK 0,26,93,0)

   O azul do manual é MUITO mais escuro e saturado que o `#0f2c52` que estava no ar (que era
   um marinho dessaturado, de tela); o amarelo mal se move. Não é ajuste fino: a home muda de
   cara. Foi decisão do responsável ao aprovar a proposta C.

   ═══ CONTRASTE, MEDIDO ═══

   O par da marca é raro por ser confortável nos dois sentidos:
     branco  sobre azul   17,6:1        azul   sobre amarelo  10,8:1
     amarelo sobre azul   10,8:1        branco sobre amarelo   1,8:1  ← NUNCA

   Daí `--tinta-sobre-ouro` ser o azul e não o branco: é a mesma regra que o app já seguia
   com `--color-tinta-amarelo`, só que aqui a tinta é a própria cor da marca.

   ═══ TIPOGRAFIA ═══

   O manual pede **Mont Heavy** no display. Mont é uma fonte paga da Fontfabric, não veio
   arquivo no manual e ela não existe no Google Fonts. Montserrat 800/900 entra no lugar —
   mesmo gênero (sans geométrica), o mais próximo que é livre. Trocar aqui e em `--fonte-…`
   no dia em que o arquivo da Mont chegar. */

/* ═══ AS FONTES SÃO SERVIDAS DAQUI, NÃO DO GOOGLE ═══

   O design system importava de `fonts.googleapis.com`. Em produção isso NÃO carregava: a CSP
   da landing é `style-src 'self'` e `font-src 'self'`, então o navegador recusava a folha e a
   página inteira caía no fallback — Arial Black no display e Arial no corpo. Descoberto por
   varredura de QA em 24/08/2026: `document.fonts.size` era 0 no build servido, com o erro
   "Loading the stylesheet ... was blocked" no console. Nenhum aviso na tela; a página só
   ficava com outra cara.

   Duas saídas: abrir a CSP ou servir as fontes. Serviu-se — é o que a Archivo já fazia aqui
   antes, e numa página cujo assunto é velocidade no 4G do lojista, duas viagens a um terceiro
   (googleapis + gstatic) antes do primeiro texto custam mais que os 240 KB somados abaixo.

   São os subconjuntos LATIN do próprio Google (`unicode-range` copiado de lá): 37 KB por peso
   de Montserrat, 42 KB por peso de Roboto. `swap` para o texto aparecer antes da fonte. */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  /* Um arquivo por família, e não um por peso: o subconjunto do Google é VARIÁVEL — os seis
     downloads (700/800/900 e 400/500/700) vinham byte a byte idênticos, conferido por hash.
     Declarar a FAIXA de pesos entrega os três de cada família em 81 KB somados, no lugar de
     240 KB de cópias. Mesmo padrão que a Archivo já usava aqui. */
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/montserrat-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;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/roboto-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;
}


:root {
  /* Base da marca */
  --ouro: #fec203;
  --ouro-escuro: #e0a900;
  --ouro-mais-escuro: #b88900;
  /* Ouro para TEXTO pequeno sobre branco. O `--ouro-mais-escuro` do manual mede 3,17:1 a
     13px (medido, 24/08/2026) e o piso é 4,5 — este escurece o suficiente para 5,3:1 sem
     sair do matiz. Só para tinta: fundo e filete continuam no ouro da marca. */
  --ouro-tinta: #8a6600;
  --ouro-claro: #fff2cc;

  --azul: #000066;
  --azul-claro: #000a80;
  --azul-mais-claro: #0d1a99;

  /* Tinta sobre o amarelo — o azul da marca. Branco sobre ouro mede 1,8:1. */
  --tinta-sobre-ouro: var(--azul);

  /* Neutros puxados para o azul, para o cinza ser da marca e não cinza de navegador. */
  --branco: #ffffff;
  --neutro-050: #f6f7fb;
  --neutro-100: #eceef5;
  --neutro-200: #d8dbe8;
  --neutro-300: #b7bbd1;
  --neutro-500: #5f6377;
  --neutro-600: #414459;
  --neutro-800: #16172a;
  --neutro-900: #0a0a14;

  /* Papéis */
  --sup: var(--branco);
  --sup-alt: var(--neutro-050);
  --linha: var(--neutro-200);
  --ink: var(--neutro-900);
  --corpo: var(--neutro-600);
  --suave: var(--neutro-500);

  --fonte-display: 'Montserrat', 'Mont Heavy', 'Arial Black', sans-serif;
  --fonte-corpo: 'Roboto', 'Helvetica Neue', Arial, sans-serif;

  --largura: 1280px;
  --secao-y: clamp(72px, 9vw, 116px);
  --curva: cubic-bezier(0.2, 0.6, 0.2, 1);
}
