DESIGN.md · Analysis

OFFBEAT Studio

offbeat.kr · 5 Aug 2026 · 47 colors · neue-haas-grotesk-display, Inter, Arial, sans-serif, neue-haas-grotesk-text, Inter, Arial, sans-serif

OFFBEAT Studio

A premium photography studio brand that captures decisive moments through a refined, high-contrast aesthetic. OFFBEAT merges technical precision with artistic vision, presenting work through a dark, minimalist interface anchored by warm metallic accents.

Colors

surface#0a0a0a
surface-dim#050505
surface-bright#1a1a1a
surface-container-lowest#0f0f0f
surface-container-low#141414
surface-container#1f1f1f
surface-container-high#2a2a2a
surface-container-highest#333333
on-surface#fafafa
on-surface-variant#cccccc
inverse-surface#f5f5f5
inverse-on-surface#0a0a0a
outline#505050
outline-variant#383531
surface-tint#c6a56a
primary#c6a56a
on-primary#0a0a0a
primary-container#e4d4b8
on-primary-container#3d2f1a
inverse-primary#8b7a5a
secondary#eb6a21
on-secondary#fafafa
secondary-container#f0a878
on-secondary-container#4a2810
tertiary#e4e1dc
on-tertiary#1a1a1a
tertiary-container#f5f3f0
on-tertiary-container#3a3530
error#d92d20
on-error#fafafa
error-container#f4cccc
on-error-container#5a1a14
primary-fixed#e4d4b8
primary-fixed-dim#c6a56a
on-primary-fixed#2a1f10
on-primary-fixed-variant#6b5a45
secondary-fixed#f0a878
secondary-fixed-dim#d95f1b
on-secondary-fixed#3a1a05
on-secondary-fixed-variant#8b4a20
tertiary-fixed#f5f3f0
tertiary-fixed-dim#d9d4cc
on-tertiary-fixed#2a2520
on-tertiary-fixed-variant#5a5050
background#0a0a0a
on-background#fafafa
surface-variant#383531

Typography

display
fontFamily: neue-haas-grotesk-display, Inter, Arial, sans-serif · fontSize: 56px · fontWeight: 600 · lineHeight: 64px · letterSpacing: -0.02em
headline-lg
fontFamily: neue-haas-grotesk-display, Inter, Arial, sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.015em
headline-md
fontFamily: neue-haas-grotesk-display, Inter, Arial, sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
title-lg
fontFamily: neue-haas-grotesk-text, Inter, Arial, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
body-lg
fontFamily: neue-haas-grotesk-text, Inter, Arial, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.01em
body-md
fontFamily: neue-haas-grotesk-text, Inter, Arial, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
label-md
fontFamily: neue-haas-grotesk-text, Inter, Arial, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.02em
label-sm
fontFamily: neue-haas-grotesk-text, Inter, Arial, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.03em

Design guidance

Overview

OFFBEAT Studio is a premium photography practice that captures decisive moments through a refined, high-contrast visual language. The brand serves discerning clients seeking portraiture, editorial, and brand photography that transcends commercial necessity—each image is driven by artistic intent and technical mastery. The aesthetic movement is 'Architectural Minimalism meets Analog Precision': a dark, near-monochromatic canvas (rgb(10, 10, 10)) punctuated by warm metallic accents (rgb(198, 165, 106)) and occasional warm oranges (rgb(235, 106, 33)), evoking the precision of a darkroom and the clarity of a perfectly metered exposure. The UI evokes quiet confidence and technical authority—users feel they are entering a studio where every detail matters.

The brand voice is measured, precise, and introspective. OFFBEAT speaks in declarative statements without breathlessness: 'Life shifts in OFF-BEAT moments—we capture that rhythm before it fades.' The vocabulary favors terms like 'rhythm,' 'decisive,' 'frame,' and 'moment' over trendy descriptors. Tone is never casual; it respects the craft of photography and the vulnerability of being photographed. Example: 'Each session is a collaboration—we listen, observe, and respond to the light as it unfolds.'

Colors

The color system is built on a near-black foundation (surface: #0a0a0a, surface-dim: #050505) that anchors all content and creates maximum contrast for legibility and visual drama. The primary accent is a warm, desaturated gold (primary: #c6a56a, rgb(198, 165, 106))—used exclusively on call-to-action buttons, active navigation states, and key interactive elements. This color references the warm tones of film stock and studio lighting gels, grounding the brand in analog photography tradition. The secondary accent is a burnt orange (secondary: #eb6a21, rgb(235, 106, 33))—reserved for alerts, status indicators, and secondary CTAs, evoking the warmth of tungsten light. The on-surface text is near-white (on-surface: #fafafa, rgb(250, 250, 250)) for maximum readability against the dark backgroun

Typography

The type system pairs Neue Haas Grotesk Display (loaded via Typekit) for headlines and Neue Haas Grotesk Text for body copy, with Inter and Arial as fallbacks. Display (56px, 600 weight, -0.02em letter-spacing, 64px line-height) anchors hero sections with commanding presence; Headline-lg (40px, 600 weight, -0.015em) structures major sections; Headline-md (28px, 600 weight, -0.01em) organizes subsections. Body-lg (18px, 400 weight, 0.01em letter-spacing, 28px line-height) and Body-md (16px, 400 weight, 0.01em, 24px line-height) carry narrative content with generous line-height for legibility on dark backgrounds. Label-md (14px, 600 weight, 0.02em letter-spacing, 20px line-height) and Label-sm (12px, 500 weight, 0.03em) handle UI labels, buttons, and metadata. The increased letter-spacing (0

Layout

The layout system uses a 12-column grid on desktop (≥768px) and a 4-column grid on mobile, with fluid gutters (clamp(1rem, 1.8vw, 2.5rem) on desktop, clamp(1.25rem, 3vw, 4rem) on mobile). Container max-width is 1280px, centered with symmetric margins. The grid is implemented via CSS custom properties (--wf-grid-columns-mobile, --wf-grid-columns-desktop, --wf-grid-gutter) and applied to [data-grid-container] elements. White-space is generous and intentional: section separation uses lg spacing (40px) to create visual breathing room; card padding uses md spacing (24px); component internal padding uses sm spacing (12px). The spacing scale (xs: 4px, sm: 12px, md: 24px, lg: 40px, xl: 64px) is semantic and tied to the grid row-gap, creating visual rhythm that echoes the grid structure. Vertical r

Elevation & Depth

Depth is conveyed through subtle shadow and border treatments rather than dramatic layering. Level 1 (Base): the background is a fixed dark gradient (rgb(10, 10, 10)) with no shadow. Level 2 (Standard Card): cards use a 1px solid border in outline-variant (#383531) and a soft shadow (0 3px 8px rgba(0, 0, 0, 0.15)) to separate from the background. Level 3 (Elevated/Hover): on hover or focus, cards transition to a darker background (surface-container-high: #2a2a2a) and a stronger shadow (0 8px 24px rgba(0, 0, 0, 0.2)) over 200ms. Buttons use no shadow by default; on hover, they shift to a darker

Shapes

The shape philosophy is 'Technical Precision with Warmth'—rounded corners are minimal and purposeful, never organic or playful. Buttons and inputs use sm radius (0.25rem, 4px) for a sharp, technical appearance that echoes the precision of camera settings. Cards and larger containers use md radius (0.75rem, 12px) to soften edges slightly without compromising the austere aesthetic. Modals and overlays use lg radius (1rem, 16px) for a more refined, gallery-like presentation. Badges and pills use full radius (9999px) to create a distinct visual category for metadata and status indicators. The rati

Components

Action Elements Buttons are the primary interaction mechanism and must communicate hierarchy clearly. Button-primary uses primary color (#c6a56a) with on-primary text (#0a0a0a), 12px 24px padding, 44px height, and sm radius (4px). On hover, the background shifts to primary-fixed-dim (#8b7a5a) over 200ms, signaling interactivity without animation. Button-secondary uses a transparent background with a 1px outline (outline: #505050) and on-surface text (#fafafa); on hover, it gains a surface-container-high background (#2a2a2a) and on-surface-variant border (#cccccc). Button-accent uses secondary color (#eb6a21) for alerts or secondary CTAs; on hover, it darkens to secondary-fixed-dim (#d95f1b). All buttons use label-md typography (14px, 600 weight, 0.02em letter-spacing) and transition: b

Do's and Don'ts

**Do**

  • Do use primary (#c6a56a) exclusively for primary CTAs, active states, and key interactive elements—it is the brand's signature accent and must remain visually distinct.
  • Do maintain the dark background (rgb(10, 10, 10)) as the canvas for all content; it is non-negotiable and creates the high-contrast, minimalist aesthetic.
  • Do apply generous white-space (lg spacing: 40px) between sections to create visual breathing room and emphasize the intentionality of each element.
  • Do use Neue Haas Grotesk Display for headlines and Neue Haas Grotesk Text for body copy; these typefaces are core to the brand's technical, refined voice.
  • Do transition all interactive elements over 200ms with ease-out timing to reinforce precision and intentionality.

**Don't**

  • Don't use bright, saturated colors or gradients—the brand is austere and minimalist; color is reserved for intentional, high-impact moments.
  • Don't apply rounded corners larger than lg (16px) except for badges; sharp, technical corners are essential to the architectural aesthetic.
  • Don't use system fonts or generic sans-serifs; Neue Haas Grotesk is the typographic anchor and must be loaded and prioritized.
  • Don't add drop shadows or depth effects beyond the specified elevation scale (sm, md, lg); excessive shadow breaks the minimalist aesthetic.
  • Don't animate elements beyond state transitions (hover, focus, active); the brand is measured and precise, not playful or animated.