flex's reference documents #000000 as a documented primary color, Pretendard Variable for typography, 18px corner radius. flex is a Korean company building an HR-data-based AI platform for organizations: its public product language spans people and organization management, performance, payroll and benefits, and operational workflows.

Primary
#000000
Typography
Pretendard Variable
Radius
18px

Evidence snapshot

verified v2
Claims grounded
109/109 · 100%
Sources
2 surfaces · 2 sources
UI font basis
frontmatter · high
Components
10 documented · 5 interactive, 1 with states
Design System
Flex logo

Flex

flex is a Korean company building an HR-data-based AI platform for organizations: its public product language spans people and organization management, performance, payroll and benefits, and operational workflows. Its current expression is not the earlier “one ink / graphite card” system. The 2026 public site leads with Relations Driven AX—the claim that AI becomes useful when it understands the relationships and context inside an organization—and turns that idea into a high-contrast, editorial marketing system. Black or white fields establish the serious enterprise register; #00FF44 appears as a deliberately loud action color rather than a general-purpose semantic palette. The About page gives the brand’s “Human Relations” reinterpretation of HR room to breathe in 80–96px type, then alternates dark and light narrative sections. This reference describes those current public marketing and corporate surfaces only; it does not treat the separate help center as product UI evidence.

01

Color Palette

Neutrals

02

Typography

Type Scale

Verified size, weight, line-height, and tracking. Family is omitted when unresolved.

96px96px · 600 · 1
About-page relationship statement
80px80px · 600 · 1.2
Dark About-page statement
17px17px · 600 · 1.55
About-page explanatory copy
14px14px · 700 · 1
Global navigation controls

Fonts

ui
Pretendard Variable
Open · OFL
Live webfont loaded in preview
Modern Korean variable font with full Latin coverage.
Install via GitHub · orioncactus/pretendard
03

Spacing & Shape

Spacing

PurposeValuePreview
compact8px
nav-action-x14px
cta-y30px
cta-x44px

Border Radius

ElementValuePreview
badgeStructured token18px
ctaStructured token24px
navStructured token8px
04

Guidelines

Do and Don't guidelines parsed from DESIGN.md.

Do

  • Use #111111 and #FFFFFF as the dominant public-surface contrast pair.
  • Reserve #00FF44 for the large, high-emphasis conversion action observed on the current public pages.
  • Use the 8px navigation action and 24px campaign CTA radii only in their observed contexts.
  • Treat 80–96px editorial type as a current About-page treatment, not proof of a product-app display scale.
  • Keep help-center chrome and any unobserved logged-in application UI out of this public-surface reference.

Don't

  • Reintroduce the legacy graphite manifesto cards, service-filter pills, or inset-ring variants as current Flex components.
  • Treat the orange announcement badge as a general error or warning semantic color.
  • Render static Pretendard or a system fallback as though it were the verified Pretendard Variable family.
  • Invent hover, disabled, form, dialog, or loading variants beyond the carousel arrow's measured hover and pressed fill.
  • Turn relationship-data positioning into generic AI copy that omits access, role, and organizational context.
05

Components

Cards

about-card
about-card
Background#ffffff
Radius24px
Padding24px
statesnon-interactive; three colour variants
Use: About-page 500px-wide card (li.l2024-c-CFKUv, color-white) at surface-2::li; the color-black variant fills #111111 and the color-trans variant rgba(255, 255, 255, 0.08)
accordion-item
accordion-item
Backgroundrgba(255, 255, 255, 0.08)
Radius24px
Padding24px
statescollapsed (capture 15, class open-false) and expanded (capture 13 and 14, class open-true) variants captured at rest; the expanded fill is rgba(255, 255, 255, 0.1); no pointer-state frame
Use: About-page accordion item (li role=button, l2024-c-bloTie) at surface-2::[data-omd-capture="15"]; the white-alpha fill implies a dark section, and the label style was not sampled separately
feature-card
feature-card
Backgroundrgba(17, 17, 17, 0.96)
Radius24px
Padding24px
size328px x 452px
statesnon-interactive; three colour variants
Use: About-page feature card (li.l2024-c-fMALsr, color-black, two occurrences) at surface-2::li; the color-gray variant fills rgba(17, 17, 17, 0.1) and the color-green variant #00dc3a
relationship-story-card
relationship-story-card
Backgroundrgba(255,255,255,0.04)
Border1px solid rgba(255,255,255,0.08)
Radius16px
Padding24px
Use: Non-interactive relationship-data story item observed on the public home surface

Buttons

carousel-arrow
Backgroundrgba(17, 17, 17, 0.08)
Radius50%
Padding0px
Hoverbg rgba(17, 17, 17, 0.12)
pressedbg rgba(17, 17, 17, 0.12)
size40px x 40px
statesrest, hover, and pressed sampled on the enabled arrow (capture 12); both frames record rgba(17, 17, 17, 0.12). The disabled arrow beside it (capture 11, same class) records the same two frames, which supports a settled value; the disabled arrow is given no state. Focus is not declared from the bundle: there is no focus frame, and the collector presses before it focuses
Use: About-page carousel arrow (button.l2024-c-lnBcZQ) at surface-2::[data-omd-capture="12"]; icon-only, its glyph colour was not sampled
gnb-menu-button
Backgroundtransparent
Text#111111
Radius8px
Padding8px
Text style14px / 700
statesdefault captured on six menu buttons per surface; no state frame and no menu-open record
Use: About-page global navigation menu button (button, variant-gnb) at surface-2::[data-omd-capture="2"]; the dark home header computes #ffffff text for the same buttons
lime-cta
Background#00ff44
Text#111111
Radius24px
Padding30px 44px
Text style17px / 700
statesdefault captured on both surfaces; no state frame
Use: High-emphasis marketing conversion link (a, variant-color, size-xl) at home::[data-omd-capture="13"]; /about repeats it at surface-2::[data-omd-capture="25"]
nav-action-outline
Backgroundtransparent
Text#111111
Border1px #111111
Radius8px
Padding8px 14px
Text style13px / 700
statesdefault captured on both surfaces; the capture holds no state frame for this action
Use: About-page global navigation secondary action (a, variant-border) at surface-2::[data-omd-capture="8"]; on the dark home header the same action computes #ffffff text and a 1px #ffffff border (home::[data-omd-capture="8"])
nav-action-solid
Background#111111
Text#ffffff
Radius8px
Padding8px 14px
Text style13px / 700
statesdefault captured on both surfaces; the capture holds no state frame for this action
Use: About-page global navigation primary action (a, variant-invert) at surface-2::[data-omd-capture="9"]; on the dark home header it inverts to a #ffffff fill with #111111 text (home::[data-omd-capture="9"])

Badges

new
new-badge
Background#ff4d00
Text#000000
Radius18px
Padding0px 8px
Text style12px / 700 / 16.56px
statesstatic label; no state frame
Use: Announcement-strip new badge (span, badgeType-new) at home::span; /about carries the same badge (surface-2::span)

Related design systems