Skip to content
SuperCoach

Typography

Two typefaces, one voice. Gilroy sets Latin text and Lama Sans sets Arabic, both from the SuperCoach brand guide. They share a geometric, open shape, so English and Arabic sit comfortably on the same screen.

Families

TokenFamilyUse
font-sansGilroy, then system-uiAll Latin text
font-arabicLama Sans, then system-uiAll Arabic text. Applied automatically to anything inside lang="ar"
font-monoDM Mono, then ui-monospaceCode and token names in documentation only

You don't pick the Arabic family by hand. Set lang="ar" on the page or on the element, and the base styles switch to Lama Sans.

Scale

Every size, with English and Arabic side by side at its default line height. Sizes are shown at a 16px root.

text-xs12px · leading-normal (1.5)Labels, table meta

Last check-in 2 days ago

آخر متابعة قبل يومين

text-sm14px · leading-normal (1.5)Body text in app UI

Sara completed 4 of 5 workouts

أكملت سارة 4 من 5 تمارين

text-base16px · leading-normal (1.5)Long-form body

Add a note on how the session felt

أضف ملاحظة عن شعورك في الحصة

text-lg18px · leading-normal (1.5)Card titles

Upper body strength

قوة الجزء العلوي

text-xl20px · leading-tight (1.25)Section titles

This week's sessions

حصص هذا الأسبوع

text-2xl24px · leading-tight (1.25)Page titles

Clients

العملاء

text-3xl30px · leading-tight (1.25)Stats

86%

86%

text-4xl36px · leading-tight (1.25)Hero

Welcome back

أهلًا بعودتك

Weights

font-light · 300

Program builder

منشئ البرامج

font-regular · 400

Program builder

منشئ البرامج

font-medium · 500

Program builder

منشئ البرامج

font-semibold · 600

Program builder

منشئ البرامج

font-bold · 700

Program builder

منشئ البرامج

  • Regular (400) for body text.
  • Medium (500) for controls: buttons, tabs, menu items.
  • SemiBold (600) for headings and emphasis. It is the brand's display weight and the most used weight in coach-admin today.
  • Light (300) for large display text only, as in the brand guide. Never below xl.
  • Bold (700) rarely; prefer SemiBold. coach-admin's 800 and 900 weights fold into 700.

Line height and tracking

TextSizeLine heightTracking
Page and section titles2xl to 4xlleading-tighttracking-tight
Card titleslg, xlleading-tighttracking-normal
Body and UI textsm, baseleading-normaltracking-normal
Uppercase labels (Latin only)xsleading-normaltracking-wide

Arabic text never takes negative tracking or uppercase: letters are joined, and spacing them apart breaks the words.

Mixing Gilroy and Lama Sans in one line

Coaching content mixes languages all the time: an Arabic sentence with a program name in English, a client's name in Arabic inside an English table. Mark each run with its language, so it gets the right font and the right direction.

<p lang="ar">
  أكملت سارة برنامج <bdi lang="en">Strength Block A</bdi> هذا الأسبوع
</p>
  • Wrap the other-language run in <bdi> (or a <span dir="auto">) with its lang. bdi keeps punctuation and numbers on the correct side.
  • Keep both runs at the same size. Lama Sans looks smaller than Gilroy at the same size, which is expected; don't scale one up.
  • Don't use italic for Arabic. Arabic has no italic tradition; use weight for emphasis instead.

أكملت سارة برنامج Strength Block A هذا الأسبوع.

Do.The English program name is isolated with bdi and marked lang="en".

أكملت سارة برنامج Strength Block A! هذا الأسبوع

Don't.Without isolation, the exclamation mark lands on the wrong side and the run uses the Arabic font.

Numerals

Product UI uses Western digits (0–9) in both languages (a default until QUESTIONS Q22 is answered), so weights, reps and prices read the same in English and Arabic and line up in tables. Use tabular-nums wherever numbers are compared in columns.

Related: Content, RTL, Typography tokens.