:root,
[data-theme="light"] {
	--rsa-bg: #ffffff;
	--rsa-surface: #f3f5f9;
	--rsa-ink: #0b1527;
	--rsa-muted: #5b6678;
	--rsa-border: #dde3ec;
	--rsa-brand: #1a3a6b;
	--rsa-brand-hover: #2f6bd1;
	--rsa-brand-deep: #14294d;
	--rsa-link: #1a3a6b;
	--rsa-electric: #2f6bd1;
	--rsa-chrome: #c9ced6;
	--rsa-chip: #e7edf7;
	--rsa-on-brand: #ffffff;
	--rsa-danger: #b3261e;
	--rsa-success: #1b7f4b;
	--rsa-shadow: 0 1px 2px rgba(11, 21, 39, 0.06), 0 8px 24px rgba(11, 21, 39, 0.08);
	--rsa-shadow-lg: 0 2px 4px rgba(11, 21, 39, 0.06), 0 24px 60px rgba(11, 21, 39, 0.16);
	--rsa-shadow-sm: 0 1px 2px rgba(11, 21, 39, 0.05), 0 2px 8px rgba(11, 21, 39, 0.05);
	--rsa-hairline: rgba(11, 21, 39, 0.08);
	--rsa-glow: rgba(47, 107, 209, 0.16);
	color-scheme: light;
}

[data-theme="dark"] {
	--rsa-bg: #0a1426;
	--rsa-surface: #111d33;
	--rsa-ink: #eef2f8;
	--rsa-muted: #9aa7bd;
	--rsa-border: #22324f;
	--rsa-brand: #2f6bd1;
	--rsa-brand-hover: #2457b3;
	--rsa-brand-deep: #050b17;
	--rsa-link: #6d9bf0;
	--rsa-electric: #4a82e6;
	--rsa-chrome: #3a4a66;
	--rsa-chip: #18284a;
	--rsa-on-brand: #ffffff;
	--rsa-danger: #ff8a80;
	--rsa-success: #5fd39a;
	--rsa-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
	--rsa-shadow-lg: 0 2px 4px rgba(0, 0, 0, 0.3), 0 24px 60px rgba(0, 0, 0, 0.5);
	--rsa-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.25);
	--rsa-hairline: rgba(255, 255, 255, 0.07);
	--rsa-glow: rgba(74, 130, 230, 0.22);
	color-scheme: dark;
}

:root {
	--rsa-radius: 16px;
	--rsa-radius-sm: 10px;
	--rsa-radius-lg: 24px;
	--rsa-radius-pill: 999px;
	--rsa-font-head: "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--rsa-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--rsa-focus-color: var(--rsa-electric); /* >= 3:1 on the page background in both themes; navy surfaces override it in base.css */
	--rsa-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--rsa-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--rsa-control-h: 48px; /* buttons and form fields share one height */
	/* Type scale: display (hero), h1 (page titles), h2 (section titles). Sora at 800 with tight tracking. */
	--rsa-fs-display: clamp(2.6rem, 1.4rem + 5.2vw, 5.5rem);
	--rsa-fs-h1: clamp(2.2rem, 1.5rem + 3vw, 3.75rem);
	--rsa-fs-h2: clamp(1.75rem, 1.25rem + 2vw, 3rem);
	--rsa-track-tight: -0.035em;
	/* Chrome sheen used on display type over navy (the logo's silver). */
	--rsa-chrome-text: linear-gradient(180deg, #ffffff 0%, #ffffff 45%, #c9d4e6 100%);
}
