:root {
	--font-core: "Vazirmatn", system-ui, sans-serif;
	--font-numeric: "Vazirmatn", system-ui, sans-serif;

	--fw-thin: 200; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700; --fw-black: 800;

	--fs-display: 56px; --fs-h1: 40px; --fs-h2: 30px; --fs-h3: 24px; --fs-title: 20px;
	--fs-body-lg: 18px; --fs-body: 16px; --fs-sm: 14px; --fs-xs: 12.5px; --fs-caps: 11px; --fs-micro: 10px;

	--lh-display: 1.18; --lh-heading: 1.35; --lh-body: 1.75; --lh-tight: 1.5;
	--ls-display: -0.01em; --ls-body: 0; --ls-caps: 0.08em;

	--type-display: var(--fw-black) var(--fs-display)/var(--lh-display) var(--font-core);
	--type-h1: var(--fw-bold) var(--fs-h1)/var(--lh-display) var(--font-core);
	--type-h2: var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-core);
	--type-h3: var(--fw-semibold) var(--fs-h3)/var(--lh-heading) var(--font-core);
	--type-title: var(--fw-semibold) var(--fs-title)/var(--lh-tight) var(--font-core);
	--type-body: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-core);
	--type-body-strong: var(--fw-medium) var(--fs-body)/var(--lh-body) var(--font-core);
	--type-sm: var(--fw-regular) var(--fs-sm)/var(--lh-tight) var(--font-core);
	--type-caps: var(--fw-semibold) var(--fs-caps)/1.4 var(--font-core);
	/* Section labels. Small caps tracking pulls Persian letters apart at the joins, so
	   the label is a size up and untracked instead. */
	--type-label: var(--fw-semibold) var(--fs-sm)/1.4 var(--font-core);
	--type-price: var(--fw-bold) var(--fs-title)/1.3 var(--font-numeric);
}
