DESIGN.md · Analysis

CERCIFAF

cercifaf.pt · 30 May 2026 · 47 colors · Cinzel, serif, Montserrat, sans-serif

CERCIFAF

CERCIFAF is a Portuguese vocational training and employment center that combines professional development with community engagement. The design system reflects institutional trust through a bold blue-and-white palette with dynamic geometric shapes, embodying a forward-looking yet grounded approach to workforce developm

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#ffffff
surface-container-lowest#f9f9f9
surface-container-low#f0f0f0
surface-container#e9ecef
surface-container-high#dfe2e6
surface-container-highest#d0d0d0
on-surface#162744
on-surface-variant#505050
inverse-surface#162744
inverse-on-surface#ffffff
outline#6c757d
outline-variant#bdbdbd
surface-tint#127fc3
primary#127fc3
on-primary#ffffff
primary-container#e3f2fd
on-primary-container#0d47a1
inverse-primary#64b5f6
secondary#ffa500
on-secondary#ffffff
secondary-container#ffe4b5
on-secondary-container#ff8c00
tertiary#234423
on-tertiary#ffffff
tertiary-container#d9e6d9
on-tertiary-container#122212
error#712b29
on-error#ffffff
error-container#f7dddc
on-error-container#4c1d1b
primary-fixed#e3f2fd
primary-fixed-dim#bbdefb
on-primary-fixed#0d47a1
on-primary-fixed-variant#1565c0
secondary-fixed#ffe4b5
secondary-fixed-dim#ffd699
on-secondary-fixed#ff8c00
on-secondary-fixed-variant#ff6f00
tertiary-fixed#d9e6d9
tertiary-fixed-dim#c1dcc1
on-tertiary-fixed#122212
on-tertiary-fixed-variant#1b5e20
background#ffffff
on-background#162744
surface-variant#cadcca

Typography

display
fontFamily: Cinzel, serif · fontSize: 60px · fontWeight: 400 · lineHeight: 68px · letterSpacing: -0.02em
headline-lg
fontFamily: Cinzel, serif · fontSize: 40px · fontWeight: 400 · lineHeight: 48px · letterSpacing: -0.01em
headline-md
fontFamily: Montserrat, sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: 0em
title-lg
fontFamily: Montserrat, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0.01em
body-lg
fontFamily: Montserrat, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Montserrat, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Montserrat, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Montserrat, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.05em

Design guidance

Overview

CERCIFAF (Centro de Formação e Emprego) is a Portuguese vocational training and employment center dedicated to professional development and community integration. The design system embodies 'Institutional Dynamism'—a visual language that balances institutional authority with forward momentum through bold geometric shapes, a confident blue-and-white palette, and strategic use of accent colors. The aesthetic evokes trust, professionalism, and opportunity: users should feel that their career development is in capable, progressive hands. The brand personality is direct, optimistic, and action-oriented—never patronizing, always solution-focused. Voice example: 'Your future starts here—enroll in a course that matches your ambitions and market demand.'

Colors

The color system centers on Primary Blue (#127fc3) as the signature institutional accent, deployed on CTAs, navigation highlights, and interactive focus states. This blue conveys professional competence and forward-thinking energy. The surface stack uses pure white (#ffffff) as the dominant background with carefully calibrated grays (surface-container #e9ecef, surface-container-high #dfe2e6) to create subtle depth without visual noise. On-surface text is a deep navy (#162744), ensuring legibility and institutional gravitas. Secondary Orange (#ffa500) is reserved for promotional badges and 'Bolsa até 349€' callouts, creating visual urgency. Tertiary Green (#234423) supports success states and positive feedback (alert-success-background #d9e6d9). The alert system uses semantic colors: danger

Typography

The type system pairs Cinzel (serif, 400 weight) for display and headline-lg contexts—lending institutional gravitas and visual distinction to hero statements like 'Inscreve-te' (34.4px, Cinzel, 400 weight). Montserrat (sans-serif, 400–600 weight) handles all body and label scales, providing clarity and modern accessibility. Display-level text uses -0.02em letter-spacing to tighten the serif's natural rhythm; body text maintains 0em spacing for neutral readability. Line-height is set to 1.5x the font size for body copy (28px on 18px base) to ensure comfortable scanning in dense content blocks. Headlines use tighter line-height (1.2x) to reinforce hierarchy. Apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) on white text overlaid on photographic backgrounds (e.g., hero section h1) to maintai

Layout

The layout uses a 12-column grid with a max-width of 1320px (enforced at 1400px+ breakpoints), creating a fluid yet bounded container. Section padding is generous—75px top/bottom for major sections (padding-top: 75px, padding-bottom: 75px)—establishing clear visual rhythm and breathing room. The gutter between columns is 24px (md spacing). White-space philosophy prioritizes clarity: sections are separated by lg spacing (40px) or larger (margin-top: 4rem, margin-bottom: 2rem observed in hero transitions). Container-max-width scales responsively: 1320px at desktop, 1200px at 1199.98px breakpoint, 992px at tablet, and 100% at mobile. Margin-top: 4rem and margin-bottom: 2rem create breathing room between major content blocks. Image overlays use rgba(31, 125, 219, 0.25) to subtly tint photograp

Elevation & Depth

Depth is achieved through a restrained shadow system and subtle color shifts rather than aggressive drop shadows. Level 1 (Base): flat white background with no shadow. Level 2 (Cards/Containers): box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08), background-color: #e9ecef (surface-container), creating a gentle lift. Level 3 (Modals/Elevated Cards): box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), background-color: #dfe2e6 (surface-container-high). Hover states transition to Level 3 with a 200ms ease curve. Image containers use a 1.2x scale transform on hover (transform: scaleX(1.2) scaleY(1.2), transitio

Shapes

The shape philosophy is 'Geometric Clarity'—sharp, intentional angles paired with minimal rounding. Buttons and inputs use border-radius: 6px (0.375rem), a subtle softness that feels contemporary without sacrificing precision. Cards and containers use border-radius: 0.5rem (8px DEFAULT), maintaining visual consistency. Larger containers and modals use border-radius: 1rem (16px lg), creating a gentle frame. The hero section features bold diagonal shapes (observed as 0px border-radius on section elements, with CSS transforms creating angled overlays)—these are brand-distinctive geometric accents

Components

Action Elements Buttons are the primary interaction vehicle. button-primary uses background-color: {colors.primary} (#127fc3), color: white, padding: 16px 24px, height: 48px, border-radius: 6px, with font-weight: 600 (label-md). On hover, background shifts to #0d47a1 (darker blue) with transition: background-color 200ms ease. button-secondary uses a transparent background with a 2px solid border in primary blue, inverting the color hierarchy for secondary actions. Focus state adds box-shadow: 0 0 0 3px rgba(18, 127, 195, 0.1) to all buttons, providing accessible visual feedback.

Containers & Surfaces card components use background-color: #e9ecef (surface-container), border: 1px solid {colors.outline-variant} (#bdbdbd), border-radius: 8px, padding: 24px, and box-shadow: 0 4px 12px

Do's and Don'ts

**Do**

  • Do use Primary Blue (#127fc3) exclusively for CTAs, focus states, and brand-critical interactive elements—never dilute it with secondary uses.
  • Do maintain 75px vertical padding on major sections and 24px gutters between columns to preserve the generous, professional rhythm.
  • Do apply Cinzel serif only to display and headline-lg contexts (h1, hero statements); use Montserrat sans-serif for all body and label text to ensure accessibility and clarity.
  • Do add box-shadow: 0 0 0 3px rgba(18, 127, 195, 0.1) on all interactive focus states (buttons, inputs, links) to meet WCAG AAA contrast and keyboard navigation standards.
  • Do use the alert color system (success #d9e6d9, warning #fcefdc, danger #f7dddc) consistently across all feedback messages and status indicators.
  • Do transition all hover states within 200ms ease to signal responsiveness without feeling sluggish or jarring.

**Don't**

  • Don't use border-radius > 1rem (16px) on buttons or standard cards—excessive rounding undermines institutional credibility.
  • Don't apply Primary Blue as a background fill for large areas; reserve it for accents, CTAs, and focus indicators only.
  • Don't mix Cinzel and Montserrat weights arbitrarily—Cinzel is 400 weight only; Montserrat ranges 400–600 for hierarchy.
  • Don't omit focus states or rely on color alone to signal interactivity; always include box-shadow or border changes for keyboard users.
  • Don't use shadows heavier than 0 16px 40px rgba(0, 0, 0, 0.12); aggressive shadows conflict with the clean, institutional aesthetic.
  • Don't apply secondary colors (Orange, Green) to primary CTAs or navigation—reserve them for badges, alerts, and supporting UI only.