- fg
#000000- bg
#FFFFFF- APCA Lc
- +106
- Use
- foreground on background
Granola
AI meeting notes with editorial-notebook warmth — a #e3e3e3 warm hairline lattice, the custom Melange typeface, editorial blue #1d9bf0 as the hyperlink semantic. A handmade-journalist-tool positioning against AI surveillance anxiety.

Editorial disclaimer
This entry documents observable design-language patterns for educational transfer and AI-agent briefing. Screenshots and trademarks are property of their respective owners. AI2 Design is not affiliated with or endorsed by the featured brand. Inspiration here is about language and rhythm - do not reproduce brand identity, logo, product copy, or proprietary features.
Fair Use & Gallery PolicyCopy the full design language into your agent
A typed, paste-ready design system brief - philosophy, tokens, rules, techniques, and fitness checks. Drop it into Claude, Cursor, v0 or any coding agent and it builds in Granola’s language, not just a screenshot.
Granola's design language is editorial notebook warmth. A warm grey #e3e3e3 hairline lattice carries the entire layout, Melange custom typography provides the editorial voice, system fallbacks ensure graceful degradation, and a single editorial blue #1d9bf0 accent functions as a hyperlink rather than a CTA. The page reads as a journalist's open notebook — neat, warm, handmade, never robotic.
Use this capture as a design language transfer brief for my project. Adopt the palette (warm light surface as primary, #e3e3e3 warm grey hairline border as primary structural element, #0e0f0c near-black text, #000000 inversion zones used sparingly, #536471 muted blue-grey for secondary text, #0f1419 deep ink for primary text variant, #1d9bf0 editorial blue accent used as hyperlink semantic, #ffffff for layered surfaces, #b2c248 olive-yellow for rare highlight callouts, #72726e warm grey for tertiary text, #292929 dark for inversion plate text), typography stack (Melange custom typeface loaded as __melange_3929d6 at 13-16px with letter-spacing 0.13-0.14px on smaller sizes, system-ui and -apple-system as graceful fallback chain), spacing scale 2/4/6/8/10/12/16/20/24/32, container ladder 552/672/768/896/1280 (multiple reading widths with magazine density), custom breakpoints sm=480 (lowered from 640) md=768 lg=992 xl=1280, CSS-only transitions (no motion library required) at cubic-bezier(0.4, 0, 0.2, 1) easing at 150-300ms. Treat #1d9bf0 as a hyperlink semantic, not a CTA paint. Apply the language, not the source brand's copy.
- Layout
- Hairline lattice editorial flow — warm grey borders organise content into notebook pages stacked vertically; multiple container widths preserve magazine-density reading.
- Content width
- Container ladder 552/672/768/896/1280 — multiple reading widths.
- Framing
- Journalist's notebook — warm grey hairline lattice, Melange typography, editorial blue footnotes.
- Grid strength
- Explicit hairline lattice — borders organise the page as a notebook page system.
Warm light primary canvas with #e3e3e3 hairline lattice as structural identity; editorial blue #1d9bf0 as hyperlink semantic; dark elements as scarce punctuation.
- Warm light primary canvas (cream-tinted off-white)
- #e3e3e3 warm grey hairline border — primary structural brand element
- #0e0f0c primary text near-black with warmth
- #000000 used sparingly for inversion zones
- #536471 muted blue-grey for secondary text
- #0f1419 deep ink for emphasis text variant
- #1d9bf0 editorial blue — hyperlink semantic, not CTA paint
- #ffffff for layered surfaces on cream ground
- #b2c248 olive-yellow for rare highlight callouts
- #72726e warm grey for tertiary text
- #292929 dark for inversion plate text
Gradients (paste-ready)
5 gradients catalogued — subtle warm-tone atmospheric depth around hero, never decorative chromatic
- Melange custom typeface (loaded as __melange_3929d6) is the primary identity
- System fallback chain (-apple-system, system-ui) for graceful degradation
- Body 13-16px in Melange; display 32-56px
- Letter-spacing 0.13-0.14px on smaller body sizes (13-14px) — Melange's small-size optical adjustment
- Weight 400 across body and display — Granola trusts the typeface's silhouette
- Line-height 1.5-1.6 body, 1.1-1.2 display
- 4px base unit, scale 2/4/6/8/10/12/16/20/24/32
- 32px jump between dense and breathing sections
- Section vertical rhythm: 64-128px between major sections
- Card padding (notebook page): 20-32px
- CTA padding: 10-14px vertical, 16-24px horizontal
- 0 drop shadow on marketing chrome
- 1px hairline border #e3e3e3 organising notebook-page layout
- Inversion zones (#000000 surfaces) have no border, full-bleed within container
- Hover bumps border opacity slightly, no lift
Techniques
Notebook page card
bg #ffffff or warm cream, 1px hairline #e3e3e3, 8-12px radius, padding 20-32px.
Inversion plate
Pure #000000 surface with #ffffff or #292929 text — used sparingly for highest-priority hero or testimonial callouts.
Editorial blue link
Text #1d9bf0 with subtle underline-offset:4px, underline thickness 1px, underline appears on hover.
- Buttons: 8-10px radius
- Notebook-page cards: 8-12px radius
- Inline code rare — when present, 4-6px radius
- Pills for tags: 6-8px radius — never full pill
Primary CTA (download for Mac / sign up)- background
- #000000
- textColor
- #ffffff
- fontFamily
- Melange, system-ui, -apple-system, sans-serif
- fontWeight
- 400
- fontSize
- 14px
- padding
- 12px 20px
- borderRadius
- 10px
- shadow
- none
- hover
- background subtly shifts to #1a1a1a
Tailwind
inline-flex items-center gap-2 rounded-[10px] bg-black px-5 py-3 text-sm font-normal text-white transition-colors hover:bg-neutral-900
Notebook page card- background
- #ffffff
- border
- 1px solid #e3e3e3
- borderRadius
- 12px
- padding
- 24px
- textColor
- #0e0f0c
Tailwind
rounded-xl border border-[#e3e3e3] bg-white p-6 text-[#0e0f0c]
Display headline (Melange)- fontFamily
- Melange, system-ui, -apple-system, sans-serif
- fontSize
- clamp(32px, 5vw, 56px)
- fontWeight
- 400
- letterSpacing
- 0
- lineHeight
- 1.15
- color
- #0e0f0c
Tailwind
text-3xl font-normal leading-tight text-[#0e0f0c] md:text-5xl lg:text-6xl
Editorial blue link- color
- #1d9bf0
- textDecoration
- underline
- textDecorationThickness
- 1px
- textUnderlineOffset
- 4px
- textDecorationColor
- rgba(29, 155, 240, 0.32)
- hover
- underline opacity to 1, colour stays #1d9bf0
Tailwind
text-[#1d9bf0] underline decoration-[#1d9bf0]/30 underline-offset-4 transition-colors hover:decoration-[#1d9bf0]
Easings
cubic-bezier(0.4, 0, 0.2, 1)easeScroll patterns
- CSS transition fade-in on section entry — no motion library required
- Sticky nav fades in after 100px scroll
- No parallax, no decorative scroll animation
- Motion is calm editorial pacing — page-turn rhythm, not feature spectacle
- Respect prefers-reduced-motion
- No JS motion library required — CSS transitions sufficient
- Hover shifts colour, never position
- Focus rings: 2px editorial blue #1d9bf0 ring with 2px offset
- Active state: 95% opacity
- Editorial blue underline as the hyperlink hover signal
Custom ladder: sm=480 (lowered from 640) md=768 lg=992 xl=1280 — Granola optimises for mobile reading earlier.
- <480: 16px gutter, single column, headline 32-40px
- 480-768: 552-672px reading rail, notebook cards stack vertically
- ≥992: container ladder 768/896/1280, multi-column notebook layouts on desktop
- Body text #0e0f0c on warm light passes WCAG AAA
- Editorial blue #1d9bf0 on white passes AA at 14px+
- Hairline border visible but soft — UI element contrast 1.3+
- Focus visible state always present
- Respect prefers-reduced-motion
Typography + hairline lattice are the entire visual identity. No 3D, no decorative illustration, occasional product screenshot in notebook-page card.
- Melange preloaded as woff2 subset
- System fallback gracefully on font-display: swap
- 10 CSS transitions composed inline, no animation library
- Use warm grey #e3e3e3 hairline borders as the primary structural identity
- Commit to Melange (or equivalent custom editorial typeface)
- Apply 0.13-0.14px letter-spacing to body text at 13-14px sizes
- Treat editorial blue #1d9bf0 as a hyperlink semantic, not a CTA paint
- Don't paint surfaces in editorial blue — the colour is voice, not paint
- Don't remove the hairline lattice — it is the brand's structural identity
- Don't add a JS motion library — CSS transitions are sufficient
- Don't tighten letter-spacing below 0.13px on body type — Melange's small-size adjustment depends on it
- Light-first canvas with dark inversion zones as scarce punctuation
- Type stack: Melange + system fallback chain
- Editorial blue #1d9bf0 used as hyperlink semantic only
- Hairline border #e3e3e3 presence: high frequency across notebook-page cards
- Font-family grep: __melange_3929d6 (or equivalent Melange) + system fallback chain
- Letter-spacing: 0.13-0.14px applied on body type at 13-14px sizes
- Editorial blue #1d9bf0 usage: hyperlink text only, never as fill on CTAs
- Motion library: no GSAP / no Framer Motion required — CSS transitions only
Design tokens
Observed token system
Color, type, spacing, gradients, and stacking order captured from the live page and rendered here as living, paste-ready previews.
Inspector
Observable layers
Structure, breakpoints, motion, fonts, and images captured from the live page and kept paste-ready alongside the tokens.
Depth-first walk of the meaningful sections. 13 nodes across 6 levels, shallow to deep by color.
- body4
- Nav
- Main1
- div2
- Section
- div3
- Section (×3)
- div1
- Section
- Section (×3)
- Footer1
- Section
- div
Accessibility
Contrast matrix
294 combinations - 116 pass AA - 70 pass AAA. Each pair is previewed with its real foreground on background; APCA Lc sits alongside the WCAG 2.1 ratio for draft WCAG 3 awareness.
- fg
#FFFFFF- bg
#000000- APCA Lc
- -108
- Use
- background on foreground
- fg
#0E0F0C- bg
#FFFFFF- APCA Lc
- +106
- Use
- foreground on background
- fg
#FFFFFF- bg
#0E0F0C- APCA Lc
- -108
- Use
- background on foreground
- fg
#0F1419- bg
#FFFFFF- APCA Lc
- +105
- Use
- foreground on background
- fg
#FFFFFF- bg
#0F1419- APCA Lc
- -107
- Use
- background on foreground
- fg
#000000- bg
#EAEBE5- APCA Lc
- +94
- Use
- foreground on background
- fg
#EAEBE5- bg
#000000- APCA Lc
- -94
- Use
- background on foreground
- fg
#000000- bg
#E5EACD- APCA Lc
- +92
- Use
- foreground on accent
Images
Image strategy
Observable image posture - total count, lazy-loading ratio, and format mix. The hero image is measured above the fold.
- svg56 · 70%
- jpg13 · 16%
- unknown8 · 10%
- png3 · 4%
Hero image
https://www.granola.ai/_next/image?url=%2FblogImages%2Fseries-c%2FOG%2520image%2520for%2520blog%2520post.png&w=256&q=75- Format
- UNKNOWN
- Dimensions
- 256x134
- Loading
- lazy
- srcset
- yes
- Industry
- ai
- Industry
- productivity
- Theme
- Light
- Added
- 2026-05-16
FAQ
Questions people ask about Granola
3questionsAnswers are pulled from the curator verdict and design brief - the same text your AI agent sees when it paste-reads this page.
Compare this with



