Design System · v1

The visual language.

Live reference. Every swatch, type specimen, and component on this page pulls from the same Tailwind tokens the rest of the site uses — when a token changes, this page reflects it.

Written reference: DESIGN_SYSTEM.md

01 / Color

Brand, surfaces, and text.

Forest is the only chromatic accent. Everything else is warm off-white surfaces and the stock Tailwind slate scale. Restraint is the brand.

Forest scale — brand

forest-50#EEF2EF

Tinted hover bg

forest-100#D8E0DA

Subtle accent fill

forest-300#8FA499

Muted illustration

forest-500#4F6B5C

Medium accent / dark

forest-600#3F5A4B

CTA hover (light)

forest-700#2E4A3E

Primary accent, CTAs

forest-800#23382F

Pressed state

forest-900#182721

Dark surface

Surfaces

paper#FAF8F3

Page background

bone#F5F2EC

Alternating section bg

Text — slate

slate-900#0F172A

Body, headlines on light

slate-700#334155

Secondary body, specs values

slate-600#475569

Tertiary body

slate-500#64748B

Caption, eyebrow on light

slate-400#94A3B8

Breadcrumb dim

Product gelcoat — source of truth in components/ColorSwatch.tsx

swatch-green#3B5A45

Forest Green

swatch-almond#D7C9A7

Almond

swatch-granite#6b6864

Granite

02 / Typography

Inter for UI. Fraunces for everything that matters.

Fraunces (variable serif, optical sizing on) does every major headline. Inter handles body, captions, form fields, and any time information density matters more than presence.

Built to Last.

font-display text-[clamp(2.75rem,7vw,6rem)] tracking-tightest

The catalog.

font-display text-5xl lg:text-7xl tracking-tightest

Section headline.

font-display text-4xl lg:text-5xl tracking-tightest

Card or row title.

font-display text-2xl tracking-tightest

Body copy uses Inter and stays inside a comfortable measure — cap paragraphs at max-w-xl or max-w-2xl, never edge to edge.

text-base lg:text-lg leading-relaxed text-slate-700

Section kicker · 11px / 600 / 0.18em

.eyebrow + text-forest-700

Utility label / specs heading

.eyebrow + text-slate-500

03 / CTAs

Three variants. Always paired with a phone link.

Buyers in the trades expect a phone number next to every form. Every primary CTA in the site is followed by a low-weight tel/email link in the same block.

or call 704-970-9424

Primary on light

bg-forest-700 text-paper
or call 704-970-9424

Primary on dark

bg-paper text-forest-900

Secondary outline (dark)

border-paper/40 text-paper

Inline link

text-forest-700 → forest-900

04 / Form

No boxes. Just a bottom border.

The quote form intentionally has no card chrome — the page itself is the container. Fields use a single hairline underneath that turns forest on focus.

Chip radio — product line

Well CoversRock CoversBackflowsMultiple

Color swatch picker

Forest GreenAlmondGranite

05 / Patterns

Numbered section row.

The repeated pattern in the homepage value props and the quote sidebar. Numbered eyebrow, two-column grid, hairline divider above. Use it for any list that should read as deliberate, not as a bullet list.

01

Engineered, not stamped.

Every enclosure begins as a layered fiberglass laminate finished with a 20-mil pigmented gelcoat — the same construction spec used in marine and infrastructure work.

02

Insulation that survives the winter.

Closed-cell urethane foam and R-8 lined interiors keep wellheads and backflow assemblies above freezing through Carolina ice storms and Plains cold snaps alike.

03

A partner to the trade.

We work directly with homeowners, contractors, municipalities, and regional distributors. Volume pricing, palletized freight, and direct manufacturer support.

07 / Dividers

One divider. Used everywhere.

.hairline (rgba(15, 23, 42, 0.08)) is the canonical line. Apply it as a class modifier on any element with a border-* or divide-* class. Never use Tailwind's default border-slate-200.

border-t hairline

Heading sitting on a hairline

border-b hairline pb-6

  • MaterialSample spec value
  • FinishSample spec value
  • InsulationSample spec value

divide-y divide-slate-900/10 + border-t hairline

08 / Dark surface

Forest-900 with text-paper.

The dark CTA band and footer share this surface. Body text becomestext-paper/80; eyebrows drop totext-paper/60; dividers use the same hairline opacity but inverted —border-paper/10.

paper#FAF8F3

Headlines on dark

paper/80#FAF8F3 · 80%

Body on dark

paper/60#FAF8F3 · 60%

Eyebrow on dark

border-paper/10#FAF8F3 · 10%

Dividers on dark

Live composition reference — this band is the same template used by the homepage CTA and the footer.

Back to the site