﻿/* ============================================================
   DESIGN TOKENS
   Single source of truth for the entire visual system.
   Claude #2: this is your primary file. Swap values here to
   retheme the entire page without touching any other file.
   ============================================================ */

:root {

  /* --- Colors ------------------------------------------------ */
  --color-brand-primary:    #22c55e;   /* bright green - buttons, active states */
  --color-brand-secondary:  #16a34a;   /* medium green - hover, links, CTA bg */
  --color-brand-accent:     #86efac;   /* light green - quote marks, highlights */

  --color-bg:               #ffffff;
  --color-bg-subtle:        #f0fdf4;   /* light mint - alternating sections */
  --color-bg-inverse:       #052e16;   /* deep forest - hero, footer */

  --color-text-primary:     #111827;
  --color-text-secondary:   #4b5563;
  --color-text-inverse:     #ffffff;
  --color-text-muted:       #9ca3af;
  --color-text-brand:       #16a34a;   /* green text - links, FAQ answers */

  --color-border:           #dcfce7;   /* light green border */
  --color-border-subtle:    #f0fdf4;

  /* --- Typography -------------------------------------------- */
  --font-sans:    'Inter', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-heading: var(--font-sans);
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

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

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

  --leading-tight:  1.2;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-loose:  1.8;

  /* --- Spacing ----------------------------------------------- */
  --space-1:  0.25rem;   /*  4px */
  --space-2:  0.5rem;    /*  8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* --- Layout ------------------------------------------------ */
  --container-max:    1200px;
  --container-narrow: 720px;
  --container-wide:   1440px;
  --container-pad:    var(--space-6);

  /* --- Borders ----------------------------------------------- */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-xl:   24px;
  --radius-full: 9999px;

  /* --- Shadows ----------------------------------------------- */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.04);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.10), 0 4px 8px rgba(0, 0, 0, 0.04);
  --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.12), 0 8px 16px rgba(0, 0, 0, 0.06);

  /* --- Motion ------------------------------------------------ */
  --ease-out:    cubic-bezier(0.0, 0.0, 0.2, 1);
  --ease-in:     cubic-bezier(0.4, 0.0, 1, 1);
  --ease-inout:  cubic-bezier(0.4, 0.0, 0.2, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1); /* overshoot spring */

  --duration-fast:   150ms;
  --duration-normal: 250ms;
  --duration-slow:   400ms;
  --duration-slower: 600ms;

  /* --- Z-index ----------------------------------------------- */
  --z-nav:     100;
  --z-overlay: 200;
  --z-modal:   300;
  --z-toast:   400;
}
