mainfra.me — Design System Reference
1. Visual Theme & Atmosphere
Industrial confidence on a Nuxt scaffold. A tightly restrained palette of warm white, near-black charcoal, and a single punchy tomato-red accent frames a portfolio that communicates craft through restraint. PP Neue Montreal carries all the visual weight — the geometric grotesque works at every size from tiny labels to oversized display. The single notable shadow (rgba(41,41,41,0.3) at 48px) creates a deep cinematic pool under hero elements.
2. Color Palette & Roles
- background: rgb(255, 255, 255)
- text: rgb(41, 41, 41) — warm near-black
- surfaceTint: rgb(226, 222, 218) — warm beige/sand for section backgrounds
- accent: rgb(235, 78, 61) — tomato red, used sparingly as a single active signal
Notably absent: Multi-colour palette
3. Typography Rules
Typeface(s): PP Neue Montreal
Tech stack fonts hint: Nuxt
- display: 36px+ PP Neue Montreal 500
- body: 18.9px/21.7px 400
- labels: 12px 500, tight tracking
Philosophy: Each size level reinforces hierarchy without relying on colour.
4. Component Stylings
Border Radius: None detected — sharp architectural edges
Shadows: rgba(41, 41, 41, 0.3) 0px 48px 112px −32px — one dramatic depth shadow for hero
Gradients: None
Components lean on spacing and typography for distinction rather than decorative chrome. Buttons likely use filled + ghost variants in the primary colour.
5. Layout Principles
Built on Nuxt. Layouts follow a content-first grid — wide gutters, deliberate whitespace rhythm. Section breaks use background-colour contrast rather than divider lines.
6. Depth & Elevation
Elevation system: rgba(41, 41, 41, 0.3) 0px 48px 112px −32px — one dramatic depth shadow for hero. Depth is used purposefully, not decoratively.
7. Do’s and Don’ts
Do:
- Use the exact colour roles as defined — each serves a specific semantic purpose
- Respect the typeface role boundaries (each font has one job)
- Preserve generous whitespace — crowding breaks the design language
- Keep interactions restrained: hover opacity or colour-shift, not complex transforms
Don’t:
- Introduce colours outside the defined palette
- Mix typefaces beyond the established pairing
- Add drop shadows where the design is intentionally flat
- Use gradients unless the site already employs them
- Add Multi-colour palette
- Add rounded corners
8. Responsive Behavior
Nuxt-based; fluid type scaling implied by custom viewport properties (–full-viewport, --frame-height)
On mobile, the core design language holds — the reduction is spatial (tighter gutters, stacked columns) not stylistic. Colour, typography, and component styles remain unchanged.
9. Agent Prompt Guide
Use this as a one-paragraph brief when prompting an AI to build in this design language:
“Nuxt portfolio: white bg, warm charcoal text, PP Neue Montreal only, single tomato-red accent, sharp corners, one dramatic 48px cinematic shadow, warm beige section fills”
Generated by Sparkbites — extracted from live CSS analysis