H

DESIGN.md · Analysis

Hairnerds Studio

hairnerds.id · 4 Aug 2026 · 47 colors · Space Grotesk, Open Sans

Hairnerds Studio

A vibrant, personality-driven hair salon brand that transforms personal grooming into self-discovery through bold typography, warm earth tones, and energetic red accents.

Colors

surface#000000
surface-dim#0a0a0a
surface-bright#1a1a1a
surface-container-lowest#050505
surface-container-low#0f0f0f
surface-container#1a1a1a
surface-container-high#2a2a2a
surface-container-highest#3a3a3a
on-surface#282623
on-surface-variant#595954
inverse-surface#fbf8f1
inverse-on-surface#000000
outline#666666
outline-variant#d0d0d0
surface-tint#f8312f
primary#f8312f
on-primary#ffffff
primary-container#be3433
on-primary-container#ffffff
inverse-primary#be3433
secondary#128dcd
on-secondary#ffffff
secondary-container#e7f4fa
on-secondary-container#128dcd
tertiary#4aaf69
on-tertiary#ffffff
tertiary-container#edf7f0
on-tertiary-container#4aaf69
error#f8312f
on-error#ffffff
error-container#be3433
on-error-container#ffffff
primary-fixed#f8312f
primary-fixed-dim#be3433
on-primary-fixed#ffffff
on-primary-fixed-variant#ffffff
secondary-fixed#128dcd
secondary-fixed-dim#0d5fa8
on-secondary-fixed#ffffff
on-secondary-fixed-variant#ffffff
tertiary-fixed#4aaf69
tertiary-fixed-dim#388a52
on-tertiary-fixed#ffffff
on-tertiary-fixed-variant#ffffff
background#000000
on-background#282623
surface-variant#fbf8f1

Typography

display
fontFamily: Space Grotesk · fontSize: 96px · fontWeight: 700 · lineHeight: 104px · letterSpacing: -0.04em
headline-lg
fontFamily: Space Grotesk · fontSize: 48px · fontWeight: 700 · lineHeight: 56px · letterSpacing: -0.02em
headline-md
fontFamily: Space Grotesk · fontSize: 32px · fontWeight: 700 · lineHeight: 40px · letterSpacing: -0.01em
title-lg
fontFamily: Space Grotesk · fontSize: 24px · fontWeight: 700 · lineHeight: 32px · letterSpacing: 0em
body-lg
fontFamily: Open Sans · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0em
body-md
fontFamily: Open Sans · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0em
label-md
fontFamily: Space Grotesk · fontSize: 16px · fontWeight: 700 · lineHeight: 24px · letterSpacing: 0.01em
label-sm
fontFamily: Open Sans · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.02em

Design guidance

Overview

Hairnerds Studio is a bold, personality-forward hair salon brand that redefines grooming as self-expression and discovery. The design system embodies 'Energetic Minimalism'—a movement that pairs stark black canvases with vibrant accent colors, clean geometric typography, and warm earth-tone supporting palettes to create an approachable yet sophisticated visual identity. The brand serves clients seeking personalized hair experiences and professional guidance, evoking confidence, playfulness, and transformation. The UI voice is conversational and encouraging, never clinical: direct, warm, and celebratory of individual style. Example: 'Your hair tells your story—let's make it a good one.'

Colors

The color system is anchored by a signature **Primary Red (#f8312f)** deployed on all call-to-action buttons, interactive states, and brand highlights—this is the energy of the brand. It pairs with a deep **Dark Red (#be3433)** for hover and active states, creating tactile feedback through color intensity. The **Secondary Turquoise (#128dcd)** and **Tertiary Green (#4aaf69)** serve as supporting accents for secondary actions, status indicators, and promotional elements, each with their own light container variants (#e7f4fa, #edf7f0) for non-interactive backgrounds. The surface stack uses a pure **Black (#000000)** as the dominant canvas, with **Light Ivory (#fbf8f1)** as the inverse surface for modals, cards, and high-contrast sections. Neutral grays (#282623, #595954, #666666) handle body

Typography

The type system pairs **Space Grotesk** (700 weight, geometric and bold) for all headlines, CTAs, and brand-forward moments with **Open Sans** (400 weight, warm and readable) for body copy and supporting text. Display (96px, -0.04em tracking) commands hero sections; Headline-lg (48px) anchors major sections; Body-md (16px, 24px line-height) ensures legibility on black backgrounds with 1.5x line-height for breathing room. Labels use Space Grotesk at 16px/700 weight with 0.01em tracking for crisp button text. On small labels over busy backgrounds or promotional imagery, apply text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) to maintain contrast. The type pairing communicates 'modern yet approachable'—geometric precision softened by humanist warmth.

Layout

The layout operates on a **12-column fluid grid** with a max-width of 900px, centered on viewport. The gutter is 24px (md spacing), applied consistently to section margins and container padding. White-space is generous: lg spacing (40px) separates major sections (hero, testimonials, gallery), while md spacing (24px) divides subsections and card groups. The header uses px 64px horizontal padding on desktop, reducing to px 24px on mobile. Container max-width of 900px ensures readability and focus on the black canvas. Spacing scale: xs (4px) for micro-interactions, sm (12px) for input padding, md (24px) for card padding and section gaps, lg (40px) for major section breaks, xl (64px) for hero breathing room.

Elevation & Depth

Depth is achieved through **layered shadows and contrast**, not through multiple background colors. Level 1 (Base): pure black background (#000000) with no shadow. Level 2 (Standard Card): white or light-ivory surface with box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), creating subtle lift. Level 3 (Elevated/Modal): same surface with box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) and a 1px border at rgba(0, 0, 0, 0.1) to define edges. Interactive elements (buttons) use the Level 2 shadow by default; on hover, they transition to Level 3 shadow (0 6px 16px rgba(248, 49, 47, 0.25)) and translate up 2px, c

Shapes

The shape philosophy is **'Soft-Technical'**: rounded corners are present but restrained, balancing geometric precision with approachability. Buttons and inputs use 1rem (16px) border-radius, creating a friendly but professional appearance. Cards use 1.5rem (24px) for a softer, more inviting container. Small UI elements (badges, tags) use full (9999px) for pill-shaped forms. The 4px border-radius is reserved for dropdown panels and micro-components. This hierarchy—larger radius for primary containers, smaller for utility elements—guides visual hierarchy and communicates interaction priority.

Components

Action Elements Buttons are the primary interaction pattern. **button-primary** uses #f8312f background, white text (Space Grotesk 16px/700), 12px 32px padding, 48px height, and 1rem border-radius. On hover, the background shifts to #be3433 and the shadow expands to 0 6px 16px rgba(248, 49, 47, 0.25) with a -2px translateY for lift. Active state darkens further and compresses shadow to 0 1px 4px. **button-secondary** inverts the logic: #fbf8f1 background with a 2px #f8312f border, black text, same padding and height. Hover swaps background to a light gray (#f0f9fa) and text to primary red. All buttons use transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) for smooth state changes.

Containers & Surfaces **card** components use #fbf8f1 background, 24px padding, 1.5rem border-radius,

Do's and Don'ts

**Do**

  • Do use primary red (#f8312f) exclusively for CTAs, active states, and brand moments—never dilute it with secondary colors on the same element.
  • Do maintain 1.5x line-height on body text over black backgrounds (24px for 16px text) to ensure legibility and breathing room.
  • Do apply consistent 24px gutter spacing between sections and 12px padding inside cards to create rhythm and predictability.
  • Do layer shadows progressively: md shadow for cards, lg shadow for modals, and add color-tinted shadows (rgba(248, 49, 47, 0.25)) on primary button hover for brand reinforcement.
  • Do use Space Grotesk for all headlines and CTAs to maintain geometric brand personality; reserve Open Sans for body and supporting text only.

**Don't**

  • Don't use primary red on non-interactive elements or backgrounds—it must signal actionability and urgency, never decoration.
  • Don't apply shadows to elements on the black background without sufficient contrast; always pair with a light surface or use color-tinted shadows.
  • Don't mix rounded-corner sizes arbitrarily; stick to the scale (sm: 4px, DEFAULT: 8px, lg: 16px, xl: 24px, full: pill) to maintain visual consistency.
  • Don't reduce line-height below 1.5x on body text, especially on black backgrounds; readability suffers and the brand feels cramped.
  • Don't use secondary colors (turquoise, green) for primary CTAs or dominant interactive elements; they are supporting accents only.