:root {
	/* Brand and surface colors. */
	--prp-color-navy-950: #06152f;
	--prp-color-navy-900: #071a3d;
	--prp-color-navy-800: #0d2554;
	--prp-color-pacific-700: #0d4f9f;
	--prp-color-pacific-600: #176fbd;
	--prp-color-pacific-500: #1877d4;
	--prp-color-pacific-400: #2393dd;
	--prp-color-cyan-300: #72c9ee;
	--prp-color-white: #ffffff;
	--prp-color-porcelain: #fcfdff;
	--prp-color-cloud: #f4f7fa;
	--prp-color-mist: #e8eef4;
	--prp-color-silver: #cbd5df;
	--prp-color-graphite: #526172;
	--prp-color-ink: #0b1830;
	--prp-color-positive: #237459;
	--prp-color-warning: #8a5a16;
	--prp-color-danger: #9d2f3d;
	--prp-color-info-surface: #e8f4fc;
	--prp-color-positive-surface: #eaf7f1;
	--prp-color-warning-surface: #fff7e8;
	--prp-color-danger-surface: #fff0f2;

	/* Semantic color contracts. */
	--prp-color-text: var(--prp-color-ink);
	--prp-color-text-muted: var(--prp-color-graphite);
	--prp-color-text-inverse: var(--prp-color-white);
	--prp-color-heading: var(--prp-color-navy-800);
	--prp-color-link: var(--prp-color-pacific-700);
	--prp-color-link-hover: var(--prp-color-navy-800);
	--prp-color-surface: var(--prp-color-white);
	--prp-color-surface-soft: var(--prp-color-cloud);
	--prp-color-border: var(--prp-color-mist);
	--prp-color-focus: var(--prp-color-pacific-400);

	/* Typography. */
	--prp-font-sans: Inter, "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
	--prp-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
	--prp-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	--prp-font-weight-regular: 400;
	--prp-font-weight-medium: 550;
	--prp-font-weight-semibold: 650;
	--prp-font-weight-bold: 750;
	--prp-font-weight-black: 900;
	--prp-text-xs: 0.75rem;
	--prp-text-sm: 0.875rem;
	--prp-text-base: 1rem;
	--prp-text-lg: 1.125rem;
	--prp-text-xl: 1.25rem;
	--prp-text-2xl: clamp(1.5rem, 2vw, 1.75rem);
	--prp-text-3xl: clamp(2rem, 4vw, 3.25rem);
	--prp-text-4xl: clamp(2.875rem, 6vw, 4.5rem);
	--prp-leading-tight: 1.08;
	--prp-leading-heading: 1.16;
	--prp-leading-body: 1.62;
	--prp-tracking-tight: -0.025em;
	--prp-tracking-label: 0.09em;
	--prp-measure-copy: 68ch;

	/* Spacing. */
	--prp-space-0: 0;
	--prp-space-1: 0.25rem;
	--prp-space-2: 0.5rem;
	--prp-space-3: 0.75rem;
	--prp-space-4: 1rem;
	--prp-space-5: 1.25rem;
	--prp-space-6: 1.5rem;
	--prp-space-8: 2rem;
	--prp-space-10: 2.5rem;
	--prp-space-12: 3rem;
	--prp-space-16: 4rem;
	--prp-space-20: 5rem;
	--prp-space-24: 6rem;
	--prp-space-30: 7.5rem;
	--prp-section-space: clamp(3.5rem, 8vw, 7.5rem);

	/* Containers and gutters. */
	--prp-container-reading: 48rem;
	--prp-container-standard: 82.5rem;
	--prp-container-wide-max: 95rem;
	--prp-gutter: clamp(1.125rem, 4vw, 4rem);
	--prp-container-wide: min(var(--prp-container-standard), calc(100vw - (2 * var(--prp-gutter))));
	--prp-container-copy: min(var(--prp-container-reading), calc(100vw - (2 * var(--prp-gutter))));
	--prp-container-merchandising: min(var(--prp-container-wide-max), calc(100vw - (2 * var(--prp-gutter))));

	/* Borders, radii, and shadows. */
	--prp-border-width: 1px;
	--prp-border-subtle: var(--prp-border-width) solid var(--prp-color-border);
	--prp-radius-xs: 0.375rem;
	--prp-radius-sm: 0.625rem;
	--prp-radius-md: 1rem;
	--prp-radius-lg: 1.5rem;
	--prp-radius-xl: 1.75rem;
	--prp-radius-pill: 999px;
	--prp-shadow-sm: 0 8px 24px rgba(11, 24, 48, 0.06);
	--prp-shadow-md: 0 20px 60px rgba(11, 24, 48, 0.1);
	--prp-shadow-lg: 0 28px 72px rgba(6, 40, 95, 0.15);

	/* Motion and focus. */
	--prp-duration-fast: 160ms;
	--prp-duration-base: 220ms;
	--prp-duration-slow: 360ms;
	--prp-ease-standard: cubic-bezier(0.2, 0, 0, 1);
	--prp-ease-emphasized: cubic-bezier(0.2, 0, 0, 1.2);
	--prp-focus-ring: 0 0 0 4px rgba(35, 147, 221, 0.18);
	--prp-focus-outline: 3px solid rgba(24, 119, 212, 0.35);
	--prp-focus-offset: 3px;

	/* Layering. */
	--prp-z-base: 0;
	--prp-z-raised: 10;
	--prp-z-sticky: 20;
	--prp-z-drawer: 1000;
	--prp-z-modal: 1100;
	--prp-z-toast: 1200;

	/*
	 * Compatibility aliases. Existing UI selectors continue to resolve to
	 * the same values after prp-premium.css loads.
	 */
	--prp-navy: var(--prp-color-navy-800);
	--prp-navy-900: var(--prp-color-navy-900);
	--prp-navy-deep: var(--prp-color-navy-900);
	--prp-blue: var(--prp-color-pacific-600);
	--prp-blue-dark: var(--prp-color-navy-800);
	--prp-pacific: var(--prp-color-pacific-600);
	--prp-pacific-bright: var(--prp-color-pacific-400);
	--prp-pacific-soft: var(--prp-color-info-surface);
	--prp-sky: var(--prp-color-info-surface);
	--prp-ice: var(--prp-color-porcelain);
	--prp-porcelain: var(--prp-color-porcelain);
	--prp-cloud: var(--prp-color-cloud);
	--prp-mist: var(--prp-color-mist);
	--prp-silver: var(--prp-color-silver);
	--prp-graphite: var(--prp-color-graphite);
	--prp-line: var(--prp-color-mist);
	--prp-ink: var(--prp-color-ink);
	--prp-muted: var(--prp-color-graphite);
	--prp-white: var(--prp-color-white);
	--prp-positive: var(--prp-color-positive);
	--prp-warning: var(--prp-color-warning);
	--prp-danger: var(--prp-color-danger);
	--prp-radius: 1.125rem;
	--prp-shadow: 0 18px 48px rgba(8, 40, 95, 0.14);
	--prp-shadow-soft: 0 12px 30px rgba(8, 40, 95, 0.08);
	--prp-shadow-premium: var(--prp-shadow-lg);
	--prp-hairline: 1px solid rgba(13, 37, 84, 0.13);
	--prp-shadow-focus: var(--prp-focus-ring);
	--prp-container: var(--prp-container-wide);
}

@media (max-width: 800px) {
	:root {
		--prp-gutter: 1.125rem;
		--prp-section-space: clamp(3.5rem, 14vw, 5rem);
	}
}
