/* Partifier · Design tokens
   Single source of truth for color, type, spacing, motion. */

:root {
  /* Brand */
  --brand-700: #6A2BC8;
  --brand-500: #8250FF;
  --brand-300: #A38CFA;
  --brand-50:  #F4ECFF;

  /* Ink (text) */
  --ink-900: #0A0A0A;
  --ink-700: #2D2D2D;
  --ink-500: #5A5A5A;   /* AA-compliant on white */
  --ink-300: #8A8A8A;

  /* Surfaces */
  --surface-0:   #FFFFFF;
  --surface-50:  #F9F9F9;
  --surface-100: #F2F3F2;
  --surface-200: #E8E6EF;
  --surface-900: #1F1F1F;
  --surface-950: #121212;

  /* Semantic */
  --color-bg:        var(--surface-0);
  --color-fg:        var(--ink-900);
  --color-muted:     var(--ink-500);
  --color-link:      var(--brand-700);
  --color-accent:    var(--brand-500);
  --color-on-dark:   #F4F4F6;
  --color-muted-on-dark: #C9C7D1;

  /* Type */
  --font-sans: 'Manrope', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --fs-display: clamp(2.5rem, 1.8rem + 3.2vw, 4.25rem);
  --fs-h1:      clamp(2rem,   1.4rem + 2.4vw, 3rem);
  --fs-h2:      clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem);
  --fs-h3:      clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem);
  --fs-body:    1.0625rem;     /* 17px */
  --fs-small:   0.875rem;      /* 14px */
  --lh-tight: 1.15;
  --lh-snug:  1.3;
  --lh-body:  1.55;
  --tracking-tight: -0.02em;

  /* Spacing (4-pt) */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.5rem;
  --space-6:  2rem;
  --space-7:  2.5rem;
  --space-8:  3rem;
  --space-9:  4rem;
  --space-10: 5rem;
  --space-12: 7rem;

  /* Layout */
  --container: 1180px;
  --pad-x: clamp(1.25rem, 3vw, 3rem);

  /* Radius */
  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-xl:   22px;
  --radius-2xl:  28px;
  --radius-pill: 999px;

  /* Shadow */
  --shadow-sm: 0 1px 2px rgba(15, 11, 34, 0.06), 0 1px 1px rgba(15, 11, 34, 0.04);
  --shadow-md: 0 8px 24px rgba(20, 14, 50, 0.08), 0 2px 6px rgba(20, 14, 50, 0.06);
  --shadow-lg: 0 20px 50px rgba(20, 14, 50, 0.18), 0 6px 18px rgba(20, 14, 50, 0.10);

  /* Motion */
  --ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur-fast: 150ms;
  --dur-med:  280ms;
  --dur-slow: 480ms;

  /* Header */
  --header-h: 56px;
}

/* Force light scheme — assets are designed for a white background */
html { color-scheme: light; background: #FFFFFF; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
