Docs
Systhema Design (opens in new tab)
Unreleased

Typography

Text style classes, text color classes, font tokens and the Tailwind type scale Systhema sets.

On this page

Text stylesLink to this section

Each text style is one class that sets font family, size, weight, line height and letter spacing from CSS variables. Size and line height change per breakpoint (sm, md, lg); the class picks up the right value automatically. Variables follow the class name: text-h1 reads --typography-h1-font-size, --typography-h1-line-height, --typography-h1-letter-spacing, --font-h1-font-family and --font-h1-font-weight.

ClassSize / line height (sm)Size / line height (md)Size / line height (lg)WeightLetter spacingTransform
text-h133.31px / 42.2px43.19px / 50.47px54.07px / 59.21px7000pxnone
text-h229.48px / 38.59px36.6px / 45.07px44.14px / 51.22px7000pxnone
text-h326.09px / 35.07px31.02px / 40.08px36.03px / 44.58px7000pxnone
text-h423.09px / 31.65px26.29px / 35.29px29.41px / 38.53px7000pxnone
text-h520.43px / 28.36px22.28px / 30.67px24.01px / 32.74px7000pxnone
text-h618.08px / 25.26px18.88px / 26.34px19.6px / 27.29px7000pxnone
text-label12px / 22px14px / 24px14px / 24px7003px · 4px · 4pxuppercase
text-lead18px / 28px20px / 28px20px / 30px4000pxnone
text-body16px / 28px16px / 28px16px / 28px4000pxnone
text-small12px / 22px14px / 24px14px / 24px4000pxnone
text-form-label16px / 28px16px / 28px16px / 28px5000pxnone
text-form-description16px / 28px16px / 28px16px / 28px4000pxnone
text-form-block16px / 28px16px / 28px16px / 28px4000pxnone
text-form-inline16px / 28px16px / 28px16px / 28px4000pxnone
text-cookie-consent-title18.08px / 25.26px18.88px / 26.34px19.6px / 27.29px7000pxnone
text-cookie-consent-description16px / 28px16px / 28px16px / 28px4000pxnone
text-cookie-consent-category-title18.08px / 25.26px18.88px / 26.34px19.6px / 27.29px7000pxnone
text-cookie-consent-button-primary16px / 28px16px / 28px16px / 24px6000pxnone
text-cookie-consent-button-secondary16px / 28px16px / 28px16px / 24px6000pxnone

Text colorsLink to this section

Text color classes set color from a color-system role, so they follow the theme.

TokenCSS variableClassDefaultDark
label--color-typography-labelcolor-label#000000#ffffff
heading--color-typography-headingcolor-heading#000000#ffffff
body--color-typography-bodycolor-body#000000#ffffff

Font tokensLink to this section

Font family and weight per role. Weights are emitted as numbers; each weight token also has a -font-style sibling (normal or italic).

TokenCSS variableValue
default.body.fontFamily--font-default-body-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
default.body.fontWeight--font-default-body-font-weight400
default.heading.fontFamily--font-default-heading-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
default.heading.fontWeight--font-default-heading-font-weight700
h1.fontFamily--font-h1-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h1.fontWeight--font-h1-font-weight700
h2.fontFamily--font-h2-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h2.fontWeight--font-h2-font-weight700
h3.fontFamily--font-h3-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h3.fontWeight--font-h3-font-weight700
h4.fontFamily--font-h4-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h4.fontWeight--font-h4-font-weight700
h5.fontFamily--font-h5-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h5.fontWeight--font-h5-font-weight700
h6.fontFamily--font-h6-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
h6.fontWeight--font-h6-font-weight700
lead.fontFamily--font-lead-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
lead.fontWeight--font-lead-font-weight400
body.fontFamily--font-body-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
body.fontWeight--font-body-font-weight400
small.fontFamily--font-small-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
small.fontWeight--font-small-font-weight400
extrasmall.fontFamily--font-extrasmall-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
extrasmall.fontWeight--font-extrasmall-font-weight400
label.fontFamily--font-label-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
label.fontWeight--font-label-font-weight700
button.primary.fontFamily--font-button-primary-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
button.primary.fontWeight--font-button-primary-font-weight600
button.secondary.fontFamily--font-button-secondary-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
button.secondary.fontWeight--font-button-secondary-font-weight600
gallery.navigation.pagination.fontFamily--font-gallery-navigation-pagination-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
gallery.navigation.pagination.fontWeight--font-gallery-navigation-pagination-font-weight400
gallery.navigation.buttons.fontFamily--font-gallery-navigation-buttons-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
gallery.navigation.buttons.fontWeight--font-gallery-navigation-buttons-font-weight600
carousel.bottom.pagination.fontFamily--font-carousel-bottom-pagination-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
carousel.bottom.pagination.fontWeight--font-carousel-bottom-pagination-font-weight400
carousel.bottom.buttons.fontFamily--font-carousel-bottom-buttons-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
carousel.bottom.buttons.fontWeight--font-carousel-bottom-buttons-font-weight600
chip.fontFamily--font-chip-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
chip.fontWeight--font-chip-font-weight400
accordion.fontFamily--font-accordion-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
accordion.fontWeight--font-accordion-font-weight700
form.label.fontFamily--font-form-label-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
form.label.fontWeight--font-form-label-font-weight500
form.description.fontFamily--font-form-description-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
form.description.fontWeight--font-form-description-font-weight400
form.block.fontFamily--font-form-block-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
form.block.fontWeight--font-form-block-font-weight400
form.inline.fontFamily--font-form-inline-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
form.inline.fontWeight--font-form-inline-font-weight400
header.navigation.item.fontFamily--font-header-navigation-item-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
header.navigation.item.fontWeight--font-header-navigation-item-font-weight400
header.navigation.menuToggle.fontFamily--font-header-navigation-menu-toggle-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
header.navigation.menuToggle.fontWeight--font-header-navigation-menu-toggle-font-weight400
header.menu.navigation.item.fontFamily--font-header-menu-navigation-item-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
header.menu.navigation.item.fontWeight--font-header-menu-navigation-item-font-weight400
header.menu.navigation.menuToggle.fontFamily--font-header-menu-navigation-menu-toggle-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
header.menu.navigation.menuToggle.fontWeight--font-header-menu-navigation-menu-toggle-font-weight400
footer.main.navigation.item.fontFamily--font-footer-main-navigation-item-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
footer.main.navigation.item.fontWeight--font-footer-main-navigation-item-font-weight400
cookieConsent.title.fontFamily--font-cookie-consent-title-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
cookieConsent.title.fontWeight--font-cookie-consent-title-font-weight700
cookieConsent.description.fontFamily--font-cookie-consent-description-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
cookieConsent.description.fontWeight--font-cookie-consent-description-font-weight400
cookieConsent.button.primary.fontFamily--font-cookie-consent-button-primary-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
cookieConsent.button.primary.fontWeight--font-cookie-consent-button-primary-font-weight600
cookieConsent.button.secondary.fontFamily--font-cookie-consent-button-secondary-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
cookieConsent.button.secondary.fontWeight--font-cookie-consent-button-secondary-font-weight600
cookieConsent.category.title.fontFamily--font-cookie-consent-category-title-font-familyGeist, system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif
cookieConsent.category.title.fontWeight--font-cookie-consent-category-title-font-weight700

Tailwind type scaleLink to this section

Systhema keeps Tailwind's text-* and tracking-* utilities but sets their values in px. Prefer the text style classes above for content; use these for one-off UI text.

ClassFont sizeLine height
text-xs12pxcalc(1 / 0.75)
text-sm14pxcalc(1.25 / 0.875)
text-base16pxcalc(1.5 / 1)
text-lg18pxcalc(1.75 / 1.125)
text-xl20pxcalc(1.75 / 1.25)
text-2xl24pxcalc(2 / 1.5)
text-3xl30pxcalc(2.25 / 1.875)
text-4xl36pxcalc(2.5 / 2.25)
text-5xl48px1
text-6xl60px1
text-7xl72px1
text-8xl96px1
text-9xl128px1
ClassLetter spacing
tracking-tighter-0.8px
tracking-tight-0.4px
tracking-normal0px
tracking-wide0.4px
tracking-wider0.8px
tracking-widest1.6px