/* ==========================================================================
   FinBridge – Global design tokens
   Single source of truth for fonts, colours, spacing, radii, shadows.
   Loaded on every page. Change a value here and it updates sitewide.
   ========================================================================== */

:root {
	/* ---- Typography ---- */
	--fb-font-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fb-font-heading: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fb-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

	--fb-fw-regular: 400;
	--fb-fw-medium: 500;
	--fb-fw-semibold: 600;
	--fb-fw-bold: 700;
	--fb-fw-extrabold: 800;

	--fb-fs-xs: 0.8125rem;
	--fb-fs-sm: 0.9375rem;
	--fb-fs-base: 1rem;
	--fb-fs-lg: 1.125rem;
	--fb-fs-xl: 1.375rem;
	--fb-fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
	--fb-fs-h2: clamp(1.875rem, 1.4rem + 2vw, 3rem);
	--fb-fs-h1: clamp(2.5rem, 1.6rem + 4vw, 4.5rem);

	--fb-lh-tight: 1.1;
	--fb-lh-snug: 1.3;
	--fb-lh-body: 1.65;

	/* ---- Brand colours ---- */
	--fb-color-primary: #1a3d99;
	--fb-color-primary-600: #153280;
	--fb-color-primary-400: #3a63d6;
	--fb-color-bright: #2f6bff;
	--fb-color-navy: #0e093c;
	--fb-color-ink: #0a062f;
	--fb-color-accent: #19c58b;
	--fb-color-sky: #eaf6fc;
	--fb-color-sky-strong: #cfe6f7;

	/* ---- Neutrals ---- */
	--fb-color-text: #4f4d60;
	--fb-color-text-muted: #7b7990;
	--fb-color-heading: #0e093c;
	--fb-color-bg: #ffffff;
	--fb-color-bg-alt: #f5f8fd;
	--fb-color-border: #e1e6f2;
	--fb-color-white: #ffffff;
	--fb-color-on-dark: #ffffff;
	--fb-color-on-dark-muted: rgba(255, 255, 255, 0.72);
	--fb-color-border-dark: rgba(255, 255, 255, 0.14);

	/* ---- Gradients ---- */
	--fb-gradient-hero: radial-gradient(1200px 600px at 78% -10%, rgba(47, 107, 255, 0.45), transparent 60%),
		radial-gradient(900px 500px at -10% 110%, rgba(25, 197, 139, 0.18), transparent 60%),
		linear-gradient(180deg, #0e093c 0%, #0a062f 100%);
	--fb-gradient-cta: linear-gradient(135deg, #1a3d99 0%, #2f6bff 100%);

	/* ---- Layout ---- */
	--fb-container: 1100px; /* fallback content width; the page follows Elementor's --container-max-width (set in Site Settings → Layout), same as the header/footer */
	--fb-gutter: 15px; /* side padding – matches the header/footer */
	--fb-section-y: clamp(4rem, 8vw, 7rem);

	/* ---- Spacing scale ---- */
	--fb-space-1: 0.25rem;
	--fb-space-2: 0.5rem;
	--fb-space-3: 0.75rem;
	--fb-space-4: 1rem;
	--fb-space-5: 1.5rem;
	--fb-space-6: 2rem;
	--fb-space-7: 3rem;
	--fb-space-8: 4rem;

	/* ---- Radii & shadows ---- */
	--fb-radius-sm: 10px;
	--fb-radius-md: 16px;
	--fb-radius-lg: 24px;
	--fb-radius-pill: 999px;
	--fb-shadow-sm: 0 2px 8px rgba(14, 9, 60, 0.06);
	--fb-shadow-md: 0 12px 32px rgba(14, 9, 60, 0.1);
	--fb-shadow-lg: 0 30px 60px rgba(14, 9, 60, 0.28);

	--fb-transition: 0.25s ease;
}

/* Global base — applies to the whole site */
body {
	font-family: var(--fb-font-body);
	color: var(--fb-color-text);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--fb-font-heading);
}
