/*
 * tokens.css — GENERATED FILE, DO NOT EDIT BY HAND.
 *
 * Built by tools/build-tokens.mjs from the Figma exports in tools/, taken
 * from file fFRoXsIfVLX8cEFB15lBsM on 2026-10-10.
 * Edit the design in Figma, re-export, and run the script again.
 */

:root {
	/* Colour */
	--vj-border-default: #e3e6ef;
	--vj-border-on-dark: #232b6b;
	--vj-border-strong: #c5cad8;
	--vj-border-toggle-off: #cbd0dc;
	--vj-brand-navy: #0b1250;
	--vj-brand-orange: #fc6e10;
	--vj-brand-orange-ink: #a13f00;
	--vj-brand-orange-soft: #fff0e6;
	--vj-brand-pink: #fe175e;
	--vj-brand-purple: #9400b2;
	--vj-brand-royal: #112797;
	--vj-brand-sky: #189efd;
	--vj-state-focus-ring: #189efd;
	--vj-state-navy-hover: #0d1860;
	--vj-state-orange-hover: #e85b04;
	--vj-status-danger: #c23a2b;
	--vj-status-danger-border: #f2c4be;
	--vj-status-danger-ink: #7a1f15;
	--vj-status-danger-soft: #fcebe8;
	--vj-status-success: #0b8a5f;
	--vj-status-success-border: #b8e0cc;
	--vj-status-success-ink: #0a5c40;
	--vj-status-success-soft: #e2f4eb;
	--vj-surface-card: #ffffff;
	--vj-surface-cover-end: #fff4ec;
	--vj-surface-cover-start: #eef3ff;
	--vj-surface-footer: #eef1f8;
	--vj-surface-hero-end: #fff3ea;
	--vj-surface-hero-start: #eef3ff;
	--vj-surface-map: #e6ebf5;
	--vj-surface-page: #f5f6fa;
	--vj-surface-scrim: #5a6078;
	--vj-surface-selected: #fff8f3;
	--vj-surface-skeleton: #e6eaf2;
	--vj-surface-soft-blue: #e7f3ff;
	--vj-text-disabled: #9aa1ba;
	--vj-text-muted: #6b7394;
	--vj-text-on-dark: #ffffff;
	--vj-text-on-dark-faint: #9aa6d8;
	--vj-text-on-dark-muted: #c9cee6;
	--vj-text-primary: #070b3a;
	--vj-text-secondary: #3b4466;

	/* Size: spacing, radius and layout */
	--vj-layout-container: 1280px;
	--vj-layout-gutter: 24px;
	--vj-layout-page-margin-desktop: 80px;
	--vj-layout-page-margin-mobile: 16px;
	--vj-layout-page-margin-tablet: 32px;
	--vj-radius-full: 999px;
	--vj-radius-lg: 18px;
	--vj-radius-md: 12px;
	--vj-radius-sm: 8px;
	--vj-radius-xl: 24px;
	--vj-space-4: 4px;
	--vj-space-8: 8px;
	--vj-space-12: 12px;
	--vj-space-16: 16px;
	--vj-space-20: 20px;
	--vj-space-24: 24px;
	--vj-space-32: 32px;
	--vj-space-40: 40px;
	--vj-space-48: 48px;
	--vj-space-64: 64px;
	--vj-space-80: 80px;

	/* Shadow */
	--vj-shadow-card: 0 6px 18px rgba(10, 18, 51, 0.06);

	/* Type families */
	--vj-font-display: "Anek Latin", "Segoe UI", system-ui, sans-serif;
	--vj-font-body: "Hind", "Segoe UI", system-ui, sans-serif;

	/* Type scale. Figma stores line height and tracking as percentages;
	 * they become a unitless multiplier and an em value here. */
	--vj-text-display-xl-size: 60px;
	--vj-text-display-xl-line: 1.04;
	--vj-text-display-xl-tracking: -0.03em;
	--vj-text-display-xl-weight: 800;
	--vj-text-display-l-size: 44px;
	--vj-text-display-l-line: 1.06;
	--vj-text-display-l-tracking: -0.025em;
	--vj-text-display-l-weight: 800;
	--vj-text-heading-1-size: 30px;
	--vj-text-heading-1-line: 1.12;
	--vj-text-heading-1-tracking: -0.02em;
	--vj-text-heading-1-weight: 700;
	--vj-text-heading-2-size: 24px;
	--vj-text-heading-2-line: 1.18;
	--vj-text-heading-2-tracking: -0.015em;
	--vj-text-heading-2-weight: 700;
	--vj-text-heading-3-size: 19px;
	--vj-text-heading-3-line: 1.26;
	--vj-text-heading-3-tracking: -0.01em;
	--vj-text-heading-3-weight: 700;
	--vj-text-heading-4-size: 16px;
	--vj-text-heading-4-line: 1.32;
	--vj-text-heading-4-tracking: -0.005em;
	--vj-text-heading-4-weight: 600;
	--vj-text-body-18-size: 18px;
	--vj-text-body-18-line: 1.5;
	--vj-text-body-18-tracking: 0em;
	--vj-text-body-18-weight: 400;
	--vj-text-body-16-size: 16px;
	--vj-text-body-16-line: 1.5;
	--vj-text-body-16-tracking: 0em;
	--vj-text-body-16-weight: 400;
	--vj-text-body-15-size: 15px;
	--vj-text-body-15-line: 1.5;
	--vj-text-body-15-tracking: 0em;
	--vj-text-body-15-weight: 400;
	--vj-text-body-15-medium-size: 15px;
	--vj-text-body-15-medium-line: 1.45;
	--vj-text-body-15-medium-tracking: 0em;
	--vj-text-body-15-medium-weight: 500;
	--vj-text-body-14-size: 14px;
	--vj-text-body-14-line: 1.5;
	--vj-text-body-14-tracking: 0em;
	--vj-text-body-14-weight: 400;
	--vj-text-body-14-medium-size: 14px;
	--vj-text-body-14-medium-line: 1.45;
	--vj-text-body-14-medium-tracking: 0em;
	--vj-text-body-14-medium-weight: 500;
	--vj-text-body-13-size: 13px;
	--vj-text-body-13-line: 1.48;
	--vj-text-body-13-tracking: 0em;
	--vj-text-body-13-weight: 400;
	--vj-text-body-13-medium-size: 13px;
	--vj-text-body-13-medium-line: 1.42;
	--vj-text-body-13-medium-tracking: 0em;
	--vj-text-body-13-medium-weight: 500;
	--vj-text-body-12-size: 12px;
	--vj-text-body-12-line: 1.45;
	--vj-text-body-12-tracking: 0em;
	--vj-text-body-12-weight: 400;
	--vj-text-label-16-size: 16px;
	--vj-text-label-16-line: 1.32;
	--vj-text-label-16-tracking: 0em;
	--vj-text-label-16-weight: 600;
	--vj-text-label-15-size: 15px;
	--vj-text-label-15-line: 1.32;
	--vj-text-label-15-tracking: 0em;
	--vj-text-label-15-weight: 600;
	--vj-text-label-15-bold-size: 15px;
	--vj-text-label-15-bold-line: 1.32;
	--vj-text-label-15-bold-tracking: 0em;
	--vj-text-label-15-bold-weight: 700;
	--vj-text-label-14-size: 14px;
	--vj-text-label-14-line: 1.32;
	--vj-text-label-14-tracking: 0em;
	--vj-text-label-14-weight: 600;
	--vj-text-label-14-bold-size: 14px;
	--vj-text-label-14-bold-line: 1.32;
	--vj-text-label-14-bold-tracking: 0em;
	--vj-text-label-14-bold-weight: 700;
	--vj-text-label-13-size: 13px;
	--vj-text-label-13-line: 1.3;
	--vj-text-label-13-tracking: 0em;
	--vj-text-label-13-weight: 600;
	--vj-text-label-13-bold-size: 13px;
	--vj-text-label-13-bold-line: 1.3;
	--vj-text-label-13-bold-tracking: 0em;
	--vj-text-label-13-bold-weight: 700;
	--vj-text-label-12-size: 12px;
	--vj-text-label-12-line: 1.3;
	--vj-text-label-12-tracking: 0em;
	--vj-text-label-12-weight: 600;
	--vj-text-label-12-bold-size: 12px;
	--vj-text-label-12-bold-line: 1.3;
	--vj-text-label-12-bold-tracking: 0em;
	--vj-text-label-12-bold-weight: 700;
	--vj-text-overline-12-size: 12px;
	--vj-text-overline-12-line: 1.3;
	--vj-text-overline-12-tracking: 0.08em;
	--vj-text-overline-12-weight: 700;

	/* Short names for the weight used most often at each size. */
	--vj-text-body-11-size: var(--vj-text-body-12-size);
	--vj-text-body-11-line: var(--vj-text-body-12-line);
	--vj-text-body-11-tracking: var(--vj-text-body-12-tracking);
	--vj-text-body-11-weight: var(--vj-text-body-12-weight);
	--vj-text-label-11-size: var(--vj-text-label-12-size);
	--vj-text-label-11-line: var(--vj-text-label-12-line);
	--vj-text-label-11-tracking: var(--vj-text-label-12-tracking);
	--vj-text-label-11-weight: var(--vj-text-label-12-weight);
	--vj-text-overline-10-size: var(--vj-text-overline-12-size);
	--vj-text-overline-10-line: var(--vj-text-overline-12-line);
	--vj-text-overline-10-tracking: var(--vj-text-overline-12-tracking);
	--vj-text-overline-10-weight: var(--vj-text-overline-12-weight);
}

/* One class per Figma text style, so a template names the style rather
 * than repeating four properties. */
.vj-text-display-xl {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-display-xl-size);
	font-weight: var(--vj-text-display-xl-weight);
	line-height: var(--vj-text-display-xl-line);
	letter-spacing: var(--vj-text-display-xl-tracking);
}
.vj-text-display-l {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-display-l-size);
	font-weight: var(--vj-text-display-l-weight);
	line-height: var(--vj-text-display-l-line);
	letter-spacing: var(--vj-text-display-l-tracking);
}
.vj-text-heading-1 {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-heading-1-size);
	font-weight: var(--vj-text-heading-1-weight);
	line-height: var(--vj-text-heading-1-line);
	letter-spacing: var(--vj-text-heading-1-tracking);
}
.vj-text-heading-2 {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-heading-2-size);
	font-weight: var(--vj-text-heading-2-weight);
	line-height: var(--vj-text-heading-2-line);
	letter-spacing: var(--vj-text-heading-2-tracking);
}
.vj-text-heading-3 {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-heading-3-size);
	font-weight: var(--vj-text-heading-3-weight);
	line-height: var(--vj-text-heading-3-line);
	letter-spacing: var(--vj-text-heading-3-tracking);
}
.vj-text-heading-4 {
	font-family: var(--vj-font-display);
	font-size: var(--vj-text-heading-4-size);
	font-weight: var(--vj-text-heading-4-weight);
	line-height: var(--vj-text-heading-4-line);
	letter-spacing: var(--vj-text-heading-4-tracking);
}
.vj-text-body-18 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-18-size);
	font-weight: var(--vj-text-body-18-weight);
	line-height: var(--vj-text-body-18-line);
	letter-spacing: var(--vj-text-body-18-tracking);
}
.vj-text-body-16 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-16-size);
	font-weight: var(--vj-text-body-16-weight);
	line-height: var(--vj-text-body-16-line);
	letter-spacing: var(--vj-text-body-16-tracking);
}
.vj-text-body-15 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-15-size);
	font-weight: var(--vj-text-body-15-weight);
	line-height: var(--vj-text-body-15-line);
	letter-spacing: var(--vj-text-body-15-tracking);
}
.vj-text-body-15-medium {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-15-medium-size);
	font-weight: var(--vj-text-body-15-medium-weight);
	line-height: var(--vj-text-body-15-medium-line);
	letter-spacing: var(--vj-text-body-15-medium-tracking);
}
.vj-text-body-14 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-14-size);
	font-weight: var(--vj-text-body-14-weight);
	line-height: var(--vj-text-body-14-line);
	letter-spacing: var(--vj-text-body-14-tracking);
}
.vj-text-body-14-medium {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-14-medium-size);
	font-weight: var(--vj-text-body-14-medium-weight);
	line-height: var(--vj-text-body-14-medium-line);
	letter-spacing: var(--vj-text-body-14-medium-tracking);
}
.vj-text-body-13 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-13-size);
	font-weight: var(--vj-text-body-13-weight);
	line-height: var(--vj-text-body-13-line);
	letter-spacing: var(--vj-text-body-13-tracking);
}
.vj-text-body-13-medium {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-13-medium-size);
	font-weight: var(--vj-text-body-13-medium-weight);
	line-height: var(--vj-text-body-13-medium-line);
	letter-spacing: var(--vj-text-body-13-medium-tracking);
}
.vj-text-body-12 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-12-size);
	font-weight: var(--vj-text-body-12-weight);
	line-height: var(--vj-text-body-12-line);
	letter-spacing: var(--vj-text-body-12-tracking);
}
.vj-text-label-16 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-16-size);
	font-weight: var(--vj-text-label-16-weight);
	line-height: var(--vj-text-label-16-line);
	letter-spacing: var(--vj-text-label-16-tracking);
}
.vj-text-label-15 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-15-size);
	font-weight: var(--vj-text-label-15-weight);
	line-height: var(--vj-text-label-15-line);
	letter-spacing: var(--vj-text-label-15-tracking);
}
.vj-text-label-15-bold {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-15-bold-size);
	font-weight: var(--vj-text-label-15-bold-weight);
	line-height: var(--vj-text-label-15-bold-line);
	letter-spacing: var(--vj-text-label-15-bold-tracking);
}
.vj-text-label-14 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-14-size);
	font-weight: var(--vj-text-label-14-weight);
	line-height: var(--vj-text-label-14-line);
	letter-spacing: var(--vj-text-label-14-tracking);
}
.vj-text-label-14-bold {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-14-bold-size);
	font-weight: var(--vj-text-label-14-bold-weight);
	line-height: var(--vj-text-label-14-bold-line);
	letter-spacing: var(--vj-text-label-14-bold-tracking);
}
.vj-text-label-13 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-13-size);
	font-weight: var(--vj-text-label-13-weight);
	line-height: var(--vj-text-label-13-line);
	letter-spacing: var(--vj-text-label-13-tracking);
}
.vj-text-label-13-bold {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-13-bold-size);
	font-weight: var(--vj-text-label-13-bold-weight);
	line-height: var(--vj-text-label-13-bold-line);
	letter-spacing: var(--vj-text-label-13-bold-tracking);
}
.vj-text-label-12 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-12-size);
	font-weight: var(--vj-text-label-12-weight);
	line-height: var(--vj-text-label-12-line);
	letter-spacing: var(--vj-text-label-12-tracking);
}
.vj-text-label-12-bold {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-12-bold-size);
	font-weight: var(--vj-text-label-12-bold-weight);
	line-height: var(--vj-text-label-12-bold-line);
	letter-spacing: var(--vj-text-label-12-bold-tracking);
}
.vj-text-overline-12 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-overline-12-size);
	font-weight: var(--vj-text-overline-12-weight);
	line-height: var(--vj-text-overline-12-line);
	letter-spacing: var(--vj-text-overline-12-tracking);
}
.vj-text-body-11 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-body-11-size);
	font-weight: var(--vj-text-body-11-weight);
	line-height: var(--vj-text-body-11-line);
	letter-spacing: var(--vj-text-body-11-tracking);
}
.vj-text-label-11 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-label-11-size);
	font-weight: var(--vj-text-label-11-weight);
	line-height: var(--vj-text-label-11-line);
	letter-spacing: var(--vj-text-label-11-tracking);
}
.vj-text-overline-10 {
	font-family: var(--vj-font-body);
	font-size: var(--vj-text-overline-10-size);
	font-weight: var(--vj-text-overline-10-weight);
	line-height: var(--vj-text-overline-10-line);
	letter-spacing: var(--vj-text-overline-10-tracking);
}
