/* Hallmark · tokens · theme: custom (tuned) — combinación del sitio en producción (azul profundo + cian)
 * con la estructura del index nuevo.
 * vibe: "técnico, confiable, con energía, cercano"
 * paper: oklch(14% 0.030 255) azul profundo · accent: oklch(79% 0.15 70) ámbar · cian como secundario
 * display: Bricolage Grotesque · body: IBM Plex Sans
 * axes: dark / geometric-sans / warm
 * Colores por área (red, seguridad, soporte, IA, desarrollo): solo en marcas pequeñas.
 */
:root {
  /* Superficies — mismo matiz, más claras cuanto más elevadas */
  --color-paper:    oklch(14% 0.030 255);
  --color-paper-2:  oklch(18% 0.032 255);
  --color-paper-3:  oklch(22% 0.032 255);
  --color-rule:     oklch(32% 0.030 255);
  --color-rule-2:   oklch(25% 0.028 255);
  --color-rule-ui:  oklch(48% 0.030 255);  /* bordes de controles: ≥ 3:1 sobre papel */

  /* Texto */
  --color-ink:      oklch(95% 0.008 240);
  --color-ink-2:    oklch(86% 0.012 240);
  --color-muted:    oklch(70% 0.020 245);

  /* Acento único (ámbar, del index nuevo) y derivados */
  --color-accent:      oklch(79% 0.150 70);
  --color-accent-ink:  oklch(20% 0.040 60);    /* texto sobre relleno ámbar */
  --color-accent-text: oklch(84% 0.130 75);    /* ámbar como texto sobre papel oscuro */
  --color-focus:       oklch(84% 0.170 75);

  /* Destello de la frase del hero: letras blancas con una banda ámbar que las recorre */
  --flow-a: oklch(95% 0.010 85);
  --flow-b: oklch(84% 0.130 75);
  --flow-c: oklch(74% 0.160 55);

  /* WhatsApp: verde de la marca, solo en sus botones */
  --color-whatsapp:     oklch(74% 0.190 150);
  --color-whatsapp-ink: oklch(18% 0.050 150);
  --glow-whatsapp:      oklch(74% 0.190 150 / 0.28);

  /* Brillos: modificadores con alfa, solo para overlays */
  --glow-accent:  oklch(79% 0.150 70 / 0.18);
  --glow-cool:    oklch(70% 0.140 215 / 0.18);
  --shadow-card:  0 24px 48px -24px oklch(4% 0.02 255 / 0.85);
  --grid-line:    oklch(70% 0.020 245 / 0.045);

  /* Colores por área: marcas chicas (tile de ícono, número, borde de etiqueta) */
  --hue-net: oklch(80% 0.120 205);  /* redes · cian (herencia del sitio actual) */
  --hue-sec: oklch(79% 0.150 70);   /* seguridad · ámbar (el acento) */
  --hue-sup: oklch(82% 0.100 150);  /* soporte · menta */
  --hue-dev: oklch(78% 0.130 20);   /* desarrollo · coral */
  --hue-ai:  oklch(80% 0.110 300);  /* IA · violeta */

  /* Tipografía */
  --font-display: "Bricolage Grotesque", "Bricolage Fallback", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", "Plex Fallback", ui-sans-serif, system-ui, sans-serif;

  /* Escala 1.25 desde 16 px */
  --text-xs:   0.8rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-md:   1.125rem;
  --text-lg:   1.25rem;
  --text-xl:   1.5625rem;
  --text-2xl:  1.9531rem;
  --text-3xl:  2.4414rem;
  --text-display-s: clamp(2.1rem, 3.6vw + 0.8rem, 3.4rem);
  --text-display:   clamp(2.6rem, 4.6vw + 0.9rem, 4.6rem);

  /* Espaciado 4 pt */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --page-max: 72rem;

  /* Movimiento */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in:     cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short:   180ms;
  --dur-mid:     260ms;

  /* Reglas y radios */
  --rule-hair:    1px;
  --radius-card:  18px;
  --radius-chip:  10px;
  --radius-pill:  999px;
}
