# Designed for the AI era — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://buildwithfern.com/
Website: Fern
Section ID: 5dc4c784-4ab7-41ec-ac5b-71d018cad683
Design Details page: https://designdetails.io/sections/buildwithfern-com--home--ai-5dc4c784-4ab7-41ec-ac5b-71d018cad683
Status: deterministic evidence partially captured; editorial AI review pending

## Purpose

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

## Layout

captured layout

## Visual signature

minimal, corporate, developer-focused treatment at 1440×1359px. The crop spans 2894–4253px of a 10124px page.

## Components

- Navigation Bar
- Hero
- Logo Strip
- Stat Block
- Feature Card
- Testimonial Card
- Footer
- UI Mockup Simulation

## 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: features
- Source type: feature-grid
- Structure: captured layout
- Layout: captured layout
- Styles: minimal, corporate, developer-focused
- Components: Navigation Bar, Hero, Logo Strip, Stat Block, Feature Card, Testimonial Card, Footer, UI Mockup Simulation
- Purpose: feature-grid section from the Home page of Fern.
- Visual signature: Captured visual surface with captured layout. Inspect the crop for image and content hierarchy.
- Place on the page: 13 of 18, after Feature collection (`1dbbfde9-fc8e-42f4-907b-fcda7c9c7a3c`), before Call to action (`8f8786ba-b19a-4e01-a10b-0a6c690a6c8d`)

### Crop and composition

- Crop: 1440×1359px; aspect ratio 1.06:1
- Page bounds: 2894–4253px of 10124px
- 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": "card/subheading",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "20px",
      "weight": "300",
      "lineHeight": "30px",
      "letterSpacing": "-0.2px",
      "sample": "Support modern API protocols: REST, WebSockets, and GraphQL.",
      "element": "p",
      "occurrences": 9,
      "sourceId": "font-7"
    },
    {
      "role": "body/supporting copy",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "13px",
      "weight": "400",
      "lineHeight": "17.9px",
      "letterSpacing": "normal",
      "sample": "@Fern Agent Write a quick start guide for my Fern generated TypeScript SDK",
      "element": "p",
      "occurrences": 3,
      "sourceId": "font-10"
    },
    {
      "role": "body/supporting copy",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "15px",
      "weight": "400",
      "lineHeight": "24.4px",
      "letterSpacing": "normal",
      "sample": "Fern SDKs handle pagination automatically — list endpoints return an async iterator you can loop ove",
      "element": "p",
      "occurrences": 1,
      "sourceId": "font-12"
    },
    {
      "role": "UI/supporting text",
      "family": "berkeleyMono",
      "stack": "berkeleyMono, \"berkeleyMono Fallback\"",
      "size": "12.5px",
      "weight": "100",
      "lineHeight": "21.3px",
      "letterSpacing": "normal",
      "sample": "1",
      "element": "span",
      "occurrences": 78,
      "sourceId": "font-14"
    },
    {
      "role": "UI/supporting text",
      "family": "berkeleyMono",
      "stack": "berkeleyMono, \"berkeleyMono Fallback\"",
      "size": "13px",
      "weight": "400",
      "lineHeight": "21.1px",
      "letterSpacing": "normal",
      "sample": ">",
      "element": "span",
      "occurrences": 10,
      "sourceId": "font-20"
    },
    {
      "role": "UI/supporting text",
      "family": "berkeleyMono",
      "stack": "berkeleyMono, \"berkeleyMono Fallback\"",
      "size": "12px",
      "weight": "400",
      "lineHeight": "18px",
      "letterSpacing": "normal",
      "sample": "docs.yml",
      "element": "span",
      "occurrences": 7,
      "sourceId": "font-22"
    },
    {
      "role": "UI/supporting text",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "11px",
      "weight": "400",
      "lineHeight": "16.5px",
      "letterSpacing": "normal",
      "sample": "Saturday at 3:23 PM",
      "element": "span",
      "occurrences": 6,
      "sourceId": "font-25"
    },
    {
      "role": "UI/supporting text",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "10px",
      "weight": "400",
      "lineHeight": "15px",
      "letterSpacing": "normal",
      "sample": "Get Authorization",
      "element": "span",
      "occurrences": 6,
      "sourceId": "font-26"
    },
    {
      "role": "UI/supporting text",
      "family": "berkeleyMono",
      "stack": "berkeleyMono, \"berkeleyMono Fallback\"",
      "size": "8px",
      "weight": "500",
      "lineHeight": "8px",
      "letterSpacing": "normal",
      "sample": "GET",
      "element": "span",
      "occurrences": 6,
      "sourceId": "font-27"
    },
    {
      "role": "UI/supporting text",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "10px",
      "weight": "500",
      "lineHeight": "15px",
      "letterSpacing": "0.3px",
      "sample": "Token",
      "element": "span",
      "occurrences": 3,
      "sourceId": "font-34"
    },
    {
      "role": "UI/supporting text",
      "family": "gtPlanar",
      "stack": "gtPlanar, \"gtPlanar Fallback\"",
      "size": "15px",
      "weight": "400",
      "lineHeight": "20.6px",
      "letterSpacing": "normal",
      "sample": "What’s the best way to handle pagination in the SDK?",
      "element": "div",
      "occurrences": 2,
      "sourceId": "font-39"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "48px",
      "family": "gtPlanar",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-4: computed CSS at 1440×1000; AI role: gtPlanar at 48px, used for the main hero headline.",
      "sampleId": "font-4",
      "confidence": 0.9,
      "lineHeight": "55.2px",
      "letterSpacing": "-1.9px"
    },
    {
      "role": "heading",
      "size": "24px",
      "family": "gtPlanar",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: gtPlanar at 24px, used for section or feature card headings.",
      "sampleId": "font-2",
      "confidence": 0.85,
      "lineHeight": "normal",
      "letterSpacing": "-0.5px"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "gtPlanar",
      "source": "computed",
      "traits": "Regular",
      "weight": "300",
      "evidence": "font-6: computed CSS at 1440×1000; AI role: gtPlanar at 16px, used for standard body copy and descriptive text.",
      "sampleId": "font-6",
      "confidence": 0.9,
      "lineHeight": "27.2px",
      "letterSpacing": "normal"
    },
    {
      "role": "mono",
      "size": "12px",
      "family": "JetBrains Mono",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-15: computed CSS at 1440×1000; AI role: JetBrains Mono at 12px, used for code syntax and terminal outputs.",
      "sampleId": "font-15",
      "confidence": 0.95,
      "lineHeight": "19.8px",
      "letterSpacing": "normal"
    }
  ]
}
```

### Contextual design review

```json
{
  "status": "client-review-required",
  "checks": {
    "hierarchy": "Does each eyebrow, label and text level add useful information or clarify a necessary decision?",
    "decoration": "Do borders, effects, motion and spacing explain grouping or express a specific idea?",
    "repetition": "Can repeated claims, descriptions or actions be removed without losing needed information?",
    "identity": "What visible relationship between this offer, actual copy, imagery, typography and space gives the composition a convincing identity? Name its contribution and losses; matching ingredients or sparse styling are insufficient.",
    "reference": "Does it retain the source's dominant explanatory effect, media role, type balance and quiet space, not just columns?"
  },
  "heroMedia": {
    "appliesWhen": "A hero relies on focal media. A reasoned no-image hero remains valid and is judged by its visible composition.",
    "plan": "Record the image/headline first impression, actual available asset and crop, source image contribution, replacement contribution and losses before studies.",
    "review": "Does the actual hero suggest an offer, audience and experience appropriate to the whole brief? Quiet copy space or a recognizable subject is insufficient. One activity may lead without depicting all offers; justify its emphasis and resolve misleading implications. Missing assets or uncertain essential effects remain unverified."
  },
  "optionMedia": {
    "appliesWhen": "A section uses imagery to help visitors distinguish choices.",
    "planPerChoice": [
      "visitor distinction",
      "observable image evidence",
      "available asset or unresolved dependency",
      "crop retaining the distinguishing detail"
    ],
    "review": "Inspect the actual images. Shared atmosphere, changed crops or matching cards do not establish choice-specific meaning. If that role fails, resolve assets, choose an executable alternative or record lost/unverified and reject. Text comparison can be valid; it preserves a different contribution."
  },
  "noteCheck": "Check editorial interpretations against the received image; retain conflicts and unknown states instead of inventing selection or image meaning.",
  "decision": "Judge brief fit and positive character separately from layout preservation. Compare actual renders/references; essential lost or unverified effects prevent proceed. Reject either or both weak directions after inspection.",
  "qualityCertified": false
}
```

### Typography preservation review

```json
{
  "beforeStudy": "Use the actual reference image and captured section values to describe what its typography contributes: letter proportions and width, weight and contrast, case, line breaks and text-block shape, scale, spacing and relationship to the image. Label visual observations separately from captured facts and unknowns.",
  "substitution": "Choose an available, permitted face for the brief. Explain any substitute by the source relationships it preserves and any deliberate change; a familiar family, a serif/sans category or a mood label alone is not a justification. Do not copy an unavailable proprietary font or ban a common family merely because it is common.",
  "finalCheck": "Compare the actual rendered headline and supporting type beside this reference at the intended viewport. Check the loaded face/fallback and visible proportions, weight, line breaks, scale, spacing, contrast and image balance. Revise or reject when an essential typographic contribution is lost or unverified; a layout match or a font name is not a typography pass.",
  "unknowns": [
    "Glyph proportions, optical weight, actual line breaks, text-block shape and type-to-image balance require inspection of the reference image.",
    "Actual rendered face, font availability/licensing and responsive typography are not verified by this response."
  ]
}
```

### 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": "#1C2024",
      "cssValue": "rgb(28, 32, 36)",
      "alpha": 1,
      "appliedAs": [
        "text",
        "svg-fill"
      ],
      "occurrences": 29,
      "sourceId": "color-19"
    },
    {
      "value": "#60646C",
      "cssValue": "rgb(96, 100, 108)",
      "alpha": 1,
      "appliedAs": [
        "text"
      ],
      "occurrences": 24,
      "sourceId": "color-22"
    },
    {
      "value": "#E8E8EC",
      "cssValue": "rgb(232, 232, 236)",
      "alpha": 1,
      "appliedAs": [
        "background"
      ],
      "occurrences": 2,
      "sourceId": "color-25"
    },
    {
      "value": "#8B8D98",
      "cssValue": "rgb(139, 141, 152)",
      "alpha": 1,
      "appliedAs": [
        "text",
        "svg-fill"
      ],
      "occurrences": 13,
      "sourceId": "color-30"
    },
    {
      "value": "#D9D9E0",
      "cssValue": "rgb(217, 217, 224)",
      "alpha": 1,
      "appliedAs": [
        "background",
        "border"
      ],
      "occurrences": 70,
      "sourceId": "color-33"
    },
    {
      "value": "#4963A4",
      "cssValue": "rgb(73, 99, 164)",
      "alpha": 1,
      "appliedAs": [
        "text"
      ],
      "occurrences": 4,
      "sourceId": "color-42"
    },
    {
      "value": "#CDCED6",
      "cssValue": "rgb(205, 206, 214)",
      "alpha": 1,
      "appliedAs": [
        "border",
        "background"
      ],
      "occurrences": 26,
      "sourceId": "color-45"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#F7F7F7",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-1: computed lab(97.332 -0.0000298023 0); AI role: Off-white #F7F7F7 used as the primary background color for the page body.",
      "sampleId": "color-1",
      "confidence": 0.95
    },
    {
      "hex": "#202020",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-8: computed rgb(32, 32, 32); AI role: Dark grey #202020 used for primary headings and body text.",
      "sampleId": "color-8",
      "confidence": 0.95
    },
    {
      "hex": "#737373",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-7: computed lab(48.496 0 0); AI role: Lighter grey #737373 used for secondary text, metadata, and navigation links.",
      "sampleId": "color-7",
      "confidence": 0.9
    },
    {
      "hex": "#E4E4E4",
      "name": "border",
      "role": "border",
      "source": "computed",
      "evidence": "color-5: computed lab(90.72 0.0000298023 -0.0000119209); AI role: Light grey #E4E4E4 used for borders around feature cards and UI elements.",
      "sampleId": "color-5",
      "confidence": 0.9
    },
    {
      "hex": "#FFFFFF",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(255, 255, 255); AI role: White #FFFFFF used for specific card backgrounds and UI mockup surfaces.",
      "sampleId": "color-3",
      "confidence": 0.85
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Moderate radius on large UI containers and smaller radii on buttons and inner card elements.",
  "density": "Low density with ample whitespace to ensure readability and focus on the technical details and UI mockups.",
  "evidence": "Observed in the layout of the feature grids, the styling of the 'Book a demo' button, and the consistent use of #E4E4E4 borders across the page.",
  "borderStyle": "Thin (1px), solid, light grey borders (#E4E4E4, #E5E5E5) used extensively to define cards and separate content areas without heavy contrast.",
  "buttonStyle": "Solid dark buttons for primary actions, and ghost or subtle outline styles for secondary interactions, often with rounded corners.",
  "cornerStyle": "Softly rounded corners applied consistently to feature cards, buttons, and UI mockups, creating a friendly, modern feel.",
  "contentWidth": "Contained max-width for the main content area, centering the layout on larger screens.",
  "spacingRhythm": "Generous vertical padding separates major sections, while structured grid gaps are used between feature cards to maintain order."
}
```

### Reconstruction specification

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

- Root container was not deterministically isolated.
- Layout containers: 0; cards/surfaces: 0; media elements: 0; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": null,
    "captureBounds": null
  },
  "container": null,
  "spacing": {
    "observedGapsPx": [],
    "representativeContentWidthsPx": []
  },
  "columns": []
}
```

#### Cards and surfaces

```json
{
  "cards": [],
  "surfaces": null
}
```

#### Media treatment

```json
[]
```

#### 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
null
```

### 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: unknownpx 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

These categories describe evidence, not independent layers that can be swapped without changing the design. Study the complete reference system before adapting it.

- Preserve: content hierarchy, layout relationships, section rhythm, interaction purpose.
- Adapt: brand colors, font family, copy, imagery, icons, decorative details.
- Rule: These compatibility categories are coupled: fonts, color and imagery can carry the layout's design logic. Preserve or purposefully replace their contribution 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-level geometry, surfaces, media treatment, and animation parameters; timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: section-level geometry, surfaces, media treatment, and animation parameters; timestamped authored motion.

### Agent implementation prompt

Create an original features section inspired by the design evidence titled “Designed for the AI era”.

Purpose: feature-grid section from the Home page of Fern.

Structure: captured layout. Source layout label: captured layout. Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

Visual signature to preserve at the pattern level: Captured visual surface with captured layout. Inspect the crop for image and content hierarchy.

Components: Navigation Bar, Hero, Logo Strip, Stat Block, Feature Card, Testimonial Card, Footer, UI Mockup Simulation.

Style direction: minimal, corporate, developer-focused.

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

Typography evidence: {"role":"display","size":"48px","family":"gtPlanar","source":"computed","traits":"Regular","weight":"400","evidence":"font-4: computed CSS at 1440×1000; AI role: gtPlanar at 48px, used for the main hero headline.","sampleId":"font-4","confidence":0.9,"lineHeight":"55.2px","letterSpacing":"-1.9px"} {"role":"heading","size":"24px","family":"gtPlanar","source":"computed","traits":"Regular","weight":"400","evidence":"font-2: computed CSS at 1440×1000; AI role: gtPlanar at 24px, used for section or feature card headings.","sampleId":"font-2","confidence":0.85,"lineHeight":"normal","letterSpacing":"-0.5px"} {"role":"body","size":"16px","family":"gtPlanar","source":"computed","traits":"Regular","weight":"300","evidence":"font-6: computed CSS at 1440×1000; AI role: gtPlanar at 16px, used for standard body copy and descriptive text.","sampleId":"font-6","confidence":0.9,"lineHeight":"27.2px","letterSpacing":"normal"} {"role":"mono","size":"12px","family":"JetBrains Mono","source":"computed","traits":"Regular","weight":"400","evidence":"font-15: computed CSS at 1440×1000; AI role: JetBrains Mono at 12px, used for code syntax and terminal outputs.","sampleId":"font-15","confidence":0.95,"lineHeight":"19.8px","letterSpacing":"normal"}

Color evidence: {"hex":"#F7F7F7","name":"canvas","role":"canvas","source":"computed","evidence":"color-1: computed lab(97.332 -0.0000298023 0); AI role: Off-white #F7F7F7 used as the primary background color for the page body.","sampleId":"color-1","confidence":0.95} {"hex":"#202020","name":"text","role":"text","source":"computed","evidence":"color-8: computed rgb(32, 32, 32); AI role: Dark grey #202020 used for primary headings and body text.","sampleId":"color-8","confidence":0.95} {"hex":"#737373","name":"muted text","role":"muted-text","source":"computed","evidence":"color-7: computed lab(48.496 0 0); AI role: Lighter grey #737373 used for secondary text, metadata, and navigation links.","sampleId":"color-7","confidence":0.9} {"hex":"#E4E4E4","name":"border","role":"border","source":"computed","evidence":"color-5: computed lab(90.72 0.0000298023 -0.0000119209); AI role: Light grey #E4E4E4 used for borders around feature cards and UI elements.","sampleId":"color-5","confidence":0.9} {"hex":"#FFFFFF","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(255, 255, 255); AI role: White #FFFFFF used for specific card backgrounds and UI mockup surfaces.","sampleId":"color-3","confidence":0.85}

Typography measured inside this section: {"id":"font-7","family":"gtPlanar","fontStack":"gtPlanar, \"gtPlanar Fallback\"","weight":"300","size":"20px","lineHeight":"30px","letterSpacing":"-0.2px","traits":"Regular","count":9,"contexts":[{"tag":"p","text":"Support modern API protocols: REST, WebSockets, and GraphQL.","top":2060,"property":"font"},{"tag":"p","text":"Integrate AI into how you write, maintain, and consume docs.","top":3049,"property":"font"},{"tag":"p","text":"Teams come to Fern from every kind of stack. Our team handles the heavy lifting, so you ship faster ","top":4501,"property":"font"}]} {"id":"font-10","family":"gtPlanar","fontStack":"gtPlanar, \"gtPlanar Fallback\"","weight":"400","size":"13px","lineHeight":"17.9px","letterSpacing":"normal","traits":"Regular","count":3,"contexts":[{"tag":"p","text":"@Fern Agent Write a quick start guide for my Fern generated TypeScript SDK","top":3836,"property":"font"},{"tag":"p","text":"PR created: github.com/your-company/docs/pull/3929","top":3934,"property":"font"},{"tag":"span","text":"github.com/your-company/docs/pull/3929","top":3935,"property":"font"}]} {"id":"font-12","family":"gtPlanar","fontStack":"gtPlanar, \"gtPlanar Fallback\"","weight":"400","size":"15px","lineHeight":"24.4px","letterSpacing":"normal","traits":"Regular","count":1,"contexts":[{"tag":"p","text":"Fern SDKs handle pagination automatically — list endpoints return an async iterator you can loop ove","top":3269,"property":"font"}]} {"id":"font-14","family":"berkeleyMono","fontStack":"berkeleyMono, \"berkeleyMono Fallback\"","weight":"100","size":"12.5px","lineHeight":"21.3px","letterSpacing":"normal","traits":"Regular","count":78,"contexts":[{"tag":"span","text":"1","top":3267,"property":"font"},{"tag":"span","text":"instances","top":3264,"property":"font"},{"tag":"span","text":":","top":3263,"property":"font"}]} {"id":"font-20","family":"berkeleyMono","fontStack":"berkeleyMono, \"berkeleyMono Fallback\"","weight":"400","size":"13px","lineHeight":"21.1px","letterSpacing":"normal","traits":"Regular","count":10,"contexts":[{"tag":"span","text":">","top":3829,"property":"font"},{"tag":"span","text":"I want to integrate with your-company’s Voice Agent API","top":3829,"property":"font"},{"tag":"span","text":"•","top":3881,"property":"font"}]} {"id":"font-22","family":"berkeleyMono","fontStack":"berkeleyMono, \"berkeleyMono Fallback\"","weight":"400","size":"12px","lineHeight":"18px","letterSpacing":"normal","traits":"Regular","count":7,"contexts":[{"tag":"span","text":"docs.yml","top":3228,"property":"font"},{"tag":"span","text":"theme.css","top":3257,"property":"font"},{"tag":"span","text":"quickstart.mdx","top":3284,"property":"font"}]} {"id":"font-25","family":"gtPlanar","fontStack":"gtPlanar, \"gtPlanar Fallback\"","weight":"400","size":"11px","lineHeight":"16.5px","letterSpacing":"normal","traits":"Regular","count":6,"contexts":[{"tag":"span","text":"Saturday at 3:23 PM","top":3817,"property":"font"},{"tag":"span","text":"Saturday at 3:24 PM","top":3915,"property":"font"},{"tag":"div","text":"Also of interest","top":9304,"property":"font"}]} {"id":"font-26","family":"gtPlanar","fontStack":"gtPlanar, \"gtPlanar Fallback\"","weight":"400","size":"10px","lineHeight":"15px","letterSpacing":"normal","traits":"Regular","count":6,"contexts":[{"tag":"span","text":"Get Authorization","top":3796,"property":"font"},{"tag":"span","text":"Get Authorization","top":3819,"property":"font"},{"tag":"span","text":"List Sites","top":3869,"property":"font"}]}

Colors measured inside this section: {"id":"color-19","hex":"#1C2024","alpha":1,"cssValue":"rgb(28, 32, 36)","count":29,"contexts":[{"tag":"span","text":"-","top":3283,"property":"text"},{"tag":"div","text":"What’s the best way to handle pagination in the SDK?","top":3183,"property":"text"},{"tag":"path","text":"","top":3869,"property":"svg-fill"}]} {"id":"color-22","hex":"#60646C","alpha":1,"cssValue":"rgb(96, 100, 108)","count":24,"contexts":[{"tag":"span","text":"docs.yml","top":3228,"property":"text"},{"tag":"p","text":"Fern SDKs handle pagination automatically — list endpoints return an async iterator you can loop ove","top":3269,"property":"text"}]} {"id":"color-25","hex":"#E8E8EC","alpha":1,"cssValue":"rgb(232, 232, 236)","count":2,"contexts":[{"tag":"div","text":"What’s the best way to handle pagination in the SDK?","top":3183,"property":"background"}]} {"id":"color-30","hex":"#8B8D98","alpha":1,"cssValue":"rgb(139, 141, 152)","count":13,"contexts":[{"tag":"span","text":"terminal","top":2266,"property":"text"},{"tag":"svg","text":"","top":3271,"property":"svg-fill"},{"tag":"path","text":"","top":3271,"property":"svg-fill"}]} {"id":"color-33","hex":"#D9D9E0","alpha":1,"cssValue":"rgb(217, 217, 224)","count":70,"contexts":[{"tag":"span","text":"","top":2269,"property":"background"},{"tag":"div","text":"docs.yml1instances:2 - url: docs.example.com3navigation:4 - section: Get started5 contents:6 - page:","top":3199,"property":"border"}]} {"id":"color-42","hex":"#4963A4","alpha":1,"cssValue":"rgb(73, 99, 164)","count":4,"contexts":[{"tag":"span","text":"false","top":3383,"property":"text"}]} {"id":"color-45","hex":"#CDCED6","alpha":1,"cssValue":"rgb(205, 206, 214)","count":26,"contexts":[{"tag":"div","text":"OpenAPI","top":2160,"property":"border"},{"tag":"span","text":"","top":3760,"property":"background"},{"tag":"div","text":"","top":3886,"property":"background"}]}

No saved element-map measurements were available; do not invent exact source spacing, card, media, or animation values.

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.

Study layout, typography, color, imagery and spacing as one coordinated source system. Record what creates its effect before producing a concept; preserve or purposefully replace each consequential relationship when adapting the business content and assets.

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