# Case study card with people photo — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://joseocando.com/
Website: Jose Ocando
Section ID: ad456f9d-a0cb-4397-b773-d86890f24509
Design Details page: https://designdetails.io/sections/joseocando-com--home--testimonials-ad456f9d
Status: deterministic evidence captured; editorial AI review pending

## Purpose

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

## Layout

1354×736px root; block

## Visual signature

editorial, soft, minimal, earthy treatment at 1440×776px. The crop spans 2483–3259px of a 5957px page.

## Components

- Navigation Bar
- Hero
- Feature Card
- Primary Button
- Carousel
- Badge
- Scroll Triggered Bottom Navigation
- Parallax Image Cards
- Dark Gradient Split Cards

## 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: testimonials
- Source type: testimonials
- Structure: 1354×736px root; block
- Layout: 1354×736px root; block
- Styles: editorial, soft, minimal, earthy
- Components: Navigation Bar, Hero, Feature Card, Primary Button, Carousel, Badge, Scroll Triggered Bottom Navigation, Parallax Image Cards, Dark Gradient Split Cards
- Purpose: testimonials section from the Home page of Jose Ocando.
- Visual signature: rgba(0, 0, 0, 0) with 1354×736px root; block. Inspect the crop for image and content hierarchy.
- Place on the page: 5 of 9, after Testimonials (`4ab39ad8-fdd7-4652-8b87-53763880fdd3`), before Testimonials (`ecc48bc6-c94d-4da7-8177-5434f2bee13e`)

### Crop and composition

- Crop: 1440×776px; aspect ratio 1.856:1
- Page bounds: 2483–3259px of 5957px
- 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": "115.2px",
      "family": "Stringer",
      "source": "computed",
      "traits": "Regular",
      "weight": "100",
      "evidence": "font-4: computed CSS at 1440×1000; AI role: Stringer at 115.2px, used for the main hero name 'Jose Ocando'.",
      "sampleId": "font-4",
      "confidence": 0.95,
      "lineHeight": "97.9px",
      "letterSpacing": "-4.6px"
    },
    {
      "role": "heading",
      "size": "50px",
      "family": "Stringer",
      "source": "computed",
      "traits": "Regular",
      "weight": "100",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: Stringer at 50px, used for case study titles like 'Webflow' and 'New Story'.",
      "sampleId": "font-2",
      "confidence": 0.95,
      "lineHeight": "60px",
      "letterSpacing": "-1.5px"
    },
    {
      "role": "body",
      "size": "18px",
      "family": "Stringer",
      "source": "computed",
      "traits": "Regular",
      "weight": "300",
      "evidence": "font-5: computed CSS at 1440×1000; AI role: Stringer at 18px, used for descriptive paragraphs and pull quotes within the case studies.",
      "sampleId": "font-5",
      "confidence": 0.85,
      "lineHeight": "28.8px",
      "letterSpacing": "normal"
    },
    {
      "role": "mono",
      "size": "12px",
      "family": "Geist Mono",
      "source": "computed",
      "traits": "uppercase",
      "weight": "700",
      "evidence": "font-8: computed CSS at 1440×1000; AI role: Geist Mono at 12px uppercase, used for UI labels, section headers, and buttons.",
      "sampleId": "font-8",
      "confidence": 0.9,
      "lineHeight": "16.8px",
      "letterSpacing": "0.7px"
    }
  ]
}
```

### 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": "#3D403C",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-4: computed rgb(61, 64, 60); AI role: Dark grey (#3D403C) used for primary display and heading typography.",
      "sampleId": "color-4",
      "confidence": 0.9
    },
    {
      "hex": "#E8E8E3",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-5: computed rgb(232, 232, 227); AI role: A soft beige/grey (#E8E8E3) used as the primary background color for the page.",
      "sampleId": "color-5",
      "confidence": 0.85
    },
    {
      "hex": "#9B9E97",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-6: computed rgb(155, 158, 151); AI role: Lighter grey (#9B9E97) used for secondary text elements like 'FROM THE CASE STUDY'.",
      "sampleId": "color-6",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Large border-radius on main feature cards (approx. 20-24px) and fully rounded pill shapes for buttons and the top navigation.",
  "density": "Low density",
  "evidence": "Visual inspection of desktop crops shows extensive whitespace, large pill-shaped buttons, heavily rounded dark cards, and distinct separation of content blocks.",
  "borderStyle": "Minimal visible borders; relies mostly on background color contrasts, gradients, and subtle semi-transparent 1px dividers.",
  "buttonStyle": "Pill-shaped containers, often with a solid light fill on dark backgrounds or outlined on light backgrounds, featuring uppercase mono text and arrows.",
  "cornerStyle": "Heavily rounded",
  "contentWidth": "Centered main content column with large outer margins, expanding for the full-bleed impact of the feature cards.",
  "spacingRhythm": "Generous vertical rhythm with large margins between sections and substantial padding within feature cards."
}
```

### Reconstruction specification

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

- Root: 1354×736px; block; padding {"top":"8px","right":"8px","bottom":"8px","left":"8px"}; gap normal; background rgba(0, 0, 0, 0); radius 24px.
- Observed gaps: 12px.
- Representative content widths: 1354, 884, 331px.
- Layout containers: 0; cards/surfaces: 1; media elements: 2; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 2483,
      "bottom": 3259,
      "pageHeight": 5957
    }
  },
  "container": {
    "size": "1354×736px",
    "position": "x 43px, y 2523px",
    "display": "block",
    "positionMode": "static",
    "padding": {
      "top": "8px",
      "right": "8px",
      "bottom": "8px",
      "left": "8px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": "not captured",
    "background": "rgba(0, 0, 0, 0)",
    "radius": "24px",
    "border": "0px none rgb(213, 214, 208)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "observedGapsPx": [
      12
    ],
    "representativeContentWidthsPx": [
      1354,
      884,
      331
    ]
  },
  "columns": []
}
```

#### Cards and surfaces

```json
{
  "cards": [
    {
      "element": "div · New StoryFrom the case study\"I developed a visual language that combines community stories with the",
      "size": "1354×736px",
      "position": "x 43px, y 2523px",
      "padding": [
        "8px",
        "8px",
        "8px",
        "8px"
      ],
      "radius": "24px",
      "border": "0px none rgb(213, 214, 208)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    }
  ],
  "surfaces": {
    "radii": [
      "24px",
      "32px"
    ],
    "borders": [
      "1px solid rgb(232, 232, 227)"
    ],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "img · u-img-cover border-radius-lg",
    "size": "884×720px",
    "position": "x 505px, y 2531px",
    "aspectRatio": 1.2,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://cdn.prod.website-files.com/6624669425dcd1e5513fb862/6677734068e94b4fef0d7cee_feature-work-img__new-story.webp"
  },
  {
    "element": "svg · svg",
    "size": "16×16px",
    "position": "x 273px, y 3165px",
    "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-09-21T04:24:57.919Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 2483,
    "bottom": 3259,
    "pageHeight": 5957
  },
  "root": {
    "id": "ld-160",
    "tag": "div",
    "role": "listitem",
    "label": "New StoryFrom the case study\"I developed a visual language that combines community stories with the ",
    "rect": {
      "x": 43,
      "y": 2523,
      "width": 1354,
      "height": 736
    },
    "display": "block",
    "position": "static",
    "padding": {
      "top": "8px",
      "right": "8px",
      "bottom": "8px",
      "left": "8px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": null,
    "background": "rgba(0, 0, 0, 0)",
    "radius": "24px",
    "border": "0px none rgb(213, 214, 208)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "gapsPx": [
      12
    ],
    "representativeContentWidthsPx": [
      1354,
      884,
      331
    ]
  },
  "columns": [],
  "cards": [
    {
      "id": "ld-160",
      "tag": "div",
      "role": "listitem",
      "label": "New StoryFrom the case study\"I developed a visual language that combines community stories with the ",
      "rect": {
        "x": 43,
        "y": 2523,
        "width": 1354,
        "height": 736
      },
      "radius": "24px",
      "border": "0px none rgb(213, 214, 208)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "8px",
        "8px",
        "8px",
        "8px"
      ]
    }
  ],
  "surfaces": {
    "radii": [
      "24px",
      "32px"
    ],
    "borders": [
      "1px solid rgb(232, 232, 227)"
    ],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-193",
      "tag": "img",
      "role": null,
      "label": "u-img-cover border-radius-lg",
      "rect": {
        "x": 505,
        "y": 2531,
        "width": 884,
        "height": 720
      },
      "aspectRatio": 1.2,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://cdn.prod.website-files.com/6624669425dcd1e5513fb862/6677734068e94b4fef0d7cee_feature-work-img__new-story.webp",
        "naturalWidth": 2384,
        "naturalHeight": 1768,
        "alt": ""
      }
    },
    {
      "id": "ld-174",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 273,
        "y": 3165,
        "width": 16,
        "height": 16
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 8,
    "cards": 1,
    "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 testimonials section inspired by the design evidence titled “Case study card with people photo”.

Purpose: testimonials section from the Home page of Jose Ocando.

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

Components: Navigation Bar, Hero, Feature Card, Primary Button, Carousel, Badge, Scroll Triggered Bottom Navigation, Parallax Image Cards, Dark Gradient Split Cards.

Style direction: editorial, soft, minimal, earthy.

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

Typography evidence: {"role":"display","size":"115.2px","family":"Stringer","source":"computed","traits":"Regular","weight":"100","evidence":"font-4: computed CSS at 1440×1000; AI role: Stringer at 115.2px, used for the main hero name 'Jose Ocando'.","sampleId":"font-4","confidence":0.95,"lineHeight":"97.9px","letterSpacing":"-4.6px"} {"role":"heading","size":"50px","family":"Stringer","source":"computed","traits":"Regular","weight":"100","evidence":"font-2: computed CSS at 1440×1000; AI role: Stringer at 50px, used for case study titles like 'Webflow' and 'New Story'.","sampleId":"font-2","confidence":0.95,"lineHeight":"60px","letterSpacing":"-1.5px"} {"role":"body","size":"18px","family":"Stringer","source":"computed","traits":"Regular","weight":"300","evidence":"font-5: computed CSS at 1440×1000; AI role: Stringer at 18px, used for descriptive paragraphs and pull quotes within the case studies.","sampleId":"font-5","confidence":0.85,"lineHeight":"28.8px","letterSpacing":"normal"} {"role":"mono","size":"12px","family":"Geist Mono","source":"computed","traits":"uppercase","weight":"700","evidence":"font-8: computed CSS at 1440×1000; AI role: Geist Mono at 12px uppercase, used for UI labels, section headers, and buttons.","sampleId":"font-8","confidence":0.9,"lineHeight":"16.8px","letterSpacing":"0.7px"}

Color evidence: {"hex":"#3D403C","name":"text","role":"text","source":"computed","evidence":"color-4: computed rgb(61, 64, 60); AI role: Dark grey (#3D403C) used for primary display and heading typography.","sampleId":"color-4","confidence":0.9} {"hex":"#E8E8E3","name":"canvas","role":"canvas","source":"computed","evidence":"color-5: computed rgb(232, 232, 227); AI role: A soft beige/grey (#E8E8E3) used as the primary background color for the page.","sampleId":"color-5","confidence":0.85} {"hex":"#9B9E97","name":"muted text","role":"muted-text","source":"computed","evidence":"color-6: computed rgb(155, 158, 151); AI role: Lighter grey (#9B9E97) used for secondary text elements like 'FROM THE CASE STUDY'.","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":43,"y":2523,"width":1354,"height":736},"padding":{"top":"8px","right":"8px","bottom":"8px","left":"8px"},"gap":"normal","columns":null,"overflow":"visible"}; spacing {"gapsPx":[12],"representativeContentWidthsPx":[1354,884,331]}; surfaces {"radii":["24px","32px"],"borders":["1px solid rgb(232, 232, 227)"],"shadows":[]}; media [{"tag":"img","rect":{"x":505,"y":2531,"width":884,"height":720},"aspectRatio":1.2,"objectFit":"cover","objectPosition":"50% 50%","radius":"0px"},{"tag":"svg","rect":{"x":273,"y":3165,"width":16,"height":16},"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.
