:root {
    /* Raw Divi variable IDs from prototype/reference/all-variables.json. */
    --surface: var(--gcid-js7cu1impt, #f2f2f2);
    --ink: var(--gcid-heading-color, #0d0d0d);
    --body: var(--gcid-body-color, #2a2a2a);
    --white: var(--gcid-33di5rrdab, #ffffff);
    --transparent: var(--gcid-3kx5dnbwx0, rgba(255, 255, 255, 0));

    /* Semantic theme aliases backed by Divi color variables. */
    --primary-color: var(--gcid-primary-color, #2b7cab);
    --secondary-color: var(--gcid-secondary-color, #b9d93b);
    --heading-color: var(--gcid-heading-color, #0d0d0d);
    --body-color: var(--gcid-body-color, #2a2a2a);
    --link-color: var(--gcid-link-color, #2b7cab);

    /* Primary scale mapped to active Divi color IDs. */
    --primary-50: var(--gcid-mkdqv2xvcc, #e4f4fd);
    --primary-100: var(--gcid-ekh9yl08j4, #b7e1f9);
    --primary-200: var(--gcid-hbtx9wa4ke, #85c9f1);
    --primary-300: var(--gcid-smxyi4o550, #58afe2);
    --primary-400: var(--gcid-fplty6lu78, #3394cc);
    --primary-500: var(--gcid-9ota9loa7a, #2b7cab);
    --primary-600: var(--gcid-1jeok2xp4h, #206187);
    --primary-700: var(--gcid-bfrw7whstu, #174b69);
    --primary-800: var(--gcid-zz9kk9um30, #0d334a);
    --primary-900: var(--gcid-tyfdqrt0uz, #051e2c);
    --primary-950: var(--gcid-nzox63zfnh, #02121d);

    /* Secondary scale mapped to active Divi color IDs. */
    --secondary-50: var(--gcid-66whvonc33, #fbfdf3);
    --secondary-100: var(--gcid-zqqxelgrsw, #f5fae3);
    --secondary-200: var(--gcid-9jf9uz4cp2, #eaf7b5);
    --secondary-300: var(--gcid-6oeo9vbqnn, #dcf286);
    --secondary-400: var(--gcid-wyuwfo3669, #cde95e);
    --secondary-500: var(--gcid-vhx6257tka, #b9d93b);
    --secondary-600: var(--gcid-5bchsdvxc5, #96b61b);
    --secondary-700: var(--gcid-9cfqmk78a8, #6d870b);
    --secondary-800: var(--gcid-fodvs4tbyu, #4a5c04);
    --secondary-900: var(--gcid-huashfl7jj, #1b2101);
    --secondary-950: var(--gcid-5n5bcqk4er, #101400);

    /* Tertiary scale mapped to active Divi color IDs. */
    --tertiary-50: var(--gcid-vhpuqcmjjk, #fef7f6);
    --tertiary-100: var(--gcid-4qcxnllxyj, #fbedeb);
    --tertiary-200: var(--gcid-45qrjzoy56, #f9c3bd);
    --tertiary-300: var(--gcid-q221euivf4, #f7958b);
    --tertiary-400: var(--gcid-x7hdy3jh3t, #f36c5d);
    --tertiary-500: var(--gcid-ehcdpef5vq, #e64432);
    --tertiary-600: var(--gcid-oiwsocn5hn, #ba2514);
    --tertiary-700: var(--gcid-c0ehvwphta, #861509);
    --tertiary-800: var(--gcid-2glso2ykw2, #570c03);
    --tertiary-900: var(--gcid-pj3plctrqj, #270501);
    --tertiary-950: var(--gcid-taiuw9p70w, #170200);

    /* Neutral scale mapped to active Divi color IDs. */
    --neutral-50: var(--gcid-3w8ilzsxt4, #f5f5f5);
    --neutral-100: var(--gcid-js7cu1impt, #f2f2f2);
    --neutral-200: var(--gcid-5kxzf6phh1, #d5d5d5);
    --neutral-300: var(--gcid-yf3tvd48t9, #b9b9b9);
    --neutral-400: var(--gcid-cwunr5upiz, #9d9d9d);
    --neutral-500: var(--gcid-axjbs7f1jy, #818181);
    --neutral-600: var(--gcid-kql1mamnp5, #646464);
    --neutral-700: var(--gcid-ztg2d6mrax, #474747);
    --neutral-800: var(--gcid-mwos31a2xh, #2a2a2a);
    --neutral-900: var(--gcid-71oqfsu6v1, #0d0d0d);
    --neutral-950: var(--gcid-0ijwzqmle5, #0d0d0d);

    /*
     * Font families stay explicit here. Divi font variables currently expose
     * preset IDs like `candal-400`, not directly usable CSS font-family stacks.
     */
    --font-heading: "Candal", "Segoe UI", sans-serif;
    --font-body: "Nunito", "Segoe UI", sans-serif;
    --font-body-semibold: "Nunito", "Segoe UI", sans-serif;
    --font-body-bold: "Nunito", "Segoe UI", sans-serif;

    /*
     * Typography tokens are still exploratory. `lead` is the first semantic
     * alias extracted from the Magazin single-page intro style.
     */
    --text-lead-size: 1.08rem;
    --text-lead-line-height: 1.82;

    /* Shared semantic aliases used across Divi presets and child-theme CSS. */
    --surface-base: var(--white);
    --surface-subtle: var(--neutral-100);
    --surface-primary-tint: var(--primary-50);
    --surface-secondary-tint: var(--secondary-50);
    --surface-tertiary-tint: var(--tertiary-50);
    --surface-dark: var(--neutral-900);

    /*
     * Canonical radius scale:
     * - small = 0.5rem
     * - medium = 1rem
     * - large = 1.5rem
     * - full = 999px
     *
     * `radius-xl` remains as a compatibility alias until the child-theme CSS
     * is fully cleaned up to the canonical shared scale.
     */
    --radius-sm: var(--gvid-zmhgbl8yab);
    --radius-md: var(--gvid-ht6tkssc9a);
    --radius-lg: var(--gvid-zq81i13wgu);
    --radius-xl: var(--radius-lg);
    --radius-full: var(--gvid-286z5xuibs);

    --shadow-soft: 0 12px 18px -6px rgba(0, 0, 0, 0.15);
    --shadow-sticky: 0 4px 6px -2px rgba(0, 0, 0, 0.1);
    --shadow-drop: 10px 10px 0 0 rgba(129, 129, 129, 0.3);

    --kicker-badge-radius: var(--radius-sm);
    --kicker-badge-font-size: 0.875rem;
    --kicker-badge-padding-y: var(--gvid-rcr4cy5kp4);
    --kicker-badge-padding-x: var(--gvid-ex11rtjc1s);

    --button-radius: var(--radius-full);
    --button-shadow: var(--shadow-soft);
}
