/* =========================================================================
   UNIVERSAL SANS (Family Type) — Display (títulos/hero) + Text (corpo/UI).
   Origem: viverdeia-study/Fontes/ (extraída do x.ai). Pesos REAIS: só 400 e
   550 — pedir 500/600/700 no CSS renderiza o 400.
   ⚠ LICENÇA COMERCIAL: os arquivos vieram para ESTUDO. Antes de publicar,
     licenciar em universalsans.com (o Geist ao lado é SIL OFL, livre).
   ⚠ SUBSET do pipeline Next ("-s" no nome original) — cobertura de acentos
     verificada no browser (measureText) antes de aplicar em PT-BR.
   Os fallbacks abaixo são metricamente casados (verbatim do x.ai): trocam a
   fonte sem mover o layout 1px.
   ========================================================================= */
@font-face {
  font-family: 'Universal Sans Text';
  src: url('./UniversalSans-Text-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Universal Sans Text';
  src: url('./UniversalSans-Text-400-Italic.woff2') format('woff2');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Universal Sans Text';
  src: url('./UniversalSans-Text-550.woff2') format('woff2');
  font-weight: 550; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Universal Sans Text';
  src: url('./UniversalSans-Text-550-Italic.woff2') format('woff2');
  font-weight: 550; font-style: italic; font-display: swap;
}
/* Display: font-display FALLBACK (não swap) — escolha deliberada do x.ai:
   o maior tipo da página nunca "pula" depois de carregado. */
@font-face {
  font-family: 'Universal Sans Display';
  src: url('./UniversalSans-Display-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: fallback;
}
@font-face {
  font-family: 'Universal Sans Display';
  src: url('./UniversalSans-Display-400-Italic.woff2') format('woff2');
  font-weight: 400; font-style: italic; font-display: fallback;
}
@font-face {
  font-family: 'Universal Sans Display';
  src: url('./UniversalSans-Display-550.woff2') format('woff2');
  font-weight: 550; font-style: normal; font-display: fallback;
}
@font-face {
  font-family: 'Universal Sans Display';
  src: url('./UniversalSans-Display-550-Italic.woff2') format('woff2');
  font-weight: 550; font-style: italic; font-display: fallback;
}
/* fallbacks metricamente casados */
@font-face {
  font-family: 'Universal Sans Text Fallback';
  src: local('Arial');
  ascent-override: 89.92%; descent-override: 22.73%;
  line-gap-override: 0%; size-adjust: 105.67%;
}
@font-face {
  font-family: 'Universal Sans Display Fallback';
  src: local('Arial');
  ascent-override: 97.16%; descent-override: 24.57%;
  line-gap-override: 0%; size-adjust: 97.8%;
}
:root {
  --x8-font-display: 'Universal Sans Display', 'Universal Sans Display Fallback', system-ui, sans-serif;
  --x8-font-text: 'Universal Sans Text', 'Universal Sans Text Fallback', system-ui, sans-serif;
}

/* Geist · self-hosted · variável (100–900) · normal + italic
   Geist é open-source (SIL OFL 1.1 / MIT) da Vercel — ver LICENSE.txt.
   Importe este arquivo OU use o CDN do Google Fonts (ver system-prompt.md).
   Casa com os tokens --via-font ('Geist') e --via-font-mono ('Geist Mono'). */
@font-face {
  font-family: 'Geist';
  src: url('./Geist-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist';
  src: url('./Geist-Italic-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('./GeistMono-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('./GeistMono-Italic-Variable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
