:root {
	/* ---------- Font families ---------- */
	--font-sans: "Avenir", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font-display: "Euclid Circular B", "Avenir", sans-serif;
	--font-mono: "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, monospace;
	--font-icon: "xm-font-library";

	/* ---------- Weights ---------- */
	--font-weight-book: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-heavy: 900;

	/* ---------- Line heights ---------- */
	--line-height-tight: 1.2;
	--line-height-default: 1.35;
	--line-height-relaxed: 1.5;

	/* ---------- Type scale (absolute px — no rem dependency) ----------
	   Mirrors the XMDS typoH1–typoMicro / body / display ramps. */
	--text-display: 40px;   /* H1 / page title — Euclid, heavy */
	--text-h2: 32px;        /* section metric */
	--text-h3: 24px;
	--text-h4: 20px;
	--text-h5: 16px;        /* card title */
	--text-h6: 14px;        /* table subhead */
	--text-subtitle: 18px;
	--text-body: 14px;      /* default body */
	--text-body-sm: 12px;   /* caption / helper */
	--text-button: 14px;
	--text-button-sm: 12px;
	--text-micro: 10px;

	/* ---------- Semantic text-color aliases (theme-aware via --s-cem-*) ---------- */
	--text-heading: var(--s-cem-color-text-common-heading);
	--text-body-primary: var(--s-cem-color-text-common-body-primary);
	--text-body-secondary: var(--s-cem-color-text-common-body-secondary);
	--text-link: var(--s-cem-color-action-text-on-secondary);

	/* ---------- Surface / brand convenience aliases ---------- */
	--surface-app: var(--s-cem-color-background-common);
	--surface-card: var(--a_containerSurfaceEnd0);
	--surface-card-raised: var(--a_containerSurfaceEnd1);
	--surface-minimal: var(--s-cem-color-container-background-minimal);
	--brand-primary: var(--s-cem-color-action-primary-rest);
	--brand-on-primary: var(--s-cem-color-action-text-on-primary);
	--border-subtle: var(--a_containerBorder);
	--border-focus: var(--s-cem-color-border-focus);
}
