/* =========================================================
   DESIGN TOKENS — all CSS custom properties for the site.
   The CMS layer overwrites these at runtime via JS.
   ========================================================= */

:root {
  /* --- Brand Colors --- */
  --color-primary:        #6C3BFF;
  --color-primary-light:  #8A63FF;
  --color-primary-dark:   #4D1FE0;
  --color-secondary:      #00D4FF;
  --color-accent:         #FF3B8B;
  --color-success:        #00E87A;
  --color-warning:        #FFB800;

  /* --- Background / Surface --- */
  --color-bg:             #0A0A0F;
  --color-surface:        #13131A;
  --color-surface-2:      #1C1C27;
  --color-surface-3:      #252535;
  --color-border:         rgba(255,255,255,0.08);
  --color-border-strong:  rgba(255,255,255,0.16);

  /* --- Text --- */
  --color-text:           #FFFFFF;
  --color-text-muted:     #8A8AA0;
  --color-text-faint:     #4A4A60;

  /* --- Gradients --- */
  --gradient-primary:     linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  --gradient-hero:        radial-gradient(ellipse 80% 60% at 50% -10%, rgba(108,59,255,0.35) 0%, transparent 70%);
  --gradient-card:        linear-gradient(135deg, rgba(108,59,255,0.12), rgba(0,212,255,0.06));

  /* --- Typography --- */
  --font-heading:         'Inter', system-ui, -apple-system, sans-serif;
  --font-body:            'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:            'JetBrains Mono', 'Fira Code', monospace;

  --text-xs:   0.75rem;   /*  12px */
  --text-sm:   0.875rem;  /*  14px */
  --text-base: 1rem;      /*  16px */
  --text-lg:   1.125rem;  /*  18px */
  --text-xl:   1.25rem;   /*  20px */
  --text-2xl:  1.5rem;    /*  24px */
  --text-3xl:  2rem;      /*  32px */
  --text-4xl:  2.5rem;    /*  40px */
  --text-5xl:  3rem;      /*  48px */
  --text-6xl:  4rem;      /*  64px */

  --weight-regular: 400;
  --weight-medium:  500;
  --weight-semibold:600;
  --weight-bold:    700;
  --weight-black:   900;

  --leading-tight:  1.1;
  --leading-snug:   1.3;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  /* --- Spacing --- */
  --space-1:   0.25rem;
  --space-2:   0.5rem;
  --space-3:   0.75rem;
  --space-4:   1rem;
  --space-5:   1.25rem;
  --space-6:   1.5rem;
  --space-8:   2rem;
  --space-10:  2.5rem;
  --space-12:  3rem;
  --space-16:  4rem;
  --space-20:  5rem;
  --space-24:  6rem;
  --space-32:  8rem;

  /* --- Section padding --- */
  --section-py: 6rem;
  --section-px: 1.5rem;

  /* --- Border Radius --- */
  --radius-sm:   6px;
  --radius-md:   12px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-2xl:  32px;
  --radius-full: 9999px;

  /* --- Shadows --- */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.4);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.5);
  --shadow-lg:  0 8px 32px rgba(0,0,0,0.6);
  --shadow-glow-primary:   0 0 40px rgba(108,59,255,0.4);
  --shadow-glow-secondary: 0 0 40px rgba(0,212,255,0.3);

  /* --- Transitions --- */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
  --transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* --- Layout --- */
  --container-max:     1200px;
  --container-wide:    1400px;
  --nav-height:        72px;

  /* --- Gradient Orbs (controllable via CMS) --- */
  --hero-orb-1-opacity:   0.6;
  --hero-orb-1-size:      700px;
  --hero-orb-2-opacity:   0.4;
  --hero-orb-2-size:      400px;
  --contact-orb-opacity:  0.5;
  --contact-orb-size:     70%;
}
