Typography

Frutjam provides a typographic system with high precision. We offer a standard scale from xs to 9xl, but the library also supports dynamic sizing, which lets you use utility classes to define any specific pixel value.

1. Element Utilities

These classes are designed for direct use on HTML elements. Headings are optimized for weight and impact, while Paragraphs are optimized for readability.

Headings

Use .heading-{size} for titles and high-importance text.

The Standard Scale

heading-xs, heading-sm, heading-md, heading-base, heading-lg, heading-xl, heading-2xl, heading-3xl, heading-4xl, heading-5xl, heading-6xl, heading-7xl, heading-8xl, heading-9xl

html

Gigantic Hero

Section Title

Small Subheading

Dynamic Precision (Any Number)

Frutjam allows you to break away from the scale. Use any numeric value to set a specific pixel size

.heading-{number} (e.g., .heading-46)

html

Bespoke Heading

Paragraphs

Use .para-{size} for body text, descriptions, and UI labels

The Standard Scale

para-xs, para-sm, para-md, para-base, para-lg, para-xl, para-2xl, para-3xl, para-4xl, para-5xl, para-6xl, para-7xl, para-8xl, para-9xl

html

This is a lead paragraph with extra breathing room.

This is your standard UI text size.

Small footer or caption text.

Dynamic Precision (Any Number)

Don't get stuck in a scale. Use any numeric value to dial in the exact pixel size your design demands.

.para-{number} (e.g., .para-28)

html

Editorial-style body text.

Responsive Typography

Frutjam does not force "automatic" resizing. Instead, it gives you full control using Tailwind's mobile-first breakpoints. This ensures your design never "guesses" what your mobile layout should look like.

The Responsive Pattern

Always define your mobile size first (the base class), then use prefixes like md: or lg: to scale up for larger screens.

html
<h1 class="heading-2xl md:heading-5xl lg:heading-9xl">
  Responsive Headline
</h1>

<p class="para-sm md:para-base lg:para-lg">
  Body text that stays comfortable on all devices.
</p>

2. Rich Text (Prose)

When you are rendering Markdown or content from a CMS, you can't manually add classes like heading-lg or para-base to every tag.

Frutjam provides a bridge for the official @tailwindcss/typography plugin to ensure these "invisible" tags still look like Frutjam.

Setup

Ensure the plugin is active in your Tailwind v4 CSS:

css
@import "tailwindcss";
@import "frutjam";
@plugin "@tailwindcss/typography";

Usage

Apply .prose to enable the plugin, and .prose-frutjam to inject the Frutjam design tokens.

html
<article class="prose prose-frutjam">
  <h1>This Title Inherits Frutjam Styles</h1>
  <p>Standard paragraphs now match your <code>para-base</code> aesthetics automatically.</p>
  
  <ul>
    <li>Links use Frutjam accent colors</li>
    <li>Blockquotes use Frutjam border colors</li>
  </ul>
</article>