/* ============================================
   KONVERXO · Design tokens · v1.0
   ============================================ */

:root {
  /* ----- COLOR · Primarios ----- */
  --kvx-green: #92ED32;          /* verde lima Konverxo · primario */
  --kvx-green-soft: #B8F26E;     /* tono suave para hovers/highlights */
  --kvx-green-deep: #6BB31F;     /* tono profundo para contraste */
  --kvx-green-glow: rgba(146, 237, 50, 0.4);

  /* ----- COLOR · Secundarios ----- */
  --kvx-magenta: #FF2A6D;        /* acento contrapunto · CTAs alternos */
  --kvx-cyan: #00E5FF;            /* acento info / data */

  /* ----- COLOR · Neutros ----- */
  --kvx-black: #050505;           /* fondo principal · más profundo que dono */
  --kvx-ink: #0a0a0c;             /* fondo de cards / paneles */
  --kvx-charcoal: #131318;        /* superficie elevada */
  --kvx-graphite: #1c1c24;        /* bordes / separadores */
  --kvx-smoke: #2a2a35;           /* hover backgrounds */
  --kvx-ash: #6b6b78;             /* texto secundario */
  --kvx-mist: #a8a8b8;            /* texto terciario */
  --kvx-fog: #d4d4dc;             /* texto sobre oscuro */
  --kvx-paper: #f5f5f0;           /* blanco roto · contraste */

  /* ----- TYPOGRAPHY ----- */
  /* Display: Space Mono (geométrica, monoespaciada, sabor a terminal pero más cálida que JetBrains) */
  /* Heading: Bricolage Grotesque (variable, brutal, con peso) */
  /* Body: Geist (clean, legible, moderna) */
  --kvx-font-display: 'Space Mono', 'IBM Plex Mono', ui-monospace, monospace;
  --kvx-font-head: 'Bricolage Grotesque', 'Inter Tight', system-ui, sans-serif;
  --kvx-font-body: 'Geist', 'Inter', system-ui, sans-serif;

  /* ----- TYPE SCALE (modular, clamp para fluidez) ----- */
  --kvx-text-xs:   clamp(0.72rem, 0.70rem + 0.10vw, 0.78rem);
  --kvx-text-sm:   clamp(0.85rem, 0.83rem + 0.10vw, 0.92rem);
  --kvx-text-base: clamp(1.00rem, 0.98rem + 0.12vw, 1.08rem);
  --kvx-text-lg:   clamp(1.15rem, 1.10rem + 0.25vw, 1.30rem);
  --kvx-text-xl:   clamp(1.40rem, 1.30rem + 0.50vw, 1.65rem);
  --kvx-text-2xl:  clamp(1.80rem, 1.60rem + 1.00vw, 2.40rem);
  --kvx-text-3xl:  clamp(2.40rem, 2.00rem + 2.00vw, 3.60rem);
  --kvx-text-4xl:  clamp(3.20rem, 2.50rem + 3.50vw, 5.50rem);
  --kvx-text-5xl:  clamp(4.00rem, 3.00rem + 5.00vw, 7.50rem);
  --kvx-text-hero: clamp(4.50rem, 3.20rem + 6.50vw, 10.00rem);
  --kvx-text-mega: clamp(5.50rem, 3.50rem + 9.00vw, 14.00rem);

  /* ----- SPACING (8pt grid) ----- */
  --kvx-space-1:  4px;
  --kvx-space-2:  8px;
  --kvx-space-3:  12px;
  --kvx-space-4:  16px;
  --kvx-space-5:  24px;
  --kvx-space-6:  32px;
  --kvx-space-7:  48px;
  --kvx-space-8:  64px;
  --kvx-space-9:  96px;
  --kvx-space-10: 128px;
  --kvx-space-11: 160px;

  /* ----- RADII ----- */
  --kvx-radius-xs: 2px;
  --kvx-radius-sm: 4px;
  --kvx-radius:    8px;
  --kvx-radius-lg: 16px;
  --kvx-radius-xl: 24px;
  --kvx-radius-pill: 999px;

  /* ----- BORDERS ----- */
  --kvx-border:        1px solid var(--kvx-graphite);
  --kvx-border-strong: 1px solid var(--kvx-smoke);
  --kvx-border-accent: 1px solid var(--kvx-green);

  /* ----- SHADOWS / GLOWS ----- */
  --kvx-shadow-sm: 0 1px 2px rgba(0,0,0,0.4);
  --kvx-shadow:    0 4px 16px rgba(0,0,0,0.5);
  --kvx-shadow-lg: 0 24px 64px rgba(0,0,0,0.6);
  --kvx-glow:       0 0 24px var(--kvx-green-glow);
  --kvx-glow-magenta: 0 0 24px rgba(255, 42, 109, 0.35);
  --kvx-glow-soft:  0 0 12px rgba(146, 237, 50, 0.18);

  /* ----- TRANSITIONS ----- */
  --kvx-ease:        cubic-bezier(0.22, 1, 0.36, 1);
  --kvx-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --kvx-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --kvx-dur-fast:    160ms;
  --kvx-dur:         240ms;
  --kvx-dur-slow:    480ms;
  --kvx-dur-xslow:   800ms;

  /* ----- LAYOUT ----- */
  --kvx-max-width:    1320px;
  --kvx-max-narrow:   880px;
  --kvx-max-wide:     1480px;
  --kvx-gutter:       clamp(1rem, 3vw, 2.5rem);
  --kvx-header-h:     72px;
  --kvx-header-h-mob: 60px;

  /* ----- Z-INDEX ----- */
  --kvx-z-base:    1;
  --kvx-z-raised:  10;
  --kvx-z-sticky:  100;
  --kvx-z-overlay: 500;
  --kvx-z-modal:   1000;
  --kvx-z-toast:   2000;
}
