taste-skill / Style guides / Attio style
How to build a UI in the Attio style
Attio (attio.com) reads as Next-Gen CRM Spreadsheet-Grid Precision & Inter Display — Crisp #F3F4F6 / #FFFFFF daylight UI with exposed #E4E7EC 1px data-table grid lines, 64px Inter Display headlines (0.95 line-height, -0.02em), JetBrains Mono badges, and #1C1D1F monochrome controls. This guide turns its extracted computed styles into an implementation kit: a live preview, the exact palette and type scale, real button and card recipes, the rules to avoid, and drop-in CSS variables, Tailwind config and a Cursor / Claude Code SKILL.md snippet.
Source: computed styles extracted from
https://attio.com on 2026-10-26 by the taste-skill extractor. Brand fonts may be proprietary; previews fall back to Inter / system fonts. Attio is a trademark of its owner; this page documents publicly visible styling for reference and is not affiliated with Attio.Live preview with Attio tokens
Attio style · light
Ship the product, not the pixels.
Preview text rendered with the extracted Attio canvas, text, muted and accent tokens.
Card on extracted card recipe
Accent link: #1C1D1F · border
#E4E7ECColor palette (light mode)
| Role | Value | Tailwind | Usage |
|---|---|---|---|
| canvasBg | #FFFFFF | bg-white | Primary Attio page canvas |
| surfaceElevated | #F3F4F6 | bg-[#F3F4F6] | Primary elevated card & bento surface |
| surfaceSecondary | #FAFAFB | bg-[#FAFAFB] | Secondary interactive container / hover fill |
| borderPrimary | #E4E7EC | border-[#E4E7EC] | Primary structural divider (1px solid #E4E7EC) |
| borderSecondary | rgba(0, 0, 0, 0.05) | border-black/[0.05] | Secondary nested module or pill border |
| textPrimary | #1C1D1F | text-[#1C1D1F] | Hero H1, section H2 & high-contrast foreground |
| textMuted | #6F7988 | text-[#6F7988] | Lead paragraphs, descriptions & muted labels |
| accentPrimary | #1C1D1F | bg-[#1C1D1F] | Primary interactive CTA & brand highlight (10px) |
| accentSecondary | #101010 | text-[#101010] | Secondary badge, syntax or telemetry highlight |
Typography
Heading interDisplay · body Inter · mono JetBrains Mono
| Level | Computed spec |
|---|---|
| Hero H1 | 64px | line-height 60.8px (leading-[0.95]) | letter-spacing -1.28px (tracking-[-0.02em]) | weight 600 (font-[600]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay |
| Section H2 (Primary) | 56px | line-height 56px (leading-[1]) | letter-spacing -0.84px (tracking-[-0.015em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font interDisplay |
| Section H2 (Secondary) | 40px | line-height 44px (leading-[1.1]) | letter-spacing -0.4px (tracking-[-0.01em]) | weight 500 (font-[500]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay |
| Card / Feature H3 | 24px | line-height 27.6px (leading-[1.15]) | letter-spacing -0.24px (tracking-[-0.01em]) | weight 500 (font-[500]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay |
| Body Copy (Paragraph) | 18px | line-height 23.4px (leading-[1.3]) | letter-spacing -0.18px (tracking-[-0.01em]) | weight 500 (font-[500]) | color #6F7988 (text-[#6F7988]) | font inter |
| Monospace / Code Block | 10px | line-height 15px (leading-[1.5]) | letter-spacing -0.16px (tracking-[-0.016em]) | weight 500 (font-[500]) | color #1C1D1F (text-[#1C1D1F]) | font JetBrains Mono |
Spacing, radius, depth and motion
| Token family | Most frequent values (count on page) |
|---|---|
| Border radius | 8px ×43 · 6px ×24 · 10px ×23 · 5px ×21 · 9px ×17 · 7px ×16 |
| Box shadow | rgba(0, 0, 0, 0.04) 0px 1px 3px 0px, rgba(28, 40, 64, 0.18) 0px 0px 2px 0px ×8 · rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, lab(99.9987 0.0337958 0.000309944) 0px 0px 0px 0.5px, rgba(0, 0, 0, 0) 0px 0px 0px 0px ×7 · rgba(11, 13, 24, 0.06) 0px 0px 0px 1px, rgba(11, 13, 24, 0.024) 0px 1px 2px 0px, rgba(11, 13, 24, 0.03) 0px 3px 6px 0px, rgba(11, 13, 24, 0.035) 0px 8px 14px 0px, rgba(11, 13, 24, 0.04) 0px 16px 28px 0px ×4 |
| Grid / flex gap | 6px ×44 · 4px ×41 · 8px ×40 · 10px ×25 · normal 6px ×17 · 1px ×14 |
| Container max-width | 1440px ×6 · 720px ×1 · 896px ×1 |
| Section vertical padding | 112px / 80px ×3 · 96px / 0px ×1 · 116px / 80px ×1 · 152px / 80px ×1 |
| Easing | cubic-bezier(0, 0, 0, 1) ×18 · cubic-bezier(0.32, 0, 0.67, 0) ×17 · cubic-bezier(0.2, 0, 0, 1) ×16 |
| Duration | 0.5s ×22 · 0.3s ×20 · 0.2s ×18 · 0.32s ×5 |
Component recipes
Buttons (7 distinct)
| Rendered | Height | Padding | Radius | Background / Text | Border | Font |
|---|---|---|---|---|---|---|
| Talk to sales | 36px | 0px 12px | 10px | #FFFFFF#2E3238 | 1px solid #CAD0D9 | 14px / 500 |
| Talk to sales | 36px | 0px 12px | 10px | #101010#EDEFF3 | 1px solid #2E3238 | 14px / 500 |
| Subscribe | 40px | 0px 12px | 10px | #202124#F3F4F6 | 1px solid #505967 | 14px / 500 |
| Continue | 36px | 0px 12px | 10px | #202124#F3F4F6 | 1px solid #505967 | 14px / 500 |
| See more | 32px | 0px 6px | 10px | #101010#EDEFF3 | 1px solid #2E3238 | 12px / 500 |
Cards (8 distinct)
| # | Background | Border | Radius | Padding | Shadow |
|---|---|---|---|---|---|
| 1 | #F3F4F6 | none | 16px | 0px 6px | rgba(11, 13, 24, 0.06) 0px 0px 0px 1px, rgba(11, 13, 24, 0.024) 0px 1px 2px 0px, rgba(11, 13, 24, 0.03) 0px 3px 6px 0px, rgba(11, 13, 24, 0.035) 0px 8px 14px 0px, rgba(11, 13, 24, 0.04) 0px 16px 28px 0px |
| 2 | #FFFFFF | 1px solid rgba(0, 0, 0, 0.05) | 12px | 0px 0px | none |
| 3 | #FFFFFF | 1px solid #E5E7EB | 14px | 0px 0px | rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.04) 0px 12px 30px 0px |
| 4 | #FFFFFF | none | 14px | 2px 2px | rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px |
Rules: what never to do in the Attio style
- NEVER substitute generic uncalibrated gray backgrounds for Attio’s exact
#FFFFFFcanvas and#F3F4F6surface pairing. - NEVER replace
interDisplaydisplay typography or ignore its signature scale (64px / 0.95 (w600)). - NEVER use thick opaque borders that clash with
#E4E7EC(1px solid #E4E7EC). - NEVER deviate from the signature button geometry (
10px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with
JetBrains Mono.
Copy-paste kit
CSS variables
:root {
/* Attio style — extracted from attio.com by taste-skill */
--canvas: #FFFFFF;
--surface: #F3F4F6;
--text: #1C1D1F;
--text-muted: #6F7988;
--accent: #1C1D1F;
--border: #E4E7EC;
--font-heading: interDisplay, Inter, system-ui, -apple-system, sans-serif;
--font-body: Inter, Inter, system-ui, -apple-system, sans-serif;
--font-mono: 'JetBrains Mono', 'JetBrains Mono', ui-monospace, monospace;
--h1-size: 64px;
--h1-tracking: 0em;
--h1-weight: 600;
--radius-button: 10px;
--radius-common: 8px;
--shadow-common: rgba(0, 0, 0, 0.04) 0px 1px 3px 0px, rgba(28, 40, 64, 0.18) 0px 0px 2px 0px;
--ease: cubic-bezier(0, 0, 0, 1);
--duration: 0.5s;
}tailwind.config.js
// tailwind.config.js — Attio style tokens (taste-skill)
module.exports = {
theme: {
extend: {
colors: {
canvas: "#FFFFFF",
surface: "#F3F4F6",
ink: "#1C1D1F",
muted: "#6F7988",
accent: "#1C1D1F",
line: "#E4E7EC",
},
fontFamily: {
heading: ["interDisplay", 'Inter', 'system-ui', 'sans-serif'],
sans: ["Inter", 'Inter', 'system-ui', 'sans-serif'],
mono: ["JetBrains Mono", 'ui-monospace', 'monospace'],
},
fontSize: { display: ["64px", { letterSpacing: "0em", fontWeight: "600" }] },
borderRadius: { button: "10px", card: "8px" },
boxShadow: { brand: "rgba(0, 0, 0, 0.04) 0px 1px 3px 0px, rgba(28, 40, 64, 0.18) 0px 0px 2px 0px" },
transitionTimingFunction: { brand: "cubic-bezier(0, 0, 0, 1)" },
},
},
};.cursor/skills/attio-style/SKILL.md
--- name: attio-style description: Build UI in the Attio visual style (Next-Gen CRM Spreadsheet-Grid Precision & Inter Display). Use when the user asks for a Attio-like look. --- # Attio Style — Quick Rules (source: attio.com, extracted by taste-skill) ## Tokens - canvasBg: #FFFFFF — Primary Attio page canvas - surfaceElevated: #F3F4F6 — Primary elevated card & bento surface - surfaceSecondary: #FAFAFB — Secondary interactive container / hover fill - borderPrimary: #E4E7EC — Primary structural divider (1px solid #E4E7EC) - borderSecondary: rgba(0, 0, 0, 0.05) — Secondary nested module or pill border - textPrimary: #1C1D1F — Hero H1, section H2 & high-contrast foreground - textMuted: #6F7988 — Lead paragraphs, descriptions & muted labels - accentPrimary: #1C1D1F — Primary interactive CTA & brand highlight (10px) - accentSecondary: #101010 — Secondary badge, syntax or telemetry highlight ## Typography - Heading font: interDisplay; body: Inter; mono: JetBrains Mono - Hero H1: 64px | line-height 60.8px (leading-[0.95]) | letter-spacing -1.28px (tracking-[-0.02em]) | weight 600 (font-[600]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay - Section H2 (Primary): 56px | line-height 56px (leading-[1]) | letter-spacing -0.84px (tracking-[-0.015em]) | weight 500 (font-[500]) | color #FFFFFF (text-white) | font interDisplay - Section H2 (Secondary): 40px | line-height 44px (leading-[1.1]) | letter-spacing -0.4px (tracking-[-0.01em]) | weight 500 (font-[500]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay - Card / Feature H3: 24px | line-height 27.6px (leading-[1.15]) | letter-spacing -0.24px (tracking-[-0.01em]) | weight 500 (font-[500]) | color #1C1D1F (text-[#1C1D1F]) | font interDisplay ## Components - Primary button: height 36px, padding 0px 12px, radius 10px, bg #FFFFFF, text #2E3238, 14px / 500 - Card: bg #F3F4F6, border none, radius 16px, padding 0px 6px ## Never - NEVER substitute generic uncalibrated gray backgrounds for Attio’s exact #FFFFFF canvas and #F3F4F6 surface pairing. - NEVER replace interDisplay display typography or ignore its signature scale (64px / 0.95 (w600)). - NEVER use thick opaque borders that clash with #E4E7EC (1px solid #E4E7EC). - NEVER deviate from the signature button geometry (10px) or introduce off-brand saturated gradients. - NEVER use default browser monospace when rendering code or telemetry—always pair with JetBrains Mono. Full 120-line spec: https://taste-skill.pages.dev/taste/attio/
Or install the full spec
npx taste-skill add attio
Related
Similar styles
Get all 30 full SKILL.md specs (Cursor / Claude Code / Codex ready) plus the Pro growth skills.
See taste-skill Pro →