DESIGN.md · Analysis

Hana Tour Company

hanatourcompany.com · 13 May 2026 · 47 colors · Pretendard

Hana Tour Company

A premium travel and tourism corporate brand combining modern geometric abstraction with accessible, human-centered design. The CI system reflects innovation, trust, and global connectivity through a distinctive purple-cyan accent palette.

Colors

surface#ffffff
surface-dim#f6f6f6
surface-bright#ffffff
surface-container-lowest#f2f4f8
surface-container-low#dde1e6
surface-container#c1c7cd
surface-container-high#878d96
surface-container-highest#697077
on-surface#121619
on-surface-variant#343a3f
inverse-surface#121619
inverse-on-surface#ffffff
outline#697077
outline-variant#878d96
surface-tint#5e2bb8
primary#5e2bb8
on-primary#ffffff
primary-container#e8dff5
on-primary-container#3d1a7a
inverse-primary#08d1d9
secondary#08d1d9
on-secondary#121619
secondary-container#d4f8fb
on-secondary-container#005a63
tertiary#5e2bb8
on-tertiary#ffffff
tertiary-container#e8dff5
on-tertiary-container#3d1a7a
error#d32f2f
on-error#ffffff
error-container#ffebee
on-error-container#b71c1c
primary-fixed#e8dff5
primary-fixed-dim#d4c5e8
on-primary-fixed#3d1a7a
on-primary-fixed-variant#4a2b8f
secondary-fixed#d4f8fb
secondary-fixed-dim#b3f0f6
on-secondary-fixed#005a63
on-secondary-fixed-variant#00737d
tertiary-fixed#e8dff5
tertiary-fixed-dim#d4c5e8
on-tertiary-fixed#3d1a7a
on-tertiary-fixed-variant#4a2b8f
background#ffffff
on-background#121619
surface-variant#dde1e6

Typography

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

Design guidance

Overview

Hana Tour Company's design system embodies 'Geometric Modernism'—a sophisticated aesthetic that marries corporate professionalism with contemporary visual dynamism. The brand serves global travelers and corporate partners seeking premium, trustworthy travel solutions. The UI evokes clarity and forward momentum through a distinctive purple-cyan accent palette (#5e2bb8 primary, #08d1d9 secondary) set against a clean, minimal surface hierarchy. The emotional response is one of confidence tempered by approachability: users feel guided by a knowledgeable partner, not intimidated by complexity.

The brand voice is precise, warm, and internationally minded. Vocabulary emphasizes journey, possibility, and seamless experience—never transactional or corporate-stiff. Tone is conversational yet authoritative, with a subtle Korean cultural sensibility reflected in typography choices (Pretendard as the primary typeface, honoring local design heritage). Example sentence in brand voice: '새로운 경험과 가능성을 시작하는 순간, 하나투어와 함께 펼쳐가는 여행의 이야기입니다.' (The moment you begin a new experience and possibility, it is the story of your journey unfolding with Hana Tour.)

Colors

The color system is built on a dual-accent model: Purple (#5e2bb8) as the primary brand signature, used for CTAs, navigation highlights, and brand-critical interactive states; Cyan (#08d1d9) as the secondary accent, reserved for supporting actions, status indicators, and secondary CTAs. The surface stack progresses from pure white (#ffffff) at the brightest level through carefully calibrated grays (#f2f4f8, #dde1e6, #c1c7cd, #878d96, #697077) to near-black (#121619) for text and outlines. This progression ensures sufficient contrast (WCAG AA minimum 4.5:1 on body text) while maintaining visual softness. Primary (#5e2bb8) is applied to main buttons, active navigation states, and focus indicators. Secondary (#08d1d9) appears on secondary buttons, badges, and accent elements that require visu

Typography

The type system uses Pretendard as the primary typeface—a modern Korean sans-serif that balances geometric precision with humanist warmth, essential for a brand serving both Korean and international audiences. The hierarchy spans eight levels: Display (60px, 700 weight, -0.04em tracking) for hero statements; Headline-lg (40px, 600 weight) for major section titles; Headline-md (28px, 600 weight) for subsection breaks; Title-lg (20px, 600 weight) for card headers and form labels; Body-lg (18px, 400 weight) for rich content and descriptions; Body-md (16px, 400 weight) for standard body copy; Label-md (14px, 600 weight) for buttons and interactive labels; Label-sm (12px, 500 weight) for captions and metadata. Line-height is set to 1.5x the font size for body text (28px for 18px type) to ensure

Layout

The layout system uses a 12-column fluid grid with a maximum container width of 1366px, scaling responsively via CSS calc() functions (e.g., max(10.56px, 1.0416666667vw) for base font size). The gutter is fixed at 24px on desktop, collapsing to 12px on mobile, creating a breathing room that prevents visual cramping. White-space philosophy prioritizes clarity over density: section separation uses lg spacing (40px) for major content blocks, md spacing (24px) for subsections, and sm spacing (12px) for related elements within a container. The container max-width of 1366px ensures optimal line length for body text (approximately 65–75 characters) while accommodating multi-column layouts. Padding within cards and containers follows the md spacing token (24px) as a default, with xs (4px) reserved

Elevation & Depth

Visual hierarchy is conveyed through a three-tier shadow system that creates perceived depth without relying on color saturation shifts. Level 1 (Base/Flat): No shadow; used for primary surfaces and body backgrounds. Level 2 (Standard Elevation): box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15); applied to cards, modals, and interactive containers that sit above the base layer. Level 3 (Elevated/Hover): box-shadow: max(5.28px, 0.5208333333vw) max(7.92px, 0.78125vw) max(18.48px, 1.8229166667vw) rgba(0, 0, 0, 0.12); used on hover states, expanded dropdowns, and floating action elements. The shadow blur

Shapes

The shape philosophy is 'Geometric Softness'—combining sharp, architectural precision with subtle human warmth. Buttons and interactive elements use lg radius (1rem / 16px), creating a modern, approachable feel that signals affordance without appearing childish. Cards and containers use xl radius (1.5rem / 24px), establishing a premium, breathing quality that differentiates them from the background. Input fields and form controls use full radius (9999px), evoking a pill-shaped, friendly interaction model that reduces cognitive friction. Smaller UI elements (badges, tags, micro-interactions) us

Components

Action Elements Buttons are the primary affordance for user intent. The button-primary component uses {colors.primary} (#5e2bb8) background with white text, {rounded.lg} (16px), and 48px height to ensure touch-target accessibility (minimum 44px per WCAG). Padding is 12px horizontal, 0px vertical (height handles vertical centering). On hover, the background shifts to #4a2b8f (a darker purple, -10% lightness) with a 200ms ease-in-out transition. The button-secondary variant uses a transparent background with a 2px solid border in {colors.primary}, maintaining the same height and padding; on hover, it fills with {colors.primary-container} (#e8dff5) and text becomes {colors.on-primary-container} (#3d1a7a). Button-ghost is used for tertiary actions: transparent background, {colors.primary}

Do's and Don'ts

**Do**

  • Do use {colors.primary} (#5e2bb8) exclusively for primary CTAs and active navigation states—never dilute the accent by overusing it on secondary elements.
  • Do apply {spacing.md} (24px) as the default padding inside cards and containers; this creates visual breathing room that prevents cramped layouts.
  • Do use {rounded.lg} (16px) for all buttons and interactive elements to maintain a cohesive, modern aesthetic across the interface.
  • Do scale shadows responsively using calc() and vw units (e.g., max(5.28px, 0.5208333333vw)) to maintain visual consistency across device sizes.
  • Do apply 200ms ease-in-out transitions to all hover and focus state changes to signal interactivity without feeling sluggish.

**Don't**

  • Don't use {colors.secondary} (#08d1d9) as a primary CTA color; reserve it for secondary actions and status indicators only.
  • Don't apply multiple shadows to a single element; each component occupies one elevation layer (Level 1, 2, or 3).
  • Don't mix border-radius values within a single component family (e.g., all buttons in a group must use {rounded.lg}).
  • Don't exceed 1366px container width on desktop; wider layouts reduce readability and create visual imbalance.
  • Don't use pure black (#000000) or pure white (#ffffff) for text or backgrounds; use {colors.on-surface} (#121619) and {colors.surface} (#ffffff) from the token system instead.