:root {
  /* ==========================================================
     Generated from /brand/brandspec.json — do not edit by hand.
     Run tools.php?whyso_regen_tokens=1 to rebuild.
     ========================================================== */

  /* Brand palette */
  --brand-red:    #FF4133;
  --brand-black:  #1B1C26;
  --brand-cream:  #F4EFE4;
  --brand-purple: #680BBD;
  --brand-blue:   #4F39F6;
  --brand-green:  #37D949;
  --brand-grey:   #7A7872;

  /* Typography */
  --brand-font-heading: 'Plus Jakarta Sans', sans-serif;
  --brand-font-body:    'Inclusive Sans', sans-serif;
  --brand-font-heading-weight: 700;
  --brand-font-body-weight:    400;

  /* Semantic aliases */
  --color-primary:       var(--brand-red);
  --color-primary-hover: color-mix(in srgb, var(--brand-red) 85%, black);
  --color-accent:        var(--brand-blue);
  --color-bg:            #FAFAF7;
  --color-bg-alt:        #F2F1ED;
  --color-bg-dark:       var(--brand-black);
  --color-text:          var(--brand-black);
  --color-text-muted:    #55544F;
  --color-text-inverse:  #FAFAF7;
  --color-border:        #DEDCD5;
  --color-border-strong: var(--brand-black);

  /* Warm neutrals */
  --brand-neutral-100: #F7F6F2;
  --brand-neutral-200: #EDECE7;
  --brand-neutral-300: #DEDCD5;
  --brand-neutral-400: #BFBDB5;
  --brand-neutral-500: #7A7872;
  --brand-neutral-600: #55544F;
  --brand-neutral-700: #3A3A38;
  --brand-neutral-800: #27272B;
  --brand-neutral-900: #1B1C26;

  /* Fluid type scale (320–1440px) */
  --text-xs:   clamp(0.75rem, 0.72rem + 0.18vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 1rem);
  --text-base: clamp(1rem, 0.96rem + 0.18vw, 1.125rem);
  --text-md:   clamp(1.125rem, 1.07rem + 0.27vw, 1.3125rem);
  --text-lg:   clamp(1.25rem, 1.17rem + 0.36vw, 1.5rem);
  --text-xl:   clamp(1.5rem, 1.375rem + 0.625vw, 1.875rem);
  --text-2xl:  clamp(1.875rem, 1.67rem + 1.02vw, 2.5rem);
  --text-3xl:  clamp(2.25rem, 1.89rem + 1.79vw, 3.5rem);
  --text-4xl:  clamp(2.75rem, 2.14rem + 3.04vw, 4.75rem);
  --text-5xl:  clamp(3.25rem, 2.3rem + 4.73vw, 6.25rem);
  --text-6xl:  clamp(4rem, 2.5rem + 7.5vw, 8.5rem);

  /* Fluid space scale (320–1440px) */
  --space-3xs: clamp(0.25rem, 0.23rem + 0.09vw, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.46rem + 0.18vw, 0.625rem);
  --space-xs:  clamp(0.75rem, 0.69rem + 0.27vw, 0.9375rem);
  --space-sm:  clamp(1rem, 0.91rem + 0.45vw, 1.25rem);
  --space-md:  clamp(1.5rem, 1.36rem + 0.71vw, 1.875rem);
  --space-lg:  clamp(2rem, 1.82rem + 0.89vw, 2.5rem);
  --space-xl:  clamp(3rem, 2.73rem + 1.34vw, 3.75rem);
  --space-2xl: clamp(4rem, 3.64rem + 1.79vw, 5rem);
  --space-3xl: clamp(6rem, 5.45rem + 2.68vw, 7.5rem);
  --space-4xl: clamp(8rem, 7.27rem + 3.57vw, 10rem);

  /* Radii */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* Container widths */
  --container-narrow:   640px;
  --container-standard: 1200px;
  --container-wide:     1440px;
  --container-max:      1600px;
}
