:root {
	/* Brand primitives */
	--rk-sand-100: #f1eee6;
	--rk-sand-300: #d9d1bf;
	--rk-sand-500: #beb49b;
	--rk-sand-700: #8f8368;
	--rk-sand-900: #4d4638;
	--rk-mist-100: #f3f5f3;
	--rk-mist-300: #e3e6e3;
	--rk-mist-500: #d5d9d5;
	--rk-mist-700: #8f9790;
	--rk-mist-900: #414742;
	--rk-neutral-0: #ffffff;
	--rk-neutral-50: #fdfcf9;
	--rk-neutral-100: #f6f4ef;
	--rk-neutral-200: #e8e5de;
	--rk-neutral-400: #aaa69e;
	--rk-neutral-600: #68645e;
	--rk-neutral-800: #363330;
	--rk-neutral-950: #211f1d;

	/* Semantic colors */
	--rk-color-brand: var(--rk-sand-500);
	--rk-color-secondary: var(--rk-mist-500);
	--rk-color-ink: var(--rk-neutral-950);
	--rk-color-text: var(--rk-neutral-800);
	--rk-color-muted: var(--rk-neutral-600);
	--rk-color-paper: var(--rk-neutral-0);
	--rk-color-surface: var(--rk-neutral-50);
	--rk-color-surface-raised: var(--rk-neutral-100);
	--rk-color-border: var(--rk-neutral-200);
	--rk-color-border-strong: var(--rk-neutral-400);
	--rk-color-focus: #755d2e;
	--rk-color-success: #356247;
	--rk-color-success-bg: #e8f2eb;
	--rk-color-error: #8a342e;
	--rk-color-error-bg: #f7e9e7;
	--rk-color-warning: #795f1d;
	--rk-color-warning-bg: #f6efd9;
	--rk-color-info: #315f75;
	--rk-color-info-bg: #e7f0f4;
	--rk-color-header-scrolled: rgba(253, 252, 249, 0.86);
	--rk-color-overlay: rgba(22, 20, 18, 0.32);

	/* Typography */
	--rk-font-display: "RK Michroma", "RK Michroma Fallback", "Arial Wide", sans-serif;
	--rk-font-body: "RK Libre Franklin", "RK Libre Franklin Fallback", Helvetica, Arial, sans-serif;
	--rk-font-ui: Helvetica, Arial, sans-serif;
	--rk-font-numeric: "RK Montserrat", "RK Libre Franklin Fallback", Helvetica, Arial, sans-serif;
	--rk-text-xs: 0.75rem;
	--rk-text-sm: 0.875rem;
	--rk-text-base: 1rem;
	--rk-text-lg: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);
	--rk-text-xl: clamp(1.5rem, 1.15rem + 1vw, 2.25rem);
	--rk-text-2xl: clamp(2rem, 1.25rem + 2.4vw, 4.5rem);
	--rk-text-display: clamp(2.75rem, 1.25rem + 5vw, 8rem);
	--rk-leading-tight: 1.08;
	--rk-leading-heading: 1.2;
	--rk-leading-body: 1.6;
	--rk-tracking-tight: -0.02em;
	--rk-tracking-ui: 0.16em;
	--rk-tracking-display: 0.09em;

	/* Four-point spacing rhythm */
	--rk-space-0: 0;
	--rk-space-1: 0.25rem;
	--rk-space-2: 0.5rem;
	--rk-space-3: 0.75rem;
	--rk-space-4: 1rem;
	--rk-space-5: 1.5rem;
	--rk-space-6: 2rem;
	--rk-space-7: clamp(2.5rem, 3.2vw, 4rem);
	--rk-space-8: clamp(3rem, 5vw, 6rem);
	--rk-space-9: clamp(4.5rem, 7.5vw, 9rem);
	--rk-space-10: clamp(6rem, 10vw, 12rem);

	/* Layout measured from the 1920px reference */
	--rk-canvas: 120rem;
	--rk-content-wide: 115rem;
	--rk-content-standard: 100rem;
	--rk-content-narrow: 75rem;
	--rk-content-reading: 46rem;
	--rk-gutter: clamp(1rem, 2.1vw, 2.5rem);
	--rk-header-height: 4.375rem;
	--rk-grid-gap: clamp(1rem, 1.8vw, 2.5rem);

	/* Shape and elevation */
	--rk-radius-none: 0;
	--rk-radius-sm: 0.125rem;
	--rk-radius-round: 999rem;
	--rk-border-thin: 1px solid var(--rk-color-border);
	--rk-border-strong: 1px solid var(--rk-color-ink);
	--rk-shadow-sm: 0 0.5rem 1.5rem rgba(33, 31, 29, 0.06);
	--rk-shadow-md: 0 1.5rem 4rem rgba(33, 31, 29, 0.1);

	/* Motion and layers */
	--rk-duration-fast: 120ms;
	--rk-duration-base: 260ms;
	--rk-duration-slow: 420ms;
	--rk-ease-out: cubic-bezier(0.25, 1, 0.5, 1);
	--rk-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
	--rk-ease-toggle: cubic-bezier(0.65, 0, 0.35, 1);
	--rk-layer-base: 0;
	--rk-layer-dropdown: 100;
	--rk-layer-sticky: 200;
	--rk-layer-backdrop: 300;
	--rk-layer-dialog: 400;
	--rk-layer-toast: 500;

	/* Elementor consumes the same source tokens. */
	--e-global-color-primary: var(--rk-color-brand);
	--e-global-color-secondary: var(--rk-color-secondary);
	--e-global-color-text: var(--rk-color-text);
	--e-global-color-accent: var(--rk-color-ink);
	--e-global-typography-primary-font-family: var(--rk-font-display);
	--e-global-typography-secondary-font-family: var(--rk-font-ui);
	--e-global-typography-text-font-family: var(--rk-font-body);
	--e-global-typography-accent-font-family: var(--rk-font-numeric);
}
