# Granola Navbar — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://www.granola.ai/
Website: Granola
Section ID: adf7a008-1d77-4bd8-bcbf-ff471140c361
Design Details page: https://designdetails.io/sections/granola-ai--home--navbar-adf7a008
Status: deterministic evidence captured; editorial AI review pending

## Purpose

This is a navbar section on the Home page. Use the attached crop and measured browser facts to reconstruct its composition. Do not infer unmeasured source values.

## Layout

1440×56px root; block

## Visual signature

editorial, minimal, typographic, high-contrast-utility treatment at 1440×64px. The crop spans 0–64px of a 14510px page.

## Components

- Navigation Bar
- Hero
- Primary Button
- Logo Strip
- Feature Card
- Testimonial Card
- Footer
- Product UI
- Badge
- Sticky Section Navigation
- Overlapping UI Mockups

## Evidence note

The geometry, typography, colors, media, and animation parameters below come from saved HTML/CSS/browser evidence when present. Website-level roles are supplied separately. Editorial section judgment remains pending unless the MCP resolves this source ID to a promoted canonical record.

## Build blueprint v3.2

### Purpose and classification

- Canonical type: navigation
- Source type: navbar
- Structure: 1440×56px root; block
- Layout: 1440×56px root; block
- Styles: editorial, minimal, typographic, high-contrast-utility
- Components: Navigation Bar, Hero, Primary Button, Logo Strip, Feature Card, Testimonial Card, Footer, Product UI, Badge, Sticky Section Navigation, Overlapping UI Mockups
- Purpose: navbar section from the Home page of Granola.
- Visual signature: rgba(0, 0, 0, 0) with 1440×56px root; block. Inspect the crop for image and content hierarchy.
- Place on the page: 1 of 11, before Hero (`granola-ai:hero_notepad`)

### Crop and composition

- Crop: 1440×64px; aspect ratio 22.5:1
- Page bounds: 0–64px of 14510px
- Guidance: Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

### Exact typography evidence

The sectionScale values were measured inside this crop. The siteRoles values explain how those faces function across the source website; they must not replace section measurements.

```json
{
  "sectionScale": [],
  "siteRoles": [
    {
      "role": "display",
      "size": "108px",
      "family": "quadrant",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: Used for the largest headings on the page (108px, 'quadrant'), serving a primary display purpose.",
      "sampleId": "font-2",
      "confidence": 0.9,
      "lineHeight": "104.8px",
      "letterSpacing": "-2.2px"
    },
    {
      "role": "heading",
      "size": "86.4px",
      "family": "quadrant",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-6: computed CSS at 1440×1000; AI role: Used for the main H1 in the hero section (86.4px, 'quadrant').",
      "sampleId": "font-6",
      "confidence": 0.95,
      "lineHeight": "80.4px",
      "letterSpacing": "-1.7px"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "melange",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-18: computed CSS at 1440×1000; AI role: Used for standard descriptive paragraphs (16px, 'melange', sans-serif).",
      "sampleId": "font-18",
      "confidence": 0.9,
      "lineHeight": "24px",
      "letterSpacing": "normal"
    }
  ]
}
```

### Exact color evidence

The section samples record where each computed value was used. Functional roles come from the website-level classifier and remain separate.

```json
{
  "sectionUsage": [],
  "functionalPalette": [
    {
      "hex": "#FFFFFF",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(255, 255, 255); AI role: Pure white, used as the primary background for several sections and cards.",
      "sampleId": "color-2",
      "confidence": 0.95
    },
    {
      "hex": "#292929",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-1: computed rgb(41, 41, 41); AI role: Dark charcoal, the primary color for body copy and headings.",
      "sampleId": "color-1",
      "confidence": 0.95
    },
    {
      "hex": "#5B6F00",
      "name": "primary action",
      "role": "primary-action",
      "source": "computed",
      "evidence": "color-14: computed rgb(91, 111, 0); AI role: Dark green, used for primary 'Download for free' call-to-action buttons.",
      "sampleId": "color-14",
      "confidence": 0.9
    },
    {
      "hex": "#F7F7F2",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(247, 247, 242); AI role: An off-white/beige used as an alternate section background to delineate content areas.",
      "sampleId": "color-3",
      "confidence": 0.85
    },
    {
      "hex": "#B2C248",
      "name": "accent",
      "role": "accent",
      "source": "computed",
      "evidence": "color-4: computed rgb(178, 194, 72); AI role: Vivid lime green, used for large accent sections (e.g., the Granola Chat feature block).",
      "sampleId": "color-4",
      "confidence": 0.85
    },
    {
      "hex": "#0E0F0C",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-6: computed rgb(14, 15, 12); AI role: Near-black, used as the background for the logo strip and testimonial sections.",
      "sampleId": "color-6",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Button radii appear fully rounded (pill-shaped). Product UI mockups have consistent, moderate border radii.",
  "density": "The overall density is low. The design favors large typography and ample whitespace over tightly packed information.",
  "evidence": "Observations derived from the spacing in the hero section, the consistent rounded corners on the product mockups (y=3673), the styling of the 'Download' buttons, and the distinct background sections.",
  "borderStyle": "Borders are generally subtle (e.g., color-12, color-13), used to define UI cards against similar backgrounds, or absent entirely in favor of background color blocking.",
  "buttonStyle": "Primary buttons are solid, pill-shaped, and use contrasting colors (dark green on light backgrounds, dark grey on dark backgrounds).",
  "cornerStyle": "Cards and UI elements predominantly feature soft, rounded corners, contrasting with the stark typography.",
  "contentWidth": "Content is constrained to a central max-width, with backgrounds occasionally bleeding to the full viewport width.",
  "spacingRhythm": "The layout employs a generous, blocky rhythm. Sections are clearly separated by significant vertical whitespace, and components within sections (like the feature text and UI cards) are often arranged in a loose, asymmetric grid."
}
```

### Reconstruction specification

This is the implementation contract for the captured desktop viewport. Prefer section-specific facts here over general website descriptions.

- Root: 1440×56px; block; padding {"top":"0px","right":"0px","bottom":"0px","left":"0px"}; gap normal; background rgba(0, 0, 0, 0); radius 0px.
- Observed gaps: 4px.
- Representative content widths: 1217px.
- Layout containers: 1; cards/surfaces: 0; media elements: 2; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 0,
      "bottom": 64,
      "pageHeight": 14510
    }
  },
  "container": {
    "size": "1440×56px",
    "position": "x 0px, y 8px",
    "display": "block",
    "positionMode": "fixed",
    "padding": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": "not captured",
    "background": "rgba(0, 0, 0, 0)",
    "radius": "0px",
    "border": "0px solid rgb(227, 227, 227)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "observedGapsPx": [
      4
    ],
    "representativeContentWidthsPx": [
      1217
    ]
  },
  "columns": [
    {
      "element": "nav · .st0{fill:#1E1E1E;}FeaturesNotepadThe AI notepad for people in back-to-back meetingsChatAI chat that",
      "size": "1217×56px",
      "position": "x 112px, y 8px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [],
  "surfaces": {
    "radii": [
      "9999px",
      "3.35544e+07px"
    ],
    "borders": [
      "1px solid rgba(0, 0, 0, 0)",
      "1px solid rgba(71, 67, 42, 0.2)"
    ],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "svg · .st0{fill:#1E1E1E;}",
    "size": "104×28px",
    "position": "x 125px, y 22px",
    "aspectRatio": 3.7,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · svg",
    "size": "20×16px",
    "position": "x 1218px, y 28px",
    "aspectRatio": 1.3,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  }
]
```

#### Browser-exposed animation parameters

```json
[]
```

### Measured geometry, surfaces, media, and animation

These raw values come from the saved element map and computed styles. Empty arrays mean the fact was not captured; they are not permission to invent source values.

```json
{
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "capturedAt": "2026-09-21T04:27:41.549Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 0,
    "bottom": 64,
    "pageHeight": 14510
  },
  "root": {
    "id": "ld-4",
    "tag": "header",
    "role": null,
    "label": ".st0{fill:#1E1E1E;}FeaturesNotepadThe AI notepad for people in back-to-back meetingsChatAI chat that",
    "rect": {
      "x": 0,
      "y": 8,
      "width": 1440,
      "height": 56
    },
    "display": "block",
    "position": "fixed",
    "padding": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": null,
    "background": "rgba(0, 0, 0, 0)",
    "radius": "0px",
    "border": "0px solid rgb(227, 227, 227)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "gapsPx": [
      4
    ],
    "representativeContentWidthsPx": [
      1217
    ]
  },
  "columns": [
    {
      "id": "ld-6",
      "tag": "nav",
      "role": null,
      "label": ".st0{fill:#1E1E1E;}FeaturesNotepadThe AI notepad for people in back-to-back meetingsChatAI chat that",
      "rect": {
        "x": 112,
        "y": 8,
        "width": 1217,
        "height": 56
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    }
  ],
  "cards": [],
  "surfaces": {
    "radii": [
      "9999px",
      "3.35544e+07px"
    ],
    "borders": [
      "1px solid rgba(0, 0, 0, 0)",
      "1px solid rgba(71, 67, 42, 0.2)"
    ],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-11",
      "tag": "svg",
      "role": null,
      "label": ".st0{fill:#1E1E1E;}",
      "rect": {
        "x": 125,
        "y": 22,
        "width": 104,
        "height": 28
      },
      "aspectRatio": 3.7,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    },
    {
      "id": "ld-59",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 1218,
        "y": 28,
        "width": 20,
        "height": 16
      },
      "aspectRatio": 1.3,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 18,
    "cards": 0,
    "media": 2,
    "animations": 0
  },
  "limitations": [
    "Values describe the captured desktop viewport and may change at other breakpoints.",
    "Transforms, sticky layers, and virtualized content can make the inferred section root approximate.",
    "Animations include browser-exposed Web Animations API state; CSS or script motion that was inactive at capture time may be absent."
  ]
}
```

### Observed motion

No timestamped authored motion is attached. Use only restrained baseline transitions.

The browser animation records above are deterministic parameters captured from active browser animations. The timestamped observations describe what Gemini saw in the video. Treat them as complementary evidence. When either source is empty or they conflict, state the uncertainty instead of inventing timing or easing.

### Responsive contract

- Measured viewport: 1440px wide.
- Mobile/tablet values: not measured by this section evidence unless a separate capture is explicitly listed.
- Preserve hierarchy and sequence; collapse simultaneous columns only where needed, maintain media aspect ratios, and verify touch targets and text wrapping at target breakpoints.

### Structure versus visual skin

- Preserve: content hierarchy, layout relationships, section rhythm, interaction purpose.
- Adapt: brand colors, font family, copy, imagery, icons, decorative details.
- Rule: Preserve the observed design logic while creating original branding, copy, assets, and implementation details.

### Adaptation and dependencies

- Effort: Not assessed
- What transfers: Documented hierarchy and composition
- Dependencies: None recorded
- Guidance: Adapt the pattern to the new product and content.

### Evidence readiness

- Coverage: 6/7
- Can build: Yes
- Missing facts: section-specific computed typography and color samples; timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: section-specific computed typography and color samples; timestamped authored motion.

### Agent implementation prompt

Create an original navigation section inspired by the design evidence titled “Granola Navbar”.

Purpose: navbar section from the Home page of Granola.

Structure: 1440×56px root; block. Source layout label: 1440×56px root; block. Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

Visual signature to preserve at the pattern level: rgba(0, 0, 0, 0) with 1440×56px root; block. Inspect the crop for image and content hierarchy.

Components: Navigation Bar, Hero, Primary Button, Logo Strip, Feature Card, Testimonial Card, Footer, Product UI, Badge, Sticky Section Navigation, Overlapping UI Mockups.

Style direction: editorial, minimal, typographic, high-contrast-utility.

Observed crop: 1440×64px (22.5:1). Treat this as evidence of composition, not a mandatory output size.

Typography evidence: {"role":"display","size":"108px","family":"quadrant","source":"computed","traits":"Regular","weight":"400","evidence":"font-2: computed CSS at 1440×1000; AI role: Used for the largest headings on the page (108px, 'quadrant'), serving a primary display purpose.","sampleId":"font-2","confidence":0.9,"lineHeight":"104.8px","letterSpacing":"-2.2px"} {"role":"heading","size":"86.4px","family":"quadrant","source":"computed","traits":"Regular","weight":"400","evidence":"font-6: computed CSS at 1440×1000; AI role: Used for the main H1 in the hero section (86.4px, 'quadrant').","sampleId":"font-6","confidence":0.95,"lineHeight":"80.4px","letterSpacing":"-1.7px"} {"role":"body","size":"16px","family":"melange","source":"computed","traits":"Regular","weight":"400","evidence":"font-18: computed CSS at 1440×1000; AI role: Used for standard descriptive paragraphs (16px, 'melange', sans-serif).","sampleId":"font-18","confidence":0.9,"lineHeight":"24px","letterSpacing":"normal"}

Color evidence: {"hex":"#FFFFFF","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(255, 255, 255); AI role: Pure white, used as the primary background for several sections and cards.","sampleId":"color-2","confidence":0.95} {"hex":"#292929","name":"text","role":"text","source":"computed","evidence":"color-1: computed rgb(41, 41, 41); AI role: Dark charcoal, the primary color for body copy and headings.","sampleId":"color-1","confidence":0.95} {"hex":"#5B6F00","name":"primary action","role":"primary-action","source":"computed","evidence":"color-14: computed rgb(91, 111, 0); AI role: Dark green, used for primary 'Download for free' call-to-action buttons.","sampleId":"color-14","confidence":0.9} {"hex":"#F7F7F2","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(247, 247, 242); AI role: An off-white/beige used as an alternate section background to delineate content areas.","sampleId":"color-3","confidence":0.85} {"hex":"#B2C248","name":"accent","role":"accent","source":"computed","evidence":"color-4: computed rgb(178, 194, 72); AI role: Vivid lime green, used for large accent sections (e.g., the Granola Chat feature block).","sampleId":"color-4","confidence":0.85} {"hex":"#0E0F0C","name":"surface","role":"surface","source":"computed","evidence":"color-6: computed rgb(14, 15, 12); AI role: Near-black, used as the background for the logo strip and testimonial sections.","sampleId":"color-6","confidence":0.8}

No section-bounded typography samples were measured.

No section-bounded color samples were measured.

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":8,"width":1440,"height":56},"padding":{"top":"0px","right":"0px","bottom":"0px","left":"0px"},"gap":"normal","columns":null,"overflow":"visible"}; spacing {"gapsPx":[4],"representativeContentWidthsPx":[1217]}; surfaces {"radii":["9999px","3.35544e+07px"],"borders":["1px solid rgba(0, 0, 0, 0)","1px solid rgba(71, 67, 42, 0.2)"],"shadows":[]}; media [{"tag":"svg","rect":{"x":125,"y":22,"width":104,"height":28},"aspectRatio":3.7,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"svg","rect":{"x":1218,"y":28,"width":20,"height":16},"aspectRatio":1.3,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"}]

Do not invent signature motion. Use only restrained baseline transitions if the product needs them.

Transfer the documented hierarchy and composition rather than source copy or assets.

No explicit dependencies were recorded.

Adapt the pattern to the new product and content.

Use new copy, imagery, branding, and implementation details. Do not reproduce the source website or its proprietary assets.
