/* =========================================================================
   TOKENS · ASPIDA Ltda.
   Generado por scratchpad/gen_tokens.py — no editar a mano.
   Escalas derivadas de la paleta del manual de marca:
     primario #39536D · secundario #4B7CAD · neutro #777777
   El paso 500 de cada escala es el color exacto del manual.
   ========================================================================= */
:root{

  /* --- marca · base del manual #39536D --- */
  --marca-50:#F5F6F8;   /* blanco 1.08 · oscuro 16.55 — texto sobre oscuro OK */
  --marca-100:#E9ECEF;   /* blanco 1.19 · oscuro 15.09 — texto sobre oscuro OK */
  --marca-200:#D1DAE3;   /* blanco 1.41 · oscuro 12.65 — texto sobre oscuro OK */
  --marca-300:#AFC1D2;   /* blanco 1.85 · oscuro 9.70 — texto sobre oscuro OK */
  --marca-400:#819FBD;   /* blanco 2.75 · oscuro 6.50 — texto sobre oscuro OK */
  --marca-500:#39536D;   /* blanco 7.98 · oscuro 2.24 — texto sobre blanco OK */
  --marca-600:#2F4459;   /* blanco 10.04 · oscuro 1.78 — texto sobre blanco OK */
  --marca-700:#263748;   /* blanco 12.19 · oscuro 1.47 — texto sobre blanco OK */
  --marca-800:#1D2936;   /* blanco 14.76 · oscuro 1.21 — texto sobre blanco OK */
  --marca-900:#151E27;
  /* Mas oscuro que marca-900. Fuera del manual, pedido expreso: los degradados
     del modulo legal tiran a negro azulado. */
  --noche:#0A0F14;
  --tarjeta-fondo:#141C25;   /* superficie de las tarjetas, siempre oscura */
  /* Tinte de los iconos de tarjeta. Fuera del manual, como --noche: se pidio
     que no fueran del mismo azul que todo lo demas. Se cambia solo aqui. */
  --icono-tinte:#48A3B8;   /* blanco 16.84 · oscuro 1.06 — texto sobre blanco OK */

  /* --- acento · base del manual #4B7CAD --- */
  --acento-50:#F4F6F8;   /* blanco 1.08 · oscuro 16.52 — texto sobre oscuro OK */
  --acento-100:#E8ECF0;   /* blanco 1.19 · oscuro 15.07 — texto sobre oscuro OK */
  --acento-200:#CFDAE5;   /* blanco 1.42 · oscuro 12.62 — texto sobre oscuro OK */
  --acento-300:#AAC1D7;   /* blanco 1.86 · oscuro 9.64 — texto sobre oscuro OK */
  --acento-400:#7A9FC5;   /* blanco 2.77 · oscuro 6.47 — texto sobre oscuro OK */
  --acento-500:#4B7CAD;   /* blanco 4.39 · oscuro 4.08 — solo fondos y bordes */
  --acento-600:#3E668E;   /* blanco 6.01 · oscuro 2.98 — texto sobre blanco OK */
  --acento-700:#325272;   /* blanco 8.12 · oscuro 2.20 — texto sobre blanco OK */
  --acento-800:#263E56;   /* blanco 11.02 · oscuro 1.62 — texto sobre blanco OK */
  --acento-900:#1B2D3E;   /* blanco 14.08 · oscuro 1.27 — texto sobre blanco OK */

  /* --- neutro · base del manual #777777 --- */
  --neutro-50:#F6F6F6;   /* blanco 1.08 · oscuro 16.56 — texto sobre oscuro OK */
  --neutro-100:#ECECEC;   /* blanco 1.18 · oscuro 15.15 — texto sobre oscuro OK */
  --neutro-200:#DADADA;   /* blanco 1.40 · oscuro 12.80 — texto sobre oscuro OK */
  --neutro-300:#C1C1C1;   /* blanco 1.80 · oscuro 9.94 — texto sobre oscuro OK */
  --neutro-400:#9F9F9F;   /* blanco 2.65 · oscuro 6.76 — texto sobre oscuro OK */
  --neutro-500:#777777;   /* blanco 4.48 · oscuro 4.00 — solo fondos y bordes */
  --neutro-600:#626262;   /* blanco 6.10 · oscuro 2.93 — texto sobre blanco OK */
  --neutro-700:#4F4F4F;   /* blanco 8.19 · oscuro 2.18 — texto sobre blanco OK */
  --neutro-800:#3C3C3C;   /* blanco 11.03 · oscuro 1.62 — texto sobre blanco OK */
  --neutro-900:#2B2B2B;   /* blanco 14.16 · oscuro 1.26 — texto sobre blanco OK */

  /* --- neutros absolutos --- */
  --blanco:#FFFFFF;
  --papel:#F7F7F7;      /* color_12 del sitio actual */
  --tinta:#101820;      /* texto principal · 17.4 sobre blanco */
  --negro:#000000;

  /* --- estados · unicos colores fuera de la paleta del manual, exigidos
     por los formularios: el manual no define error ni exito --- */
  --error:#B3261E;   /* blanco 6.54 */
  --error-fondo:#FDECEA;
  --exito:#1E6B4F;   /* blanco 6.42 */
  --exito-fondo:#E8F4EF;
  --aviso:#8A5A00;   /* blanco 5.93 */
  --aviso-fondo:#FBF3E4;

  /* --- medidas de componente --- */
  --logo-min:96px;      /* celda minima de la rejilla de clientes */
  --logo-min-lg:112px;
  --desp-entrada:24px;  /* desplazamiento de las animaciones de entrada */
  --desp-hover:3px;

  /* --- tipografia · una sola familia, peso variable --- */
  --fuente:Sansation,"Segoe UI",Arial,sans-serif;   /* parrafos */
  --fuente-titulo:Arial,Helvetica,sans-serif;        /* titulos */
  /* mono del sistema: no añade ninguna descarga */
  --fuente-mono:ui-monospace,"Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace;

  /* escala fluida: min en 360px, max en 1440px */
  --t-display:clamp(2.5rem,1.417rem + 4.81vw,5.75rem);
  --lh-display:1.04; --ls-display:-.025em; --pe-display:700;
  --t-h1:clamp(2.125rem,1.5rem + 2.78vw,4rem);
  --lh-h1:1.08; --ls-h1:-.02em; --pe-h1:700;
  --t-h2:clamp(1.75rem,1.375rem + 1.67vw,2.875rem);
  --lh-h2:1.12; --ls-h2:-.015em; --pe-h2:700;
  --t-h3:clamp(1.438rem,1.25rem + 0.833vw,2rem);
  --lh-h3:1.22; --ls-h3:-.01em; --pe-h3:700;
  --t-h4:clamp(1.25rem,1.146rem + 0.463vw,1.562rem);
  --lh-h4:1.3; --ls-h4:-.005em; --pe-h4:700;
  --t-h5:clamp(1.125rem,1.062rem + 0.278vw,1.312rem);
  --lh-h5:1.35; --ls-h5:0; --pe-h5:700;
  --t-h6:clamp(1.062rem,1.042rem + 0.0926vw,1.125rem);
  --lh-h6:1.4; --ls-h6:.01em; --pe-h6:700;
  --t-body-lg:clamp(1.188rem,1.125rem + 0.278vw,1.375rem);
  --lh-body-lg:1.65; --ls-body-lg:0; --pe-body-lg:400;
  --t-body:clamp(1.062rem,1.021rem + 0.185vw,1.188rem);
  --lh-body:1.7; --ls-body:0; --pe-body:400;
  --t-body-sm:clamp(1rem,0.9792rem + 0.0926vw,1.062rem);
  --lh-body-sm:1.6; --ls-body-sm:0; --pe-body-sm:400;
  --t-caption:clamp(0.875rem,0.8542rem + 0.0926vw,0.9375rem);
  --lh-caption:1.45; --ls-caption:.14em; --pe-caption:700;

  /* --- espaciado · escala fija --- */
  --e-4:0.25rem;
  --e-8:0.5rem;
  --e-16:1.0rem;
  --e-24:1.5rem;
  --e-32:2.0rem;
  --e-48:3.0rem;
  --e-64:4.0rem;
  --e-96:6.0rem;
  --e-128:8.0rem;
  --toque-min:44px;   /* area minima de pulsacion */
  --aire-seccion:clamp(4rem,8vw,8rem);   /* separacion vertical entre bloques */
  --ancho:1280px;
  --gutter:var(--e-24);

  /* --- bordes, radios y las unicas sombras permitidas --- */
  --r-0:0; --r-1:2px; --r-2:4px; --r-3:8px;
  --borde:1px solid var(--neutro-200);
  --borde-osc:1px solid rgba(255,255,255,.16);
  --sombra-1:0 1px 2px rgba(16,24,32,.06);
  --sombra-2:0 6px 20px rgba(16,24,32,.10);

  /* --- movimiento --- */
  --d-rapida:180ms; --d-media:300ms; --d-lenta:520ms; --d-entrada:600ms;
  --d-hero:950ms;        /* entrada de cada lamina, deliberadamente lenta */
  --d-cambio-hero:1100ms; /* lo que tarda en pasar de una lamina a otra */
  --d-zoom-hero:14s;      /* acercamiento del fondo de la lamina activa */
  --intervalo-hero:11s;   /* cada cuanto avanza solo el carrusel */
  --intervalo-servicios:9s;   /* cada cuanto pasa de grupo el carrusel */
  --e-salida:cubic-bezier(.22,1,.36,1);     /* suave, para entradas */
  --e-estandar:cubic-bezier(.645,.045,.355,1);
  --paso-stagger:80ms;
  --d-reflejo:6s;   /* barrido del logo */
  --d-escaneo:2.4s;   /* linea que recorre las portadas del modulo legal */
  --d-paneles:26s;    /* deriva del panal hexagonal del fondo */
  --d-brillo:14s;     /* barrido de reflejo sobre el escudo; lento a proposito */
  --chaflan:18px;     /* esquina cortada de las tarjetas */
  --d-revelado:.5s;   /* barrido que descubre el reverso */
  --d-rejilla:14s;       /* deriva de la rejilla tecnica del modulo de servicios */
  --d-haces:19s;         /* haces diagonales de esa misma portada */
  --d-brillo-titulo:7s;  /* barrido del rotulo en degradado */
  --d-tilt:.45s;      /* vuelta de la inclinacion al soltar el cursor */
  --tilt-max:9deg;    /* inclinacion maxima de la tarjeta */
}

/* --- breakpoints (referencia; en CSS van literales en @media) ---
   sm 480px · md 720px · lg 900px · xl 1100px · xxl 1400px
   --------------------------------------------------------------- */

@media (prefers-reduced-motion:reduce){
  :root{--d-rapida:1ms;--d-media:1ms;--d-lenta:1ms;--d-entrada:1ms;--paso-stagger:0ms}
}
