/* Brand typeface (Gotham look-alike — self-hosted, see assets/css/fonts.css).
   Scoped to body, not :root, so it wins the tie with Hello Elementor's reset.css
   `body { font-family: ... }` rule via print order (rocketx-tokens loads after it).
   'Montserrat Fallback' is Arial metric-matched to Montserrat: while the real
   font loads, text occupies the SAME space, so the swap causes no layout shift
   and the hero <h1> (the LCP element) does not re-register a later, larger
   LCP entry. Keep it second in the stack. */
body {
	font-family: 'Montserrat', 'Montserrat Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

:root {
	/* Brand */
	--rx-orange: #DC4F2C;
	--rx-orange-600: #C13F1E;
	--rx-orange-300: #F08566;
	--rx-navy: #0B1023;
	--rx-navy-700: #141A33;
	--rx-navy-500: #1F2747;

	/* Neutrals */
	--rx-ink: #0A0D1A;
	--rx-ink-2: #1A1F2E;
	--rx-mute: #6B7280;
	--rx-line: rgba(255, 255, 255, 0.08);
	--rx-bg: #FFFFFF;
	--rx-bg-alt: #F5F6FA;

	/* Surface (for glass on dark) */
	--rx-surface-light: rgba(255, 255, 255, 0.06);
	--rx-surface-light-strong: rgba(255, 255, 255, 0.12);
	--rx-surface-dark: rgba(11, 16, 35, 0.55);
	--rx-stroke-light: rgba(255, 255, 255, 0.16);

	/* Type scale (modular 1.25) */
	--rx-fs-xs: 0.75rem;
	--rx-fs-sm: 0.875rem;
	--rx-fs-base: 1rem;
	--rx-fs-md: 1.125rem;
	--rx-fs-lg: 1.5rem;
	--rx-fs-xl: 2rem;
	--rx-fs-2xl: 2.75rem;
	--rx-fs-3xl: 3.75rem;
	--rx-fs-display: clamp(3rem, 5.5vw, 5.5rem);

	/* Spacing (8px base) */
	--rx-s-1: 0.5rem;
	--rx-s-2: 1rem;
	--rx-s-3: 1.5rem;
	--rx-s-4: 2rem;
	--rx-s-5: 3rem;
	--rx-s-6: 4rem;
	--rx-s-7: 6rem;
	--rx-s-8: 8rem;

	/* Radius */
	--rx-r-sm: 8px;
	--rx-r-md: 14px;
	--rx-r-lg: 22px;
	--rx-r-xl: 32px;
	--rx-r-pill: 999px;

	/* Shadow */
	--rx-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
	--rx-shadow-md: 0 12px 32px rgba(0, 0, 0, 0.18);
	--rx-shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.28);
	--rx-shadow-glow: 0 0 48px rgba(220, 79, 44, 0.35);

	/* ── Light theme: surfaces, glass, aurora accents, soft 2.5D elevation ── */
	--rx-light: #F4F6FC;             /* cool near-white page base */
	--rx-light-warm: #FCF8F5;        /* warm tint for aurora blends */
	--rx-light-panel: #FFFFFF;       /* raised opaque panel */
	--rx-ink-soft: #4A5169;          /* muted body text on light */

	--rx-violet: #6D5DF6;            /* secondary aurora accent (cool) */
	--rx-sky: #2BB7F0;               /* tertiary aurora accent */

	--rx-glass-l: rgba(255, 255, 255, 0.66);          /* light frosted glass fill */
	--rx-glass-l-strong: rgba(255, 255, 255, 0.82);
	--rx-glass-l-border: rgba(255, 255, 255, 0.9);
	--rx-hairline: rgba(16, 24, 55, 0.08);            /* crisp edge on light */

	/* Layered soft elevation, faintly warmed by the brand — the 2.5D lift */
	--rx-lift-1: 0 1px 0 0 rgba(255,255,255,0.9) inset, 0 6px 16px -8px rgba(16,24,55,0.14), 0 2px 6px -4px rgba(16,24,55,0.10);
	--rx-lift-2: 0 1px 0 0 rgba(255,255,255,0.95) inset, 0 18px 38px -16px rgba(16,24,55,0.20), 0 6px 14px -8px rgba(16,24,55,0.12);
	--rx-lift-3: 0 1px 0 0 rgba(255,255,255,0.95) inset, 0 40px 80px -28px rgba(16,24,55,0.26), 0 12px 28px -14px rgba(16,24,55,0.14);
	--rx-lift-warm: 0 30px 60px -28px rgba(220,79,44,0.28), 0 10px 24px -14px rgba(220,79,44,0.18);

	/* Motion */
	--rx-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--rx-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--rx-dur-fast: 220ms;
	--rx-dur-base: 480ms;
	--rx-dur-slow: 900ms;

	/* Layers */
	--rx-z-base: 1;
	--rx-z-raised: 10;
	--rx-z-overlay: 50;
	--rx-z-nav: 100;
	--rx-z-modal: 1000;
}
