# Pp Frama Navbar — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://pp-frama.com/
Website: Pp Frama
Section ID: 1a7cf451-e8ea-493e-8480-4f4b9212ca16
Design Details page: https://designdetails.io/sections/pp-frama-com--home--navbar-1a7cf451
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×179px root; flex

## Visual signature

typographic, brutalist, bold, editorial, geometric, utilitarian, high-contrast-color-blocking treatment at 1440×112px. The crop spans 0–112px of a 20756px page.

## Components

- Navigation Bar
- Hero
- Primary Button
- Product UI
- Pricing Table
- Media Bar
- Footer
- Typography Specimen Grid
- Horizontal Scroll Gallery

## 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×179px root; flex
- Layout: 1440×179px root; flex
- Styles: typographic, brutalist, bold, editorial, geometric, utilitarian, high-contrast-color-blocking
- Components: Navigation Bar, Hero, Primary Button, Product UI, Pricing Table, Media Bar, Footer, Typography Specimen Grid, Horizontal Scroll Gallery
- Purpose: navbar section from the Home page of Pp Frama.
- Visual signature: rgba(0, 0, 0, 0) with 1440×179px root; flex. Inspect the crop for image and content hierarchy.
- Place on the page: 1 of 3, before Hero (`52550359-e739-4b9c-9fe5-a6f7199b3757`)

### Crop and composition

- Crop: 1440×112px; aspect ratio 12.857:1
- Page bounds: 0–112px of 20756px
- 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": [
    {
      "role": "section heading",
      "family": "PP Frama Variable Thin",
      "stack": "\"PP Frama Variable Thin\", sans-serif",
      "size": "16px",
      "weight": "100",
      "lineHeight": "16px",
      "letterSpacing": "normal",
      "sample": "GET THE FONT",
      "element": "p",
      "occurrences": 3,
      "sourceId": "font-10"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "160px",
      "family": "PP Frama Variable Thin",
      "source": "computed",
      "traits": "Regular",
      "weight": "100",
      "evidence": "font-1: computed CSS at 1440×1000; AI role: Massive 160px PP Frama Variable Thin used for decorative and highly visible single characters or small words.",
      "sampleId": "font-1",
      "confidence": 1,
      "lineHeight": "160px",
      "letterSpacing": "normal"
    },
    {
      "role": "heading",
      "size": "80px",
      "family": "PP Frama Black",
      "source": "computed",
      "traits": "Regular",
      "weight": "900",
      "evidence": "font-40: computed CSS at 1440×1000; AI role: 80px PP Frama Black used heavily in the interactive font tester to draw attention to the typeface's heaviest weight.",
      "sampleId": "font-40",
      "confidence": 0.95,
      "lineHeight": "88px",
      "letterSpacing": "normal"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "PP Frama Variable Thin",
      "source": "computed",
      "traits": "Regular",
      "weight": "100",
      "evidence": "font-4: computed CSS at 1440×1000; AI role: 16px PP Frama Variable Thin used for descriptive paragraphs and standard body copy across the site.",
      "sampleId": "font-4",
      "confidence": 0.95,
      "lineHeight": "16px",
      "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": [
    {
      "value": "#000000",
      "cssValue": "rgb(0, 0, 0)",
      "alpha": 1,
      "appliedAs": [
        "svg-fill",
        "text"
      ],
      "occurrences": 123,
      "sourceId": "color-1"
    },
    {
      "value": "#FFFFFF",
      "cssValue": "rgb(255, 255, 255)",
      "alpha": 1,
      "appliedAs": [
        "background",
        "text"
      ],
      "occurrences": 13,
      "sourceId": "color-2"
    },
    {
      "value": "#FF6E00",
      "cssValue": "rgb(255, 110, 0)",
      "alpha": 1,
      "appliedAs": [
        "control-background",
        "background",
        "text"
      ],
      "occurrences": 9,
      "sourceId": "color-6"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#000000",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-1: computed rgb(0, 0, 0); AI role: Black (#000000) is the dominant color for text, SVG icons, and structural borders ensuring maximum contrast.",
      "sampleId": "color-1",
      "confidence": 1
    },
    {
      "hex": "#FFFFFF",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(255, 255, 255); AI role: White (#FFFFFF) used as the foundational background color for the overall document body.",
      "sampleId": "color-2",
      "confidence": 0.95
    },
    {
      "hex": "#FF6E00",
      "name": "primary action",
      "role": "primary-action",
      "source": "computed",
      "evidence": "color-6: computed rgb(255, 110, 0); AI role: Vibrant Orange (#FF6E00) used for the primary 'GET THE FONT' buttons and major attention-grabbing background sections.",
      "sampleId": "color-6",
      "confidence": 0.95
    },
    {
      "hex": "#5278D9",
      "name": "accent",
      "role": "accent",
      "source": "computed",
      "evidence": "color-4: computed rgb(82, 120, 217); AI role: Strong Blue (#5278D9) used as a major structural background block in the specimen sections.",
      "sampleId": "color-4",
      "confidence": 0.9
    },
    {
      "hex": "#0E7E1B",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-12: computed rgb(14, 126, 27); AI role: Deep Green (#0E7E1B) utilized as a full-bleed background for the 'Frama follow function' section.",
      "sampleId": "color-12",
      "confidence": 0.85
    },
    {
      "hex": "#A3A3A3",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-14: computed rgb(163, 163, 163); AI role: Light Gray (#A3A3A3) used for secondary descriptive text, such as author credits and subtitles.",
      "sampleId": "color-14",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "0px",
  "density": "Highly varied; the design contrasts extreme low-density areas featuring singular massive words with high-density utilitarian tables detailing font specifications.",
  "evidence": "DOM/CSS data confirms sharp corners (absence of border-radius), exact vibrant hex values (#FF6E00, #5278D9), and structural grids formed by explicit borders.",
  "borderStyle": "Extensive use of solid 1px black borders to delineate grid columns, table rows, and button boundaries.",
  "buttonStyle": "Solid, highly saturated background colors (like orange) contrasted with black text and encased in a 1px solid black border.",
  "cornerStyle": "Sharp, 0px square corners are universally applied across containers, buttons, and visual dividers.",
  "contentWidth": "Full-bleed edge-to-edge layout, discarding traditional max-width containers in favor of viewport-spanning grid structures.",
  "spacingRhythm": "Macro layout relies on massive, full-viewport sections with edge-to-edge content blocks. Micro layout uses tight, tabular alignment for technical data."
}
```

### Reconstruction specification

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

- Root: 1440×179px; flex; padding {"top":"24px","right":"24px","bottom":"0px","left":"24px"}; gap normal; background rgba(0, 0, 0, 0); radius 0px.
- Observed gaps: 2, 8px.
- Layout containers: 1; cards/surfaces: 0; media elements: 1; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 0,
      "bottom": 112,
      "pageHeight": 26644
    }
  },
  "container": {
    "size": "1440×179px",
    "position": "x 0px, y 0px",
    "display": "flex",
    "positionMode": "fixed",
    "padding": {
      "top": "24px",
      "right": "24px",
      "bottom": "0px",
      "left": "24px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": "not captured",
    "background": "rgba(0, 0, 0, 0)",
    "radius": "0px",
    "border": "0px none rgb(0, 0, 0)",
    "shadow": "none",
    "overflow": "clip"
  },
  "spacing": {
    "observedGapsPx": [
      2,
      8
    ],
    "representativeContentWidthsPx": []
  },
  "columns": [
    {
      "element": "nav · GET THE FONT",
      "size": "1440×179px",
      "position": "x 0px, y 0px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [],
  "surfaces": {
    "radii": [
      "3px",
      "8px"
    ],
    "borders": [],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "svg · svg",
    "size": "56×56px",
    "position": "x 30px, y 30px",
    "aspectRatio": 1,
    "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-11-02T06:33:10.108Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 0,
    "bottom": 112,
    "pageHeight": 26644
  },
  "root": {
    "id": "ld-19",
    "tag": "nav",
    "role": null,
    "label": "GET THE FONT",
    "rect": {
      "x": 0,
      "y": 0,
      "width": 1440,
      "height": 179
    },
    "display": "flex",
    "position": "fixed",
    "padding": {
      "top": "24px",
      "right": "24px",
      "bottom": "0px",
      "left": "24px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": null,
    "background": "rgba(0, 0, 0, 0)",
    "radius": "0px",
    "border": "0px none rgb(0, 0, 0)",
    "shadow": "none",
    "overflow": "clip"
  },
  "spacing": {
    "gapsPx": [
      2,
      8
    ],
    "representativeContentWidthsPx": []
  },
  "columns": [
    {
      "id": "ld-19",
      "tag": "nav",
      "role": null,
      "label": "GET THE FONT",
      "rect": {
        "x": 0,
        "y": 0,
        "width": 1440,
        "height": 179
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    }
  ],
  "cards": [],
  "surfaces": {
    "radii": [
      "3px",
      "8px"
    ],
    "borders": [],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-26",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 30,
        "y": 30,
        "width": 56,
        "height": 56
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 5,
    "cards": 0,
    "media": 1,
    "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: 7/7
- Can build: Yes
- Missing facts: timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: timestamped authored motion.

### Agent implementation prompt

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

Purpose: navbar section from the Home page of Pp Frama.

Structure: 1440×179px root; flex. Source layout label: 1440×179px root; flex. 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×179px root; flex. Inspect the crop for image and content hierarchy.

Components: Navigation Bar, Hero, Primary Button, Product UI, Pricing Table, Media Bar, Footer, Typography Specimen Grid, Horizontal Scroll Gallery.

Style direction: typographic, brutalist, bold, editorial, geometric, utilitarian, high-contrast-color-blocking.

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

Typography evidence: {"role":"display","size":"160px","family":"PP Frama Variable Thin","source":"computed","traits":"Regular","weight":"100","evidence":"font-1: computed CSS at 1440×1000; AI role: Massive 160px PP Frama Variable Thin used for decorative and highly visible single characters or small words.","sampleId":"font-1","confidence":1,"lineHeight":"160px","letterSpacing":"normal"} {"role":"heading","size":"80px","family":"PP Frama Black","source":"computed","traits":"Regular","weight":"900","evidence":"font-40: computed CSS at 1440×1000; AI role: 80px PP Frama Black used heavily in the interactive font tester to draw attention to the typeface's heaviest weight.","sampleId":"font-40","confidence":0.95,"lineHeight":"88px","letterSpacing":"normal"} {"role":"body","size":"16px","family":"PP Frama Variable Thin","source":"computed","traits":"Regular","weight":"100","evidence":"font-4: computed CSS at 1440×1000; AI role: 16px PP Frama Variable Thin used for descriptive paragraphs and standard body copy across the site.","sampleId":"font-4","confidence":0.95,"lineHeight":"16px","letterSpacing":"normal"}

Color evidence: {"hex":"#000000","name":"text","role":"text","source":"computed","evidence":"color-1: computed rgb(0, 0, 0); AI role: Black (#000000) is the dominant color for text, SVG icons, and structural borders ensuring maximum contrast.","sampleId":"color-1","confidence":1} {"hex":"#FFFFFF","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(255, 255, 255); AI role: White (#FFFFFF) used as the foundational background color for the overall document body.","sampleId":"color-2","confidence":0.95} {"hex":"#FF6E00","name":"primary action","role":"primary-action","source":"computed","evidence":"color-6: computed rgb(255, 110, 0); AI role: Vibrant Orange (#FF6E00) used for the primary 'GET THE FONT' buttons and major attention-grabbing background sections.","sampleId":"color-6","confidence":0.95} {"hex":"#5278D9","name":"accent","role":"accent","source":"computed","evidence":"color-4: computed rgb(82, 120, 217); AI role: Strong Blue (#5278D9) used as a major structural background block in the specimen sections.","sampleId":"color-4","confidence":0.9} {"hex":"#0E7E1B","name":"surface","role":"surface","source":"computed","evidence":"color-12: computed rgb(14, 126, 27); AI role: Deep Green (#0E7E1B) utilized as a full-bleed background for the 'Frama follow function' section.","sampleId":"color-12","confidence":0.85} {"hex":"#A3A3A3","name":"muted text","role":"muted-text","source":"computed","evidence":"color-14: computed rgb(163, 163, 163); AI role: Light Gray (#A3A3A3) used for secondary descriptive text, such as author credits and subtitles.","sampleId":"color-14","confidence":0.8}

Typography measured inside this section: {"id":"font-10","family":"PP Frama Variable Thin","fontStack":"\"PP Frama Variable Thin\", sans-serif","weight":"100","size":"16px","lineHeight":"16px","letterSpacing":"normal","traits":"capitalize","count":3,"contexts":[{"tag":"p","text":"GET THE FONT","top":40,"property":"font"},{"tag":"h2","text":"Both Available in Variable Weights + Italic","top":9982,"property":"font"},{"tag":"p","text":"GRAB THE FONT NOW","top":26807,"property":"font"}]}

Colors measured inside this section: {"id":"color-1","hex":"#000000","alpha":1,"cssValue":"rgb(0, 0, 0)","count":123,"contexts":[{"tag":"svg","text":"","top":30,"property":"svg-fill"},{"tag":"use","text":"","top":30,"property":"svg-fill"},{"tag":"p","text":"GET THE FONT","top":40,"property":"text"}]} {"id":"color-2","hex":"#FFFFFF","alpha":1,"cssValue":"rgb(255, 255, 255)","count":13,"contexts":[{"tag":"body","text":":root body { background: var(--token-0e7cc99b-62c6-4a26-8036-8d7e9afb0b7c, rgb(255, 255, 255)); } :r","top":0,"property":"background"},{"tag":"div","text":"html body { background: rgb(255, 255, 255); }GET THE FONTPP FRAMACelebrating GeometryCircles, lines,","top":0,"property":"background"},{"tag":"p","text":"THE NEW GEOMETRIC SANS-SERIF FROM PANGRAMPANGRAM.","top":4423,"property":"text"}]} {"id":"color-6","hex":"#FF6E00","alpha":1,"cssValue":"rgb(255, 110, 0)","count":9,"contexts":[{"tag":"a","text":"","top":24,"property":"control-background"},{"tag":"div","text":"PP FRAMACelebrating GeometryCircles, lines, and counterforms meet in a quiet system of balance, a su","top":736,"property":"background"},{"tag":"span","text":"INFORMATION","top":21685,"property":"text"}]}

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":0,"width":1440,"height":179},"padding":{"top":"24px","right":"24px","bottom":"0px","left":"24px"},"gap":"normal","columns":null,"overflow":"clip"}; spacing {"gapsPx":[2,8],"representativeContentWidthsPx":[]}; surfaces {"radii":["3px","8px"],"borders":[],"shadows":[]}; media [{"tag":"svg","rect":{"x":30,"y":30,"width":56,"height":56},"aspectRatio":1,"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.
