Figma

A confident black-and-white editorial frame interrupted by oversized, hand-cut pastel color blocks. The marketing canvas is rigorously monochrome — figmaSans variable type, pure white surfaces, pure black ink, pill-shaped CTAs — while each story section drops the page into a saturated lime, lavender, cream, mint, or pink panel that reads like a sticky note placed on a clean desk. The result is a d

Homepage Example

Figma
ProductsSupportSign Up Free

Figma Pro

Next-generation innovation. Engineered for excellence.

Learn More
Feature A
Innovative
Feature B
Innovative
Feature C
Innovative
© 2026 Figma

Color Palette (20)

primary#000000
on-primary#ffffff
ink#000000
canvas#ffffff
inverse-canvas#000000
inverse-ink#ffffff
on-inverse-soft#ffffff
hairline#e6e6e6
hairline-soft#f1f1f1
surface-soft#f7f7f5
block-lime#dceeb1
block-lilac#c5b0f4
block-cream#f4ecd6
block-pink#efd4d4
block-mint#c8e6cd
block-coral#f3c9b6
block-navy#1f1d3d
accent-magenta#ff3d8b
semantic-success#1ea64a
overlay-scrim#000000

Typography (12)

Figma
display-xl86px · weight 340
Figma
display-lg64px · weight 340
Figma
headline26px · weight 540
Figma
subhead26px · weight 340
Figma
card-title24px · weight 700
Figma
body-lg20px · weight 330
Figma
body18px · weight 320
Figma
body-sm16px · weight 330
Figma
link20px · weight 480
Figma
button20px · weight 480
Figma
eyebrow18px · weight 400
Figma
caption12px · weight 400

Components (23)

button-primary
button-primary
button-primary-pressed
button-primary-pressed
button-secondary
button-secondary
button-tertiary-text
button-tertiary-text
button-icon-circular
button-icon-circular
button-icon-circular-inverse
button-icon-circular-inverse
button-magenta-promo
button-magenta-promo
pricing-tab-default
pricing-tab-default
pricing-tab-selected
pricing-tab-selected
text-input
text-input
text-input-focused
text-input-focused
pricing-card
pricing-card
pricing-card-feature-row
pricing-card-feature-row
color-block-section
color-block-section
color-block-section-lilac
color-block-section-lilac
color-block-section-navy
color-block-section-navy
promo-banner-lilac
promo-banner-lilac
template-card
template-card
feature-illustration-tile
feature-illustration-tile
top-nav
top-nav
marquee-strip
marquee-strip
comparison-checkmark
comparison-checkmark
footer
footer

Border Radius

xs (2px)
sm (6px)
md (8px)
lg (24px)
xl (32px)
pill (50px)
full (9999px)

Design Philosophy

Overview

Figma's marketing canvas is, at the system level, an editor-clean black-and-white frame. The chrome — top nav, body type, footer, primary CTA — is monochrome. Headlines are oversized `{typography.display-xl}` set in `figmaSans` with aggressive negative tracking, body copy hovers around weight 320–340 of the same variable family, and small mono `{typography.eyebrow}` and `{typography.caption}` labels (figmaMono, all-caps, positive tracking) act as section markers. Every CTA is a pill — `{rounded.pill}` — and the primary action across the entire site is the same black `{components.button-primary}` paired with the same white `{components.button-secondary}`.

What makes the design unique is what happens **between** those monochrome bookends: the page repeatedly drops into oversized pastel **color-block sections** — lime, lavender, cream, mint, pink, coral, and a deep navy — that span the full content width with `{rounded.lg}` corners and `{spacing.xxl}` interior padding. These blocks are where the storytelling lives. They aren't accents tucked into a card; they take over a whole viewport's worth of vertical space, like a designer arranging giant sticky notes on a clean wall. FigJam is the most pastel-saturated, the home page rotates through the full set, and the pricing page ends with a lime FAQ panel — same vocabulary, different rhythm per route.

This is a system built on contrast: the monochrome chrome makes the color blocks feel intentional rather than decorative, and the color blocks make the monochrome chrome feel like editorial paper rather than enterprise SaaS. Density is generous, line-heights are tight on display sizes, and the interface never reaches for shadows or gradients to do the work that color blocks and confident typography already do.

**Key Characteristics:**

  • Monochrome system core: `{colors.primary}` (black) and `{colors.canvas}` (white) carry every CTA, every body line, every footer link.
  • Oversized pastel **color-block sections** (`{colors.block-lime}`, `{colors.block-lilac}`, `{colors.block-cream}`, `{colors.block-mint}`, `{colors.block-pink}`, `{colors.block-coral}`, `{colors.block-navy}`) define the narrative rhythm of every long-form page.
  • Pill is the only button shape — `{rounded.pill}` for text CTAs, `{rounded.full}` for icon buttons. No square buttons anywhere.
  • `figmaSans` variable typeface used at unusually fine weight increments (320, 330, 340, 450, 480, 540) — the type system reads as a single voice that flexes rather than a multi-weight family.
  • Tight negative letter-spacing on display sizes (-1.72px at 86px, -0.96px at 64px) creates a confident editorial cadence.
  • `figmaMono` reserved for category labels, eyebrows, and captions — always uppercase, positive tracking — to flag taxonomy without competing with display type.
  • Color-block page rhythm (home): white hero → marquee strip → white feature → lime systems block → navy ship-products block → coral developer block → white template grid → white footer.

Colors

> Source pages: figma.com (home), /design/, /figjam/brainstorming-tool/, /pricing/, /contact/.

Brand & Accent

  • **Black** ({colors.primary}): The system primary. Every primary CTA, every headline, every body line, the marquee strip, the inverse canvas of dark sections.
  • **White** ({colors.on-primary}): Inverse text on black surfaces; also the canvas color used as the foreground of secondary pill buttons (`{components.button-secondary}`).
  • **Magenta Promo** ({colors.accent-magenta}): A single saturated CTA pink reserved for promotional inline buttons — appears, for example, on the lilac "Save your spot" Release Notes banner. Use scarcely; it is not a section color.

Surface

  • **Canvas** ({colors.canvas}): Default page background and the body of every white card.
  • **Inverse Canvas** ({colors.inverse-canvas}): Footer, marquee strip, and a subset of "ship products"-style story sections.
  • **Surface Soft** ({colors.surface-soft}): Off-white tile background used for icon buttons, template cards, and feature illustration tiles when they sit on the white canvas.
  • **Hairline** ({colors.hairline}): 1px borders on form inputs, pricing cards, and table dividers.
  • **Hairline Soft** ({colors.hairline-soft}): Even subtler dividers — comparison-table row separators and footer column rules.
  • **Block Lime** ({colors.block-lime}): The signature **systems / FAQ / contact-form** color block. Recurs across home, pricing, contact.
  • **Block Lilac** ({colors.block-lilac}): Hero block on `/design/`; also the inline Release Notes promo banner.
  • **Block Cream** ({colors.block-cream}): Soft warm background — FigJam hero strip, template-grid section.
  • **Block Mint** ({colors.block-mint}): FigJam pastel section.
  • **Block Pink** ({colors.block-pink}): FigJam pastel section.
  • **Block Coral** ({colors.block-coral}): "Ship products" coral story block on home.
  • **Block Navy** ({colors.block-navy}): Deep indigo story block — only place dark surfaces appear above the footer.

Text

  • **Ink** ({colors.ink}): All headline, body, and caption type on light surfaces. There is no softer mid-gray text role on marketing — body copy is always black at weight 320–340, and weight (not opacity) carries the hierarchy.
  • **Inverse Ink** ({colors.inverse-ink}): Type on inverse-canvas surfaces (footer, marquee strip, navy color block).
  • **On-Inverse Soft** ({colors.on-inverse-soft}): White used at ~16% opacity for circular icon-button surfaces against dark sections (token captures the base color; the translucency is applied at render time).

Semantic

  • **Success Green** ({colors.semantic-success}): Comparison-table checkmarks on pricing. Used as a glyph fill, not a surface.
  • **Overlay Scrim** ({colors.overlay-scrim}): Black used at ~60% opacity behind modal / video-overlay surfaces (token captures the base; opacity applied at render time).

Typography

Font Family

  • **figmaSans** — Figma's proprietary variable typeface; fallback stack `figmaSans Fallback, SF Pro Display, system-ui, helvetica`. Variable weight axis is exercised at unusually fine increments (320, 330, 340, 450, 480, 540, 700) — the design system reads as a single voice modulating rather than a stepped weight family.
  • **figmaMono** — Proprietary monospace; fallback `figmaMono Fallback, SF Mono, menlo`. Used exclusively for eyebrow labels and captions, always uppercase with positive letter-spacing.

OpenType `kern` is enabled across every role.

Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |

|---|---|---|---|---|---|

| `{typography.display-xl}` | 86px | 340 | 1.00 | -1.72px | Hero headlines (home, FigJam) |

| `{typography.display-lg}` | 64px | 340 | 1.10 | -0.96px | Section opener headlines |

| `{typography.headline}` | 26px | 540 | 1.35 | -0.26px | Story-block titles inside color blocks |

| `{typography.subhead}` | 26px | 340 | 1.35 | -0.26px | Long-form intro paragraphs that sit at near-headline scale |

| `{typography.card-title}` | 24px | 700 | 1.45 | 0 | Pricing-tier titles, feature card titles |

| `{typography.body-lg}` | 20px | 330 | 1.40 | -0.14px | Lead body copy on hero, contact form labels |

| `{typography.body}` | 18px | 320 | 1.45 | -0.26px | Default body |

| `{typography.body-sm}` | 16px | 330 | 1.45 | -0.14px | Card body, footer link list |

| `{typography.link}` | 20px | 480 | 1.40 | -0.10px | Inline link emphasis |

| `{typography.button}` | 20px | 480 | 1.40 | -0.10px | All pill buttons, primary and secondary |

| `{typography.eyebrow}` | 18px | 400 | 1.30 | 0.54px | figmaMono uppercase section eyebrows |

| `{typography.caption}` | 12px | 400 | 1.00 | 0.60px | figmaMono uppercase captions, footer column heads |

Principles

  • **Weight, not size, carries hierarchy on body copy.** A 20px paragraph at weight 330 sits next to a 20px link at weight 480 — the eye reads emphasis without scale change.
  • **Negative letter-spacing scales with size.** Display-xl pulls -1.72px; subhead pulls only -0.26px. Body copy stays near-zero. The result is editorial-feeling display type without sacrificing readability at body size.
  • **Mono is taxonomy, not body.** figmaMono is reserved for eyebrows and captions — never used to set a paragraph.
  • **Tight line-heights on display, generous on body.** Display sizes run 1.00–1.10; body runs 1.40–1.45. The contrast reinforces that headlines are graphics and body copy is for reading.

Note on Font Substitutes

If implementing without access to figmaSans / figmaMono, suitable open-source substitutes are **Inter** (or **Geist**) for the sans, and **JetBrains Mono** (or **Geist Mono**) for the mono. Inter at variable weights closely matches the fine-grained weight axis figmaSans uses; expect to manually adjust line-heights down by ~0.02 to compensate for Inter's slightly taller x-height.

Layout

Spacing System

  • **Base unit**: 8px.
  • **Tokens (front matter)**: `{spacing.hair}` 1px · `{spacing.xxs}` 4px · `{spacing.xs}` 8px · `{spacing.sm}` 12px · `{spacing.md}` 16px · `{spacing.lg}` 24px · `{spacing.xl}` 32px · `{spacing.xxl}` 48px · `{spacing.section}` 96px.
  • Section interior padding: `{spacing.xxl}` (48px) on color-block sections.
  • Card interior padding: `{spacing.lg}` (24px) on pricing cards and template tiles.
  • Form input padding: `{spacing.sm}` 12px vertical · 14px horizontal.
  • Button padding: `{spacing.xs}` 8px vertical · `{spacing.lg}` 24px horizontal for pill buttons (the asymmetric `8px 18px 10px` extracted on `button-secondary` nudges the type optically inside the pill).
  • Universal rhythm constant: `{spacing.section}` (96px) — the vertical gap between major content sections holds across home, pricing, and FigJam pages.

Grid & Container

  • Max content width sits around 1280px (one of the explicit breakpoints), with side gutters that scale from `{spacing.xxl}` on desktop down to `{spacing.lg}` on mobile.
  • Three- and four-column grids on the desktop pricing comparison and FigJam template galleries.
  • Color-block sections break the column grid — they span content width with full bleed inside the rounded `{rounded.lg}` corners, then place a single editorial column of headline + body inside.

Whitespace Philosophy

White space is used to make the color blocks feel deliberate. Between every colored panel and the next, the page returns to white canvas with `{spacing.section}` of breathing room. Inside a color block, the type itself is given generous side margins (often more than 1/4 of the block's width on each side) so the panel reads as a poster, not a wall of copy.

Elevation & Depth

| Level | Treatment | Use |

|---|---|---|

| 0 (flat) | No shadow, no border | Default for color-block sections, inverse-canvas footer, hero |

| 1 (hairline) | 1px `{colors.hairline}` border on `{colors.canvas}` | Pricing cards, form inputs, comparison table cells |

| 2 (soft elevation) | Subtle drop shadow approx 0 4px 16px rgba(0,0,0,0.06) | Floating template tiles, dropdown menus |

| 3 (modal) | Stronger shadow + `{colors.overlay-scrim}` behind | Video / image lightbox overlays |

Figma's marketing system is shadow-light by design — the color blocks substitute for traditional elevation. Where most SaaS sites use a shadowed white card to draw attention, Figma uses a saturated background panel. This makes the rare actual shadow (e.g., a floating template card hovering over a cream section) feel like an exception worth noticing.

Decorative Depth

  • **Color-block sections** are the primary depth device. The change from white canvas to lime / lavender / cream is the section break.
  • **Sticky-note style component thumbnails** in FigJam — slightly off-axis pastel rectangles arranged like notes on a board — read as collage, not card-stack.
  • **Embedded product UI mocks** (Figma Design panels, FigJam canvas snippets) appear as flat compositions on color blocks; their internal shadows are subtle and stay within the mock.

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.xs}` | 2px | Anchor / link decoration corners |

| `{rounded.sm}` | 6px | Small chips, sub-nav tabs |

| `{rounded.md}` | 8px | Form inputs, list items, image frames |

| `{rounded.lg}` | 24px | Pricing cards, color-block sections, large image containers |

| `{rounded.xl}` | 32px | Hero feature panels, oversized callouts |

| `{rounded.pill}` | 50px | All text CTAs (primary, secondary, tab toggles) |

| `{rounded.full}` | 9999px | Circular icon buttons, comparison-table checkmark glyphs |

Photography & Illustration Geometry

  • Image frames use `{rounded.md}` (8px) — generous enough to feel friendly, conservative enough to read as editorial.
  • Template thumbnails on the home grid sit in `{rounded.md}` tiles with `{spacing.md}` interior padding around the embedded preview.
  • FigJam pastel sticky-note component thumbnails preserve a small `{rounded.sm}` corner that mimics actual sticky paper.
  • No avatar circles appear in marketing surfaces — Figma's marketing avoids personification.

Components

Buttons

**`button-primary`** — The black "Get started for free" pill that appears in the top nav, every hero, and every closing CTA.

  • Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button}`, padding 10px 20px, rounded `{rounded.pill}`.
  • Pressed state lives in `button-primary-pressed` (same surface; the live site relies on micro-scale rather than a darkened fill).

**`button-secondary`** — White pill with black text. Used for tertiary navigation actions ("Contact sales") and as the visual counterpart to the primary pill.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.button}`, padding 8px 18px 10px (asymmetric vertical to optically center the type), rounded `{rounded.pill}`. No border.

**`button-tertiary-text`** — Plain text link styled as a button hit target inside top nav and footer.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.link}`, rounded `{rounded.full}` (hit target only), padding `{spacing.xs}` `{spacing.sm}`.

**`button-icon-circular`** — 40px circular icon button used for carousel controls, social links, and inline actions on light surfaces.

  • Background `{colors.surface-soft}`, text `{colors.ink}`, rounded `{rounded.full}`, size 40px.

**`button-icon-circular-inverse`** — Same shape, used on inverse-canvas / dark color blocks.

  • Background `{colors.on-inverse-soft}` (translucent white), text `{colors.inverse-ink}`, rounded `{rounded.full}`, size 40px.

**`button-magenta-promo`** — Saturated pink pill used only inside promotional surfaces such as the lilac "Save your spot" Release Notes banner. Reserved for moments where Figma's product team wants the CTA to pop against an already-colored panel.

  • Background `{colors.accent-magenta}`, text `{colors.on-primary}`, type `{typography.button}`, rounded `{rounded.pill}`, padding 10px 18px.

Pricing Tabs

**`pricing-tab-default`** + **`pricing-tab-selected`** — The pill-toggle that switches between Starter / Professional / Organization / Enterprise on `/pricing/`.

  • Default: `{colors.canvas}` background, `{colors.ink}` text, rounded `{rounded.pill}`.
  • Selected: `{colors.primary}` background, `{colors.on-primary}` text — exactly the same surface as `button-primary`, which makes the selected tab feel like an active CTA, not a passive state.

Inputs & Forms

**`text-input`** + **`text-input-focused`** — Form fields on `/contact/` and pricing seat-count steppers.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body}`, rounded `{rounded.md}`, padding 12px 14px.
  • Focused state retains the same surface — focus is communicated via ring, not via fill change.

Cards & Containers

**`pricing-card`** — Each tier on `/pricing/`.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body}`, rounded `{rounded.lg}`, padding `{spacing.lg}`. Stroked with `{colors.hairline}` rather than shadowed.

**`pricing-card-feature-row`** — Single row inside the comparison table.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body-sm}`. Row separator is `{colors.hairline-soft}`.

**`template-card`** — Thumbnail tile in the home "Explore what people are making" grid and the FigJam template gallery.

  • Background `{colors.surface-soft}`, text `{colors.ink}`, type `{typography.body-sm}`, rounded `{rounded.md}`, padding `{spacing.md}`.

**`feature-illustration-tile`** — Larger composition tile that holds a product UI mock or pastel illustration.

  • Background `{colors.surface-soft}`, text `{colors.ink}`, type `{typography.eyebrow}`, rounded `{rounded.md}`, padding `{spacing.lg}`.

Color-Block Sections (signature)

The defining surface of Figma's marketing. Each is a full-content-width panel with `{rounded.lg}` corners and `{spacing.xxl}` interior padding. Variants:

**`color-block-section`** — lime ground for "systems" stories (home), pricing FAQ, and the contact form.

  • Background `{colors.block-lime}`, text `{colors.ink}`, type `{typography.subhead}`, rounded `{rounded.lg}`, padding `{spacing.xxl}`.

**`color-block-section-lilac`** — lavender ground for `/design/` hero and FigJam highlight sections.

  • Background `{colors.block-lilac}`, otherwise identical structure.

**`color-block-section-navy`** — deep indigo ground for the home "Ship products" story block. The only inverse color-block surface above the footer.

  • Background `{colors.block-navy}`, text `{colors.inverse-ink}`, otherwise identical structure.

(Cream, mint, pink, and coral block variants follow the same shape with their respective `{colors.block-*}` surface.)

Promo Banner

**`promo-banner-lilac`** — The Release Notes / "Save your spot" inline banner that floats above the contact form.

  • Background `{colors.block-lilac}`, text `{colors.ink}`, type `{typography.body-sm}`, rounded `{rounded.md}`, padding `{spacing.md}` `{spacing.lg}`. Carries a `button-magenta-promo` on the right edge.

Navigation

**`top-nav`** — Sticky white bar with logo, primary nav links, sign-in link, and the right-anchored `button-secondary` ("Contact sales") + `button-primary` ("Get started for free") pair.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body-sm}`, height 56px.
  • Mobile: collapses primary links into a hamburger that opens a full-canvas overlay; the two pill CTAs remain visible on the bar.

**`marquee-strip`** — Thin black ribbon directly under the nav that scrolls through customer logos in white.

  • Background `{colors.inverse-canvas}`, text `{colors.inverse-ink}`, type `{typography.body-sm}`, height 36px.

Comparison Glyphs

**`comparison-checkmark`** — Green check used in the pricing comparison matrix.

  • Background `{colors.canvas}`, glyph color `{colors.semantic-success}`, rounded `{rounded.full}`, size 16px.

Footer

**`footer`** — Dense link grid on white canvas with the wordmark "Figma" set in display weight at the top-left.

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.caption}` for column headings and small links, padding `{spacing.section}` top/bottom · `{spacing.xl}` sides.

Do's and Don'ts

Do

  • Reserve `{colors.primary}` for genuine primary CTAs and selected states (e.g., `pricing-tab-selected`). Don't use it as a decorative accent.
  • When introducing a story section, choose **one** color block from the `{colors.block-*}` family and let it span full content width with `{rounded.lg}` corners and `{spacing.xxl}` interior padding.
  • Keep type in `figmaSans` at variable weights — pick from 320, 330, 340, 480, 540, 700 to express hierarchy. Avoid intermediate weights outside this set.
  • Use `figmaMono` only for eyebrows and captions, always uppercase, with the documented positive letter-spacing.
  • Compose every CTA as a pill (`{rounded.pill}`) and every icon button as a circle (`{rounded.full}`).
  • Allow the page to **return to white canvas** between every two color blocks so each block reads as deliberate.
  • Pair `button-primary` and `button-secondary` whenever a section needs both a primary action and a sales / secondary action — the black-and-white pair is the brand signature.

Don't

  • Don't introduce mid-gray text. Body hierarchy comes from `figmaSans` weight, not from opacity.
  • Don't add drop shadows to color-block sections — the color is the depth device.
  • Don't introduce new accent colors outside the documented `{colors.block-*}` palette and `{colors.accent-magenta}`. Adding, e.g., a saturated brand orange would break the system.
  • Don't combine more than one color block visible inside a single viewport — Figma's pacing always lets the white canvas separate them.
  • Don't square off CTAs. Square buttons read as a different brand.
  • Don't put `figmaMono` in body copy — it's a taxonomy tool, not a reading typeface.
  • Don't replace the `pricing-tab-selected` black fill with a colored tab; the brand pattern is "selected = primary surface".

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| 4k | 1920px | Max content width holds at 1280px; gutters expand |

| Desktop-XL | 1440px | Default desktop layout |

| Desktop | 1400px | Comparison table column widths normalize |

| Desktop-S | 1280px | Pricing 4-up tier grid maintained |

| Tablet | 960px | Pricing collapses 4-up → 2-up; nav becomes hamburger |

| Mobile-L | 768px | Color-block sections become full-bleed (no rounded corners on edges) |

| Mobile | 560px | Display-xl reduces from 86px to ~48px; pill CTAs go full-width |

| Mobile-XS | 559px | Two-column footer collapses to single column |

Touch Targets

  • Pill buttons (`button-primary`, `button-secondary`) maintain a minimum 44px tap height across all viewports — achieved by combining `{typography.button}` 20px line-height with the documented vertical padding.
  • Circular icon buttons (`button-icon-circular`) are 40px on desktop and grow to 44px on touch viewports.
  • Form input minimum tap target on `/contact/` is 48px high.

Collapsing Strategy

  • **Nav**: desktop horizontal nav with two right-anchored pills collapses to a hamburger overlay below 960px. The two pills (`Contact sales`, `Get started for free`) stay visible on the bar above 560px and stack in the overlay below.
  • **Pricing tier grid**: 4-up → 2-up at 960px → 1-up below 768px. The pill toggle stays horizontal and scrolls horizontally if needed below 560px.
  • **Color-block sections**: above 768px the section keeps `{spacing.xxl}` of canvas around it so the rounded corners read; below 768px the corners are removed and the block bleeds to viewport edge for a poster effect.
  • **Comparison table**: below 960px the matrix collapses into per-tier accordions to avoid horizontal scroll.

Image Behavior

  • Product UI mocks inside color blocks scale proportionally and never crop. Below 768px they shrink rather than reflow.
  • Template thumbnails in the home grid use lazy loading and animate in on scroll.
  • Sticky-note style FigJam thumbnails maintain their slight off-axis rotation across breakpoints — the rotation is a brand signal, not a desktop-only flourish.

Iteration Guide

1. Focus on ONE component at a time and reference it by its `components:` token name (e.g., `{components.button-primary}`, `{components.color-block-section}`).

2. When introducing a new section, decide **first** which `{colors.block-*}` token it sits on; the surface choice is the most consequential decision.

3. Default body type to `{typography.body}`; reach for `{typography.subhead}` or `{typography.headline}` only inside a color block.

4. Run `npx @google/design.md lint DESIGN.md` after edits — `broken-ref`, `contrast-ratio`, and `orphaned-tokens` warnings flag issues automatically.

5. Add new variants as separate component entries (`-pressed`, `-selected`) — do not bury them in prose.

6. Keep `{colors.primary}` scarce. If two `button-primary` instances appear in the same viewport, the section is doing too much — neutralize one to `button-secondary`.

7. Treat `{colors.accent-magenta}` as a single-shot color: one promo CTA per page, never two.

Known Gaps

  • The exact pastel hex values of `{colors.block-*}` are derived from screenshot pixels; the production source likely uses named tokens that aren't exposed via CSS variables. Treat the documented hex values as faithful approximations rather than exact brand specs.
  • Dark mode is not documented because the marketing site does not ship a dark theme — the closest analog is the navy color-block (`color-block-section-navy`) and the inverse-canvas footer.
  • Form-field error and validation styling is not visible on `/contact/` because no error states render in the static screenshot. Inputs have hairline borders and rounded `{rounded.md}` corners; error treatment is not documented.
  • The animated marquee-strip and color-block reveal animations are not documented (per the no-interaction policy).

개요

Figma의 마케팅 캔버스는 시스템 수준에서 편집기가 깨끗한 흑백 프레임입니다. 크롬(상단 탐색, 본문 유형, 바닥글, 기본 CTA)은 단색입니다. 헤드라인은 공격적인 네거티브 추적을 사용하여 `figmaSans`에 설정된 대형 `{typography.display-xl}`이고, 본문 카피는 동일한 변수 계열의 가중치 320~340을 가리키며, 작은 모노 `{typography.eyebrow}` 및 `{typography.caption}` 라벨(figmaMono, 모두 대문자, 포지티브 추적)이 섹션 마커 역할을 합니다. 모든 CTA는 알약(`{rounded.pill}`)이며 전체 사이트의 기본 작업은 동일한 흰색 `{comComponents.button-secondary}`와 쌍을 이루는 동일한 검정색 `{comComponents.button-primary}`입니다.

디자인을 독특하게 만드는 것은 단색 북엔드 **사이**에서 일어나는 일입니다. 페이지는 `{rounded.lg}` 모서리와 `{spacing.xxl}` 내부 패딩으로 전체 콘텐츠 너비에 걸쳐 있는 특대 파스텔 **컬러 블록 섹션**(라임, 라벤더, 크림, 민트, 핑크, 산호, 짙은 남색)으로 반복적으로 떨어집니다. 이 블록은 스토리텔링이 살아있는 곳입니다. 그것은 카드에 박혀 있는 액센트가 아닙니다. 디자이너가 깨끗한 벽에 거대한 스티커 메모를 배열하는 것처럼 뷰포트 전체의 수직 공간을 차지합니다. FigJam은 가장 파스텔톤으로 가득 차 있으며 홈 페이지는 전체 세트를 순환하며 가격 페이지는 라임 FAQ 패널로 끝납니다. 동일한 어휘, 경로당 다른 리듬입니다.

이는 대조를 기반으로 구축된 시스템입니다. 단색 크롬은 컬러 블록이 장식적이기보다는 의도적인 느낌을 주고, 컬러 블록은 흑백 크롬을 엔터프라이즈 SaaS가 아닌 사설 용지처럼 느끼게 합니다. 밀도는 넉넉하고, 선 높이는 디스플레이 크기에 빡빡하며, 인터페이스는 색상 블록과 자신감 넘치는 타이포그래피가 이미 수행하는 작업을 수행하기 위해 그림자나 그라데이션에 도달하지 않습니다.

**주요 특징:**

  • 단색 시스템 코어: `{colors.primary}`(검은색) 및 `{colors.canvas}`(흰색)는 모든 CTA, 모든 본문 라인, 모든 바닥글 링크를 전달합니다.
  • 대형 파스텔 **컬러 블록 섹션**(`{colors.block-lime}`, `{colors.block-lilac}`, `{colors.block-cream}`, `{colors.block-mint}`, `{colors.block-pink}`, `{colors.block-coral}`, `{colors.block-navy}`)은 모든 긴 형식 페이지의 내러티브 리듬을 정의합니다.
  • Pill은 유일한 버튼 모양입니다. 텍스트 CTA의 경우 `{rounded.pill}`, 아이콘 버튼의 경우 `{rounded.full}`입니다. 사각형 버튼은 어디에도 없습니다.
  • 비정상적으로 미세한 두께 증분(320, 330, 340, 450, 480, 540)으로 사용되는 'figmaSans' 가변 서체 — 유형 시스템은 다중 가중치 계열이 아닌 유연한 단일 음성으로 읽힙니다.
  • 디스플레이 크기의 음수 문자 간격(86px에서 -1.72px, 64px에서 -0.96px)을 조밀하게 사용하면 자신감 있는 편집 흐름을 만들 수 있습니다.
  • 카테고리 레이블, 눈썹 및 캡션(항상 대문자, 포지티브 추적)용으로 예약된 `figmaMono`는 디스플레이 유형과 경쟁하지 않고 분류에 플래그를 지정합니다.
  • 컬러 블록 페이지 리듬(홈): 흰색 영웅 → 마퀴 스트립 → 흰색 기능 → 라임 시스템 블록 → 해군 선박 제품 블록 → 산호 개발자 블록 → 흰색 템플릿 그리드 → 흰색 바닥글.

색상

> 소스 페이지: figma.com(홈), /design/, /figjam/brainstorming-tool/, /pricing/, /contact/.

브랜드 및 액센트

  • **검정색** ({colors.primary}): 시스템 기본입니다. 모든 기본 CTA, 모든 헤드라인, 모든 본문 라인, 선택 윤곽 스트립, 어두운 부분의 역 캔버스.
  • **흰색** ({colors.on-primary}): 검은색 표면에 반전된 텍스트입니다. 또한 보조 알약 버튼(`{comComponents.button-secondary}`)의 전경으로 사용되는 캔버스 색상입니다.
  • **마젠타 프로모션**({colors.accent-magenta}): 프로모션 인라인 버튼용으로 예약된 단일 포화 CTA 핑크 — 예를 들어 라일락색 "위치 저장" 릴리스 노트 배너에 표시됩니다. 거의 사용하지 않음; 섹션 색상이 아닙니다.

표면

  • **캔버스** ({colors.canvas}): 기본 페이지 배경과 모든 흰색 카드의 본문입니다.
  • **역 캔버스**({colors.inverse-canvas}): 바닥글, 선택 윤곽 스트립 및 "배송 제품" 스타일 스토리 섹션의 하위 집합입니다.
  • **Surface Soft** ({colors.surface-soft}): 아이콘 버튼, 템플릿 카드, 기능 일러스트레이션 타일이 흰색 캔버스에 있을 때 사용되는 미색 타일 배경입니다.
  • **헤어라인**({colors.hairline}): 양식 입력, 가격 카드 및 표 구분선에 1px 테두리가 있습니다.
  • **Hairline Soft** ({colors.hairline-soft}): 더욱 미묘한 구분선 — 비교표 행 구분 기호 및 바닥글 열 규칙.
  • **Block Lime** ({colors.block-lime}): 시그니처 **systems / FAQ / contact-form** 컬러 블록입니다. 집 전체, 가격, 연락처에서 반복됩니다.
  • **Block Lilac** ({colors.block-lilac}): `/design/`의 영웅 블록; 인라인 릴리스 노트 프로모션 배너도 있습니다.
  • **블록 크림**({colors.block-cream}): 부드럽고 따뜻한 배경 — FigJam 히어로 스트립, 템플릿 그리드 섹션.
  • **블록민트** ({colors.block-mint}): FigJam 파스텔 섹션.
  • **블록 핑크** ({colors.block-pink}): FigJam 파스텔 섹션.
  • **블록 산호** ({colors.block-coral}): 집에 "제품 배송" 산호 이야기 블록입니다.

概要

Figma のマーケティング キャンバスは、システム レベルでは、エディターのきれいな白黒フレームです。クロム (トップ ナビゲーション、ボディ タイプ、フッター、プライマリ CTA) はモノクロです。見出しは、積極的なネガティブ トラッキングを備えた「figmaSans」で設定された特大の「{typography.display-xl}」、ボディ コピーは同じ変数ファミリーのウェイト 320 ~ 340 の周りに浮かんでおり、小さなモノラルの「{typography.eyebrow}」と「{typography.caption}」のラベル (figmaMono、すべて大文字、ポジティブ トラッキング) がセクション マーカーとして機能します。すべての CTA は丸薬 — `{rounded.pill}` — であり、サイト全体の主なアクションは、同じ黒の `{components.button-primary}` と同じ白の `{components.button-secondary}` を組み合わせたものです。

このデザインをユニークなものにしているのは、これらのモノクロのブックエンド**の間**で起こっていることです。ページは、特大のパステルカラーの**カラーブロックセクション** (ライム、ラベンダー、クリーム、ミント、ピンク、コーラル、深いネイビー) に繰り返し落ちます。これらのセクションは、`{rounded.lg}` の角と `{spacing.xxl}` の内側のパディングを備えたコンテンツ幅全体に広がっています。これらのブロックは、ストーリーテリングが存在する場所です。それらはカードに組み込まれたアクセントではありません。デザイナーがきれいな壁に巨大な付箋を並べるように、ビューポート全体に相当する垂直方向のスペースを占有します。 FigJam はパステルが最も多く含まれており、ホームページはフルセットを通して順番に表示され、価格設定ページはライムの FAQ パネルで終わります。同じ語彙、ルートごとに異なるリズムです。

これはコントラストに基づいて構築されたシステムです。モノクロ クロムはカラー ブロックを装飾的ではなく意図的に感じさせ、カラー ブロックはモノクロ クロムをエンタープライズ SaaS ではなく編集用紙のように感じさせます。密度は十分で、行の高さはディスプレイ サイズに対してタイトで、インターフェイスはカラー ブロックや信頼性の高いタイポグラフィがすでに行っている作業を実行するために影やグラデーションを使用することはありません。

**主な特徴:**

  • モノクロ システム コア: `{colors.primary}` (黒) および `{colors.canvas}` (白) には、すべての CTA、すべての本文行、すべてのフッター リンクが含まれます。
  • 特大のパステル **カラーブロック セクション** (`{colors.block-lime}`、`{colors.block-lilac}`、`{colors.block-cream}`、`{colors.block-mint}`、`{colors.block-pink}`、`{colors.block-coral}`、`{colors.block-navy}`) は、すべての長編ページの物語のリズムを定義します。
  • Pill は唯一のボタン形状です。テキスト CTA の場合は `{rounded.pill}`、アイコン ボタンの場合は `{rounded.full}` です。四角ボタンはどこにもありません。
  • `figmaSans` 可変書体は、異常に細かいウェイト増分 (320、330、340、450、480、540) で使用されます。タイプ システムは、マルチウェイト ファミリではなく、屈曲する単一の音声として読み取られます。
  • 表示サイズ上の狭い負の文字間隔 (86 ピクセルで -1.72 ピクセル、64 ピクセルで -0.96 ピクセル) により、自信に満ちた編集のリズムが生まれます。
  • `figmaMono` は、表示タイプと競合せずに分類にフラグを立てるために、カテゴリ ラベル、眉毛、およびキャプション用に予約されています (常に大文字、ポジティブ トラッキング)。
  • カラーブロック ページのリズム (ホーム): 白のヒーロー → マーキー ストリップ → 白のフィーチャー → ライム システム ブロック → 海軍船舶製品ブロック → コーラル開発者ブロック → 白のテンプレート グリッド → 白のフッター。

> ソース ページ: figma.com (ホーム)、/design/、/figjam/brainstorming-tool/、/pricing/、/contact/。

ブランドとアクセント

  • **黒** ({colors.primary}): システムのプライマリ。すべての主要 CTA、すべての見出し、すべての本文ライン、マーキー ストリップ、暗いセクションの逆キャンバス。
  • **白** ({colors.on-primary}): 黒い表面上の反転テキスト。また、2 番目のピル ボタン (`{components.button-secondary}`) の前景として使用されるキャンバスの色も含まれます。
  • **マゼンタ プロモーション** ({colors.accent-magenta}): プロモーション インライン ボタン用に予約された単一の飽和 CTA ピンク — たとえば、薄紫色の「Save your Spot」リリース ノート バナーに表示されます。ほとんど使用しないでください。セクションカラーではありません。

表面

  • **キャンバス** ({colors.canvas}): デフォルトのページ背景とすべての白いカードの本文。
  • **反転キャンバス** ({colors.inverse-canvas}): フッター、マーキー ストリップ、および「出荷製品」スタイルのストーリー セクションのサブセット。
  • **Surface Soft** ({colors.surface-soft}): アイコン ボタン、テンプレート カード、およびフィーチャー イラスト タイルが白いキャンバス上に配置されるときに使用される、オフホワイトのタイル背景。
  • **ヘアライン** ({colors.hairline}): フォーム入力、価格設定カード、テーブルの区切り線に 1 ピクセルの境界線を付けます。
  • **Hairline Soft** ({colors.hairline-soft}): さらに微妙な区切り線 - 比較テーブルの行区切り文字とフッター列ルール。
  • **ブロック ライム** ({colors.block-lime}): **システム/FAQ/お問い合わせフォーム**の特徴的なカラー ブロック。自宅、価格設定、連絡先全体で繰り返されます。
  • **ブロック ライラック** ({colors.block-lilac}): `/design/` のヒーロー ブロック。インライン リリース ノートのプロモーション バナーも表示されます。
  • **ブロック クリーム** ({colors.block-cream}): 柔らかく温かみのある背景 — FigJam ヒーロー ストリップ、テンプレート グリッド セクション。
  • **ブロック ミント** ({colors.block-mint}): FigJam パステル セクション。
  • **ブロック ピンク** ({colors.block-pink}): FigJam パステル セクション。
  • **ブロックコーラル** ({colors.block-coral}): ホーム上の「製品の出荷」サンゴストーリーブロック。