Design System · v1.0

A Lynchburg community-Y identity, in tokens.

Distilled from ymcacva.org — real colors lifted from production CSS, real branch and program photography from YCVA's WordPress media library, and a Sofia Sans Google substitute for proprietary Cachet. Every token below has a one-to-one mapping with a value in the live site's stylesheet.

Sourceymcacva.org
Captured2026-05-07
TypeSofia Sans (Google · substitute for Cachet)
Photography15 real photos · WordPress media
01

Logo

Four canonical logo variants pulled from YCVA's WordPress media library. The 170th-anniversary lockup is the primary identity for 2025–2026 — a horizontal composition combining the YMCA "Y" mark with a "170th Anniversary · 9050" callout in YCVA's blue/purple palette. The plain "Y" marks (purple-blue and white) are used for square placements: favicon, social avatars, footer corner. Light-version lockup goes on light backgrounds; white version on `--brand` blue or `--ink-deep` chrome.

YCVA — 170th Anniversary lockup, dark
YCVA — 170th Anniversary lockup, white
YMCA Y mark · purple-blue
YMCA Y mark · white
02

Color

YCVA's identity is blue + purple, NOT the YMCA federation default red. Brand blue does the heavy lifting — primary CTAs, links, headlines, the dominant voice across the live site (8 occurrences in source CSS, more than any other branded color). Purple is the signature accent — the "Y" mark gradient, the "give" CTA, the differentiator from sibling YMCAs (4+4 occurrences). Deep navy carries gravity for footer + dark sections. Soft cool off-white is the page surface — never pure white as default. Gold is a federation-style program-highlight color for "most popular" badges and warm CTAs.

Brand
#0060af
Brand Deep
#053f67
Brand Soft
#4d92cf
Brand Pale
#d8e6f3
Accent Purple
#92278f
Accent Deep
#5c2e91
Accent Soft
#c98ec6
Accent Pale
#ead8e9
Gold
#f1b232
Ink
#1a1a1a
Ink Deep
#0c1a2a
Background
#f6f8fb
Pure White
#ffffff
Warm Bone
#faf6ee
Border
#d6dde6
Forbidden
No federation red
03

Typography

The live YCVA site loads a single proprietary face: Cachet (Berlow) at Extra Light 200 / Book 400 / Bold 700. Cachet is not free. We substitute with Sofia Sans (Lazaridis) — a free Google Fonts humanist sans that captures the same friendly, gently-squared character at every weight from 400 to 800 with matching x-height proportions. Sofia Sans handles both display and body, matching YCVA's single-font approach. Body and display use the same family for visual unity.

DisplaySofia Sans 800 / -0.022em
For a better us
H1Sofia Sans 800 / -0.018em
170 years strengthening Central Virginia
H2Sofia Sans 800 / -0.014em
Three areas of focus, four branches
H3Sofia Sans 700 / -0.008em
Healthy Living · Aquatics · Group Fitness
EyebrowInter 700 · 12px · 0.18em UPPERCASE
Lynchburg · Forest · Madison Heights
LedeSofia Sans 400 · 22px / 1.6

The Y is a 501(c)(3) charitable organization serving Central Virginia for 170 years. Four branches, three areas of focus — youth development, healthy living, social responsibility — and an open door for every neighbor regardless of ability to pay.

BodySofia Sans 400 · 17px / 1.65

Founded in 1855, the YMCA of Central Virginia is one of the oldest community organizations in the region. Today we operate four branches across Lynchburg, Forest, and Madison Heights, plus the Little Scholars Academy childcare program serving working families. Every program connects to one of three areas of focus that have guided the Y since the 1800s: spirit, mind, and body.

Stat figureSofia Sans 800 · 80px
9,050+
04

Buttons & Links

Primary buttons are solid brand-blue with a full pill radius (matches YCVA's WordPress button style — softer than the contractor-flat 4px) and Sofia Sans 700 sentence-case (NOT uppercase — softer voice for a community org). Hover deepens to `--brand-deep` plus a subtle drop shadow. The arrow link is the soft alternative — used wherever a button would be too loud. Purple variant exists for "give" / annual-campaign actions. The on-dark white button anchors join-bands and dark CTAs.

Chips & labels
Member since 1998 170th Anniversary Most Popular Lynchburg · VA
05

Program Category Cards .sig-program-category-card

YCVA's signature treatment for the three areas of focus — Youth Development / Healthy Living / Social Responsibility. Full-bleed editorial program photography with bottom-fade scrim, brand-pill badge in the upper-left, Sofia Sans 800 H3, paragraph description, brand-blue arrow CTA. Three-up grid on desktop, stacked on mobile. Drop shadow on hover for tactile lift.

06

Join Band .sig-join-band

YCVA's signature conversion moment — a full-bleed `--brand` band with the real diagonal-stripe background pulled from YCVA's CSS (`diagonal-bg.png`) at 30% opacity, white headline, two-button row, and member-promise line. Used at the bottom of every landing. The diagonal motif is a YCVA signature decorative element.

Join the Y

Membership opens every door, every program, every day.

No long-term contract. No initiation fee for online sign-ups. Free orientation, child-watch included, and scholarships available for anyone who needs them.

See Membership Tiers Browse Programs
Scholarships available · Financial assistance applies
07

Impact Stats .sig-impact-stats

YCVA's most powerful trust signal is the impact figures — members impacted, scholarships granted, swim lessons taught, programs operated. 48–80px Sofia Sans 800 figures in `--brand-soft` over `--ink-deep` background, paired with 18px Sofia Sans 600 labels and Inter caption sources. Each stat carries a left-rule in `--accent-purple` for visual interest.

2024 community impact

Real numbers from real neighbors.

9,050+
active members impacted
Across 4 branches · 2024
1,200+
scholarships granted
$487K in financial assistance
2,600+
swim lessons taught
Drowning is preventable
170yr
serving Central Virginia
Founded 1855 · Lynchburg
08

Branch Locations .sig-branch-card

Two-column grid for the four YCVA branches. Each card has a 240px square branch photo on the left + name + address + meta line on the right. Real branch photos pulled from YCVA's WordPress library — the photos ground the brand in the actual Lynchburg geography. Hover lifts the card with brand-blue border.

09

Membership Tiers .sig-tier

Four-up membership pricing grid. The "Family" tier is featured with `--brand` background and a gold "Most Popular" ribbon — that's intentional, family memberships are 60% of YCVA's roster. Each tier card shows label, name, price, monthly cadence, 5 included features, and a CTA. Hover lifts each card.

Tier 01

Youth

$25/mo
  • Members ages 12–17
  • Open gym & pool
  • Y360 virtual fitness
Join Youth
10

Photography

15 real photos lifted directly from YCVA's WordPress media library. The mix is editorial program photography across aquatics, fitness, youth development, and family scenes — plus four real branch-location photos that ground the brand in actual Lynchburg geography. Mix of indoor program scenes and exterior architecture. Never replace these with stock — the local authenticity is part of the brand.

11

Token Reference

All CSS variables defined in _shared.css. Use these — never hard-coded hex values — when extending the system. The four palettes in palettes.json override these tokens at runtime via ../palette-toggle.js.

TokenValueUsage
--brand#0060afPrimary CTAs, links, headline accent
--brand-deep#053f67Hover state of primary blue
--brand-soft#4d92cfMid-blue highlights, badge fills
--brand-pale#d8e6f3Page accents, info-band backgrounds
--accent-purple#92278fYCVA signature purple — give CTAs, callouts
--accent-deep#5c2e91Hover state for purple CTAs
--accent-gold#f1b232Most-popular ribbons, warm CTAs
--ink#1a1a1aPrimary near-black text
--ink-deep#0c1a2aDeep navy — dark sections, footer
--bg#f6f8fbSoft cool off-white page background
--bg-pure#ffffffPure white — cards, modals
--bg-warm#faf6eeWarm bone for highlight bands
--font-display'Sofia Sans'Headlines, eyebrows, stats (800 / 700)
--font-body'Sofia Sans'Body, ledes (400 / 500)
--font-eyebrow'Inter'UI labels, tracked uppercase
--radius14pxCard border-radius default
--radius-pill999pxPill buttons, chips
--container1240pxDefault content width
--section112pxDefault section vertical padding