# Custom Automation Agency Hero — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://www.raneo.co/
Website: Raneo
Section ID: 31da2e12-c130-4edb-8809-ab27a9756582
Status: deterministic evidence captured; editorial AI review pending

## Purpose

This is a hero 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×900px root; flex

## Visual signature

minimal, corporate, geometric, bold treatment at 1440×906px. The crop spans 102–1008px of a 12328px page.

## Components

- Navigation Bar
- Hero
- Tabs
- Logo Strip
- Feature Card
- Primary Button
- Footer
- FAQ Accordion
- Interactive Diagnostic Scroll

## 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: hero
- Source type: hero
- Structure: 1440×900px root; flex
- Layout: 1440×900px root; flex
- Styles: minimal, corporate, geometric, bold
- Components: Navigation Bar, Hero, Tabs, Logo Strip, Feature Card, Primary Button, Footer, FAQ Accordion, Interactive Diagnostic Scroll
- Purpose: hero section from the Home page of Raneo.
- Visual signature: rgb(22, 22, 22) with 1440×900px root; flex. Inspect the crop for image and content hierarchy.

### Crop and composition

- Crop: 1440×906px; aspect ratio 1.589:1
- Page bounds: 102–1008px of 12328px
- 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": "Google Sans",
      "stack": "\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif",
      "size": "64px",
      "weight": "400",
      "lineHeight": "70.4px",
      "letterSpacing": "-1.3px",
      "sample": "Automatisation et logiciels sur mesure.",
      "element": "h1",
      "occurrences": 1,
      "sourceId": "font-4"
    },
    {
      "role": "UI/supporting text",
      "family": "Google Sans",
      "stack": "\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif",
      "size": "16px",
      "weight": "400",
      "lineHeight": "22.4px",
      "letterSpacing": "normal",
      "sample": "Nous contacter",
      "element": "span",
      "occurrences": 79,
      "sourceId": "font-5"
    },
    {
      "role": "body/supporting copy",
      "family": "Google Sans",
      "stack": "\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif",
      "size": "12px",
      "weight": "400",
      "lineHeight": "16.8px",
      "letterSpacing": "normal",
      "sample": "Découvrez notre dernier cas client",
      "element": "span",
      "occurrences": 28,
      "sourceId": "font-7"
    },
    {
      "role": "body/supporting copy",
      "family": "Inter",
      "stack": "Inter, \"Inter Fallback\", system-ui, sans-serif",
      "size": "16px",
      "weight": "400",
      "lineHeight": "22.4px",
      "letterSpacing": "normal",
      "sample": "Une facture reçue par e-mail est lue, contrôlée puis enregistrée dans Pennylane, sans ressaisie.",
      "element": "p",
      "occurrences": 12,
      "sourceId": "font-9"
    },
    {
      "role": "card/subheading",
      "family": "Inter",
      "stack": "Inter, \"Inter Fallback\", system-ui, sans-serif",
      "size": "20px",
      "weight": "400",
      "lineHeight": "28px",
      "letterSpacing": "normal",
      "sample": "Agence d’automatisation et d’IA à Rennes : on construit ce qui vous manque, livré en quelques semain",
      "element": "p",
      "occurrences": 7,
      "sourceId": "font-10"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "64px",
      "family": "Google Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-4: computed CSS at 1440×1000; AI role: 64px Google Sans used for the main hero headline.",
      "sampleId": "font-4",
      "confidence": 1,
      "lineHeight": "70.4px",
      "letterSpacing": "-1.3px"
    },
    {
      "role": "heading",
      "size": "48px",
      "family": "Google Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: 48px Google Sans used for major section titles.",
      "sampleId": "font-2",
      "confidence": 0.95,
      "lineHeight": "52.8px",
      "letterSpacing": "-1px"
    },
    {
      "role": "body",
      "size": "20px",
      "family": "Inter",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-10: computed CSS at 1440×1000; AI role: 20px Inter used for introductory paragraphs and larger body text.",
      "sampleId": "font-10",
      "confidence": 0.9,
      "lineHeight": "28px",
      "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": "#0144F5",
      "cssValue": "rgb(1, 68, 245)",
      "alpha": 1,
      "appliedAs": [
        "background",
        "control-background"
      ],
      "occurrences": 23,
      "sourceId": "color-4"
    },
    {
      "value": "#2A2A2A",
      "cssValue": "rgb(42, 42, 42)",
      "alpha": 1,
      "appliedAs": [
        "background",
        "control-background"
      ],
      "occurrences": 17,
      "sourceId": "color-6"
    },
    {
      "value": "#919191",
      "cssValue": "rgb(145, 145, 145)",
      "alpha": 1,
      "appliedAs": [
        "text",
        "border"
      ],
      "occurrences": 103,
      "sourceId": "color-8"
    },
    {
      "value": "#FFFFFF",
      "cssValue": "rgba(255, 255, 255, 0.12)",
      "alpha": 0.12156862745098039,
      "appliedAs": [
        "background",
        "border"
      ],
      "occurrences": 23,
      "sourceId": "color-13"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#FFFFFF",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(255, 255, 255); AI role: Pure white (#FFFFFF) is the primary background color for the main content body.",
      "sampleId": "color-2",
      "confidence": 1
    },
    {
      "hex": "#161616",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-1: computed rgb(22, 22, 22); AI role: Near black (#161616) is used for primary text on light backgrounds.",
      "sampleId": "color-1",
      "confidence": 1
    },
    {
      "hex": "#0144F5",
      "name": "accent",
      "role": "accent",
      "source": "computed",
      "evidence": "color-4: computed rgb(1, 68, 245); AI role: Bright blue (#0144F5) is used for active states, highlighted backgrounds, and links.",
      "sampleId": "color-4",
      "confidence": 1
    },
    {
      "hex": "#F5F5F5",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(245, 245, 245); AI role: Light gray (#F5F5F5) is used for card backgrounds and subtle sections.",
      "sampleId": "color-3",
      "confidence": 0.9
    },
    {
      "hex": "#D6D6D6",
      "name": "border",
      "role": "border",
      "source": "computed",
      "evidence": "color-12: computed rgb(214, 214, 214); AI role: Light gray (#D6D6D6) is used for borders around cards and divider lines.",
      "sampleId": "color-12",
      "confidence": 0.9
    },
    {
      "hex": "#707070",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-9: computed rgb(112, 112, 112); AI role: Medium gray (#707070) is used for secondary text and icons.",
      "sampleId": "color-9",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Buttons appear to have a 9999px (pill) border-radius, while layout cards and images mostly use 0px.",
  "density": "Low density. The layout relies heavily on whitespace to separate concepts, focusing on one primary message per viewport height.",
  "evidence": "Observed from visual crops showing wide margins, pill-shaped 'Nous contacter' buttons, 1px line dividers in the FAQ and services sections.",
  "borderStyle": "Frequent use of 1px solid borders to define edges, separate list items, and outline cards, often in light gray or semi-transparent white on dark backgrounds.",
  "buttonStyle": "Solid fill (white on dark/blue backgrounds, or accent color on light backgrounds) with pill-shaped rounding and centered text.",
  "cornerStyle": "Distinct contrast between fully rounded pill shapes for interactive elements and sharp corners for structural layout elements.",
  "contentWidth": "Content is constrained to a central column, likely around 1200px to 1400px max-width, maintaining readable line lengths.",
  "spacingRhythm": "Generous vertical spacing between sections (likely 120px+). Internal card padding is substantial, establishing a calm, uncrowded rhythm."
}
```

### Reconstruction specification

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

- Root: 1440×900px; flex; padding {"top":"64px","right":"0px","bottom":"64px","left":"0px"}; gap 64px; background rgb(22, 22, 22); radius 0px.
- Observed gaps: 64, 128px.
- Representative content widths: 1392, 575, 554, 532px.
- Layout containers: 8; cards/surfaces: 0; media elements: 9; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 102,
      "bottom": 1008,
      "pageHeight": 12328
    }
  },
  "container": {
    "size": "1440×900px",
    "position": "x 0px, y 100px",
    "display": "flex",
    "positionMode": "relative",
    "padding": {
      "top": "64px",
      "right": "0px",
      "bottom": "64px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "64px",
    "columns": "not captured",
    "background": "rgb(22, 22, 22)",
    "radius": "0px",
    "border": "0px none rgb(255, 255, 255)",
    "shadow": "none",
    "overflow": "hidden"
  },
  "spacing": {
    "observedGapsPx": [
      64,
      128
    ],
    "representativeContentWidthsPx": [
      1392,
      575,
      554,
      532
    ]
  },
  "columns": [
    {
      "element": "button · hero__pause",
      "size": "35×35px",
      "position": "x 564px, y 352px",
      "display": "grid",
      "template": "11.4531px",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "div · Une facture reçue par e-mail est lue, contrôlée puis enregistrée dans Pennylane, sans ressaisie.",
      "size": "1392×496px",
      "position": "x 24px, y 352px",
      "display": "grid",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "div · Un pont relie HubSpot et Pennylane : le devis signé part en facturation, le paiement reçu revient da",
      "size": "1392×496px",
      "position": "x 24px, y 352px",
      "display": "grid",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "div · Une application de planning se construit pour une entreprise de chauffage : les interventions s’ajou",
      "size": "1392×496px",
      "position": "x 24px, y 352px",
      "display": "grid",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "section · Automatisation et logiciels sur mesure.Agence d’automatisation et d’IA à Rennes : on construit ce qu",
      "size": "1440×900px",
      "position": "x 0px, y 100px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "64px"
    },
    {
      "element": "div · AutomatisationsPonts entre logicielsApplications sur mesure",
      "size": "532×35px",
      "position": "x 24px, y 352px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "section · [ Ils nous ont fait confiance ]",
      "size": "1440×24px",
      "position": "x 0px, y 912px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    },
    {
      "element": "ul · marquee__list",
      "size": "3712×24px",
      "position": "x -170px, y 912px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "128px"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [],
  "surfaces": {
    "radii": [
      "128px"
    ],
    "borders": [],
    "shadows": [
      "rgba(0, 0, 0, 0) 0px 0px 0px 1px inset",
      "rgba(255, 255, 255, 0.24) 0px 0px 0px 1px inset"
    ]
  }
}
```

#### Media treatment

```json
[
  {
    "element": "canvas · canvas",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "source not captured"
  },
  {
    "element": "canvas · is-fade",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "source not captured"
  },
  {
    "element": "picture · hero__still",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "visible",
    "source": "source not captured"
  },
  {
    "element": "img · img",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
  },
  {
    "element": "picture · hero__still",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "visible",
    "source": "source not captured"
  },
  {
    "element": "img · img",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
  },
  {
    "element": "picture · hero__still",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "visible",
    "source": "source not captured"
  },
  {
    "element": "img · img",
    "size": "1392×496px",
    "position": "x 24px, y 352px",
    "aspectRatio": 2.8,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
  },
  {
    "element": "canvas · texture__canvas",
    "size": "1446×32px",
    "position": "x -3px, y 969px",
    "aspectRatio": 45.2,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "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-10-10T05:44:23.486Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 102,
    "bottom": 1008,
    "pageHeight": 12328
  },
  "root": {
    "id": "ld-365",
    "tag": "section",
    "role": null,
    "label": "Automatisation et logiciels sur mesure.Agence d’automatisation et d’IA à Rennes : on construit ce qu",
    "rect": {
      "x": 0,
      "y": 100,
      "width": 1440,
      "height": 900
    },
    "display": "flex",
    "position": "relative",
    "padding": {
      "top": "64px",
      "right": "0px",
      "bottom": "64px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "64px",
    "columns": null,
    "background": "rgb(22, 22, 22)",
    "radius": "0px",
    "border": "0px none rgb(255, 255, 255)",
    "shadow": "none",
    "overflow": "hidden"
  },
  "spacing": {
    "gapsPx": [
      64,
      128
    ],
    "representativeContentWidthsPx": [
      1392,
      575,
      554,
      532
    ]
  },
  "columns": [
    {
      "id": "ld-422",
      "tag": "button",
      "role": null,
      "label": "hero__pause",
      "rect": {
        "x": 564,
        "y": 352,
        "width": 35,
        "height": 35
      },
      "display": "grid",
      "columns": "11.4531px",
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-425",
      "tag": "div",
      "role": "tabpanel",
      "label": "Une facture reçue par e-mail est lue, contrôlée puis enregistrée dans Pennylane, sans ressaisie.",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "display": "grid",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-436",
      "tag": "div",
      "role": "tabpanel",
      "label": "Un pont relie HubSpot et Pennylane : le devis signé part en facturation, le paiement reçu revient da",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "display": "grid",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-447",
      "tag": "div",
      "role": "tabpanel",
      "label": "Une application de planning se construit pour une entreprise de chauffage : les interventions s’ajou",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "display": "grid",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-365",
      "tag": "section",
      "role": null,
      "label": "Automatisation et logiciels sur mesure.Agence d’automatisation et d’IA à Rennes : on construit ce qu",
      "rect": {
        "x": 0,
        "y": 100,
        "width": 1440,
        "height": 900
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "64px"
    },
    {
      "id": "ld-412",
      "tag": "div",
      "role": "tablist",
      "label": "AutomatisationsPonts entre logicielsApplications sur mesure",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 532,
        "height": 35
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-458",
      "tag": "section",
      "role": null,
      "label": "[ Ils nous ont fait confiance ]",
      "rect": {
        "x": 0,
        "y": 912,
        "width": 1440,
        "height": 24
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    },
    {
      "id": "ld-461",
      "tag": "ul",
      "role": "list",
      "label": "marquee__list",
      "rect": {
        "x": -170,
        "y": 912,
        "width": 3712,
        "height": 24
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "128px"
    }
  ],
  "cards": [],
  "surfaces": {
    "radii": [
      "128px"
    ],
    "borders": [],
    "shadows": [
      "rgba(0, 0, 0, 0) 0px 0px 0px 1px inset",
      "rgba(255, 255, 255, 0.24) 0px 0px 0px 1px inset"
    ]
  },
  "media": [
    {
      "id": "ld-409",
      "tag": "canvas",
      "role": null,
      "label": "canvas",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": null
    },
    {
      "id": "ld-410",
      "tag": "canvas",
      "role": null,
      "label": "is-fade",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": null
    },
    {
      "id": "ld-427",
      "tag": "picture",
      "role": null,
      "label": "hero__still",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "visible",
      "media": null
    },
    {
      "id": "ld-435",
      "tag": "img",
      "role": null,
      "label": "img",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
        "naturalWidth": 1,
        "naturalHeight": 1,
        "alt": ""
      }
    },
    {
      "id": "ld-438",
      "tag": "picture",
      "role": null,
      "label": "hero__still",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "visible",
      "media": null
    },
    {
      "id": "ld-446",
      "tag": "img",
      "role": null,
      "label": "img",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
        "naturalWidth": 1,
        "naturalHeight": 1,
        "alt": ""
      }
    },
    {
      "id": "ld-449",
      "tag": "picture",
      "role": null,
      "label": "hero__still",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "visible",
      "media": null
    },
    {
      "id": "ld-457",
      "tag": "img",
      "role": null,
      "label": "img",
      "rect": {
        "x": 24,
        "y": 352,
        "width": 1392,
        "height": 496
      },
      "aspectRatio": 2.8,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
        "naturalWidth": 1,
        "naturalHeight": 1,
        "alt": ""
      }
    },
    {
      "id": "ld-539",
      "tag": "canvas",
      "role": null,
      "label": "texture__canvas",
      "rect": {
        "x": -3,
        "y": 969,
        "width": 1446,
        "height": 32
      },
      "aspectRatio": 45.2,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": null
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 62,
    "cards": 0,
    "media": 9,
    "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 hero section inspired by the design evidence titled “Custom Automation Agency Hero”.

Purpose: hero section from the Home page of Raneo.

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

Visual signature to preserve at the pattern level: rgb(22, 22, 22) with 1440×900px root; flex. Inspect the crop for image and content hierarchy.

Components: Navigation Bar, Hero, Tabs, Logo Strip, Feature Card, Primary Button, Footer, FAQ Accordion, Interactive Diagnostic Scroll.

Style direction: minimal, corporate, geometric, bold.

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

Typography evidence: {"role":"display","size":"64px","family":"Google Sans","source":"computed","traits":"Regular","weight":"400","evidence":"font-4: computed CSS at 1440×1000; AI role: 64px Google Sans used for the main hero headline.","sampleId":"font-4","confidence":1,"lineHeight":"70.4px","letterSpacing":"-1.3px"} {"role":"heading","size":"48px","family":"Google Sans","source":"computed","traits":"Regular","weight":"400","evidence":"font-2: computed CSS at 1440×1000; AI role: 48px Google Sans used for major section titles.","sampleId":"font-2","confidence":0.95,"lineHeight":"52.8px","letterSpacing":"-1px"} {"role":"body","size":"20px","family":"Inter","source":"computed","traits":"Regular","weight":"400","evidence":"font-10: computed CSS at 1440×1000; AI role: 20px Inter used for introductory paragraphs and larger body text.","sampleId":"font-10","confidence":0.9,"lineHeight":"28px","letterSpacing":"normal"}

Color evidence: {"hex":"#FFFFFF","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(255, 255, 255); AI role: Pure white (#FFFFFF) is the primary background color for the main content body.","sampleId":"color-2","confidence":1} {"hex":"#161616","name":"text","role":"text","source":"computed","evidence":"color-1: computed rgb(22, 22, 22); AI role: Near black (#161616) is used for primary text on light backgrounds.","sampleId":"color-1","confidence":1} {"hex":"#0144F5","name":"accent","role":"accent","source":"computed","evidence":"color-4: computed rgb(1, 68, 245); AI role: Bright blue (#0144F5) is used for active states, highlighted backgrounds, and links.","sampleId":"color-4","confidence":1} {"hex":"#F5F5F5","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(245, 245, 245); AI role: Light gray (#F5F5F5) is used for card backgrounds and subtle sections.","sampleId":"color-3","confidence":0.9} {"hex":"#D6D6D6","name":"border","role":"border","source":"computed","evidence":"color-12: computed rgb(214, 214, 214); AI role: Light gray (#D6D6D6) is used for borders around cards and divider lines.","sampleId":"color-12","confidence":0.9} {"hex":"#707070","name":"muted text","role":"muted-text","source":"computed","evidence":"color-9: computed rgb(112, 112, 112); AI role: Medium gray (#707070) is used for secondary text and icons.","sampleId":"color-9","confidence":0.8}

Typography measured inside this section: {"id":"font-4","family":"Google Sans","fontStack":"\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif","weight":"400","size":"64px","lineHeight":"70.4px","letterSpacing":"-1.3px","traits":"Regular","count":1,"contexts":[{"tag":"h1","text":"Automatisation et logiciels sur mesure.","top":172,"property":"font"}]} {"id":"font-5","family":"Google Sans","fontStack":"\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif","weight":"400","size":"16px","lineHeight":"22.4px","letterSpacing":"normal","traits":"Regular","count":79,"contexts":[{"tag":"span","text":"Nous contacter","top":254,"property":"font"},{"tag":"span","text":"N","top":256,"property":"font"},{"tag":"span","text":"o","top":256,"property":"font"}]} {"id":"font-7","family":"Google Sans","fontStack":"\"Google Sans\", \"Google Sans Fallback\", system-ui, sans-serif","weight":"400","size":"12px","lineHeight":"16.8px","letterSpacing":"normal","traits":"Regular","count":28,"contexts":[{"tag":"span","text":"Découvrez notre dernier cas client","top":10,"property":"font"},{"tag":"p","text":"[ Ils nous ont fait confiance ]","top":908,"property":"font"},{"tag":"span","text":"[","top":916,"property":"font"}]} {"id":"font-9","family":"Inter","fontStack":"Inter, \"Inter Fallback\", system-ui, sans-serif","weight":"400","size":"16px","lineHeight":"22.4px","letterSpacing":"normal","traits":"Regular","count":12,"contexts":[{"tag":"p","text":"Une facture reçue par e-mail est lue, contrôlée puis enregistrée dans Pennylane, sans ressaisie.","top":600,"property":"font"},{"tag":"p","text":"Un pont relie HubSpot et Pennylane : le devis signé part en facturation, le paiement reçu revient da","top":600,"property":"font"},{"tag":"p","text":"Une application de planning se construit pour une entreprise de chauffage : les interventions s’ajou","top":600,"property":"font"}]} {"id":"font-10","family":"Inter","fontStack":"Inter, \"Inter Fallback\", system-ui, sans-serif","weight":"400","size":"20px","lineHeight":"28px","letterSpacing":"normal","traits":"Regular","count":7,"contexts":[{"tag":"p","text":"Agence d’automatisation et d’IA à Rennes : on construit ce qui vous manque, livré en quelques semain","top":164,"property":"font"},{"tag":"p","text":"Bons de commande, factures, contacts. Si un humain copie ce qu'un logiciel a déjà, c'est automatisab","top":3364,"property":"font"},{"tag":"p","text":"Tout le monde en dépend, personne n'ose y toucher. C'est le moment d'en faire un outil métier solide","top":3694,"property":"font"}]}

Colors measured inside this section: {"id":"color-4","hex":"#0144F5","alpha":1,"cssValue":"rgb(1, 68, 245)","count":23,"contexts":[{"tag":"aside","text":"Découvrez notre dernier cas client","top":0,"property":"background"},{"tag":"button","text":"Applications sur mesure","top":352,"property":"control-background"},{"tag":"li","text":"Industrie","top":1275,"property":"background"}]} {"id":"color-6","hex":"#2A2A2A","alpha":1,"cssValue":"rgb(42, 42, 42)","count":17,"contexts":[{"tag":"div","text":"AutomatisationsPonts entre logicielsApplications sur mesureUne facture reçue par e-mail est lue, con","top":352,"property":"background"},{"tag":"button","text":"Automatisations","top":352,"property":"control-background"},{"tag":"figcaption","text":"Louis ProchwiczCEO de Raneo (LinkedIn, nouvel onglet)Enzo DelamarreCOO de Raneo (LinkedIn, nouvel on","top":7423,"property":"background"}]} {"id":"color-8","hex":"#919191","alpha":1,"cssValue":"rgb(145, 145, 145)","count":103,"contexts":[{"tag":"p","text":"Agence d’automatisation et d’IA à Rennes : on construit ce qui vous manque, livré en quelques semain","top":164,"property":"text"},{"tag":"span","text":"Automatisations","top":364,"property":"text"},{"tag":"span","text":"","top":364,"property":"border"}]} {"id":"color-13","hex":"#FFFFFF","alpha":0.12156862745098039,"cssValue":"rgba(255, 255, 255, 0.12)","count":23,"contexts":[{"tag":"span","text":"","top":352,"property":"background"},{"tag":"section","text":"[Auto diagnostic]Vous vous reconnaissez ?Quelqu'un ressaisit des données d'un logiciel à un autre.Bo","top":2856,"property":"border"},{"tag":"div","text":"Arrêts non planifiés÷3","top":8241,"property":"border"}]}

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":100,"width":1440,"height":900},"padding":{"top":"64px","right":"0px","bottom":"64px","left":"0px"},"gap":"64px","columns":null,"overflow":"hidden"}; spacing {"gapsPx":[64,128],"representativeContentWidthsPx":[1392,575,554,532]}; surfaces {"radii":["128px"],"borders":[],"shadows":["rgba(0, 0, 0, 0) 0px 0px 0px 1px inset","rgba(255, 255, 255, 0.24) 0px 0px 0px 1px inset"]}; media [{"tag":"canvas","rect":{"x":24,"y":352,"width":1392,"height":496},"aspectRatio":2.8,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"canvas","rect":{"x":24,"y":352,"width":1392,"height":496},"aspectRatio":2.8,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"picture","rect":{"x":24,"y":352,"width":1392,"height":496},"aspectRatio":2.8,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"img","rect":{"x":24,"y":352,"width":1392,"height":496},"aspectRatio":2.8,"objectFit":"cover","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.
