/* =====================================================
   SPK — Design Tokens (per §2.9 + §1.6)
   Single source of truth for colours, type, spacing.
   ===================================================== */

:root {
	/* ===== COLORS ===== */
	/* Primary brand */
	--color-primary-dark: #1A4D3A;
	--color-primary-teal: #0F6E56;
	--color-primary-teal-light: #9FE1CB;
	--color-primary-teal-50: #E1F5EE;

	/* Accent CTA */
	--color-accent-coral: #C84B31;
	--color-accent-coral-50: #FAECE7;
	--color-accent-coral-700: #712B13;

	/* Category / badges */
	--color-purple-50: #EFE9F8;
	--color-purple-700: #4B2F86;
	--color-blue-50: #E6F1FB;

	/* Neutrals */
	--color-bg-default: #FAFAF7;
	--color-bg-white: #FFFFFF;
	--color-text-primary: #1A1A1A;
	--color-text-secondary: #5A5A5A;
	--color-text-tertiary: #888780;
	--color-border: #E5E5E0;
	--color-border-subtle: #F0F0EC;

	/* Semantic */
	--color-warning: #B88A00;
	--color-warning-50: #FFF8E0;
	--color-error: #A32D2D;
	--color-error-50: #FCEBEB;
	--color-success: #0F6E56;
	--color-success-50: #E1F5EE;
	--color-info: #044381;
	--color-info-50: #E6F1FB;

	/* Photo placeholder (prod: swap to real) */
	--color-placeholder-bg: #D3D1C7;
	--color-placeholder-border: #888780;
	--color-placeholder-text: #444441;

	/* ===== TYPOGRAPHY ===== */
	--font-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-mono: 'JetBrains Mono', 'Courier New', monospace;

	--fs-h1: clamp(28px, 4vw, 48px);
	--fs-h2: clamp(22px, 3vw, 32px);
	--fs-h3: clamp(17px, 2vw, 20px);
	--fs-body: 16px;
	--fs-body-lg: 17px;
	--fs-small: 13px;
	--fs-micro: 11px;

	--fw-regular: 400;
	--fw-medium: 500;

	--lh-tight: 1.2;
	--lh-snug: 1.35;
	--lh-normal: 1.5;
	--lh-relaxed: 1.65;
	--lh-loose: 1.75;

	--ls-tight: -0.5px;
	--ls-normal: 0;
	--ls-wide: 0.3px;
	--ls-wider: 0.5px;

	/* ===== SPACING (8px base) ===== */
	--space-0: 0;
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-10: 40px;
	--space-12: 48px;
	--space-16: 64px;
	--space-20: 80px;
	--space-24: 96px;

	/* ===== BORDER RADIUS ===== */
	--radius-sm: 4px;
	--radius-md: 6px;
	--radius-lg: 8px;
	--radius-xl: 12px;
	--radius-full: 9999px;

	/* ===== BORDERS ===== */
	--border-thin: 0.5px solid var(--color-border);
	--border-normal: 1px solid var(--color-border);
	--border-accent: 1px solid var(--color-primary-dark);

	/* ===== SHADOWS (minimal, flat editorial) ===== */
	--shadow-subtle: 0 1px 2px 0 rgba(26, 26, 26, 0.04);
	--shadow-card: 0 1px 3px 0 rgba(26, 26, 26, 0.06);
	--shadow-modal: 0 8px 24px 0 rgba(26, 26, 26, 0.12);

	/* ===== TRANSITIONS ===== */
	--transition-fast: 150ms ease-out;
	--transition-normal: 250ms ease-out;
	--transition-slow: 400ms ease-out;

	/* ===== CONTAINERS ===== */
	--container-prose: 640px;
	--container-default: 1200px;
	--container-wide: 1440px;

	/* ===== Z-INDEX ===== */
	--z-base: 1;
	--z-dropdown: 100;
	--z-sticky: 200;
	--z-modal: 1000;
	--z-toast: 1100;

	/* !!! SC-04 FORBIDDEN COLOURS — do not reference as decorative brand.
	   Listed here as a fail-safe to flag if anyone tries to add them.
	   --forbidden-rasta-green: #00A651;
	   --forbidden-rasta-yellow: #FFDD00;
	   --forbidden-rasta-red: #EF3340;
	*/
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
	:root {
		--transition-fast: 0ms;
		--transition-normal: 0ms;
		--transition-slow: 0ms;
	}
}

/* Font-face declarations (self-hosted, woff2 only per §3.2) */
@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/inter-medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Source Serif 4';
	src: url('../fonts/source-serif-4-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Source Serif 4';
	src: url('../fonts/source-serif-4-medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'JetBrains Mono';
	src: url('../fonts/jetbrains-mono-regular.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
