Patterns
Reusable middle-layer structures for assembling clean sections from shared primitives.
Headers
Section Headers
Standard heading compositions for introducing sections, cards, and inner layout groups.
Default
Left-aligned section header
Use this for most page sections and editorial blocks.
Focused
Centered section header
Use this above grids, galleries, and comparison groups.
Title only header
Title plus copy
Compact intro for smaller inner compositions.
SectionHeaderBlock
Component: @/components/subsections/headers/SectionHeaderBlock
import { SectionHeaderBlock } from "@/components/subsections/headers/SectionHeaderBlock";
<SectionHeaderBlock
tagline="Default"
heading="Left-aligned section header"
description="Optional supporting copy."
actions={[{ label: "Primary action", href: "/sections" }]}
/>
Spacing
Containers & Vertical Flow
Use containers for width control and restricted Tailwind gaps for predictable vertical rhythm.
Default content width
Use this for most sections, grids, and content bands.
<section>
<div className="tw:container">
...
</div>
</section>Reading width
Use this for articles, legal pages, intro copy, and focused docs.
<div className="tw:max-w-narrow"> <p className="reference-section-lead tw:reference-section-lead">...</p> </div>
Vertical rhythm utility.
Item oneItem twoItem three<div className="pattern-flow-s tw:pattern-flow-s"> ... </div>
Vertical rhythm utility.
Item oneItem twoItem three<div className="pattern-flow-m tw:pattern-flow-m"> ... </div>
Vertical rhythm utility.
Item oneItem twoItem three<div className="pattern-flow-l tw:pattern-flow-l"> ... </div>
Vertical rhythm utility.
Item oneItem twoItem three<div className="pattern-flow-xl tw:pattern-flow-xl"> ... </div>
Alignment
Flex Rows
Use flex utilities for compact controls, metadata rows, toolbars, and inline content groups.
Inline group
<div className="pattern-inline-group tw:pattern-inline-group"> <Badge>Strategy</Badge> <Badge tone="primary">Featured</Badge> </div>
Between row
Plan
Compact row with action.
<div className="pattern-between-row tw:pattern-between-row"> <div>...</div> <Badge tone="success">Live</Badge> </div>
Centered row
<div className="pattern-centered-row tw:pattern-centered-row"> ... </div>
Card layouts
Grids
Use grid utilities when you need repeated cards, feature lists, logo groups, or compact comparisons.
Two equal cards
Useful for comparisons, options, and paired offers.
<div className="section-demo-card-grid-2 tw:section-demo-card-grid-2"> <Card>...</Card> <Card>...</Card> </div>
Three-card row
Good for benefits, values, services, and proof points.
<div className="section-demo-card-grid-3 tw:section-demo-card-grid-3">
{items.map((item) => <Card key={item.id}>...</Card>)}
</div>Dense catalog
Use for compact catalogs, logos, metrics, and small tiles.
<div className="section-demo-card-grid-4 tw:section-demo-card-grid-4"> ... </div>
Editorial layouts
Columns
Use column utilities when content should read as balanced columns rather than independent cards.
Two columns
Left column copy for a narrative introduction or supporting proof.
Right column copy for the paired detail, CTA, or secondary argument.
<div className="pattern-column-stack-md tw:pattern-column-stack-md"> <div>Left content</div> <div>Right content</div> </div>
Three columns
<div className="pattern-column-stack-lg tw:pattern-column-stack-lg"> <div>...</div> <div>...</div> <div>...</div> </div>
Layout subsection
Two-Column Split
Reusable left/right wrapper for pairing any two subsection blocks together.
Works with intros, media, or stats
Keep this side flexible so the same shell can support multiple section families.
Pair with another subsection
This can hold FAQs, feature lists, pricing summaries, or rich media.
TwoColumnSplit
Component: @/components/subsections/layout/TwoColumnSplit
import { TwoColumnSplit } from "@/components/subsections/layout/TwoColumnSplit";
<TwoColumnSplit
left={<LeftBlock />}
right={<RightBlock />}
align="start"
/>