Ollama

An almost defiantly minimal documentation-first system that treats the home page like a Markdown README — paper-white canvas, 36px center-aligned heading, a single black pill CTA, an inline terminal install snippet, and a hand-drawn llama mascot as the only ornamental element. No gradient, no hero photography, no marketing pyrotechnics. The chrome is a tiny utility palette of pure black, pure whit

Homepage Example

Ollama
Features About Sign Up Free

Welcome to Ollama

A modern, elegant design system built for the digital age.

Get Started Learn More
Pixel Perfect
Every element is carefully crafted for consistency across all platforms.
Design Tokens
A comprehensive token system that makes scaling effortless.
Built for Teams
Collaborate seamlessly using a shared design language.
© 2026 Ollama

Color Palette (19)

primary#000000
on-primary#ffffff
ink#000000
ink-deep#090909
charcoal#525252
body#737373
mute#a3a3a3
canvas#ffffff
surface-soft#fafafa
surface-card#ffffff
hairline#e5e5e5
hairline-strong#d4d4d4
on-dark#ffffff
surface-dark#171717
link#000000
link-mute#737373
terminal-red#ff5f56
terminal-yellow#ffbd2e
terminal-green#27c93f

Typography (13)

Ollama
display-xl36px · weight 500
Ollama
display-lg30px · weight 500
Ollama
heading-lg24px · weight 600
Ollama
heading-md20px · weight 500
Ollama
heading-sm18px · weight 500
Ollama
body-md16px · weight 400
Ollama
body-strong16px · weight 500
Ollama
body-sm14px · weight 400
Ollama
body-sm-strong14px · weight 500
Ollama
caption-sm12px · weight 400
Ollama
code-md16px · weight 400
Ollama
code-sm14px · weight 400
Ollama
button-md14px · weight 500

Components (22)

button-primary
button-primary
button-primary-active
button-primary-active
button-secondary
button-secondary
button-pill-on-dark
button-pill-on-dark
button-disabled
button-disabled
search-pill
search-pill
search-pill-focused
search-pill-focused
text-input
text-input
text-input-focused
text-input-focused
install-snippet
install-snippet
command-tag
command-tag
terminal-card
terminal-card
terminal-traffic-lights
terminal-traffic-lights
pricing-card
pricing-card
pricing-card-dark
pricing-card-dark
feature-bullet
feature-bullet
faq-row
faq-row
link-inline
link-inline
link-mute
link-mute
primary-nav
primary-nav
footer-section
footer-section
cta-strip-dark
cta-strip-dark

Border Radius

none (0px)
sm (6px)
md (8px)
lg (12px)
full (9999px)

Design Philosophy

Overview

Ollama's site is the most aggressively under-designed marketing surface in the AI tooling space, and that is the entire point. The home page reads like a Markdown README rendered with care: a 36px center-aligned heading sits above an inline `curl` install snippet inside a soft-gray pill, a single black "Download" CTA, and a hand-drawn llama mascot as the only ornament. Everything else — automate-your-work block, "Start local. Scale cloud." pricing pair, "Your data stays yours" guarantee strip, FAQ wall on `/pricing` — sits on the same paper-white canvas (`{colors.canvas}`) with quiet `{colors.body}` neutrals carrying the prose. The system is the documentation, and the documentation is the system.

The design philosophy is geometric: every interactive element collapses to `{rounded.full}` (9999px) — buttons, search pills, install-snippet pills, text inputs, and the terminal-traffic-light dots. There are no decorative drop shadows, no gradients, no hero illustrations beyond the llama. Cards (the rare ones, on `/pricing`) use a soft `{rounded.lg}` (12px) and a 1px hairline. The single inverted moment in the entire system is the dark "Max" pricing tier — `{colors.surface-dark}` with white text — which acts as the only attention-grabbing surface in an otherwise studiously flat layout.

Typography pairs SF Pro Rounded (display headings, weight 500–600) with the operating system's default sans (`ui-sans-serif`) for body and `ui-monospace` for code. The roundness of the heading face is the only "personality" the chrome carries — it gently echoes the `{rounded.full}` button geometry without being decorative about it.

**Key Characteristics:**

  • Paper-white `{colors.canvas}` end-to-end with no surface alternation — the whole page is one continuous sheet
  • Center-aligned hero with `{typography.display-xl}` SF Pro Rounded headline, no eyebrow, no subhead beyond a small "Power OpenClaw with Ollama" line under the llama
  • Pill geometry everywhere: every button and pill input is `{rounded.full}`; cards use `{rounded.lg}`; nothing is sharp-cornered except section dividers
  • Single-color CTA system: pure black `{colors.primary}` pills carry every action; "Get Pro" / "Get Max" inside pricing cards are the only variations
  • Inline `curl` install snippet rendered as a pill with `{typography.code-md}` — the most signature element, sitting directly under the hero headline
  • Terminal-mockup card with macOS traffic-light dots and inline `ollama launch openclaw` example — the home page's only "product preview"
  • Inverted dark `{component.pricing-card-dark}` for the highest-tier "Max" plan, breaking the flat-white rhythm exactly once per page

Colors

> **Source pages:** `/` (home) and `/pricing`. The chrome palette is identical across both — only content changes.

Brand & Accent

  • **Pure Black** (`{colors.primary}` — `#000000`): the brand. Every primary CTA, every black pill, every link in the nav, and every solid icon. There is no other "brand color."
  • **Ink Deep** (`{colors.ink-deep}` — `#090909`): pressed-state black for the primary pill — a single notch below pure.

Surface

  • **Canvas** (`{colors.canvas}` — `#ffffff`): the page itself. Nearly every surface in the system.
  • **Soft Surface** (`{colors.surface-soft}` — `#fafafa`): install-snippet pill background, search pill, secondary chip backgrounds, alternating row fill where one is needed.
  • **Surface Dark** (`{colors.surface-dark}` — `#171717`): the dark "Max" pricing card and dark CTA strips. The single inverted surface in the system.
  • **Hairline** (`{colors.hairline}` — `#e5e5e5`): 1px card border, divider line above footer, divider between FAQ rows.
  • **Hairline Strong** (`{colors.hairline-strong}` — `#d4d4d4`): rare slightly stronger divider where extra separation is needed (e.g., between unrelated FAQ groups).

Text

  • **Ink** (`{colors.ink}` — `#000000`): all headlines, primary nav links, button text on light surfaces, prices on pricing cards.
  • **Charcoal** (`{colors.charcoal}` — `#525252`): list-item text and disabled-state secondary copy.
  • **Body** (`{colors.body}` — `#737373`): default body color for paragraph copy, FAQ answers, footer link text — the system's most-used text color after pure black.
  • **Mute** (`{colors.mute}` — `#a3a3a3`): caption text, command-line "comment" gray inside terminal mockups, lowest-emphasis utility text.
  • **On Dark** (`{colors.on-dark}` — `#ffffff`): primary text on `{colors.surface-dark}`.
  • **On Dark Mute** (`{colors.on-dark-mute}` — `rgba(255,255,255,0.7)`): secondary copy inside the dark "Max" pricing card.

Semantic

The system has effectively no error/success/warning palette in its public marketing surfaces — there are no validation states, no destructive flows, no banners. The only "semantic" colors are the macOS terminal traffic lights inside the terminal mockup:

  • **Terminal Red** (`{colors.terminal-red}` — `#ff5f56`): close-window dot.
  • **Terminal Yellow** (`{colors.terminal-yellow}` — `#ffbd2e`): minimize dot.
  • **Terminal Green** (`{colors.terminal-green}` — `#27c93f`): zoom dot.

These appear only inside `{component.terminal-card}` and have no other use.

Focus

  • **Focus Ring** (`{colors.focus-ring}` — `rgba(59,130,246,0.5)`): translucent blue browser-default focus ring around interactive elements. The only blue in the system.

Typography

Font Family

  • **SF Pro Rounded** (display headings) — Apple's rounded geometric sans, used at weights 500 and 600 for headlines from `{typography.display-xl}` (36px) down to `{typography.heading-lg}` (24px). Falls back to `system-ui` → `-apple-system`.
  • **ui-sans-serif** (body, links, buttons, captions) — the operating system's default sans-serif. Carries every non-display text role at 12–20px. Falls back through `system-ui` and platform emoji families.
  • **ui-monospace** (code, install snippet, command tags) — the OS default monospace. Used inside the terminal mockup, the inline `curl` install pill, and any inline `<code>` formatting. Falls back to SFMono-Regular → Menlo → Monaco → Consolas.

The pairing of SF Pro Rounded display + system sans body + system mono code is intentionally "stock Apple" — the design decision is to not have a typography decision. Branded display faces would compete with the system's documentation feel.

Hierarchy

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

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

| `{typography.display-xl}` | 36px | 500 | 1.11 | 0 | Hero headline ("The easiest way to build with open models") |

| `{typography.display-lg}` | 30px | 500 | 1.2 | 0 | Major section headlines ("Pricing", "Frequently asked questions") |

| `{typography.heading-lg}` | 24px | 600 | 1.33 | 0 | Section subheading inside body ("Automate your work", "Start local. Scale cloud.") |

| `{typography.heading-md}` | 20px | 500 | 1.4 | 0 | Pricing tier name ("Free", "Pro", "Max"), card title |

| `{typography.heading-sm}` | 18px | 500 | 1.56 | 0 | FAQ question label, in-card subtitle |

| `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Default body, FAQ answers, paragraph copy |

| `{typography.body-strong}` | 16px | 500 | 1.5 | 0 | Inline emphasis, primary-nav link |

| `{typography.body-sm}` | 14px | 400 | 1.43 | 0 | Feature bullet ("Access larger models on data-center-grade hardware"), footer link |

| `{typography.body-sm-strong}` | 14px | 500 | 1.43 | 0 | Button label, pricing-card eyebrow ("Solve harder tasks, faster") |

| `{typography.caption-sm}` | 12px | 400 | 1.33 | 0 | Footer copyright row, smallest meta text |

| `{typography.code-md}` | 16px | 400 | 1.5 | 0 | Install-snippet `curl` line, in-terminal command |

| `{typography.code-sm}` | 14px | 400 | 1.43 | 0 | Terminal output line, inline `<code>` chips |

| `{typography.button-md}` | 14px | 500 | 1 | 0 | Every button label across the system |

Principles

The typography is built for legibility at small sizes on a flat-white canvas. SF Pro Rounded's softened terminals on the heading face do almost all of the brand expression; everything below 20px collapses into the operating system's default sans, which renders identically to the way docs.ollama.com and the Ollama CLI's own help text would appear in a terminal. There is almost no letter-spacing variation, no display-only weights, no italic, and the heading-to-body ratio compresses tightly (36 → 30 → 24 → 20 → 16) so the page reads as a single readable column rather than a marketing pyramid.

Note on Font Substitutes

SF Pro Rounded is Apple-licensed and ships only on macOS/iOS. On other systems it falls back to `system-ui` (Segoe UI / Roboto / DejaVu Sans depending on platform) — Ollama explicitly accepts that the heading face will look slightly different on Windows/Linux. The closest open-source substitute is **Nunito** (rounded geometric sans, weights 500/600). For the body face, **Inter** is a near-perfect match for `system-ui` rendered metrics. For code, **JetBrains Mono** or **Fira Code** are the canonical open-source substitutes for `ui-monospace`.

Layout

Spacing System

  • **Base unit:** 8px (with finer 2/4/6px steps available for tight inline gaps)
  • **Tokens (front matter):** `{spacing.xxs}` (2px) · `{spacing.xs}` (4px) · `{spacing.sm}` (8px) · `{spacing.md}` (12px) · `{spacing.lg}` (16px) · `{spacing.xl}` (24px) · `{spacing.xxl}` (32px) · `{spacing.section}` (88px)
  • **Universal section rhythm:** every page uses `{spacing.section}` (88px) as the vertical gap between major content blocks (hero → automate → start local/scale cloud → your data stays yours → get-started footer call). This is the single largest spacing token in the system and it is used liberally.
  • **Card internal padding:** pricing cards sit at `{spacing.xxl}` (32px) all around; FAQ rows use `{spacing.lg}` (16px) vertical with no horizontal padding.

Grid & Container

  • **Max width:** ~720px content column on the home page (the whole page is laid out as a single narrow reading column with optional 2-column splits inside specific sections).
  • **Pricing grid:** 3-up cards at desktop with a max content width of ~960px; collapses to 1-up below 768px.
  • **Automate-your-work split:** desktop 50/50 left-text/right-terminal-mockup; mobile stacks vertical with the terminal below the text.
  • **FAQ:** single-column stacked rows, full-width within the 720px content column.
  • **Footer:** single-row of small body-sm links, center-aligned at desktop, wrapping to two rows on narrow screens.

Whitespace Philosophy

Whitespace is the entire layout. Sections are separated by 88px of plain white air, never by decorative dividers, never by colored bands. Inside a section, content sits in a tight reading column with no decorative columns, callout boxes, or lifted cards. The site treats the page as a long-form Markdown document, and the air between sections is the equivalent of a blank line in Markdown source.

Elevation & Depth

| Level | Treatment | Use |

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

| 0 — Flat | No border, no shadow | Hero, automate-your-work, your-data-stays-yours, footer — the dominant treatment across the page |

| 1 — Hairline border | 1px solid `{colors.hairline}` | Pricing cards, FAQ row dividers, terminal mockup card |

| 2 — Inverted dark | `{colors.surface-dark}` fill | Dark "Max" pricing card and dark CTA strip — the system's only "elevated" surfaces use color, not shadow |

The system has no drop-shadow elevation at all. Nothing lifts, nothing floats, nothing layers. The only depth cue beyond hairline borders is the single dark surface used on the highest-tier pricing card to draw attention to it.

Decorative Depth

The site has effectively zero decorative depth in the traditional sense. The "depth" comes entirely from two recurring devices:

  • **The hand-drawn llama mascot** — appearing once at the top of the hero, once at the top of each pricing card, and once next to the lock icon in the "Your data stays yours" section. It is the only illustration in the system.
  • **A single line-drawn lock icon** — used in the data-privacy section. Stroke-only, no fill, drawn in `{colors.ink}`.

Shapes

Border Radius Scale

| Token | Value | Use |

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

| `{rounded.none}` | 0px | Nav, footer, FAQ row dividers — flat structural lines |

| `{rounded.sm}` | 6px | Inline code chips, command tags |

| `{rounded.md}` | 8px | Rare medium-radius surfaces (e.g., dropdown panels) |

| `{rounded.lg}` | 12px | Pricing cards, terminal mockup card |

| `{rounded.full}` | 9999px | Every button, every pill input, install-snippet pill, search pill, traffic-light dots |

The dominant shape vocabulary is just two values: pills (`{rounded.full}`) for everything interactive and 12px (`{rounded.lg}`) for the few cards in the system. There are no medium-radius "soft cards" — surfaces are either pills or rectangles with corners large enough to read as deliberately soft.

Photography Geometry

There is no photography. The only image-like elements are:

  • **The llama mascot** — a hand-drawn line illustration, ~80–120px on the hero, ~32–48px when it appears as a pricing-card eyebrow icon.
  • **The lock icon** — single stroke line drawing in the privacy section.
  • **macOS traffic-light dots** — three filled circles at 12px (`{rounded.full}`) inside the terminal mockup card.

Components

> **No hover states documented** per system policy. Each spec covers Default and Active/Pressed only.

Buttons

**`button-primary`** — the universal Ollama CTA

  • Background `{colors.primary}`, text `{colors.on-primary}`, type `{typography.button-md}`, padding `8px 20px`, height `36px`, rounded `{rounded.full}`.
  • Used for "Download" (top nav), "Sign in" (top nav, paired with Download), "Create account", "Get Pro", "Get Max" — every primary action in the system.
  • Pressed state lives in `button-primary-active` — background drops to `{colors.ink-deep}`.

**`button-secondary`** — outline alternative on light canvas

  • Background `{colors.canvas}`, text `{colors.ink}`, 1px solid `{colors.hairline-strong}`, type `{typography.button-md}`, padding `8px 20px`, height `36px`, rounded `{rounded.full}`.
  • Used as a secondary affordance — e.g., the "Sign in" pill in the top nav when paired with the black "Download" pill, "See more apps →" arrow link in compact form.

**`button-pill-on-dark`** — white pill on dark surface

  • Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.button-md}`, rounded `{rounded.full}`.
  • Sits inside the dark "Max" pricing card as the "Get Max" CTA — inverts the standard primary so the dark card itself becomes the visual anchor and the white pill reads as the CTA.

**`button-disabled`**

  • Background `{colors.surface-soft}`, text `{colors.mute}`, rounded `{rounded.full}` — flat soft gray.

Inputs & Forms

**`search-pill`** + **`search-pill-focused`**

  • Default: background `{colors.surface-soft}`, text `{colors.ink}`, type `{typography.body-sm}`, padding `8px 16px`, height `36px`, rounded `{rounded.full}`. Anchored in the center of the primary nav with a small magnifier icon prefix and "Search models" placeholder.
  • Focused: background flips to `{colors.canvas}` and the browser-default `{colors.focus-ring}` translucent blue ring appears.

**`text-input`** + **`text-input-focused`**

  • Default: background `{colors.canvas}`, 1px solid `{colors.hairline}`, type `{typography.body-md}`, padding `8px 16px`, height `40px`, rounded `{rounded.full}`.
  • Focused: 1px ink border + browser-default focus ring.

**`install-snippet`** — the signature install pill

  • Background `{colors.surface-soft}`, text `{colors.ink}` rendered in `{typography.code-md}`, padding `12px 20px`, height `48px`, rounded `{rounded.full}`.
  • Contains the literal `curl -fsSL https://ollama.com/install.sh | sh` install command with a small copy-icon at the right edge. Sits directly below the hero headline as the page's most prominent "CTA."

**`command-tag`** — small inline command chip

  • Background `{colors.surface-soft}`, text `{colors.ink}` in `{typography.code-sm}`, padding `6px 12px`, rounded `{rounded.full}`.
  • Used inside the "Automate your work" section for the `ollama launch openclaw` example chip and similar inline-command demos.

Cards & Containers

**`terminal-card`** — the home page's only "product preview"

  • Container: background `{colors.canvas}`, 1px solid `{colors.hairline}`, padding `{spacing.lg}` (16px), rounded `{rounded.lg}`.
  • Header: three `{component.terminal-traffic-lights}` dots (red/yellow/green at 12px) anchored to the top-left of the card.
  • Body: terminal output rendered in `{typography.code-sm}` with comments in `{colors.mute}` and active commands in `{colors.ink}`.

**`terminal-traffic-lights`**

  • Three 12px filled circles at `{rounded.full}`: `{colors.terminal-red}`, `{colors.terminal-yellow}`, `{colors.terminal-green}`. Sits as a row of three with `{spacing.xs}` gaps between dots inside the terminal card header.

**`pricing-card`** — Free / Pro tiers

  • Container: background `{colors.canvas}`, 1px solid `{colors.hairline}`, padding `{spacing.xxl}` (32px), rounded `{rounded.lg}`.
  • Layout: small llama mascot icon (~32px) at top, tier name in `{typography.heading-md}`, one-line tier description, large price in `{typography.display-lg}` (`$0` / `$20`), single `{component.button-primary}` CTA, divider, `{typography.body-sm-strong}` "Everything in Free, plus:" header, list of `{component.feature-bullet}` rows.

**`pricing-card-dark`** — Max tier (inverted)

  • Identical layout to `pricing-card` but with `{colors.surface-dark}` background, `{colors.on-dark}` text, `{colors.on-dark-mute}` secondary text, and `{component.button-pill-on-dark}` CTA. The inversion is the system's single "look here" cue.

**`feature-bullet`** — pricing card list item

  • Inline `✓` checkmark at `{colors.ink}` followed by `{typography.body-sm}` text in `{colors.charcoal}`. No background, no border, just stacked rows with `{spacing.sm}` between them.

**`faq-row`** — `/pricing` FAQ entry

  • Container: background `{colors.canvas}`, padding `16px 0`, 1px bottom border `{colors.hairline}`.
  • Question: `{typography.heading-sm}` (18px / 500) in `{colors.ink}`.
  • Answer: `{typography.body-md}` (16px / 400) in `{colors.body}`, sitting directly below the question with `{spacing.xs}` gap. Always expanded — no accordion collapse.

**`cta-strip-dark`** — rare dark CTA band

  • Background `{colors.surface-dark}`, text `{colors.on-dark}` in `{typography.heading-lg}`, padding `24px 32px`, rounded `{rounded.lg}`. Used sparingly between sections.

Inline

**`link-inline`** — body-prose anchor link

  • `{colors.ink}` text with underline. Default decoration is `text-decoration: underline`.

**`link-mute`** — secondary anchor in long-form prose

  • `{colors.body}` text with underline appearing on default — used in FAQ answers ("see [hello@ollama.com](mailto:)") and footer.

Navigation

**`primary-nav`**

  • Background `{colors.canvas}`, text `{colors.ink}`, height 56px, type `{typography.body-sm-strong}`, rounded `{rounded.none}`.
  • Layout (desktop): llama icon (left) followed by "Models · Docs · Pricing" text links, centered `{component.search-pill}`, and a right cluster of "Sign in" + black `{component.button-primary}` "Download".

**Top Nav (Mobile)**

  • Llama icon at left, hamburger drawer trigger at right. Search pill expands to full-width when triggered. The drawer lists "Models · Docs · Pricing · Sign in · Download" stacked vertically with `{spacing.lg}` row gaps.

Footer

**`footer-section`**

  • Background `{colors.canvas}`, 1px top border `{colors.hairline}`, padding `32px 24px`, type `{typography.caption-sm}` `{colors.body}`.
  • Single horizontal row of small links: "Download · Blog · Docs · GitHub · Discord · X · Contact · Privacy · Terms" + a "© 2026 Ollama" copyright at the right edge. Wraps to two rows on narrow screens.

Do's and Don'ts

Do

  • Treat the page like a Markdown document: single reading column, plenty of `{spacing.section}` air between sections, no decorative dividers.
  • Use `{component.button-primary}` (black pill) for every primary action. There is no green, no blue, no brand-tinted CTA.
  • Default to `{rounded.full}` for any interactive element. Cards get `{rounded.lg}` (12px) and that is the only exception.
  • Use `{typography.display-xl}` SF Pro Rounded for the hero headline and `{typography.body-md}` system sans for everything else. Avoid intermediate display sizes.
  • Reserve `{component.pricing-card-dark}` (the inverted dark surface) for exactly one "look here" moment per page — never use it twice.
  • Render install commands and CLI examples inside `{component.install-snippet}` or `{component.terminal-card}` with `{typography.code-md}` / `{typography.code-sm}`. Code is a first-class component.
  • Keep the llama mascot the only illustration in the system. It is the brand.

Don't

  • Don't introduce gradients, drop shadows, or atmospheric backgrounds. The canvas is pure `{colors.canvas}`.
  • Don't add brand colors. The system is `{colors.primary}` (black) on `{colors.canvas}` (white) with `{colors.body}` (gray) text. That is it.
  • Don't soften pills or sharpen cards — pills stay `{rounded.full}`, cards stay `{rounded.lg}`. Don't introduce `{rounded.md}` for buttons or `{rounded.full}` for cards.
  • Don't lift cards with shadows. Use a 1px `{colors.hairline}` border or invert to `{colors.surface-dark}` — those are the only two card treatments.
  • Don't replace `ui-sans-serif` with a branded display body face. The system relies on `system-ui` rendering to feel native.
  • Don't fill long-form pages with marketing chrome. FAQ answers stay in `{colors.body}` body-md prose with no decorative containers.

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

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

| desktop-large | 1280px+ | Default desktop — 720px content column, 3-up pricing grid |

| desktop | 1024px | Same layout; nav remains horizontal |

| tablet | 850px | Pricing collapses from 3-up to 2-up + 1; nav search pill compresses |

| tablet-narrow | 768px | Pricing collapses to 1-up stacked; primary nav becomes hamburger |

| mobile | 640px | Hero headline drops from `{typography.display-xl}` (36px) to ~28px; install-snippet wraps; section padding tightens |

Touch Targets

All interactive elements meet WCAG AA at the 36–40px height range. `{component.button-primary}` and `{component.button-secondary}` sit at 36px height with 20px horizontal padding, giving an effective tappable area of ~36×80px which exceeds the 44×44px AAA threshold via the inline padding. `{component.text-input}` sits at 40px. `{component.search-pill}` sits at 36px height with 16px padding. Footer links use `{typography.caption-sm}` (12px) but receive ~12px line-height + ~8px vertical padding for a tappable row of ~32–36px.

Collapsing Strategy

  • **Primary nav:** desktop horizontal → tablet-narrow hamburger drawer at 768px. The black "Download" CTA stays visible at all widths; it never collapses into the menu.
  • **Search pill:** desktop fixed width ~360px → tablet compressed to ~240px → mobile collapses to icon-only with a full-width overlay on tap.
  • **Pricing grid:** 3-up → 2+1 → 1-up stacked at 850, 768, and below. The dark "Max" card stays in its inverted treatment at every breakpoint.
  • **Automate-your-work split:** desktop 50/50 → tablet stacks vertical with text above terminal mockup.
  • **Hero headline:** `{typography.display-xl}` (36px) at desktop, scaling to ~28px at mobile with line-height holding at ~1.15.
  • **Section spacing:** `{spacing.section}` (88px) desktop → 64px tablet → 48px mobile.
  • **Install-snippet pill:** wraps `curl` text to a second line on narrow screens rather than truncating; the copy-icon stays anchored to the right edge.

Image Behavior

The only image asset is the llama mascot (raster PNG at multiple resolutions: 16/32/48/64/180/192/512px). It is rendered at fixed pixel sizes on the hero and pricing cards rather than scaling responsively — the brand asset is treated like a logo, not a hero image.

Iteration Guide

1. Focus on ONE component at a time. Pull its YAML entry from the front matter and verify every property resolves.

2. Reference component names and tokens directly (`{colors.primary}`, `{component.button-primary-active}`, `{rounded.full}`) — do not paraphrase.

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

4. Add new variants as separate component entries (`-active`, `-disabled`, `-focused`) — do not bury them inside prose.

5. Default body to `{typography.body-md}`; reach for `{typography.body-sm}` for footer/utility text; reserve `{typography.display-xl}` strictly for the page-top headline.

6. Keep `{colors.primary}` scarce per viewport — there should be at most one black pill per fold (counting nav, hero CTA, and pricing-card CTA together). The design's restraint is the design.

7. When introducing a new component, ask whether it can be expressed with the existing pill + flat-card + terminal-mockup vocabulary before adding new tokens. The system's strength is that it almost never needs new ones.

Known Gaps

  • **Mobile screenshots not captured** — responsive behavior synthesizes Ollama's known mobile pattern (hamburger drawer, 1-up pricing stack, install-snippet wrap) from desktop evidence and the extracted breakpoint stack.
  • **Hover states not documented** by system policy.
  • **Form field styling** beyond search and install-snippet is not present in the captured surfaces — there is no visible long-form form on the home or pricing pages.
  • **Authenticated chrome** (account dropdown, billing settings, model dashboard) not in the captured pages.
  • **Models / Docs pages** not in the captured set — those surfaces likely add a sidebar and a docs typography tier that this document does not describe.

개요

Ollama의 사이트는 AI 도구 공간에서 가장 공격적으로 과소 설계된 마케팅 표면이며 이것이 요점입니다. 홈 페이지는 조심스럽게 렌더링된 Markdown README처럼 보입니다. 가운데 정렬된 36px 제목은 부드러운 회색 알약 안의 인라인 `curl` 설치 스니펫, 단일 검정색 "다운로드" CTA 및 유일한 장식으로 손으로 그린 ​​라마 마스코트 위에 있습니다. 그 밖의 모든 것 — 작업 자동화 블록, "로컬 시작. 클라우드 확장." 가격 쌍, "귀하의 데이터는 귀하의 것입니다" 보증 스트립, `/pricing`에 대한 FAQ 벽 — 산문을 전달하는 조용한 `{colors.body}` 중립성과 함께 동일한 흰색 종이 캔버스(`{colors.canvas}`)에 있습니다. 시스템은 문서이고, 문서는 시스템입니다.

디자인 철학은 기하학적입니다. 모든 대화형 요소는 버튼, 검색 알약, 설치 조각 알약, 텍스트 입력 및 터미널 신호등 점과 같이 `{rounded.full}`(9999px)로 축소됩니다. 장식적인 그림자도 없고, 그라데이션도 없고, 라마를 넘어서는 영웅 일러스트도 없습니다. 카드(`/pricing`에 있는 드문 카드)는 부드러운 `{rounded.lg}`(12px)와 1px 헤어라인을 사용합니다. 전체 시스템에서 반전된 단일 순간은 흰색 텍스트가 있는 `{colors.surface-dark}`와 같은 어두운 "Max" 가격 책정 계층입니다. 이것은 학구적으로 평평한 레이아웃에서 유일하게 관심을 끄는 표면 역할을 합니다.

타이포그래피는 SF Pro Rounded(표시 제목, 가중치 500-600)를 운영 체제의 기본 산세('ui-sans-serif')와 코드, 'ui-monospace'와 결합합니다. 머리글 면의 둥근 부분은 크롬이 전달하는 유일한 "개성"입니다. 이는 장식적인 요소 없이 `{rounded.full}` 버튼 형상을 부드럽게 반영합니다.

**주요 특징:**

  • 표면 교체 없이 종이 흰색 `{colors.canvas}` 끝에서 끝까지 — 전체 페이지가 하나의 연속 시트입니다.
  • `{typography.display-xl}` SF Pro 둥근 헤드라인이 있는 중앙 정렬 영웅, 눈썹 없음, 라마 아래의 작은 "Power OpenClaw with Ollama" 라인 너머 하위 헤드 없음
  • 어디에서나 알약 형상: 모든 버튼과 알약 입력은 `{rounded.full}`입니다. 카드는 `{rounded.lg}`를 사용합니다. 섹션 구분선을 제외하고는 모서리가 뾰족하지 않습니다.
  • 단일 색상 CTA 시스템: 순수한 검정색 `{colors.primary}` 알약이 모든 작업을 수행합니다. 가격 카드 내 "Get Pro"/"Get Max"는 유일한 변형입니다.
  • `{typography.code-md}`를 사용하여 알약으로 렌더링된 인라인 `curl` 설치 스니펫 - 영웅 헤드라인 바로 아래에 있는 가장 대표적인 요소
  • macOS 신호등 점과 인라인 `ollama launch openclaw` 예가 포함된 터미널 모형 카드 — 홈 페이지의 유일한 "제품 미리보기"
  • 최상위 "Max" 요금제에 대해 어두운 `{comComponent.pricing-card-dark}`를 반전시켜 페이지당 정확히 한 번씩 흰색 리듬을 깨뜨립니다.

색상

> **소스 페이지:** `/`(홈) 및 `/pricing`. 크롬 팔레트는 두 가지 모두 동일하며 콘텐츠만 변경됩니다.

브랜드 및 액센트

  • **퓨어 블랙** (`{colors.primary}` — `#000000`): 브랜드. 모든 기본 CTA, 모든 검은 알약, 탐색의 모든 링크 및 모든 단색 아이콘. 다른 "브랜드 색상"은 없습니다.
  • **Ink Deep** (`{colors.ink-deep}` — `#090909`): 기본 알약의 압착 상태 검정색 — 순수보다 한 단계 아래입니다.

표면

  • **캔버스** (`{colors.canvas}` — `#ffffff`): 페이지 자체. 시스템의 거의 모든 표면.
  • **부드러운 표면**(`{colors.surface-soft}` — `#fafafa`): 설치 조각 알약 배경, 검색 알약, 보조 칩 배경, 필요한 경우 교대로 행 채우기.
  • **Surface Dark** (`{colors.surface-dark}` — `#171717`): 어두운 'Max' 가격 카드 및 어두운 CTA 스트립. 시스템의 단일 반전 표면입니다.
  • **헤어라인**(`{colors.hairline}` — `#e5e5e5`): 1px 카드 테두리, 바닥글 위 구분선, FAQ 행 사이 구분선.
  • **Hairline Strong** (`{colors.hairline-strong}` — `#d4d4d4`): 추가 분리가 필요한 경우(예: 관련되지 않은 FAQ 그룹 사이) 드물게 약간 더 강한 구분선입니다.

텍스트

  • **잉크**(`{colors.ink}` — `#000000`): 모든 헤드라인, 기본 탐색 링크, 밝은 표면의 버튼 텍스트, 가격 카드의 가격.
  • **Charcoal** (`{colors.charcoal}` — `#525252`): 목록 항목 텍스트 및 비활성화된 상태의 2차 사본.
  • **본문**(`{colors.body}` — `#737373`): 단락 복사, FAQ 답변, 바닥글 링크 텍스트의 기본 본문 색상 — 시스템에서 순수한 검정색 다음으로 가장 많이 사용되는 텍스트 색상입니다.
  • **음소거** (`{colors.mute}` — `#a3a3a3`): 캡션 텍스트, 터미널 모형 내부의 명령줄 "설명" 회색, 가장 낮은 강조 유틸리티 텍스트.
  • **어두운 곳**(`{colors.on-dark}` — `#ffffff`): `{colors.surface-dark}`의 기본 텍스트입니다.
  • **On Dark Mute** (`{colors.on-dark-mute}` — `rgba(255,255,255,0.7)`): 어두운 "Max" 가격 카드 내부의 보조 사본입니다.

의미론

시스템의 공개 마케팅 표면에는 사실상 오류/성공/경고 팔레트가 없습니다. 즉, 유효성 검사 상태, 파괴적인 흐름, 배너가 없습니다. 유일한 "의미론적" 색상은 터미널 모형 내부의 macOS 터미널 신호등입니다.

  • **터미널 빨간색** (`{colors.t

概要

Ollama のサイトは、AI ツール分野で最も積極的に設計が不十分なマーケティング サーフェスであり、それが重要な点です。ホーム ページは注意深くレンダリングされた Markdown README のように見えます。36 ピクセルの中央揃えの見出しが、ソフト グレーの錠剤の中にあるインラインの「curl」インストール スニペットの上にあり、黒い「ダウンロード」CTA が 1 つあり、唯一の装飾として手描きのラマ マスコットがあります。それ以外のすべて - 作業を自動化するブロック、「ローカルで開始し、クラウドを拡張する」。価格設定ペア、「あなたのデータはあなたのものです」保証ストリップ、`/pricing` の FAQ ウォール — 同じ紙のように白いキャンバス (`{colors.canvas}`) 上に、散文を伝える静かな `{colors.body}` のニュートラルが置かれています。システムはドキュメントであり、ドキュメントはシステムです。

デザイン哲学は幾何学的です。ボタン、検索ピル、インストール スニペット ピル、テキスト入力、ターミナルの信号機ドットなど、すべてのインタラクティブな要素は「{rounded.full}」 (9999px) に折りたたまれます。ラマ以外には装飾的なドロップ シャドウ、グラデーション、ヒーローのイラストはありません。カード (レアなものは `/pricing` にあります) は、ソフト `{rounded.lg}` (12 ピクセル) と 1 ピクセルのヘアラインを使用します。システム全体の唯一の逆転の瞬間は、暗い「Max」価格帯 (白い文字の `{colors.surface-dark}`) です。これは、他の点では注意深くフラットなレイアウトの中で唯一注目を集める表面として機能します。

タイポグラフィは、SF Pro Rounded (表示見出し、ウェイト 500 ~ 600) と、本文のオペレーティング システムのデフォルトのサンズ (`ui-sans-serif`) およびコードの `ui-monospace` を組み合わせています。見出し面の丸みは、クロムが持つ唯一の「個性」です。装飾的ではなく、「{rounded.full}」ボタンの形状を優しく反映しています。

**主な特徴:**

  • 紙のように白い「{colors.canvas}」を端から端まで、表面の切り替えなし - ページ全体が 1 枚の連続したシートです
  • `{typography.display-xl}` SF Pro を備えた中央揃えのヒーロー。丸みを帯びた見出し、眉なし、ラマの下の小さな「Power OpenClaw with Ollama」の線を超える小見出しなし
  • あらゆる場所のピルのジオメトリ: すべてのボタンとピルの入力は `{rounded.full}` です。カードは `{rounded.lg}` を使用します。セクションの区切り以外に鋭角なものはありません
  • 単色 CTA システム: 純粋な黒の `{colors.primary}` 錠剤はあらゆるアクションを実行します。価格カード内の「Get Pro」/「Get Max」のみがバリエーションです
  • インラインの `curl` インストール スニペットは、`{typography.code-md}` を使用して錠剤としてレンダリングされます。これは最も特徴的な要素であり、ヒーローの見出しの直下にあります。
  • macOS 信号機のドットとインラインの「ollama launch openclaw」の例を含むターミナル モックアップ カード — ホームページの唯一の「製品プレビュー」
  • 最上位の「Max」プランのダーク `{component.pricing-card-dark}` を反転し、ページごとに 1 回だけフラット ホワイト リズムを破りました

> **ソース ページ:** `/` (ホーム) および `/pricing`。 Chrome パレットは両方で同一であり、内容のみが異なります。

ブランドとアクセント

  • **ピュア ブラック** (`{colors.primary}` — `#000000`): ブランド。すべてのプライマリ CTA、すべての黒い錠剤、ナビゲーション内のすべてのリンク、すべての固体アイコン。これ以外に「ブランドカラー」はありません。
  • **インク ディープ** (`{colors.ink-deep}` — `#090909`): プライマリ ピルのプレス状態の黒 — 純粋より 1 ノッチ下です。

表面

  • **キャンバス** (`{colors.canvas}` — `#ffffff`): ページ自体。システム内のほぼすべての表面。
  • **ソフト サーフェス** (`{colors.surface-soft}` — `#fafafa`): インストール スニペット ピルの背景、検索ピル、セカンダリ チップの背景、必要な場合の交互の行の塗りつぶし。
  • **Surface Dark** (`{colors.surface-dark}` — `#171717`): ダーク色の「Max」価格設定カードとダーク色の CTA ストリップ。システム内の単一の反転サーフェス。
  • **ヘアライン** (`{colors.hairline}` — `#e5e5e5`): 1 ピクセルのカード境界線、フッター上の区切り線、FAQ 行間の区切り線。
  • **強いヘアライン** (`{colors.hairline-strong}` — `#d4d4d4`): 追加の分離が必要な場合 (例: 無関係な FAQ グループ間) に、まれにわずかに強い分割線が使用されます。

テキスト

  • **インク** (`{colors.ink}` — `#000000`): すべての見出し、主要なナビゲーション リンク、ライト サーフェス上のボタン テキスト、価格設定カードの価格。
  • **Charcoal** (`{colors.charcoal}` — `#525252`): リスト項目のテキストと無効状態のセカンダリ コピー。
  • **本文** (`{colors.body}` — `#737373`): 段落コピー、FAQ 回答、フッター リンク テキストのデフォルトの本文色 — 純粋な黒の次にシステムで最も使用されるテキストの色。
  • **ミュート** (`{colors.mute}` — `#a3a3a3`): キャプション テキスト、端末モックアップ内のコマンド ラインの「コメント」グレー、最も強調度の低いユーティリティ テキスト。
  • **オンダーク** (`{colors.on-dark}` — `#ffffff`): `{colors.surface-dark}` のプライマリ テキスト。
  • **On Dark Mute** (`{colors.on-dark-mute}` — `rgba(255,255,255,0.7)`): ダーク「Max」価格設定カード内のセカンダリ コピー。

セマンティック

このシステムには、公開マーケティング画面に事実上、エラー/成功/警告パレットがありません。検証状態も、破壊的なフローも、バナーもありません。唯一の「意味のある」色は、端末モックアップ内の macOS 端末信号機です。

  • **ターミナルレッド** (`{colors.t