/* ==========================================================================
   00 · TOKENS
   Derivados literalmente de «Branding para empresa de limpieza
   Smart Security Guard» v1.0. No inventar valores fuera de esta hoja.
   ========================================================================== */

:root {
  /* --- Color · paleta tomada del logo -------------------------------- */
  --ink:              #0F2830;   /* titulares, cuerpo, reglas, footer     */
  --celeste-profundo: #1D8CA6;   /* acentos, reglas, foco de teclado      */
  /* Desviación documentada: el manual asigna Celeste Profundo al texto de
     acento sobre blanco, pero da 3,92:1 y no alcanza AA. Para texto se usa
     el mismo tono oscurecido: 5,35:1. */
  --celeste-texto:    #17738A;
  --celeste-marca:    #4FBAD0;   /* botón primario, planos, subrayados    */
  --celeste-claro:    #9EDCE8;   /* hover, bordes suaves, gráficos        */
  --celeste-palido:   #E4F4F8;   /* fondos alternos, tarjetas             */
  --plata:            #C9D1D6;   /* bordes de tabla, inactivos, líneas    */
  --blanco:           #FFFFFF;
  --error:            #C63A1E;   /* solo formularios                      */
  --exito:            #1F7A5C;   /* solo formularios                      */

  /* Proporción de referencia en pantalla: 70% blanco, 20% Ink, 10% celeste */

  /* Tintes operativos derivados de Ink (mismo tono, no colores nuevos) */
  --ink-92:  rgba(15, 40, 48, .92);
  --ink-70:  rgba(15, 40, 48, .70);
  /* --ink-40 es 2,39:1 sobre blanco: SOLO decoracion, nunca texto.
     Para texto secundario sobre blanco se usa --ink-70 (5,75:1). */
  --ink-40:  rgba(15, 40, 48, .40);
  --ink-12:  rgba(15, 40, 48, .12);
  --ink-06:  rgba(15, 40, 48, .06);

  /* --- Tipografía · Archivo, familia única --------------------------- */
  --font: "Archivo", "Helvetica Neue", Arial, sans-serif;

  --fs-display: clamp(3.125rem, 8.4vw, 7rem);      /*  50 → 112 */
  --fs-h2:      clamp(2.125rem, 4.6vw, 3.25rem);   /*  34 →  52 */
  --fs-h3:      clamp(1.375rem, 2.1vw, 1.75rem);   /*  22 →  28 */
  --fs-bajada:  clamp(1.1875rem, 1.9vw, 1.625rem); /*  19 →  26 */
  --fs-body:    1.0625rem;                          /*  17       */
  --fs-small:   0.9375rem;                          /*  15       */
  --fs-kicker:  0.75rem;                            /*  12       */

  --lh-display: 0.9;
  --lh-h2:      0.95;
  --lh-bajada:  1.35;
  --lh-body:    1.55;

  --tr-display: -0.035em;   /* tracking cerrado en titulares */
  --tr-kicker:   0.16em;

  /* --- Grilla · 12 columnas, canal de 88px al borde ------------------- */
  --cols: 12;
  --gutter: clamp(1.25rem, 6.1vw, 5.5rem);  /* 20px → 88px */
  --col-gap: clamp(1rem, 1.8vw, 1.5rem);
  --maxw: 1680px;

  /* --- Materia ------------------------------------------------------- */
  --radius: 0;               /* radio 0 en todo. No negociable.          */
  --rule: 2px;               /* regla de separación                      */
  --hairline: 1px;           /* línea fina en Plata                      */

  /* --- Ritmo vertical ------------------------------------------------ */
  --space-section: clamp(4.5rem, 9vw, 9rem);
  --space-block:   clamp(2rem, 4vw, 3.5rem);

  /* --- Movimiento ---------------------------------------------------- */
  --ease-out:  cubic-bezier(.16, 1, .3, 1);
  --ease-io:   cubic-bezier(.65, .05, .36, 1);
  --dur-fast:  .22s;
  --dur:       .45s;
  --dur-slow:  .9s;

  --header-h: 88px;
}

@media (max-width: 900px) { :root { --header-h: 68px; } }
