feat(design): Visual coherence pass — sharp aesthetic site-wide#1129
Merged
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Augment globals.css with the full token scales documented in the Vets Who Code design-system handoff bundle. Adds extended navy/red/ gold scales, neutrals, dark-surface scale, dark-mode aliases, hero gradient, type/space/radius/shadow/motion/layout/focus tokens, the brand-signature button press-squish, a generic .eyebrow selector with the 16x2 red bar, and a prefers-reduced-motion block flagged as a gap in the production design doc.
15ef6c8 to
76a9a34
Compare
Brings legacy pages into the Software Factory / Career Guides visual language so the site stops looking like two different products. - Adds shared design-system primitives in src/components/ui/design-system/: SectionEyebrow (16x2 red bar + mono label, with optional sub-label), SharpHeadline (uppercase GothamPro clamp() sizing, navy/white/cream tones), MonoMeta (mono uppercase labels with size + tone variants), StatStrip (bordered horizontal stat grid). All zero-radius, brand-palette only. - Adds site-wide CSS guards in globals.css: zero-radius default on common Tailwind radius utilities (legacy rounded cards), no soft shadows inside dark sections, no pastel/bluish-purple gradient backgrounds, and .vwc-eyebrow + .vwc-sharp utilities for one-off opt-ins. - Refits five high-visibility pages with the SF/CG signature: operations-brief status bar on Home, sharp Theory-of-Change link block on About, sharp numbered tracks + dark-section case on Sponsors (full rewrite), eyebrow + sharp headline + bordered stat-style cards on Mentor, and a Hashflag-style index header on Programs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Software Factory and Career Guides pages set a distinctive aesthetic — Captain America / Obama campaign / Palantir vibe: sharp zero-radius, navy + red + gold palette, GothamPro uppercase headlines, mono section eyebrows with the 16×2 red bar, monospaced metadata, status bars with pulsing dots. Most of the rest of the site doesn't carry that language. This PR closes the gap.
Two layers of change: foundation (token additions + global CSS guards) and surface (new shared components + page-level refits on the highest-traffic pages).
What changed
Foundation
src/assets/css/globals.css— full design-system token scales now in:root(extended navy/red/gold scales, neutrals, dark-surface, dark-mode aliases, hero gradient, type/space/radius/shadow/motion/layout/focus tokens). Button press-squish:active { scale(0.95) }. Generic.eyebrowselector with the 16×2 red bar.@media (prefers-reduced-motion: reduce)block (production gap from DESIGN_DOC).tw-rounded,tw-rounded-md/lg/xl/2xl/3xl, plus button/anchortw-rounded-fullunless.vwc-avatar).tw-bg-gradient-to-*) unless explicitly opted in via.vwc-gradient..vwc-eyebrowand.vwc-sharpopt-in utilities.Shared design-system components
src/components/ui/design-system/:SectionEyebrow— 16×2 red bar + mono label with optional sub-label, light/dark tone, left/center align.SharpHeadline— GothamPro uppercase clamp() sizing, h1/h2/h3 sizes, navy/white/cream tones, h1/h2/h3/h4 tag.MonoMeta— mono uppercase tracked labels, size (xs/sm/md), tone (muted/bright/accent/gold).StatStrip— bordered horizontal grid of stat cells (label/value/sub), light/dark tone, auto column count.Page refits
src/pages/index.tsx) — operations-brief status bar across the top with pulsing dot, key stats (placement, alumni earnings, 501(c)(3), applications open). Carries the SF/CG signature on the front door without rewriting all the home containers.src/pages/about-us.tsx) — replaced rounded gradient Theory-of-Change card with a sharp link block: section eyebrow, sharp headline with red emphasis, square red CTA button. Zero-radius, no shadow.src/pages/sponsors.tsx) — full rewrite. Operations brief bar, dark-section hero with eyebrow / sharp headline / stat strip (placement, alumni earnings, 501(c)(3), WOTC), three numbered "engagement options" cards on cream with red top-border, dark-section case for "veterans are not charity hires," sharp contact band.src/pages/mentor.tsx) — replaced the two generic h2 sections with sharp eyebrow + headline clusters. Replaced rounded-lg cards with red-top-bordered sharp cards. Replaced bullet dots with the 2px red dash marker.src/pages/programs.tsx) — replaced generic intro paragraph with a Hashflag-style index header: eyebrow ("Programs Index"), sharp headline with red accent, mono meta caption.What is intentionally NOT in this PR
@containers/hero/layout-*,funfact/*,event/*,service/*,testimonial/*, etc.). The global CSS guards already sharpen them — full rewrites can land per-container in follow-ups.theory-of-change,team,media,faq,contact-us,applypage-level chrome,donatepage-level chrome,join-our-community,programs/core-curriculum. Each is a thin page composing legacy containers — refits go either at the container level or in dedicated PRs.Test plan
npm run typecheck(pre-existing errors in test files + swagger types only — none introduced)npm run lint— Biome cleannpm testnpm run devand visit:/— operations-brief status bar visible above hero/about-us— Theory-of-Change link block is sharp (no rounded card, no gradient)/sponsors— full SF-style layout (operations bar, dark hero with stat strip, numbered tracks, dark case section, contact band)/mentor— eyebrow + sharp headline sections, red-top-bordered cards/programs— Hashflag-style index header above the gridscale(0.95)on active