Tempo - by Castos

Typography

We curated a constrained, purposeful set of typographic styles. A disciplined consistency with how we size and use type makes our products more intuitive to use.

We primarily use 2 font-families. One for heading, and another for body copy, labels, buttons, etc.

Headings

We use Kanit for all headings (h1 - h6)

Kanit on Google Fonts →

Depending on the application, but generally gray-700 is a good heading color. (Get values)

Bodycopy

We use Inter for all other copy: body, labels, buttons, etc.

Inter on Google Fonts →

Depending on the application, but generally gray-500 is a good bodycopy color. (Get values)

Typescale

To create visual rhythm between all the typography on the page, we use a typescale to set the sizes of our typography.

To make things accessible to audiences with different eyesight constraints, across different browsers, and different devices, we start with a default of 1em / 16px and set all other sizes (up and down) based on the rem value, to ensure it can scale if needed. The exact proportions can be seen in the samples below.

Samples

Font = Inter

text-xsfont-size: 0.75rem / 12pxline-height: 1rem / 16px
Pack my box with five dozen liquor jugs.
text-smfont-size: 0.875rem / 14pxline-height: 1.25rem / 20px
Pack my box with five dozen liquor jugs.
text-basefont-size: 1rem / 16pxline-height: 1.5rem / 24px
Pack my box with five dozen liquor jugs.
text-lgfont-size: 1.125rem / 18pxline-height: 1.75rem / 28px
Pack my box with five dozen liquor jugs.
text-xlfont-size: 1.25rem / 20pxline-height: 1.75rem / 28px
Pack my box with five dozen liquor jugs.

Font = Kanit

text-2xlfont-size: 1.5rem / 24pxline-height: 2rem / 32px
Pack my box with five dozen liquor jugs.
text-3xlfont-size: 1.875rem / 30pxline-height: 2.25rem / 36px
Pack my box with five dozen liquor jugs.
text-4xlfont-size: 2.25rem / 36pxline-height: 2.5rem / 40px
Pack my box with five dozen liquor jugs.
text-5xlfont-size: 3rem / 48pxline-height: 3rem / 48px
Pack my box with five dozen liquor jugs.
text-6xlfont-size: 3.75rem / 60pxline-height: 3.75rem / 60px
Pack my box with five dozen liquor jugs.
text-7xlfont-size: 4.5rem / 72pxline-height: 4.5rem / 72px
Pack my box with five dozen liquor jugs.
text-8xlfont-size: 6rem / 96pxline-height: 6rem / 96px
Pack my box with five dozen liquor jugs.
text-9xlfont-size: 8rem / 128pxline-height: 8rem / 128px
Pack my box with five dozen liquor jugs.

Values

.text-xs {
	font-size: 0.75rem; /* 12px */
	line-height: 1rem; /* 16px */
}
.text-sm {
	font-size: 0.875rem; /* 14px */
	line-height: 1.25rem; /* 20px */
}
.text-base {
	font-size: 1rem; /* 16px */
	line-height: 1.5rem; /* 24px */
}
.text-lg {
	font-size: 1.125rem; /* 18px */
	line-height: 1.75rem; /* 28px */
}
.text-xl {
	font-size: 1.25rem; /* 20px */
	line-height: 1.75rem; /* 28px */
}
.text-2xl {
	font-size: 1.5rem; /* 24px */
	line-height: 2rem; /* 32px */
}
.text-3xl {	
	font-size: 1.875rem; /* 30px */
	line-height: 2.25rem; /* 36px */
}
.text-4xl {	
	font-size: 2.25rem; /* 36px */
	line-height: 2.5rem; /* 40px */
}
.text-5xl {	
	font-size: 3rem; /* 48px */
	line-height: 3rem; /* 48px */
}
.text-6xl {	
	font-size: 3.75rem; /* 60px */
	line-height: 3.75rem; /* 60px */
}
.text-7xl {	
	font-size: 4.5rem; /* 72px */
	line-height: 4.5rem; /* 72px */
}
.text-8xl {	
	font-size: 6rem; /* 96px */
	line-height: 6rem; /* 96px */
}
.text-9xl {	
	font-size: 8rem; /* 128px */
	line-height: 8rem; /* 128px */ 
}