/* Fanzestic — design tokens. GENERATED by fanzestic-tokens-build.py from tokens.json; do not edit by hand. */
/* Fonts: Nunito (headings/logo) and DM Sans (text). Load via Google Fonts or vendor locally — see 02-typography.md. */

:root {
  --fz-orange-50: #FFF4EB;
  --fz-orange-100: #FFE6D0;
  --fz-orange-200: #FFC38F;
  --fz-orange-300: #FF9A45;
  --fz-orange-400: #FF7F24;
  --fz-orange-500: #FF6A00;
  --fz-orange-600: #B25015;
  --fz-orange-700: #8B3F12;
  --fz-orange-800: #683010;
  --fz-orange-900: #4B230D;
  --fz-blue-50: #F1F7FD;
  --fz-blue-100: #DEEDFA;
  --fz-blue-200: #BCDBF5;
  --fz-blue-300: #A9D2F2;
  --fz-blue-400: #7AA7D9;
  --fz-blue-500: #5B8DC9;
  --fz-blue-600: #3E6FAB;
  --fz-blue-700: #1A4F8C;
  --fz-blue-800: #00407A;
  --fz-blue-900: #002F65;
  --fz-slate-50: #F6F6F8;
  --fz-slate-100: #E9EBEE;
  --fz-slate-200: #D4D7DD;
  --fz-slate-300: #B9BEC8;
  --fz-slate-400: #9CA3B1;
  --fz-slate-500: #80899A;
  --fz-slate-600: #626E82;
  --fz-slate-700: #47566D;
  --fz-slate-800: #2F415A;
  --fz-slate-900: #102A45;
  --fz-amber-50: #FFF5DF;
  --fz-amber-100: #FFE7B4;
  --fz-amber-200: #FFD067;
  --fz-amber-300: #FFC53D;
  --fz-amber-400: #F5AF00;
  --fz-amber-500: #E59900;
  --fz-amber-600: #A25C00;
  --fz-amber-700: #814600;
  --fz-amber-800: #643400;
  --fz-amber-900: #492500;
  --fz-salmon-50: #FFF4EE;
  --fz-salmon-100: #FFE5D7;
  --fz-salmon-200: #FFD0C2;
  --fz-salmon-300: #FFB09A;
  --fz-salmon-400: #FF9C7F;
  --fz-salmon-500: #F27F76;
  --fz-salmon-600: #B84653;
  --fz-salmon-700: #943341;
  --fz-salmon-800: #712532;
  --fz-salmon-900: #531B25;
  --fz-mint-50: #EDF9F5;
  --fz-mint-100: #D6F1E7;
  --fz-mint-200: #ACE3CF;
  --fz-mint-300: #8FD9C0;
  --fz-mint-400: #6BB099;
  --fz-mint-500: #529580;
  --fz-mint-600: #387865;
  --fz-mint-700: #1D5F4D;
  --fz-mint-800: #004938;
  --fz-mint-900: #003727;
  --fz-green-50: #F1F9EB;
  --fz-green-100: #DDF1D1;
  --fz-green-200: #C4F2C6;
  --fz-green-300: #97E89E;
  --fz-green-400: #2FD55D;
  --fz-green-500: #23B84D;
  --fz-green-600: #147E32;
  --fz-green-700: #116226;
  --fz-green-800: #114A1D;
  --fz-green-900: #0D3615;
  --fz-fuchsia-50: #FFF3F7;
  --fz-fuchsia-100: #FFE4EC;
  --fz-fuchsia-200: #FFC9D9;
  --fz-fuchsia-300: #FDA5C2;
  --fz-fuchsia-400: #F77BA8;
  --fz-fuchsia-500: #E6007E;
  --fz-fuchsia-600: #C53173;
  --fz-fuchsia-700: #992859;
  --fz-fuchsia-800: #722243;
  --fz-fuchsia-900: #511B30;
  --fz-violet-50: #FAF4FF;
  --fz-violet-100: #F3E6FF;
  --fz-violet-200: #E6CEFF;
  --fz-violet-300: #D4AEFE;
  --fz-violet-400: #BE8BFD;
  --fz-violet-500: #7B2FF7;
  --fz-violet-600: #653C9F;
  --fz-violet-700: #523080;
  --fz-violet-800: #3F2563;
  --fz-violet-900: #2F1C49;
  --fz-cream: #F7F3EE;
  --fz-night: #102A45;
  --fz-brand: #FF6A00;
  --fz-oranje-50: var(--fz-orange-50);
  --fz-oranje-100: var(--fz-orange-100);
  --fz-oranje-200: var(--fz-orange-200);
  --fz-oranje-300: var(--fz-orange-300);
  --fz-oranje-400: var(--fz-orange-400);
  --fz-oranje-500: var(--fz-orange-500);
  --fz-oranje-600: var(--fz-orange-600);
  --fz-oranje-700: var(--fz-orange-700);
  --fz-oranje-800: var(--fz-orange-800);
  --fz-oranje-900: var(--fz-orange-900);
  --fz-zeeblauw-50: var(--fz-blue-50);
  --fz-zeeblauw-100: var(--fz-blue-100);
  --fz-zeeblauw-200: var(--fz-blue-200);
  --fz-zeeblauw-300: var(--fz-blue-300);
  --fz-zeeblauw-400: var(--fz-blue-400);
  --fz-zeeblauw-500: var(--fz-blue-500);
  --fz-zeeblauw-600: var(--fz-blue-600);
  --fz-zeeblauw-700: var(--fz-blue-700);
  --fz-zeeblauw-800: var(--fz-blue-800);
  --fz-zeeblauw-900: var(--fz-blue-900);
  --fz-inkt-50: var(--fz-slate-50);
  --fz-inkt-100: var(--fz-slate-100);
  --fz-inkt-200: var(--fz-slate-200);
  --fz-inkt-300: var(--fz-slate-300);
  --fz-inkt-400: var(--fz-slate-400);
  --fz-inkt-500: var(--fz-slate-500);
  --fz-inkt-600: var(--fz-slate-600);
  --fz-inkt-700: var(--fz-slate-700);
  --fz-inkt-800: var(--fz-slate-800);
  --fz-inkt-900: var(--fz-slate-900);
  --fz-zonnebloem-50: var(--fz-amber-50);
  --fz-zonnebloem-100: var(--fz-amber-100);
  --fz-zonnebloem-200: var(--fz-amber-200);
  --fz-zonnebloem-300: var(--fz-amber-300);
  --fz-zonnebloem-400: var(--fz-amber-400);
  --fz-zonnebloem-500: var(--fz-amber-500);
  --fz-zonnebloem-600: var(--fz-amber-600);
  --fz-zonnebloem-700: var(--fz-amber-700);
  --fz-zonnebloem-800: var(--fz-amber-800);
  --fz-zonnebloem-900: var(--fz-amber-900);
  --fz-perzik-50: var(--fz-salmon-50);
  --fz-perzik-100: var(--fz-salmon-100);
  --fz-perzik-200: var(--fz-salmon-200);
  --fz-perzik-300: var(--fz-salmon-300);
  --fz-perzik-400: var(--fz-salmon-400);
  --fz-perzik-500: var(--fz-salmon-500);
  --fz-perzik-600: var(--fz-salmon-600);
  --fz-perzik-700: var(--fz-salmon-700);
  --fz-perzik-800: var(--fz-salmon-800);
  --fz-perzik-900: var(--fz-salmon-900);
  --fz-groen-50: var(--fz-green-50);
  --fz-groen-100: var(--fz-green-100);
  --fz-groen-200: var(--fz-green-200);
  --fz-groen-300: var(--fz-green-300);
  --fz-groen-400: var(--fz-green-400);
  --fz-groen-500: var(--fz-green-500);
  --fz-groen-600: var(--fz-green-600);
  --fz-groen-700: var(--fz-green-700);
  --fz-groen-800: var(--fz-green-800);
  --fz-groen-900: var(--fz-green-900);
  --fz-paars-50: var(--fz-violet-50);
  --fz-paars-100: var(--fz-violet-100);
  --fz-paars-200: var(--fz-violet-200);
  --fz-paars-300: var(--fz-violet-300);
  --fz-paars-400: var(--fz-violet-400);
  --fz-paars-500: var(--fz-violet-500);
  --fz-paars-600: var(--fz-violet-600);
  --fz-paars-700: var(--fz-violet-700);
  --fz-paars-800: var(--fz-violet-800);
  --fz-paars-900: var(--fz-violet-900);
  --fz-creme: var(--fz-cream);
  --fz-nacht: var(--fz-night);
  --fz-merk: var(--fz-brand);
  --fz-bg: #F7F3EE;
  --fz-surface: #FFFFFF;
  --fz-surface-2: #F1ECE5;
  --fz-surface-active: #F1F7FD;
  --fz-line: rgba(16,42,69,0.10);
  --fz-line-strong: rgba(16,42,69,0.22);
  --fz-control: rgba(16,42,69,0.58);
  --fz-ink: #102A45;
  --fz-ink-2: #47566D;
  --fz-ink-3: #80899A;
  --fz-accent: #1A4F8C;
  --fz-accent-text: #1A4F8C;
  --fz-accent-soft: rgba(26,79,140,0.08);
  --fz-action: #1A4F8C;
  --fz-action-hover: #00407A;
  --fz-on-action: #FFFFFF;
  --fz-zest: #FF6A00;
  --fz-zest-text: #B25015;
  --fz-zest-soft: #FFF4EB;
  --fz-focus: #3E6FAB;
  --fz-danger: #B42318;
  --fz-danger-soft: #FDECEA;
  --fz-warning: #814600;
  --fz-warning-soft: #FFF5DF;
  --fz-success: #116226;
  --fz-success-soft: #F1F9EB;
  --fz-info: #1A4F8C;
  --fz-info-soft: #F1F7FD;
  --fz-shadow-sm: 0 1px 3px rgba(16,42,69,0.07), 0 1px 2px rgba(16,42,69,0.05);
  --fz-shadow-md: 0 4px 16px rgba(16,42,69,0.09), 0 1px 4px rgba(16,42,69,0.06);
  --fz-shadow-lg: 0 8px 30px rgba(16,42,69,0.12), 0 2px 8px rgba(16,42,69,0.06);
  --fz-font-display: "Nunito", "DM Sans", system-ui, sans-serif;
  --fz-font-body: "DM Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --fz-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --fz-text-display-xl: 900 60px/64px var(--fz-font-display);
  --fz-tracking-display-xl: -0.025em;
  --fz-text-display: 900 48px/52px var(--fz-font-display);
  --fz-tracking-display: -0.025em;
  --fz-text-h1: 800 38px/44px var(--fz-font-display);
  --fz-tracking-h1: -0.02em;
  --fz-text-h2: 800 30px/36px var(--fz-font-display);
  --fz-tracking-h2: -0.015em;
  --fz-text-h3: 800 24px/30px var(--fz-font-display);
  --fz-tracking-h3: -0.01em;
  --fz-text-h4: 700 20px/26px var(--fz-font-display);
  --fz-tracking-h4: -0.005em;
  --fz-text-lead: 400 18px/28px var(--fz-font-body);
  --fz-text-body: 400 16px/24px var(--fz-font-body);
  --fz-text-body-sm: 400 14px/20px var(--fz-font-body);
  --fz-text-ui: 500 13px/18px var(--fz-font-body);
  --fz-text-caption: 500 12.5px/16px var(--fz-font-body);
  --fz-text-label: 600 11.5px/14px var(--fz-font-body);
  --fz-tracking-label: 0.08em;
  --fz-space-0-5: 2px;
  --fz-space-1: 4px;
  --fz-space-1-5: 6px;
  --fz-space-2: 8px;
  --fz-space-3: 12px;
  --fz-space-4: 16px;
  --fz-space-5: 20px;
  --fz-space-6: 24px;
  --fz-space-8: 32px;
  --fz-space-10: 40px;
  --fz-space-12: 48px;
  --fz-space-16: 64px;
  --fz-space-20: 80px;
  --fz-radius-sm: 6px;
  --fz-radius-md: 10px;
  --fz-radius-lg: 14px;
  --fz-radius-xl: 18px;
  --fz-radius-pill: 999px;
  --fz-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --fz-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --fz-dur-fast: 150ms;
  --fz-dur-mid: 220ms;
  --fz-dur-slow: 360ms;
  color-scheme: light;
}

/* Dark: follows the system, unless data-theme="light" is set */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --fz-bg: #102A45;
    --fz-surface: #17355A;
    --fz-surface-2: #1D3D66;
    --fz-surface-active: #23497A;
    --fz-line: rgba(247,243,238,0.10);
    --fz-line-strong: rgba(247,243,238,0.22);
    --fz-control: rgba(247,243,238,0.46);
    --fz-ink: #F2EDE6;
    --fz-ink-2: #BFCAD7;
    --fz-ink-3: #8A9AB0;
    --fz-accent: #A9D2F2;
    --fz-accent-text: #F2EDE6;
    --fz-accent-soft: rgba(169,210,242,0.12);
    --fz-action: #F2EDE6;
    --fz-action-hover: #FFE6D0;
    --fz-on-action: #102A45;
    --fz-zest: #FF6A00;
    --fz-zest-text: #FF9A45;
    --fz-zest-soft: rgba(255,154,69,0.14);
    --fz-focus: #FF9A45;
    --fz-danger: #F59A8F;
    --fz-danger-soft: rgba(245,154,143,0.14);
    --fz-warning: #FFD067;
    --fz-warning-soft: rgba(255,208,103,0.14);
    --fz-success: #97E89E;
    --fz-success-soft: rgba(161,216,132,0.12);
    --fz-info: #A9D2F2;
    --fz-info-soft: rgba(169,210,242,0.12);
    --fz-shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
    --fz-shadow-md: 0 4px 16px rgba(0,0,0,0.40);
    --fz-shadow-lg: 0 8px 30px rgba(0,0,0,0.50);
    color-scheme: dark;
  }
}

/* Dark: explicitly chosen, on the page or on a separate block */
:root[data-theme="dark"], [data-theme="dark"] {
  --fz-bg: #102A45;
  --fz-surface: #17355A;
  --fz-surface-2: #1D3D66;
  --fz-surface-active: #23497A;
  --fz-line: rgba(247,243,238,0.10);
  --fz-line-strong: rgba(247,243,238,0.22);
  --fz-control: rgba(247,243,238,0.46);
  --fz-ink: #F2EDE6;
  --fz-ink-2: #BFCAD7;
  --fz-ink-3: #8A9AB0;
  --fz-accent: #A9D2F2;
  --fz-accent-text: #F2EDE6;
  --fz-accent-soft: rgba(169,210,242,0.12);
  --fz-action: #F2EDE6;
  --fz-action-hover: #FFE6D0;
  --fz-on-action: #102A45;
  --fz-zest: #FF6A00;
  --fz-zest-text: #FF9A45;
  --fz-zest-soft: rgba(255,154,69,0.14);
  --fz-focus: #FF9A45;
  --fz-danger: #F59A8F;
  --fz-danger-soft: rgba(245,154,143,0.14);
  --fz-warning: #FFD067;
  --fz-warning-soft: rgba(255,208,103,0.14);
  --fz-success: #97E89E;
  --fz-success-soft: rgba(161,216,132,0.12);
  --fz-info: #A9D2F2;
  --fz-info-soft: rgba(169,210,242,0.12);
  --fz-shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
  --fz-shadow-md: 0 4px 16px rgba(0,0,0,0.40);
  --fz-shadow-lg: 0 8px 30px rgba(0,0,0,0.50);
  color-scheme: dark;
}

/* Light: explicit on a separate block inside a dark page */
[data-theme="light"] {
  --fz-bg: #F7F3EE;
  --fz-surface: #FFFFFF;
  --fz-surface-2: #F1ECE5;
  --fz-surface-active: #F1F7FD;
  --fz-line: rgba(16,42,69,0.10);
  --fz-line-strong: rgba(16,42,69,0.22);
  --fz-control: rgba(16,42,69,0.58);
  --fz-ink: #102A45;
  --fz-ink-2: #47566D;
  --fz-ink-3: #80899A;
  --fz-accent: #1A4F8C;
  --fz-accent-text: #1A4F8C;
  --fz-accent-soft: rgba(26,79,140,0.08);
  --fz-action: #1A4F8C;
  --fz-action-hover: #00407A;
  --fz-on-action: #FFFFFF;
  --fz-zest: #FF6A00;
  --fz-zest-text: #B25015;
  --fz-zest-soft: #FFF4EB;
  --fz-focus: #3E6FAB;
  --fz-danger: #B42318;
  --fz-danger-soft: #FDECEA;
  --fz-warning: #814600;
  --fz-warning-soft: #FFF5DF;
  --fz-success: #116226;
  --fz-success-soft: #F1F9EB;
  --fz-info: #1A4F8C;
  --fz-info-soft: #F1F7FD;
  --fz-shadow-sm: 0 1px 3px rgba(16,42,69,0.07), 0 1px 2px rgba(16,42,69,0.05);
  --fz-shadow-md: 0 4px 16px rgba(16,42,69,0.09), 0 1px 4px rgba(16,42,69,0.06);
  --fz-shadow-lg: 0 8px 30px rgba(16,42,69,0.12), 0 2px 8px rgba(16,42,69,0.06);
  color-scheme: light;
}

@media (prefers-reduced-motion: reduce) {
  :root { --fz-dur-fast: 0ms; --fz-dur-mid: 0ms; --fz-dur-slow: 0ms; }
}
