/* ==========================================================================
   LEA : LIGHT ECHOES ALGORITHM — variables.css
   Design tokens. Single source of truth for the visual system.
   Mood: deep night blue-black, neon violet / cyan signal accents
   (matched to the LEA campaign imagery and logo).
   ========================================================================== */

:root {
  /* ---- Color ---- */
  --color-bg: #07070d;            /* deep night black */
  --color-bg-deep: #030308;       /* near-absolute black for contrast moments */
  --color-surface: #0e0e18;       /* raised surface */
  --color-surface-2: #161627;     /* raised surface, level 2 */
  --color-text: #f1f1f6;          /* spectral white */
  --color-muted: #9b9ab0;         /* cool grey */
  --color-faint: #55546e;         /* metadata grey */
  --color-line: rgba(220, 220, 245, 0.14);
  --color-line-strong: rgba(220, 220, 245, 0.32);
  --color-accent: #9d5cff;        /* neon violet — primary signal */
  --color-accent-2: #37e6f2;      /* neon cyan — secondary signal */
  --color-accent-3: #ef5ce0;      /* magenta edge — rare, gradient only */
  --color-accent-dim: rgba(157, 92, 255, 0.16);
  --color-chrome: #c7c7d8;        /* restrained chrome */

  /* Brand gradient — from the LEA neon logo */
  --gradient-brand: linear-gradient(98deg,
    var(--color-accent-2) 0%,
    #7c7bff 38%,
    var(--color-accent) 70%,
    var(--color-accent-3) 100%);

  /* Neon glows (use sparingly) */
  --glow-violet: 0 0 34px rgba(157, 92, 255, 0.38);
  --glow-cyan: 0 0 26px rgba(55, 230, 242, 0.3);

  /* ---- Typography ---- */
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  /* Fluid type scale */
  --text-xs: 0.72rem;
  --text-sm: 0.85rem;
  --text-base: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);
  --text-lg: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
  --text-xl: clamp(1.6rem, 1.2rem + 1.6vw, 2.6rem);
  --text-2xl: clamp(2.2rem, 1.4rem + 3.6vw, 4.4rem);
  --text-3xl: clamp(3rem, 1.6rem + 6.5vw, 7.5rem);
  --text-hero: clamp(4.5rem, 22vw, 22rem);

  /* ---- Spacing ---- */
  --space-xs: 0.375rem;
  --space-sm: 0.75rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4.5rem;
  --space-2xl: 7.5rem;
  --space-section: clamp(5rem, 12vh, 10rem);

  /* ---- Layout ---- */
  --width-max: 1520px;
  --width-text: 44rem;
  --gutter: clamp(1.25rem, 4vw, 4rem);

  /* ---- Motion ---- */
  --duration-fast: 180ms;
  --duration-medium: 420ms;
  --duration-slow: 900ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-expressive: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  /* ---- 3D ---- */
  --tilt-max: 7deg;
  --tilt-perspective: 900px;

  /* ---- Z-index layers ---- */
  --z-base: 1;
  --z-media: 10;
  --z-header: 100;
  --z-menu: 200;
  --z-modal: 300;
}
