/* Generado por scripts/build-css.mjs desde src/css: no editar a mano. */

/* ── fonts.css ── */
/* OR Systems — fuentes autoalojadas (antes servidas por Google Fonts).
   Archivos WOFF2 variables, subconjunto "latin" (cubre español), descargados de
   fonts.gstatic.com sin modificar. Licencia SIL Open Font License 1.1, que permite
   redistribuirlas. Si se cambia una versión, renombrar el archivo (caché larga). */

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-v12-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: 'DM Sans';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('../fonts/dm-sans-v17-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: 'DM Sans';
  font-style: italic;
  font-weight: 300 400;
  font-display: swap;
  src: url('../fonts/dm-sans-italic-v17-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: 'Space Grotesk';
  font-style: normal;
  font-weight: 500 600;
  font-display: swap;
  src: url('../fonts/space-grotesk-v22-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;
}

/* ── Fuentes de reserva con métricas ajustadas ──
   Sin preload, el primer pintado usa estas caras locales y la fuente web entra después (swap).
   size-adjust y los overrides igualan ancho y alto de línea con la fuente web para que el cambio
   no desplace el texto (CLS). Medidos en Chrome sobre texto en español contra Arial / Arial Bold.
   En Android no hay Arial: allí se usa la sans-serif del sistema sin ajuste. */
@font-face {
  font-family: 'DM Sans Fallback';
  src: local('Arial'), local('ArialMT');
  font-weight: 300 500;
  size-adjust: 103.6%;
  ascent-override: 95.5%;
  descent-override: 29.9%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Plus Jakarta Sans Fallback';
  src: local('Arial Bold'), local('Arial-BoldMT');
  font-weight: 600 800;
  size-adjust: 100.8%;
  ascent-override: 103.1%;
  descent-override: 21.8%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Space Grotesk Fallback';
  src: local('Arial'), local('ArialMT');
  font-weight: 500 600;
  size-adjust: 108.3%;
  ascent-override: 90.5%;
  descent-override: 26.8%;
  line-gap-override: 0%;
}

/* ── politica.css ── */
/* OR Systems — estilos de politica-de-datos.html (página independiente del sitio principal). */

:root {
  color-scheme: dark;
  --bg-primary : #060B19;
  --bg-alt     : #0A1224;
  --text-strong: #FFFFFF;
  --text-body  : #E7ECF4;
  --text-subtle: #8E97A8;
  --amber      : #E8A04A;
  --border     : rgba(255,255,255,.08);
  --ff-display : 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', system-ui, -apple-system, sans-serif;
  --ff-body    : 'DM Sans', 'DM Sans Fallback', system-ui, -apple-system, sans-serif;
}
*,*::before,*::after { box-sizing: border-box; }
body {
  margin: 0; background: var(--bg-primary); color: var(--text-body);
  font-family: var(--ff-body); font-size: clamp(1rem, 1.05vw, 1.0625rem); line-height: 1.7;
}
a { color: var(--amber); }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; border-radius: 3px; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: var(--amber); color: #060B19; padding: .5rem 1rem; }
header, main, footer { max-width: 780px; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2rem); }
header { padding-block: 2rem 1rem; border-bottom: 1px solid var(--border); }
header a { font-family: var(--ff-display); font-weight: 700; text-decoration: none; }
h1 { font-family: var(--ff-display); color: var(--text-strong); font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem); line-height: 1.15; margin: 2rem 0 .5rem; }
h2 { font-family: var(--ff-display); color: var(--text-strong); font-size: clamp(1.2rem, 1.1rem + .5vw, 1.45rem); margin: 2.5rem 0 .75rem; }
.meta { color: var(--text-subtle); font-size: .9rem; }
ul { padding-left: 1.25rem; }
li + li { margin-top: .35rem; }
dl { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1.25rem; background: var(--bg-alt); border: 1px solid var(--border); border-radius: 12px; padding: 1.25rem; }
dt { color: var(--text-subtle); }
dd { margin: 0; }
footer { padding-block: 2rem 3rem; margin-top: 3rem; border-top: 1px solid var(--border); color: var(--text-subtle); font-size: .9rem; }
@media (max-width: 520px) { dl { grid-template-columns: 1fr; } dt { margin-top: .5rem; } }
