:root {
	/* Color: navy scale */
	--color-navy-950: #071A2A;
	--color-navy-900: #0B1F33;
	--color-navy-800: #102C49;
	--color-navy-700: #173B61;

	/* Color: teal scale */
	--color-teal-500: #00B7A7;
	--color-teal-600: #009B8F;
	--color-teal-700: #007F75;

	/* Color: mint */
	--color-mint-50: #F1FBF9;
	--color-mint-100: #E6F6F3;

	/* Color: neutrals */
	--color-neutral-0: #FFFFFF;
	--color-neutral-50: #F8FAFC;
	--color-neutral-100: #F1F5F9;
	--color-neutral-200: #E2E8F0;
	--color-neutral-300: #CBD5E1;
	--color-neutral-500: #64748B;
	--color-neutral-700: #334155;

	/* Color: text */
	--color-text-primary: #0F172A;
	--color-text-secondary: #475569;

	/* Color: semantic */
	--color-success: #168A4A;
	--color-warning: #C77800;
	--color-error: #C93636;

	/* Focus ring */
	--focus-ring: 3px solid rgba(0, 183, 167, .28);
	--focus-outline: 2px solid #007F75;

	/* Typography */
	--font-family-base: Heebo, Arial, sans-serif;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semibold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;

	--fs-body: 1rem;
	--lh-body: 1.75;
	--fs-article-body: 1.125rem;
	--lh-article-body: 1.75;
	--fs-body-large: 1.125rem;
	--lh-body-large: 1.7;
	--fs-small: 0.875rem;
	--lh-small: 1.55;
	--fs-meta: 0.8125rem;
	--lh-meta: 1.45;

	--fs-hero: clamp(2rem, 7vw, 3.5rem);
	--lh-hero: 1.06;
	--fs-h1: clamp(2rem, 5vw, 3rem);
	--lh-h1: 1.12;
	--fs-h2: clamp(1.5rem, 3vw, 2rem);
	--lh-h2: 1.2;
	--fs-h3: clamp(1.125rem, 2vw, 1.375rem);
	--lh-h3: 1.3;

	/* Spacing scale */
	--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-14: 56px;
	--space-16: 64px;
	--space-18: 72px;
	--space-20: 80px;

	/* Radius */
	--radius-xs: 4px;
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 16px;
	--radius-pill: 999px;

	/* Breakpoints (reference only, used in media queries directly) */
	--bp-480: 480px;
	--bp-768: 768px;
	--bp-1024: 1024px;
	--bp-1280: 1280px;
	--bp-1440: 1440px;

	/* Containers */
	--container-article: 760px;
	--container-tablet: 720px;
	--container-small-desktop: 960px;
	--container-desktop: 1200px;
	--container-wide: 1320px;
	--container-padding-mobile: 16px;
	--container-padding-tablet: 24px;
	--container-padding-wide: 32px;

	/* Header heights */
	--header-height-mobile: 64px;
	--header-height-utility: 34px;
	--header-height-desktop: 76px;
	--header-height-desktop-compact: 60px;

	/* Motion */
	--motion-fast: 120ms;
	--motion-standard: 180ms;
	--motion-drawer: 240ms;
	--motion-ease: cubic-bezier(.2, .8, .2, 1);

	/* Shadows */
	--shadow-card: 0 4px 18px rgba(11, 31, 51, .06);
	--shadow-card-hover: 0 10px 28px rgba(11, 31, 51, .10);
	--shadow-header: 0 8px 24px rgba(11, 31, 51, .08);

	/* Touch target */
	--touch-target-min: 44px;
}
