/* =========================================================================
   Aspient Design Tokens — single source of truth for brand, elevation and
   motion. Colors are space-separated RGB triplets so Tailwind's
   `rgb(var(--x) / <alpha>)` utilities (e.g. bg-primary/10) work.
   Site is light-only by design — no dark palette is defined here.
   ========================================================================= */

:root {
  /* ---- Brand ramp — "Aspient Azure" (vivid electric blue, primary) ---- */
  --brand-50: 236 243 255;
  --brand-100: 217 230 255;
  --brand-200: 184 209 255;
  --brand-300: 138 175 255;
  --brand-400: 79 126 255;
  --brand-500: 37 91 255;   /* primary */
  --brand-600: 20 67 240;
  --brand-700: 16 52 206;
  --brand-800: 21 45 158;
  --brand-900: 23 41 120;

  /* ---- Accent ramp — "Signal Cyan" (AI / data energy) ---- */
  --accent-400: 45 224 255;
  --accent-500: 6 200 235;
  --accent-600: 8 158 196;

  /* ---- Extended spectrum — signature gradient partners (violet -> azure -> cyan) ---- */
  --c-violet: 124 58 237;   /* #7c3aed */
  --c-indigo: 79 70 229;    /* #4f46e5 */
  --c-cyan: 6 182 212;      /* #06b6d4 */
  --c-teal: 13 148 136;     /* #0d9488 */
  --c-pink: 236 72 153;     /* #ec4899 */
  --c-amber: 245 158 11;    /* #f59e0b */
  --c-sky: 14 165 233;      /* #0ea5e9 */

  /* ---- Semantic surfaces/text (light theme) ---- */
  --c-bg: 255 255 255;
  --c-surface: 248 250 252;
  --c-surface-2: 241 245 249;
  --c-surface-3: 236 241 248;   /* elevated / raised panels */
  --c-text: 15 23 42;           /* slate-900 */
  --c-text-muted: 71 85 105;    /* slate-600 */
  --c-text-faint: 148 163 184;  /* slate-400 */
  --c-border: 214 214 222;      /* hairline */
  --c-border-strong: 203 213 225;
  --c-primary: 37 91 255;
  --c-primary-fg: 255 255 255;
  --c-accent: 6 200 235;
  --c-primary-glow: 37 91 255;
  --shadow-color: 15 23 42;

  /* ---- Feedback colors ---- */
  --c-success: 16 163 96;
  --c-warning: 217 119 6;
  --c-danger: 220 38 38;

  /* ---- Glass / blur ---- */
  --glass-bg-light: 255 255 255;
  --glass-bg-dark: 15 23 42;
  --glass-blur: 16px;
  --glass-border-alpha: 0.14;

  /* ---- Radius scale ---- */
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --radius-xl: 1.75rem;
  --radius-2xl: 2.25rem;
  --radius-full: 9999px;

  /* ---- Elevation (shadow) scale — neutral, theme-aware via --shadow-color ---- */
  --shadow-xs: 0 1px 2px rgb(var(--shadow-color) / 0.05);
  --shadow-sm: 0 1px 2px rgb(var(--shadow-color) / 0.04), 0 8px 20px -14px rgb(var(--shadow-color) / 0.16);
  --shadow-md: 0 2px 4px rgb(var(--shadow-color) / 0.05), 0 16px 32px -18px rgb(var(--shadow-color) / 0.2);
  --shadow-lg: 0 4px 8px rgb(var(--shadow-color) / 0.06), 0 28px 54px -22px rgb(var(--shadow-color) / 0.24);
  --shadow-xl: 0 8px 16px rgb(var(--shadow-color) / 0.08), 0 44px 80px -26px rgb(var(--shadow-color) / 0.28);
  --shadow-glow: 0 0 30px -5px rgb(var(--c-primary-glow) / 0.45);
  --shadow-glow-lg: 0 0 60px -10px rgb(var(--c-primary-glow) / 0.5);

  /* ---- Motion timing ---- */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-soft: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 180ms;
  --duration-base: 320ms;
  --duration-slow: 600ms;
  --stagger-step: 80ms;
}

