Virginia Equipment Development.
The single source of truth for VED's visual language. Editorial, confident, architectural — closer to a Knoll brand book than a typical contractor site. This guide documents the tokens, components, and section recipes that keep every page reading as part of the same brand.
Brand Voice
Disciplined, heritage-rich, regionally proud. Short, declarative sentences. Numbers as proof. No exclamation marks. No marketing fluff.
Virginia's Trusted Site Development Partner. We don't subcontract. We execute.
Disciplined, heritage-rich (Est. 1975), regionally proud, technically precise, never boastful.
Editorial magazine layout meets industrial engineering documentation. Lots of negative space.
Color Palette
A tight, restricted palette. Contrast and rhythm come from alternating light/dark sections — not from color variety. Never introduce new hues.
--ved-bg#f5f5f5--ved-fg#212021--ved-red#dd0e12--ved-grey#4e4b4e--ved-white#fcfcfc—#0d0c0dType System
Two families only. Manrope for body, navigation, captions and buttons. Playfair Display for all headings and large display numbers.
Heading Light
Heading Semibold
Body large — confident and direct.
Body default — used for paragraph copy, captions, and supporting text. Reads like 4th-generation craftsmanship; never marketing fluff.
Eyebrow / Meta
Editorial Tells
Small, consistent details that make every page feel like part of the same publication.
8px red bar + 11px uppercase eyebrow with 0.3em tracking. Used above every section heading.
Years
1px line at rgba(33,32,33,0.12). Use sparingly between rows or sections.
Paired counter (01 in red · / 06 in 25% foreground) with a 6-segment progress rail. Used in carousels (expertise, projects, testimonials) and numbered card headers. Numbers are always zero-padded to two digits.
- Default text
#212021 - Secondary
#4e4b4e - Tertiary
rgba(33,32,33,0.70) - Disabled / counter
rgba(33,32,33,0.65) - Card surface
#fcfcfc + 8% border - Hairline
rgba(33,32,33,0.08–0.12)
- Default text
#ffffff - Secondary
rgba(255,255,255,0.85) - Tertiary
rgba(255,255,255,0.75) - Disabled / counter
rgba(255,255,255,0.65) - Card surface
rgba(255,255,255,0.05) + 10% border - Hairline
rgba(255,255,255,0.06–0.12)
Same four-step hierarchy applied on both surfaces — only the base color flips. Never use a dark-surface tint on a light background or vice versa.
Oversized Playfair semibold set at rgba(255,255,255,0.04) (on dark) or rgba(33,32,33,0.04) (on light). Positioned outside the optical margin of the section so it bleeds behind headlines without competing with them.
- · Font-size 180–320px, line-height 1, never italic.
- ·
pointer-events-none · select-none · aria-hidden. - · Max one watermark per section. Never over a photo.
Spacing & Layout
Edge-to-edge horizontal padding via .section-padding (64px desktop, 16px mobile). Sections breathe with 80–112px vertical padding.
64px desktop · 16px ≤ 768px
px-16 md:px-4py-20 (light) → py-28 (hero / cta)
80px – 112px4px standard · 6px cards · full circle for icons
4 / 6 / 999Imagery & Motion
Cinematic photography paired with dark scrim overlays. Motion is restrained: 0.5s–0.75s with cubic-bezier(0.22,1,0.36,1). Stagger children at 0.12s.
Always render bright type over a dark scrim — never directly on photography.
cubic-bezier(0.22, 1, 0.36, 1)— primarycubic-bezier(0.25, 0.46, 0.45, 0.94)— secondaryduration: 0.45 – 0.75sstaggerChildren: 0.12
Do / Don't
- · Alternate light (#f5f5f5) and dark (#212021) sections.
- · Use the red 8px bar + uppercase eyebrow above every section.
- · Pair Playfair light + semibold in the same headline.
- · Render bright type over dark scrim — never raw photography.
- · Keep buttons to the six prescribed variants.
- · Introduce new colors or a third typeface.
- · Use heavy drop shadows or aggressive hover transforms.
- · Wrap headings in red — red is reserved for accents.
- · Use exclamation marks or marketing fluff in copy.
- · Re-style buttons inline; always use the .btn-* utilities.