:root {
	--oe-colour-paper: #faf5ea;
	--oe-colour-navy: #000080;
	--oe-colour-text: #1a1a1a;
	--oe-colour-text-muted: #66645f;
	--oe-colour-rule: #d8d0c2;
	--oe-colour-white: #ffffff;
	--oe-width-reading: 760px;
	--oe-width-content: 1280px;
	--oe-width-wide: 1440px;
	--oe-page-gutter: 40px;
	--oe-space-1: 8px;
	--oe-space-2: 16px;
	--oe-space-3: 24px;
	--oe-space-4: 32px;
	--oe-space-5: 48px;
	--oe-space-6: 72px;
	--oe-space-7: 96px;
	--oe-space-8: 120px;
	--oe-section-space: var(--oe-space-6);
	--oe-section-tail-space: 52px;
	--oe-section-space-major: var(--oe-space-8);
	--oe-font-editorial: Georgia, "Times New Roman", serif;
	--oe-font-interface: Inter, Arial, sans-serif;
	/* OE Editorial Scale */
	--oe-font-heading-xl: clamp(2rem, 2.6vw, 2.5rem);
	--oe-font-heading-l: clamp(1.375rem, 1.7vw, 1.75rem);
	--oe-font-heading-m: clamp(1.0625rem, 1.2vw, 1.125rem);
	--oe-font-heading-s: clamp(1rem, 1.05vw, 1.0625rem);
	--oe-font-body: 1.0625rem;
	--oe-font-excerpt: 1rem;
	--oe-font-caption: 0.875rem;
	--oe-font-category: 0.8125rem;
	--oe-font-metadata: 0.8125rem;

	/* Backwards-compatible aliases for existing components. */
	--oe-font-size-label: var(--oe-font-category);
	--oe-font-size-body: var(--oe-font-body);
	--oe-font-size-excerpt: var(--oe-font-excerpt);
	--oe-font-size-card-title: var(--oe-font-heading-m);
	--oe-font-size-support-title: var(--oe-font-heading-m);
	--oe-font-size-section-title: var(--oe-font-heading-l);
	--oe-font-size-lead-title: var(--oe-font-heading-xl);
}

@media (max-width: 1023px) {
	:root { --oe-page-gutter: 28px; --oe-section-space-major: var(--oe-space-7); }
}

@media (max-width: 767px) {
	:root { --oe-page-gutter: 20px; --oe-section-space: var(--oe-space-6); --oe-section-space-major: var(--oe-space-6); }
}
