DESIGN.md · Analysis

Harim Holdings

harimholdings.com · 2 Aug 2026 · 47 colors · Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif

Harim Holdings

A Korean agribusiness conglomerate brand system balancing corporate authority with warm, food-centric storytelling. The design uses a vibrant warm-orange accent against neutral grayscale surfaces to convey trust, sustainability, and culinary excellence.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#fafafa
surface-container-lowest#eeeeee
surface-container-low#e5e5e5
surface-container#dddddd
surface-container-high#d0d0d0
surface-container-highest#cccccc
on-surface#333333
on-surface-variant#666666
inverse-surface#1a1a1a
inverse-on-surface#f5f5f5
outline#b9babc
outline-variant#949fa8
surface-tint#fcb034
primary#fcb034
on-primary#333333
primary-container#ffd8a8
on-primary-container#5c3d1f
inverse-primary#f77b32
secondary#80b2b3
on-secondary#ffffff
secondary-container#c8e6e7
on-secondary-container#1f4a4b
tertiary#94babb
on-tertiary#ffffff
tertiary-container#d4eff0
on-tertiary-container#1f4a4b
error#f13830
on-error#ffffff
error-container#ffb4ab
on-error-container#5c1f1a
primary-fixed#ffd8a8
primary-fixed-dim#fa9433
on-primary-fixed#3d2817
on-primary-fixed-variant#8b5a2b
secondary-fixed#c8e6e7
secondary-fixed-dim#6e9a9b
on-secondary-fixed#1f4a4b
on-secondary-fixed-variant#4a6b6c
tertiary-fixed#d4eff0
tertiary-fixed-dim#7a9d9e
on-tertiary-fixed#1f4a4b
on-tertiary-fixed-variant#4a6b6c
background#ffffff
on-background#333333
surface-variant#b9babc

Typography

display
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 60px · fontWeight: 700 · lineHeight: 72px · letterSpacing: -0.03em
headline-lg
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 40px · fontWeight: 600 · lineHeight: 48px · letterSpacing: -0.02em
headline-md
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
title-lg
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 20px · fontWeight: 600 · lineHeight: 28px · letterSpacing: 0em
body-lg
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 18px · fontWeight: 400 · lineHeight: 28px · letterSpacing: 0.01em
body-md
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 16px · fontWeight: 400 · lineHeight: 24px · letterSpacing: 0.01em
label-md
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.02em
label-sm
fontFamily: Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif · fontSize: 12px · fontWeight: 500 · lineHeight: 16px · letterSpacing: 0.03em

Design guidance

Overview

Harim Holdings is a Korean agribusiness conglomerate that transforms farm-to-table sustainability into visual language. The brand embodies 'Warm Corporate Minimalism'—a design philosophy that pairs clean, neutral grayscale surfaces (white #ffffff, grays #cccccc–#333333) with a signature warm-orange accent (#fcb034) that signals trust, food quality, and forward momentum. The aesthetic avoids cold corporate sterility by introducing teal-green supporting colors (#80b2b3, #94babb) that evoke natural ecosystems and agricultural heritage. The UI communicates precision and care: every interaction feels deliberate, every surface breathes.

The brand voice is authoritative yet approachable—a senior executive who speaks plainly about complex supply chains and sustainability. Tone: measured, honest, never hyperbolic. Vocabulary favors concrete nouns (farm, table, ecosystem, innovation) over abstract adjectives. Example sentence in brand voice: '우리는 자연에서 식탁까지—생태계의 건강을 지키며 최고의 신선함을 전합니다' (We connect nature to table—preserving ecosystem health while delivering uncompromising freshness).

Colors

The color system is anchored by a warm-orange primary (#fcb034) used exclusively for call-to-action buttons, active navigation states, and brand-critical interactive elements. This accent appears sparingly but decisively, creating visual hierarchy without noise. The surface stack—from #ffffff (surface) through #cccccc (surface-container-highest) to #333333 (on-surface text)—provides a neutral, professional foundation that lets content breathe. Secondary colors (#80b2b3 teal and #94babb sage-green) are reserved for supporting UI elements, data visualization, and ESG-related sections, evoking agricultural and environmental themes without competing with primary. Error states use a warm red (#f13830) that harmonizes with the orange accent rather than jarring against it. All interactive states

Typography

The type system uses Pretendard as the primary typeface, a Korean-optimized sans-serif that balances geometric clarity with humanist warmth—critical for a brand serving both Korean and international audiences. Display (60px, 700 weight, -0.03em tracking) anchors hero sections and major announcements with commanding presence. Headline-lg (40px, 600 weight) and headline-md (28px, 600 weight) structure content hierarchy, with tighter letter-spacing (-0.02em, -0.01em) creating visual cohesion. Body text (16–18px, 400 weight, 24–28px line-height) maintains 1.5× line-height ratio for readability across mobile and desktop. Labels (12–14px, 500–600 weight, 0.02–0.03em tracking) use increased letter-spacing to signal UI affordances and distinguish them from body content. On small labels over busy b

Layout

The layout system uses a 12-column grid with a fixed max-width of 1200px, centered on desktop and fluid on mobile (440px minimum viewport). Horizontal rhythm is governed by the spacing scale: md (24px) for section gutters, lg (40px) for major section separation, and sm (12px) for component-level padding. Container max-widths of 1200px and 1300px (observed in raw CSS) are normalized to 1200px for consistency. White-space is generous—sections are separated by at least 40px vertical rhythm, and card-based layouts use 24px gutters between items. The layout avoids visual clutter by limiting content width to 1200px and centering it, creating natural breathing room on ultra-wide displays. Mobile layouts collapse to single-column at 440px, with padding reduced to 12px (sm spacing) and font sizes s

Elevation & Depth

Depth is conveyed through subtle, layered shadows rather than dramatic drop-shadows. Level 1 (base surfaces) uses no shadow—surfaces sit flush against the background. Level 2 (cards, input fields) applies elevation.sm (0px 1px 2px rgba(0, 0, 0, 0.06)), a barely-perceptible lift that signals interactivity without visual noise. Level 3 (modals, popovers, hover states) escalates to elevation.md (0px 2px 4px rgba(0, 0, 0, 0.08)), creating clear separation. Level 4 (tooltips, dropdowns) uses elevation.lg (0px 4px 12px rgba(0, 0, 0, 0.12)) for maximum prominence. Shadows are always soft and spread (

Shapes

The shape philosophy is 'Technical Warmth'—sharp enough to feel modern and precise, rounded enough to feel approachable. Border-radius follows a strict scale: sm (2px) for minimal rounding on inputs and small UI elements, DEFAULT (4px) for standard cards and buttons, md (5px) for slightly more prominent surfaces, lg (8px) for larger interactive components, xl (15px) for hero sections and modals, and full (50%) for circular badges and avatars. Buttons use md (5px) radius, creating a subtle softness that invites interaction without appearing childish. Cards use DEFAULT (4px) or md (5px) dependin

Components

Action Elements Buttons are the primary interaction pattern. button-primary uses {colors.primary} (#fcb034) background with {colors.on-primary} (#333333) text, 44px height, 12px vertical / 24px horizontal padding, and {rounded.md} (5px) radius. On hover, the background shifts to {colors.primary-fixed-dim} (#fa9433) and box-shadow elevates to 0px 2px 4px rgba(0, 0, 0, 0.12), with all transitions running 200ms ease-out. On active/press, the background becomes {colors.inverse-primary} (#f77b32) and transform: scale(0.98) provides tactile feedback. button-secondary uses a transparent background with a 2px solid border in {colors.primary}, and on hover, the background fills with {colors.primary-container} (#ffd8a8) while text shifts to {colors.on-primary-container}. Both button variants use

Do's and Don'ts

**Do**

  • Do use {colors.primary} (#fcb034) exclusively for primary CTAs, active states, and brand-critical moments—never for backgrounds or body text.
  • Do maintain 24px (md spacing) gutters between major sections and 12px (sm spacing) between components to preserve breathing room.
  • Do apply {elevation.sm} (0px 1px 2px rgba(0, 0, 0, 0.06)) as the default shadow; escalate to {elevation.md} only on hover or focus.
  • Do use Pretendard typeface for all UI text; fall back to system fonts only when Pretendard fails to load.
  • Do enforce 5px ({rounded.md}) border-radius on buttons and 4px ({rounded.DEFAULT}) on inputs to maintain visual consistency.
  • Do use {colors.on-surface-variant} (#666666) for secondary text and {colors.outline-variant} (#949fa8) for borders to avoid harsh contrast.

**Don't**

  • Don't use {colors.primary} (#fcb034) for body text, backgrounds, or decorative elements—it must remain a signal color for interaction.
  • Don't apply shadows with pure black (#000000); always use rgba(0, 0, 0, 0.06–0.12) to maintain warmth.
  • Don't mix border-radius values arbitrarily; stick to the defined scale (2px, 4px, 5px, 8px, 15px, 50%) to avoid visual fragmentation.
  • Don't use hard corners (0px radius) on interactive elements; minimum 4px radius signals affordance.
  • Don't exceed 1200px container max-width on desktop; center content and allow generous side margins instead.
  • Don't apply transitions longer than 200ms on interactive elements; faster feedback (150ms) feels more responsive.