DESIGN.md · Analysis

GÖD – Gewerkschaft Öffentlicher Dienst

goed.at · 7 Sept 2026 · 47 colors · Fira Sans

GÖD – Gewerkschaft Öffentlicher Dienst

Austria's second-largest public sector union (247,000+ members) combines institutional authority with accessible, member-centric design. The visual system balances professional gravitas with warm, approachable interaction patterns.

Colors

surface#ffffff
surface-dim#f8f9fa
surface-bright#ffffff
surface-container-lowest#f0f2f4
surface-container-low#e9eef0
surface-container#d7e1e5
surface-container-high#c0cbd2
surface-container-highest#a6abae
on-surface#1b2224
on-surface-variant#6c757d
inverse-surface#1b2224
inverse-on-surface#ffffff
outline#a6abae
outline-variant#d0d0d0
surface-tint#20c4b2
primary#20c4b2
on-primary#1b2224
primary-container#c0f0e8
on-primary-container#0a5a52
inverse-primary#20c4b2
secondary#37687b
on-secondary#ffffff
secondary-container#b8d4e5
on-secondary-container#1a3a4d
tertiary#f66c63
on-tertiary#ffffff
tertiary-container#ffd8d0
on-tertiary-container#7a2420
error#dc3545
on-error#ffffff
error-container#f8d7da
on-error-container#721c24
primary-fixed#c0f0e8
primary-fixed-dim#20c4b2
on-primary-fixed#0a5a52
on-primary-fixed-variant#20c4b2
secondary-fixed#b8d4e5
secondary-fixed-dim#37687b
on-secondary-fixed#1a3a4d
on-secondary-fixed-variant#37687b
tertiary-fixed#ffd8d0
tertiary-fixed-dim#f66c63
on-tertiary-fixed#7a2420
on-tertiary-fixed-variant#f66c63
background#ffffff
on-background#1b2224
surface-variant#d7e1e5

Typography

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

Design guidance

Overview

GÖD (Gewerkschaft Öffentlicher Dienst) is Austria's second-largest public sector union, representing 247,000+ members across government and public service sectors. The design system embodies "Institutional Warmth"—a visual language that combines the authority and trustworthiness expected of a major labor organization with approachable, human-centered interaction patterns. The aesthetic avoids cold formality; instead, it uses a vibrant teal accent (#20c4b2) against a clean white canvas to signal both professionalism and member-focused energy. The UI evokes clarity and confidence: users should feel that their union is modern, transparent, and genuinely invested in their wellbeing.

The brand voice is direct, empowering, and grounded in collective action. Tone: factual but warm, never condescending. Vocabulary emphasizes solidarity, rights, and practical support—words like "Rechtsschutz" (legal protection), "Vorteil" (benefit), and "Mitglied" (member) appear frequently. Example sentence in brand voice: "Ihre Mitgliedschaft bringt Beratung, Rechtsschutz und Ermäßigungen – und unterstützt unseren täglichen Einsatz für faire Arbeitsbedingungen." (Your membership brings advice, legal protection, and discounts—and supports our daily fight for fair working conditions.)

Colors

The color system is built on institutional trust anchored by a signature teal primary (#20c4b2), which appears on all primary CTAs ("Jetzt Mitglied werden"), focus states, and key interactive elements. This teal is vibrant enough to command attention without feeling corporate or sterile. The surface stack uses a near-white foundation (#ffffff) with carefully calibrated grays for depth: surface-container (#d7e1e5) for subtle card backgrounds, surface-container-low (#e9eef0) for hover states, and on-surface (#1b2224) for body text—a near-black that maintains readability at 16px without harsh contrast. Secondary color (#37687b, a muted slate-blue) supports data visualization and secondary navigation; tertiary (#f66c63, a warm coral-red) is reserved for alerts, warnings, and error states. The

Typography

The type system uses Fira Sans exclusively—a humanist sans-serif that balances institutional credibility with approachability. Display (60px, 700 weight, -0.04em tracking) anchors hero sections and major announcements; Headline-lg (40px, 600 weight) is reserved for page titles and section breaks; Headline-md (28px, 600 weight) structures content hierarchy within cards and modals. Body-lg (18px, 400 weight, 28px line-height) is used for introductory paragraphs and prominent copy; Body-md (16px, 400 weight, 24px line-height) is the default for all body text and ensures legibility at standard viewing distances. Label-md (14px, 500 weight, 0.01em tracking) is applied to button text, form labels, and navigation items; Label-sm (12px, 500 weight, 0.05em tracking) is used for helper text, badges,

Layout

The layout uses a 12-column grid with a max-width of 1280px (container-max), centered on the viewport with symmetric gutters of 24px (gutter token). Page rhythm follows a 40px (lg spacing) vertical cadence for section separation, creating breathing room between major content blocks. The hero section uses full-width background imagery with a semi-transparent overlay (rgba(0, 0, 0, 0.3)) to ensure text legibility; content within the hero is constrained to the container-max and uses 64px (xl spacing) for top/bottom padding. Cards and content modules use 24px (md spacing) internal padding and 12px (sm spacing) for element-to-element gaps within cards. Form fields stack vertically with 16px gaps; button groups use 12px horizontal spacing. The design favors generous white-space: margins between

Elevation & Depth

Depth is conveyed through a three-tier shadow system that avoids heavy drop-shadows. Level 1 (Base/Surface): no shadow; elements sit flush on the white background. Level 2 (Cards/Containers): box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15)—a soft, close shadow that suggests the card is slightly lifted. Level 3 (Modals/Popovers): box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12)—a larger, more diffuse shadow that creates clear separation from the background. Hover states on cards transition from Level 2 to Level 3 over 200ms (ease-in-out), signaling interactivity. Focus states on interactive elements use a

Shapes

The shape philosophy is "Soft-Technical"—rounded corners are applied consistently but conservatively, signaling approachability without sacrificing institutional gravitas. Buttons use rounded.sm (0.25rem / 4px), creating a subtle softness that feels modern but not playful. Cards and containers use rounded.DEFAULT (0.5rem / 8px), a gentle radius that breaks the hard edge of rectangles without appearing rounded. Modals and elevated surfaces use rounded.lg (1rem / 16px), creating a more pronounced softness for elements that demand visual separation. Toggle switches and pill-shaped badges use roun

Components

Action Elements Buttons are the primary call-to-action mechanism. Button-primary uses backgroundColor: {colors.primary} (#20c4b2), textColor: {colors.on-primary} (#1b2224), padding: 10px 24px, height: 44px, and rounded.sm (4px). The label uses label-md typography (14px, 500 weight). On hover, the background transitions to #1aa89a (a 10% darker teal) over 200ms; on active/pressed, it darkens further to #0f8b7f. Button-secondary uses a transparent background with a 2px solid border in primary color, same padding and height, and transitions to primary-container background on hover. All buttons include a focus state with box-shadow: 0 0 0 3px rgba(32, 196, 178, 0.1) and outline: none to replace the browser default.

Containers & Surfaces Cards use backgroundColor: {colors.surface-conta

Do's and Don'ts

**Do**

  • Do use the teal primary (#20c4b2) exclusively for primary CTAs, focus states, and key interactive elements—never dilute it with secondary uses.
  • Do maintain 24px minimum padding inside cards and 40px minimum vertical spacing between sections to preserve the calm, institutional rhythm.
  • Do apply the 3px primary-color focus ring (0 0 0 3px rgba(32, 196, 178, 0.1)) to all interactive elements for accessibility and visual consistency.
  • Do use Fira Sans at 16px body-md for all body text; never drop below 14px for label-md without explicit accessibility review.
  • Do transition all hover/focus states over 150–250ms (ease-in-out) to signal interactivity without feeling sluggish.

**Don't**

  • Don't use the secondary color (#37687b) or tertiary color (#f66c63) as primary CTAs—reserve them for data visualization, secondary navigation, and alerts.
  • Don't apply border-radius greater than 16px (rounded.lg) to buttons or standard containers; excessive rounding undermines institutional credibility.
  • Don't use hard shadows (box-shadow with blur-radius <8px or spread >8px); stick to the three-tier system (3px, 8px, or none).
  • Don't reduce padding below 12px (sm spacing) inside cards or below 24px (md spacing) for section gutters—density creates cognitive load.
  • Don't mix typefaces; Fira Sans is the exclusive font family. Never fall back to system fonts or serif typefaces in the UI.