:root {
  /* ── Color — Mostly dark, with light hero/sections for contrast ── */
  --color-bg:           #0a0a0c;
  --color-bg-soft:      #16161a;
  --color-bg-elevated:  #1d1d22;
  --color-bg-light:     #ffffff;
  --color-bg-light-soft:#f5f5f7;

  --color-text:         #f5f5f7;
  --color-text-muted:   #a1a1a6;
  --color-text-subtle:  #6e6e73;
  --color-text-on-light:#1d1d1f;
  --color-text-light-muted: #6e6e73;

  --color-divider:      #2a2a2e;
  --color-divider-light:#d2d2d7;
  --color-accent:       #0071e3;
  --color-accent-hover: #248bff;

  /* Brand — gedeeld met Animatie.nl en Filmpje.nl */
  --color-brand-deep:   #221b44;
  --color-brand-soft:   #5b3df6;

  /* Snappy Video specifiek — lime-green van de kolibri (logo) */
  --color-snappy-lime:  #b8f511;

  /* ── Signature gradient — gedeelde Snappy Video stempel ── */
  --grad-cyan:    #4fc3e8;
  --grad-violet:  #6c5dfc;
  --grad-magenta: #e8369c;
  --grad-orange:  #ff7d2a;
  --grad-yellow:  #ffd83a;

  --gradient-brand: linear-gradient(120deg,
    var(--grad-cyan)    0%,
    var(--grad-violet)  25%,
    var(--grad-magenta) 50%,
    var(--grad-orange)  75%,
    var(--grad-yellow)  100%);

  /* ── Typography ─────────────────────────────────────────── */
  /* Display: General Sans — geeft Snappy Video een eigen stempel
     binnen de familie (Animatie.nl gebruikt Inter Tight). */
  --font-display: "General Sans", -apple-system, BlinkMacSystemFont,
                  "SF Pro Display", "Segoe UI", system-ui, sans-serif;
  --font-text:    "Inter", -apple-system, BlinkMacSystemFont,
                  "SF Pro Text", "Segoe UI", system-ui, sans-serif;

  --fs-eyebrow:    0.75rem;
  --fs-caption:    0.8125rem;
  --fs-body:       1.0625rem;
  --fs-body-lg:    1.1875rem;
  --fs-lead:       clamp(1.25rem, 1.6vw, 1.5rem);
  --fs-h3:         clamp(1.5rem, 2.2vw, 2rem);
  --fs-h2:         clamp(2rem, 4vw, 3rem);
  --fs-display-sm: clamp(2.5rem, 5vw, 4rem);
  --fs-display:    clamp(3rem, 7.5vw, 6.5rem);
  --fs-display-xl: clamp(3rem, 9vw, 7.5rem);

  --tracking-tightest: -0.045em;
  --tracking-tighter:  -0.035em;
  --tracking-tight:    -0.022em;
  --tracking-normal:    0;
  --tracking-eyebrow:   0.08em;

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

  --leading-tight:  1.05;
  --leading-snug:   1.18;
  --leading-normal: 1.47;
  --leading-relaxed:1.6;

  /* ── Spacing ─────────────────────────────────────────── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  48px;
  --space-8:  64px;
  --space-9:  96px;
  --space-10: 128px;
  --space-11: 160px;
  --space-12: 200px;

  --container:        1280px;
  --container-narrow: 980px;
  --container-text:   720px;
  --gutter:           24px;

  --radius-sm:   8px;
  --radius-md:   12px;
  --radius-lg:   18px;
  --radius-xl:   24px;
  --radius-2xl:  32px;
  --radius-pill: 980px;

  --ease-out: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-in:  cubic-bezier(0.5, 0, 0.75, 0);
  --ease-std: cubic-bezier(0.4, 0, 0.2, 1);

  --dur-1: 0.2s;
  --dur-2: 0.4s;
  --dur-3: 0.6s;
  --dur-4: 0.9s;

  --shadow-1: 0 1px 2px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.3);
  --shadow-2: 0 6px 24px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.4);
  --shadow-3: 0 24px 60px rgba(0,0,0,.6), 0 8px 24px rgba(0,0,0,.4);
}
