/* ============================================================================
   GCS · Tokens de marca — FUENTE ÚNICA de color, tipografía y espaciado.
   Medido del paquete oficial del cliente (Ficha_tecnica_GCS.json, v10, 2026-10-14):
     azul_violeta #29166F · verde #A5D158
     GCS: Instrument Sans Medium 500 · textos: Space Grotesk Regular 400
   Prohibido escribir un color o tipografía a mano en las candidatas: todo sale de aquí.
   ========================================================================== */

/* -- Fuentes auto-hospedadas (OFL, permitido). No dependen de red externa. -- */
@font-face{
  font-family:"Instrument Sans";
  src:url("fuentes/InstrumentSans.ttf") format("truetype");
  font-weight:400 700; font-display:swap; font-style:normal;
}
@font-face{
  font-family:"Space Grotesk";
  src:url("fuentes/SpaceGrotesk.ttf") format("truetype");
  font-weight:400 700; font-display:swap; font-style:normal;
}

:root{
  /* --- Primitivos de marca (los dos únicos colores aprobados) --- */
  --gcs-navy:#29166F;        /* azul violeta institucional */
  --gcs-green:#A5D158;       /* verde acento */

  /* --- Escalera violeta derivada del navy (superficies, NO gris) --- */
  --gcs-navy-900:#160B3B;    /* más profundo que la marca, para fondos oscuros */
  --gcs-navy-800:#1E1052;
  --gcs-navy-700:#29166F;    /* = marca */
  --gcs-navy-600:#3A2490;
  --gcs-navy-500:#4E35AE;
  --gcs-navy-300:#9E8FD6;
  --gcs-navy-100:#E7E2F5;    /* tinte claro para chips/superficies en tema claro */
  --gcs-navy-050:#F3F1FA;

  /* --- Verde en pasteles para estados/acentos sobre claro --- */
  --gcs-green-700:#6E9A2E;   /* verde legible sobre blanco (texto/enlaces) */
  --gcs-green-300:#C6E398;
  --gcs-green-100:#EDF6DC;

  /* --- Neutros de documento --- */
  --gcs-ink:#171326;         /* texto principal (violeta-negro, no negro puro) */
  --gcs-slate:#4A4761;       /* texto secundario */
  --gcs-mute:#78748E;        /* texto terciario / metadatos */
  --gcs-line:#E4E1EE;        /* hairlines */
  --gcs-paper:#FFFFFF;       /* papel */
  --gcs-surface:#F7F6FB;     /* superficie elevada clara */

  /* --- Tipografía --- */
  --gcs-head:"Instrument Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --gcs-body:"Space Grotesk",system-ui,-apple-system,Segoe UI,sans-serif;

  /* Cinco pasos tipográficos (no trece). line-height ajustado al paso. */
  --fs-1:clamp(13px,.8vw,14px);     /* metadatos / eyebrow */
  --fs-2:clamp(15px,1vw,17px);      /* cuerpo */
  --fs-3:clamp(19px,1.5vw,22px);    /* subtítulo / lead */
  --fs-4:clamp(26px,3vw,38px);      /* título de sección */
  --fs-5:clamp(38px,5.5vw,68px);    /* display / hero */

  /* Peso y tracking premium (medido en identidad SARYAD: 400-450, tracking negativo) */
  --tr-tight:-.02em;
  --tr-display:-.03em;

  /* --- Espaciado / radios / sombra --- */
  --sp:clamp(16px,2.2vw,28px);
  --maxw:min(1880px,95vw);
  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:34px;
  --shadow-s:0 2px 8px rgba(41,22,111,.06);
  --shadow-m:0 14px 34px rgba(41,22,111,.10);
  --shadow-l:0 30px 60px rgba(41,22,111,.16);
  --ease:cubic-bezier(.22,1,.36,1);
}

/* Reset mínimo compartido */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--gcs-body);font-size:var(--fs-2);line-height:1.6;color:var(--gcs-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--gcs-head);font-weight:500;letter-spacing:var(--tr-tight);line-height:1.1;margin:0;color:var(--gcs-ink)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
