:root {
    /* Mathematische Basis */
    --phi: 1.61803398875;
    --phi-inv: 0.61803398875;
    --phi-inv-sq: 0.38196601125;

    /* Kleurenpalet (Tokens) */
    --color-pgf-brown:    #442100;
    --color-pgf-orange:   #d4761b;
    --color-pgf-kaki:     #c7b112;
    --color-pgf-green:    #7b8927;
    --color-white:        #ffffff;
    --color-bg-soft:      #f9f8f6;

    /* Brand Tokens */
    --color-brand-primary:   #7b8927; /* Mosgroen */
    --color-brand-secondary: #c7b112; /* Kaki / Goud */
    --color-brand-accent:    #d4761b; /* Amber / Warm Oranje */
    --theme-dominant-color:  var(--color-brand-primary);

    /* Architectural Aliases */
    --color-primary:    var(--color-pgf-green);
    --color-secondary:  var(--color-pgf-kaki);
    --color-accent:     var(--color-pgf-orange);
    --color-text-main:  var(--color-pgf-brown);
    --color-bg:         var(--color-bg-soft);

    /* Typografie */
    --font-heading:     'Tenor Sans', sans-serif;
    --font-body:        'Open Sans', sans-serif;
    --font-quote:       'Libre Baskerville', serif;

    /* Spacing (Gouden Ratio) */
    --space-unit:   1rem;
    --spacing-s:    calc(var(--space-unit) * var(--phi-inv));    /* ~0.62rem */
    --spacing-m:    var(--space-unit);                            /* 1.00rem */
    --spacing-l:    calc(var(--spacing-m) * var(--phi));          /* ~1.62rem */
    --spacing-xl:   calc(var(--spacing-l) * var(--phi));          /* ~2.62rem */
    --spacing-xxl:  calc(var(--spacing-xl) * var(--phi));         /* ~4.24rem */

    /* Containers */
    --container-full:   100%;
    --container-medium: 1200px;
    --container-small:  calc(1200px * var(--phi-inv));            /* ~742px */
}

/* Silo Kleurstrategie Overrides */
body.path-kambo {
    --theme-dominant-color: var(--color-brand-accent);
}

body.path-microdosing {
    --theme-dominant-color: var(--color-brand-secondary);
}

body.path-therapie {
    --theme-dominant-color: #442100;
}