:root {

  /* ── Meadow Greens ── */
  --color-meadow-deep:    #2D4A2D;
  --color-meadow-mid:     #4A7A4A;
  --color-meadow-light:   #7BAD6E;
  --color-meadow-pale:    #B8D4A8;

  /* ── Earth & Wool ── */
  --color-earth-dark:     #5C3D1E;
  --color-earth-mid:      #8B6340;
  --color-wool-warm:      #D4B896;
  --color-wool-light:     #F0E6D3;

  /* ── Sky ── */
  --color-sky-deep:       #2A4A6B;
  --color-sky-mid:        #4A7FA8;
  --color-sky-light:      #A8C8E0;

  /* ── Neutrals ── */
  --color-neutral-dark:   #1A1A18;
  --color-neutral-mid:    #4A4A45;
  --color-neutral-light:  #f3e9d0;
  --color-white:          #FFFFFF;

  /* ── Semantic Tokens ── */
  --color-primary:        var(--color-meadow-mid);
  --color-primary-dark:   var(--color-meadow-deep);
  --color-primary-light:  var(--color-meadow-pale);
  --color-accent:         var(--color-earth-mid);
  --color-surface:        var(--color-white);
  --color-surface-alt:    var(--color-neutral-light);
  --color-surface-warm:   var(--color-wool-light);
  --color-text:           var(--color-neutral-dark);
  --color-text-muted:     var(--color-neutral-mid);
  --color-border:         var(--color-wool-warm);
  --color-border-light:   var(--color-meadow-pale);
  --color-heading:        var(--color-meadow-deep);
  --color-link:           var(--color-meadow-mid);
  --color-link-hover:     var(--color-meadow-deep);

  /* ── Typography ── */
  --font-display:         'Playfair Display', Georgia, serif;
  --font-headline:        var(--font-display);
  --font-body:            'DM Sans', system-ui, sans-serif;
  --font-accent:          'Source Serif 4', Georgia, serif;

  --text-xs:    0.75rem;   /*  12px */
  --text-sm:    0.875rem;  /*  14px */
  --text-base:  1rem;      /*  16px */
  --text-md:    1.125rem;  /*  18px */
  --text-lg:    1.25rem;   /*  20px */
  --text-xl:    1.5rem;    /*  24px */
  --text-2xl:   2rem;      /*  32px */
  --text-3xl:   2.5rem;    /*  40px */
  --text-4xl:   3rem;      /*  48px */
  --text-hero:  clamp(2.5rem, 5vw, 4rem);

  --leading-tight:  1.25;
  --leading-snug:   1.4;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  --weight-regular: 400;
  --weight-medium:  500;
  --weight-bold:    700;

  /* ── Spacing (8pt Grid) ── */
  --space-1:   0.25rem;   /*  4px */
  --space-2:   0.5rem;    /*  8px */
  --space-3:   0.75rem;   /* 12px */
  --space-4:   1rem;      /* 16px */
  --space-5:   1.25rem;   /* 20px */
  --space-6:   1.5rem;    /* 24px */
  --space-8:   2rem;      /* 32px */
  --space-10:  2.5rem;    /* 40px */
  --space-12:  3rem;      /* 48px */
  --space-16:  4rem;      /* 64px */
  --space-20:  5rem;      /* 80px */
  --space-24:  6rem;      /* 96px */

  /* ── Layout ── */
  --container-sm:   640px;
  --container-md:   768px;
  --container-lg:   1024px;
  --container-xl:   1280px;
  --container-2xl:  1440px;
  --container-content: 760px;   /* Fließtext-Breite */

  /* ── Border Radius ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-pill: 999px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(26,26,24,.08), 0 1px 2px rgba(26,26,24,.06);
  --shadow-md:  0 4px 12px rgba(26,26,24,.10), 0 2px 4px rgba(26,26,24,.06);
  --shadow-lg:  0 8px 24px rgba(26,26,24,.12), 0 4px 8px rgba(26,26,24,.08);
  --shadow-card:0 2px 8px rgba(45,74,45,.10);

  /* ── Transitions ── */
  --transition-fast:   150ms ease-out;
  --transition-base:   250ms ease-out;
  --transition-slow:   400ms ease-out;

  /* ── Z-Index ── */
  --z-base:     0;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-overlay:  500;
  --z-modal:    1000;
}
