/* ==========================================================================
   FlexigoTech — Tipografía autoalojada (sin CDN, sin Google Fonts en caliente)
   --------------------------------------------------------------------------
   Sans : Inter          — variable wght 100..900  — SIL OFL 1.1
   Mono : JetBrains Mono — variable wght 400..700  — SIL OFL 1.1
   Licencias completas en fonts/LICENSE-Inter.txt y fonts/LICENSE-JetBrainsMono.txt
   Ficheros en fonts/*.woff2. Peso total en disco: 176 KB.
   Ruta crítica real en ES/EN (solo los subsets "latin"): 78 KB.
   ========================================================================== */

/* ---------- Inter (sans) ------------------------------------------------- */

/* latin — cubre castellano completo (ñ á é í ó ú ü ¿ ¡), inglés, alemán,
   francés e italiano. Es el único subset que descarga una página ES/EN. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-var-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 — polaco, checo, rumano, turco, húngaro… Solo se descarga si la
   página contiene de verdad alguno de estos caracteres. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-var-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;
}

/* ---------- JetBrains Mono (datos, código, métricas) --------------------- */

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/jetbrains-mono-var-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/jetbrains-mono-var-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;
}

/* ---------- Variables ---------------------------------------------------- */

:root {
  /* Pila de respaldo elegida por métrica parecida: en macOS/iOS cae en
     -apple-system, en Windows en Segoe UI, en Android en Roboto. */
  --ft-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
    Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ft-font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo,
    Consolas, 'Liberation Mono', monospace;
}

/* ---------- Ajustes de render -------------------------------------------- */

/* Cifras de ancho fijo: obligatorio en tablas, precios, contadores y métricas
   para que no bailen los dígitos. Úsalo con la clase .ft-tnum. */
.ft-tnum,
[data-ft-tnum] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1;
}

/* La mono siempre con cifras tabulares: son datos, no prosa. */
code,
pre,
kbd,
samp {
  font-variant-numeric: tabular-nums;
}

/* JetBrains Mono trae ligaduras de código activadas (!= se dibuja ≠, -> se
   dibuja →). En bloques de código queda bien; en un dato suelto o en un nombre
   de fichero puede despistar. Pon .ft-no-liga donde no las quieras. */
.ft-no-liga {
  font-variant-ligatures: none;
  font-feature-settings: 'liga' 0, 'calt' 0, 'tnum' 1;
}

/* Inter incluye versiones "contextuales" de las comillas; en textos técnicos
   conviene el corte recto de la fuente y no la sustitución del navegador. */
body {
  font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
}

/* Nada aquí se mueve, así que no hay animación que desactivar; se deja el
   bloque para que cualquier añadido futuro respete la preferencia. */
@media (prefers-reduced-motion: reduce) {
  /* sin transiciones tipográficas */
}
