Section heading

DSSectionLabel is a quieter heading primitive for sub-sections WITHIN an in-app page. It's the right tool when a page (typically wrapped in DSPageLayout) has multiple sub-sections that each need their own title — "Your resumes", "Optimize your score", "Recent activity". Distinct from DSSectionHead, which is the marketing-rhythm primitive (display Lora, larger scale, supports a centered variant). DSSectionLabel is start-aligned, smaller, and reads as in-app chrome.

Default — h2 with subtitle

The everyday case. Lora display title at h2 with a one-line DM Sans subtitle. Sits above any body content (a card grid, a form, a checklist).

Title only

The minimal case — drop the sub when the title speaks for itself. Common for nested sub-sections under a DSSectionLabel that already carries the subtitle.

With trailing actions

The actions slot lives at the right end of the heading row on md+ and wraps below the title on mobile. Right for section-scoped controls — a Run check button, a sort menu, an inline filter.

Nested — h3 for a sub-section inside a sub-section

Drop the level to h3 when you've already used h2 in the same page. The font scale steps down so the visual hierarchy matches the heading hierarchy.

Nested body

Sub-section content sits here.

Stacked — multiple labels in a single page body

The canonical pattern in a typical in-app page: each sub-section starts with a DSSectionLabel, then its body content. The labels carry the page rhythm without competing with the page-level title.

No drafts yet

Drafts you start will land here. Click ‘New resume’ to begin one.

Nothing published yet

Resumes you publish to applications will appear here.

Archive is empty

Old resumes you archive will live here, out of the way.