# Numbered case studies with results — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://doko.studio/
Website: ▷ Doko Studio
Section ID: f5cad0ce-a55e-4933-bcdf-90cf77321abb
Design Details page: https://designdetails.io/sections/doko-studio--home--testimonials-f5cad0ce
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

1440×1781px root; block

## Visual signature

playful, typographic, colourful, brutalist, dark-mode-default treatment at 1440×2175px. The crop spans 4273–6448px of a 12787px page.

## Components

- Navigation Bar
- Hero
- Feature Card
- Editorial Card
- Pricing Table
- Testimonial Card
- FAQ Accordion
- Primary Button
- Contact Form
- Footer
- Conversational Form
- Overlapping Testimonial Stack

## 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: 1440×1781px root; block
- Layout: 1440×1781px root; block
- Styles: playful, typographic, colourful, brutalist, dark-mode-default
- Components: Navigation Bar, Hero, Feature Card, Editorial Card, Pricing Table, Testimonial Card, FAQ Accordion, Primary Button, Contact Form, Footer, Conversational Form, Overlapping Testimonial Stack
- Purpose: testimonials section from the Home page of ▷ Doko Studio.
- Visual signature: rgba(0, 0, 0, 0) with 1440×1781px root; block. Inspect the crop for image and content hierarchy.
- Place on the page: 6 of 13, after Feature collection (`6c7f72dd-f965-4435-8476-0a2659d47267`), before Pricing (`49a112aa-0c62-49e9-a894-e26089f5c729`)

### Crop and composition

- Crop: 1440×2175px; aspect ratio 0.662:1
- Page bounds: 4273–6448px of 12787px
- 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": "body/supporting copy",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "16px",
      "weight": "400",
      "lineHeight": "19.2px",
      "letterSpacing": "normal",
      "sample": "Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delivery in just one, for",
      "element": "p",
      "occurrences": 21,
      "sourceId": "font-1"
    },
    {
      "role": "section heading",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "24px",
      "weight": "400",
      "lineHeight": "28.8px",
      "letterSpacing": "normal",
      "sample": "What we do",
      "element": "h2",
      "occurrences": 5,
      "sourceId": "font-3"
    },
    {
      "role": "card/subheading",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "24px",
      "weight": "300",
      "lineHeight": "28.8px",
      "letterSpacing": "normal",
      "sample": "Case 1/4",
      "element": "p",
      "occurrences": 8,
      "sourceId": "font-11"
    },
    {
      "role": "card/subheading",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "20px",
      "weight": "400",
      "lineHeight": "26px",
      "letterSpacing": "normal",
      "sample": "apps for one fee",
      "element": "p",
      "occurrences": 4,
      "sourceId": "font-14"
    },
    {
      "role": "UI/supporting text",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "14px",
      "weight": "600",
      "lineHeight": "14px",
      "letterSpacing": "normal",
      "sample": "Let's talk",
      "element": "a",
      "occurrences": 9,
      "sourceId": "font-18"
    },
    {
      "role": "section heading",
      "family": "Monigue",
      "stack": "Monigue, \"Arial Narrow\", system-ui, sans-serif",
      "size": "32px",
      "weight": "400",
      "lineHeight": "35.2px",
      "letterSpacing": "normal",
      "sample": "7x1",
      "element": "span",
      "occurrences": 4,
      "sourceId": "font-23"
    },
    {
      "role": "section heading",
      "family": "Monigue",
      "stack": "Monigue, \"Arial Narrow\", system-ui, sans-serif",
      "size": "205.4px",
      "weight": "400",
      "lineHeight": "164.3px",
      "letterSpacing": "normal",
      "sample": "Good-looking work",
      "element": "span",
      "occurrences": 1,
      "sourceId": "font-28"
    },
    {
      "role": "UI/supporting text",
      "family": "Monigue",
      "stack": "Monigue, \"Arial Narrow\", system-ui, sans-serif",
      "size": "16px",
      "weight": "400",
      "lineHeight": "16px",
      "letterSpacing": "normal",
      "sample": "Good-looking work",
      "element": "span",
      "occurrences": 1,
      "sourceId": "font-29"
    },
    {
      "role": "card/subheading",
      "family": "Hanken Grotesk",
      "stack": "\"Hanken Grotesk\", system-ui, sans-serif",
      "size": "24px",
      "weight": "700",
      "lineHeight": "28.8px",
      "letterSpacing": "normal",
      "sample": "PilloSitio",
      "element": "a",
      "occurrences": 4,
      "sourceId": "font-30"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "140px",
      "family": "Monigue",
      "source": "computed",
      "traits": "uppercase",
      "weight": "400",
      "evidence": "font-7: computed CSS at 1440×1000; AI role: Monigue at 140px, uppercase, used for massive hero and section titles.",
      "sampleId": "font-7",
      "confidence": 0.95,
      "lineHeight": "140px",
      "letterSpacing": "normal"
    },
    {
      "role": "heading",
      "size": "24px",
      "family": "Hanken Grotesk",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: Hanken Grotesk at 24px, used for secondary section titles and card headings.",
      "sampleId": "font-2",
      "confidence": 0.85,
      "lineHeight": "33.6px",
      "letterSpacing": "normal"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "Hanken Grotesk",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-1: computed CSS at 1440×1000; AI role: Hanken Grotesk at 16px, regular weight, used extensively for paragraph text and descriptions.",
      "sampleId": "font-1",
      "confidence": 0.95,
      "lineHeight": "19.2px",
      "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": "#D9D9D9",
      "cssValue": "rgb(217, 217, 217)",
      "alpha": 1,
      "appliedAs": [
        "background"
      ],
      "occurrences": 10,
      "sourceId": "color-3"
    },
    {
      "value": "#D3FF43",
      "cssValue": "rgb(211, 255, 67)",
      "alpha": 1,
      "appliedAs": [
        "control-background",
        "background"
      ],
      "occurrences": 15,
      "sourceId": "color-6"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#FFFFFF",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-2: computed rgb(255, 255, 255); AI role: White (#FFFFFF) is the primary text color against the dark canvas.",
      "sampleId": "color-2",
      "confidence": 0.95
    },
    {
      "hex": "#000000",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-1: computed rgb(0, 0, 0); AI role: Black (#000000) is used as the base background for many sections, alongside the dark purple body background.",
      "sampleId": "color-1",
      "confidence": 0.9
    },
    {
      "hex": "#D3FF43",
      "name": "primary action",
      "role": "primary-action",
      "source": "computed",
      "evidence": "color-6: computed rgb(211, 255, 67); AI role: Neon green (#D3FF43) is used for call-to-action buttons ('See all', 'Send it') and highlight badges.",
      "sampleId": "color-6",
      "confidence": 0.9
    },
    {
      "hex": "#D9D9D9",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(217, 217, 217); AI role: Light gray (#D9D9D9) is used for the background of pricing cards and service detail cards.",
      "sampleId": "color-3",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Significant border-radius is applied to cards and buttons to soften the brutalist typography.",
  "density": "Moderate density; large typography commands space while content blocks are kept relatively concise.",
  "evidence": "Visual inspection of the layout: large display text, rounded pricing cards, pill buttons, wide margins.",
  "borderStyle": "Thin, subtle borders on some elements (like FAQ dividers or input fields) but generally relying on contrasting background colors for separation.",
  "buttonStyle": "Pill-shaped, solid fill, high-contrast text.",
  "cornerStyle": "Mostly rounded corners (e.g., pill buttons, portfolio image cards, pricing cards).",
  "contentWidth": "Restricted central column for text content, with wider bounds for image galleries and horizontal scroll sections.",
  "spacingRhythm": "Generous vertical spacing between major sections, allowing the large typography and scroll animations to breathe."
}
```

### Reconstruction specification

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

- Root: 1440×1781px; block; padding {"top":"119.952px","right":"63.936px","bottom":"119.952px","left":"63.936px"}; gap normal; background rgba(0, 0, 0, 0); radius 0px.
- Observed gaps: 12, 41, 80.6px.
- Representative content widths: 1338, 1312, 984, 515, 428, 373, 372, 328px.
- Layout containers: 5; cards/surfaces: 4; media elements: 8; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 4173,
      "bottom": 6348,
      "pageHeight": 12687
    }
  },
  "container": {
    "size": "1440×1781px",
    "position": "x 0px, y 4567px",
    "display": "block",
    "positionMode": "static",
    "padding": {
      "top": "119.952px",
      "right": "63.936px",
      "bottom": "119.952px",
      "left": "63.936px"
    },
    "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(255, 255, 255)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "observedGapsPx": [
      12,
      41,
      80.6
    ],
    "representativeContentWidthsPx": [
      1338,
      1312,
      984,
      515,
      428,
      373,
      372,
      328
    ]
  },
  "columns": [
    {
      "element": "li · Case 1/4 PilloSitio Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delive",
      "size": "984×296px",
      "position": "x 392px, y 4687px",
      "display": "grid",
      "template": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "element": "li · Case 2/4 Pura Trufa Before: every truffle went to wholesalers. Now: a brand of its own and an online",
      "size": "984×296px",
      "position": "x 392px, y 5063px",
      "display": "grid",
      "template": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "element": "li · Case 3/4 Fons Badal Before: a molar in the logo and a hacked website. Now: a brand that sells care a",
      "size": "984×296px",
      "position": "x 392px, y 5440px",
      "display": "grid",
      "template": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "element": "li · Case 4/4 Cor de Suro Before: a logo and little else. Now: a world of its own, with illustration, a w",
      "size": "984×296px",
      "position": "x 392px, y 5817px",
      "display": "grid",
      "template": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "element": "ol · Case 1/4 PilloSitio Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delive",
      "size": "984×1426px",
      "position": "x 392px, y 4687px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "80.64px"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [
    {
      "element": "img · work-case__shot",
      "size": "515×296px",
      "position": "x 392px, y 4687px",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ],
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    },
    {
      "element": "img · work-case__shot",
      "size": "515×296px",
      "position": "x 392px, y 5063px",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ],
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    },
    {
      "element": "img · work-case__shot",
      "size": "515×296px",
      "position": "x 392px, y 5440px",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ],
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    },
    {
      "element": "img · work-case__shot",
      "size": "515×296px",
      "position": "x 392px, y 5817px",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ],
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    }
  ],
  "surfaces": {
    "radii": [
      "4px",
      "8px",
      "3.35544e+07px"
    ],
    "borders": [],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "img · work-case__shot",
    "size": "515×296px",
    "position": "x 392px, y 4687px",
    "aspectRatio": 1.7,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "4px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/pillositio/home-cover.w800.webp?v=f29b6c1692b2"
  },
  {
    "element": "img · work-case__shot",
    "size": "515×296px",
    "position": "x 392px, y 5063px",
    "aspectRatio": 1.7,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "4px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/puratrufa/hero.w800.webp?v=58bb69e3a01d"
  },
  {
    "element": "img · work-case__shot",
    "size": "515×296px",
    "position": "x 392px, y 5440px",
    "aspectRatio": 1.7,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "4px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/fonsbadal/hero.w800.webp?v=3b70d9976972"
  },
  {
    "element": "img · work-case__shot",
    "size": "515×296px",
    "position": "x 392px, y 5817px",
    "aspectRatio": 1.7,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "4px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/cordesuro/hero.w800.webp?v=187bcbeb991d"
  },
  {
    "element": "img · img",
    "size": "373×230px",
    "position": "x 463px, y 4900px",
    "aspectRatio": 1.6,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/pillositio/home-hover.w480.webp?v=8b78a609e154"
  },
  {
    "element": "video · video",
    "size": "373×230px",
    "position": "x 463px, y 5277px",
    "aspectRatio": 1.6,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/puratrufa/home-hover.av1.mp4?v=082fb6bf3605"
  },
  {
    "element": "video · video",
    "size": "373×230px",
    "position": "x 463px, y 6030px",
    "aspectRatio": 1.6,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/cordesuro/home-hover.mp4?v=1f692194e3a3"
  },
  {
    "element": "video · video",
    "size": "372×210px",
    "position": "x 464px, y 5649px",
    "aspectRatio": 1.8,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://doko.studio/img/work/fonsbadal/home-hover.av1.mp4?v=50ad08c9dcca"
  }
]
```

#### 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-05T15:59:43.932Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 4173,
    "bottom": 6348,
    "pageHeight": 12687
  },
  "root": {
    "id": "ld-397",
    "tag": "section",
    "role": null,
    "label": "And the results. Case 1/4 PilloSitio Before: seven apps to run a venue. Now: bookings, menu, orders,",
    "rect": {
      "x": 0,
      "y": 4567,
      "width": 1440,
      "height": 1781
    },
    "display": "block",
    "position": "static",
    "padding": {
      "top": "119.952px",
      "right": "63.936px",
      "bottom": "119.952px",
      "left": "63.936px"
    },
    "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(255, 255, 255)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "gapsPx": [
      12,
      41,
      80.6
    ],
    "representativeContentWidthsPx": [
      1338,
      1312,
      984,
      515,
      428,
      373,
      372,
      328
    ]
  },
  "columns": [
    {
      "id": "ld-402",
      "tag": "li",
      "role": null,
      "label": "Case 1/4 PilloSitio Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delive",
      "rect": {
        "x": 392,
        "y": 4687,
        "width": 984,
        "height": 296
      },
      "display": "grid",
      "columns": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "id": "ld-418",
      "tag": "li",
      "role": null,
      "label": "Case 2/4 Pura Trufa Before: every truffle went to wholesalers. Now: a brand of its own and an online",
      "rect": {
        "x": 392,
        "y": 5063,
        "width": 984,
        "height": 296
      },
      "display": "grid",
      "columns": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "id": "ld-436",
      "tag": "li",
      "role": null,
      "label": "Case 3/4 Fons Badal Before: a molar in the logo and a hacked website. Now: a brand that sells care a",
      "rect": {
        "x": 392,
        "y": 5440,
        "width": 984,
        "height": 296
      },
      "display": "grid",
      "columns": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "id": "ld-454",
      "tag": "li",
      "role": null,
      "label": "Case 4/4 Cor de Suro Before: a logo and little else. Now: a world of its own, with illustration, a w",
      "rect": {
        "x": 392,
        "y": 5817,
        "width": 984,
        "height": 296
      },
      "display": "grid",
      "columns": "515.062px 428.062px",
      "direction": "column",
      "gap": "12px 41px"
    },
    {
      "id": "ld-401",
      "tag": "ol",
      "role": "list",
      "label": "Case 1/4 PilloSitio Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delive",
      "rect": {
        "x": 392,
        "y": 4687,
        "width": 984,
        "height": 1426
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "80.64px"
    }
  ],
  "cards": [
    {
      "id": "ld-404",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 4687,
        "width": 515,
        "height": 296
      },
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ]
    },
    {
      "id": "ld-420",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5063,
        "width": 515,
        "height": 296
      },
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ]
    },
    {
      "id": "ld-438",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5440,
        "width": 515,
        "height": 296
      },
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ]
    },
    {
      "id": "ld-456",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5817,
        "width": 515,
        "height": 296
      },
      "radius": "4px",
      "border": "0px solid rgb(255, 255, 255)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ]
    }
  ],
  "surfaces": {
    "radii": [
      "4px",
      "8px",
      "3.35544e+07px"
    ],
    "borders": [],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-404",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 4687,
        "width": 515,
        "height": 296
      },
      "aspectRatio": 1.7,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "4px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/pillositio/home-cover.w800.webp?v=f29b6c1692b2",
        "naturalWidth": 576,
        "naturalHeight": 321,
        "alt": "PilloSitio booking app: three friends on a street at night, one books a table on her phone"
      }
    },
    {
      "id": "ld-420",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5063,
        "width": 515,
        "height": 296
      },
      "aspectRatio": 1.7,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "4px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/puratrufa/hero.w800.webp?v=58bb69e3a01d",
        "naturalWidth": 576,
        "naturalHeight": 328,
        "alt": "Pura Trufa branding: a freshly dug black truffle on a spade, in the red soil of Sarrión"
      }
    },
    {
      "id": "ld-438",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5440,
        "width": 515,
        "height": 296
      },
      "aspectRatio": 1.7,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "4px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/fonsbadal/hero.w800.webp?v=3b70d9976972",
        "naturalWidth": 576,
        "naturalHeight": 328,
        "alt": "Fons Badal dental clinic branding: two dentists treating a patient"
      }
    },
    {
      "id": "ld-456",
      "tag": "img",
      "role": null,
      "label": "work-case__shot",
      "rect": {
        "x": 392,
        "y": 5817,
        "width": 515,
        "height": 296
      },
      "aspectRatio": 1.7,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "4px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/cordesuro/hero.w800.webp?v=187bcbeb991d",
        "naturalWidth": 576,
        "naturalHeight": 328,
        "alt": "Web design for Cor de Suro: a freshly stripped cork oak in the Sierra de Espadán"
      }
    },
    {
      "id": "ld-407",
      "tag": "img",
      "role": null,
      "label": "img",
      "rect": {
        "x": 463,
        "y": 4900,
        "width": 373,
        "height": 230
      },
      "aspectRatio": 1.6,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/pillositio/home-hover.w480.webp?v=8b78a609e154",
        "naturalWidth": 460,
        "naturalHeight": 287,
        "alt": ""
      }
    },
    {
      "id": "ld-423",
      "tag": "video",
      "role": null,
      "label": "video",
      "rect": {
        "x": 463,
        "y": 5277,
        "width": 373,
        "height": 230
      },
      "aspectRatio": 1.6,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/puratrufa/home-hover.av1.mp4?v=082fb6bf3605",
        "poster": "https://doko.studio/img/work/puratrufa/home-hover-poster.w800.webp?v=3f009b61aae5",
        "duration": null
      }
    },
    {
      "id": "ld-459",
      "tag": "video",
      "role": null,
      "label": "video",
      "rect": {
        "x": 463,
        "y": 6030,
        "width": 373,
        "height": 230
      },
      "aspectRatio": 1.6,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/cordesuro/home-hover.mp4?v=1f692194e3a3",
        "poster": "https://doko.studio/img/work/cordesuro/home-hover-poster.w800.webp?v=4cd98d759657",
        "duration": null
      }
    },
    {
      "id": "ld-441",
      "tag": "video",
      "role": null,
      "label": "video",
      "rect": {
        "x": 464,
        "y": 5649,
        "width": 372,
        "height": 210
      },
      "aspectRatio": 1.8,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://doko.studio/img/work/fonsbadal/home-hover.av1.mp4?v=50ad08c9dcca",
        "poster": "https://doko.studio/img/work/fonsbadal/home-hover-poster.w800.webp?v=881cd3e33521",
        "duration": null
      }
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 47,
    "cards": 4,
    "media": 8,
    "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 testimonials section inspired by the design evidence titled “Numbered case studies with results”.

Purpose: testimonials section from the Home page of ▷ Doko Studio.

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

Components: Navigation Bar, Hero, Feature Card, Editorial Card, Pricing Table, Testimonial Card, FAQ Accordion, Primary Button, Contact Form, Footer, Conversational Form, Overlapping Testimonial Stack.

Style direction: playful, typographic, colourful, brutalist, dark-mode-default.

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

Typography evidence: {"role":"display","size":"140px","family":"Monigue","source":"computed","traits":"uppercase","weight":"400","evidence":"font-7: computed CSS at 1440×1000; AI role: Monigue at 140px, uppercase, used for massive hero and section titles.","sampleId":"font-7","confidence":0.95,"lineHeight":"140px","letterSpacing":"normal"} {"role":"heading","size":"24px","family":"Hanken Grotesk","source":"computed","traits":"Regular","weight":"400","evidence":"font-2: computed CSS at 1440×1000; AI role: Hanken Grotesk at 24px, used for secondary section titles and card headings.","sampleId":"font-2","confidence":0.85,"lineHeight":"33.6px","letterSpacing":"normal"} {"role":"body","size":"16px","family":"Hanken Grotesk","source":"computed","traits":"Regular","weight":"400","evidence":"font-1: computed CSS at 1440×1000; AI role: Hanken Grotesk at 16px, regular weight, used extensively for paragraph text and descriptions.","sampleId":"font-1","confidence":0.95,"lineHeight":"19.2px","letterSpacing":"normal"}

Color evidence: {"hex":"#FFFFFF","name":"text","role":"text","source":"computed","evidence":"color-2: computed rgb(255, 255, 255); AI role: White (#FFFFFF) is the primary text color against the dark canvas.","sampleId":"color-2","confidence":0.95} {"hex":"#000000","name":"canvas","role":"canvas","source":"computed","evidence":"color-1: computed rgb(0, 0, 0); AI role: Black (#000000) is used as the base background for many sections, alongside the dark purple body background.","sampleId":"color-1","confidence":0.9} {"hex":"#D3FF43","name":"primary action","role":"primary-action","source":"computed","evidence":"color-6: computed rgb(211, 255, 67); AI role: Neon green (#D3FF43) is used for call-to-action buttons ('See all', 'Send it') and highlight badges.","sampleId":"color-6","confidence":0.9} {"hex":"#D9D9D9","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(217, 217, 217); AI role: Light gray (#D9D9D9) is used for the background of pricing cards and service detail cards.","sampleId":"color-3","confidence":0.8}

Typography measured inside this section: {"id":"font-1","family":"Hanken Grotesk","fontStack":"\"Hanken Grotesk\", system-ui, sans-serif","weight":"400","size":"16px","lineHeight":"19.2px","letterSpacing":"normal","traits":"Regular","count":21,"contexts":[{"tag":"p","text":"Before: seven apps to run a venue. Now: bookings, menu, orders, tills and delivery in just one, for ","top":4802,"property":"font"},{"tag":"p","text":"Before: every truffle went to wholesalers. Now: a brand of its own and an online shop that takes it ","top":5178,"property":"font"},{"tag":"p","text":"Before: a molar in the logo and a hacked website. Now: a brand that sells care and a brand-new websi","top":5555,"property":"font"}]} {"id":"font-3","family":"Hanken Grotesk","fontStack":"\"Hanken Grotesk\", system-ui, sans-serif","weight":"400","size":"24px","lineHeight":"28.8px","letterSpacing":"normal","traits":"Regular","count":5,"contexts":[{"tag":"h2","text":"What we do","top":3496,"property":"font"},{"tag":"p","text":"Websites, online shops, web apps and mobile apps. No templates: designed and built for your brand, s","top":3789,"property":"font"},{"tag":"p","text":"And the results.","top":4687,"property":"font"}]} {"id":"font-11","family":"Hanken Grotesk","fontStack":"\"Hanken Grotesk\", system-ui, sans-serif","weight":"300","size":"24px","lineHeight":"28.8px","letterSpacing":"normal","traits":"Regular","count":8,"contexts":[{"tag":"p","text":"Case 1/4","top":4687,"property":"font"},{"tag":"span","text":"Case","top":4686,"property":"font"},{"tag":"p","text":"Case 2/4","top":5063,"property":"font"}]} {"id":"font-14","family":"Hanken Grotesk","fontStack":"\"Hanken Grotesk\", system-ui, sans-serif","weight":"400","size":"20px","lineHeight":"26px","letterSpacing":"normal","traits":"Regular","count":4,"contexts":[{"tag":"p","text":"apps for one fee","top":4896,"property":"font"},{"tag":"p","text":"online orders","top":5272,"property":"font"},{"tag":"p","text":"on Google My Business","top":5668,"property":"font"}]} {"id":"font-18","family":"Hanken Grotesk","fontStack":"\"Hanken Grotesk\", system-ui, sans-serif","weight":"600","size":"14px","lineHeight":"14px","letterSpacing":"normal","traits":"Regular","count":9,"contexts":[{"tag":"a","text":"Let's talk","top":918,"property":"font"},{"tag":"a","text":"See all","top":6178,"property":"font"},{"tag":"a","text":"I want my brand","top":7186,"property":"font"}]} {"id":"font-23","family":"Monigue","fontStack":"Monigue, \"Arial Narrow\", system-ui, sans-serif","weight":"400","size":"32px","lineHeight":"35.2px","letterSpacing":"normal","traits":"Regular","count":4,"contexts":[{"tag":"span","text":"7x1","top":4883,"property":"font"},{"tag":"span","text":"+200","top":5260,"property":"font"},{"tag":"span","text":"4.9","top":5656,"property":"font"}]} {"id":"font-28","family":"Monigue","fontStack":"Monigue, \"Arial Narrow\", system-ui, sans-serif","weight":"400","size":"205.4px","lineHeight":"164.3px","letterSpacing":"normal","traits":"uppercase","count":1,"contexts":[{"tag":"span","text":"Good-looking work","top":4315,"property":"font"}]} {"id":"font-29","family":"Monigue","fontStack":"Monigue, \"Arial Narrow\", system-ui, sans-serif","weight":"400","size":"16px","lineHeight":"16px","letterSpacing":"normal","traits":"uppercase","count":1,"contexts":[{"tag":"span","text":"Good-looking work","top":4314,"property":"font"}]}

Colors measured inside this section: {"id":"color-3","hex":"#D9D9D9","alpha":1,"cssValue":"rgb(217, 217, 217)","count":10,"contexts":[{"tag":"div","text":"Code Code Websites, online shops, web apps and mobile apps. No templates: designed and built for you","top":3573,"property":"background"},{"tag":"span","text":"7x1","top":4883,"property":"background"},{"tag":"li","text":"Branding Strategy, visual identity and brand assets. €3,600 Social media: +€600 ✓ Brand strategy ✓ V","top":6746,"property":"background"}]} {"id":"color-6","hex":"#D3FF43","alpha":1,"cssValue":"rgb(211, 255, 67)","count":15,"contexts":[{"tag":"a","text":"See all","top":6178,"property":"control-background"},{"tag":"span","text":"Security included","top":6728,"property":"background"},{"tag":"figure","text":"“They designed my website with so much care you can tell the moment you land. If you don’t know who ","top":9788,"property":"background"}]}

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":4567,"width":1440,"height":1781},"padding":{"top":"119.952px","right":"63.936px","bottom":"119.952px","left":"63.936px"},"gap":"normal","columns":null,"overflow":"visible"}; spacing {"gapsPx":[12,41,80.6],"representativeContentWidthsPx":[1338,1312,984,515,428,373,372,328]}; surfaces {"radii":["4px","8px","3.35544e+07px"],"borders":[],"shadows":[]}; media [{"tag":"img","rect":{"x":392,"y":4687,"width":515,"height":296},"aspectRatio":1.7,"objectFit":"cover","objectPosition":"50% 50%","radius":"4px"},{"tag":"img","rect":{"x":392,"y":5063,"width":515,"height":296},"aspectRatio":1.7,"objectFit":"cover","objectPosition":"50% 50%","radius":"4px"},{"tag":"img","rect":{"x":392,"y":5440,"width":515,"height":296},"aspectRatio":1.7,"objectFit":"cover","objectPosition":"50% 50%","radius":"4px"},{"tag":"img","rect":{"x":392,"y":5817,"width":515,"height":296},"aspectRatio":1.7,"objectFit":"cover","objectPosition":"50% 50%","radius":"4px"}]

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.
