/* Design tokens — single source of truth for colors, type and spacing.
   Per-brand stylesheets override --accent and --accent-soft. */
:root {
  /* Inks */
  --ink-1: #0A0A0B;
  --ink-2: #16161A;
  --ink-3: #1F1F24;
  --bone: #F4F1EC;
  --smoke: #A3A3A8;

  /* Brand orange (Kaizen signature) */
  --kaizen-orange: #FF5A1F;

  /* Default accent (overridden per brand) */
  --accent: var(--kaizen-orange);
  --accent-soft: rgba(255, 90, 31, 0.18);

  /* Typography */
  --font-display: "Bebas Neue", "Druk", system-ui, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* Type scale (fluid) */
  --fs-hero: clamp(3rem, 10vw, 9rem);
  --fs-h1: clamp(2.25rem, 6vw, 4.5rem);
  --fs-h2: clamp(1.75rem, 4vw, 3rem);
  --fs-h3: clamp(1.25rem, 2.5vw, 1.875rem);
  --fs-body: clamp(1rem, 1.1vw, 1.125rem);
  --fs-small: 0.875rem;

  /* Spacing scale (rem) */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;
  --sp-10: 8rem;

  /* Containers */
  --container-max: 1280px;
  --container-pad: clamp(1rem, 4vw, 2.5rem);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-base: 320ms;
  --dur-slow: 560ms;

  /* Surfaces */
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 18px;
  --shadow-1: 0 4px 16px rgba(0, 0, 0, 0.35);
  --shadow-2: 0 20px 60px rgba(0, 0, 0, 0.55);
}

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