/* variables.css — all design tokens in one place */
/* Change a value here and it updates everywhere */

:root {

  /* === COLOURS === */
  --colour-brand:        #2563EB;   /* primary blue */
  --colour-brand-dark:   #1E40AF;   /* hover state */
  --colour-brand-light:  #EFF6FF;   /* tinted backgrounds */
  --colour-brand-mid:    #BFDBFE;   /* borders on brand surfaces */

  --colour-accent:       #F59E0B;   /* amber — used sparingly */

  --colour-text-primary:   #0F172A; /* headings, body */
  --colour-text-secondary: #475569; /* supporting text */
  --colour-text-muted:     #94A3B8; /* placeholders, footer */

  --colour-bg:           #FFFFFF;
  --colour-bg-subtle:    #F8FAFC;   /* section backgrounds */
  --colour-border:       rgba(15, 23, 42, 0.08);

  --colour-success-bg:   #F0FDF4;
  --colour-success-text: #166534;
  --colour-success-border: #BBF7D0;

  /* === TYPOGRAPHY === */
  --font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;

  --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:  1.875rem;  /* 30px */
  --text-4xl:  2.25rem;   /* 36px */
  --text-5xl:  3rem;      /* 48px */
  --text-6xl:  3.75rem;   /* 60px */

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

  /* === 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;

  /* === LAYOUT === */
  --max-width: 900px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 9999px;

  /* === TRANSITIONS === */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
}
