# Stacked cards with animated product visuals — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://www.affinity.co/
Website: Affinity
Section ID: a00da4f7-671c-42cd-b141-568a500f5019
Design Details page: https://designdetails.io/sections/affinity-co--home--features-a00da4f7
Status: deterministic evidence captured; editorial AI review pending

## Purpose

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

## Visual signature

corporate, minimal, typographic, premium-fintech treatment at 960×600px. The crop spans 4514–7584px of a 9834px page.

## Components

- Navigation Bar
- Hero With Background Imagery
- Logo Strip
- Feature Collection
- Stat Block
- Primary Button
- Text Link
- Footer
- Bento Style Feature Grids
- Numbered Process Steps

## Evidence note

The geometry, typography, colors, media, and animation parameters below come from saved HTML/CSS/browser evidence when present. Website-level roles are supplied separately. Editorial section judgment remains pending unless the MCP resolves this source ID to a promoted canonical record.

## Build blueprint v3.2

### Purpose and classification

- Canonical type: features
- Source type: features
- Structure: 1440×2888px root; flex
- Layout: 1440×2888px root; flex
- Styles: corporate, minimal, typographic, premium-fintech
- Components: Navigation Bar, Hero With Background Imagery, Logo Strip, Feature Collection, Stat Block, Primary Button, Text Link, Footer, Bento Style Feature Grids, Numbered Process Steps
- Purpose: features section from the Home page of Affinity.
- Visual signature: rgb(249, 247, 245) with 1440×2888px root; flex. Inspect the crop for image and content hierarchy.
- Place on the page: 5 of 8, after Process (`992f915f-a3e1-44b2-aae2-7fa3e8892df2`), before Stats (`348e8542-8fd0-465d-8f2c-a306977a5822`)

### Crop and composition

- Crop: 960×600px; aspect ratio 1.6:1
- Page bounds: 4514–7584px of 9834px
- Guidance: Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

### Exact typography evidence

The sectionScale values were measured inside this crop. The siteRoles values explain how those faces function across the source website; they must not replace section measurements.

```json
{
  "sectionScale": [
    {
      "role": "card/subheading",
      "family": "Abcarizonamix",
      "stack": "Abcarizonamix, \"Times New Roman\", sans-serif",
      "size": "24px",
      "weight": "400",
      "lineHeight": "28.8px",
      "letterSpacing": "normal",
      "sample": "For PE, Affinity handles multi-fund complexity without configuration",
      "element": "h3",
      "occurrences": 6,
      "sourceId": "font-2"
    },
    {
      "role": "body/supporting copy",
      "family": "Booton",
      "stack": "Booton, Arial, sans-serif",
      "size": "11.2px",
      "weight": "400",
      "lineHeight": "16.8px",
      "letterSpacing": "1.5px",
      "sample": "The agent platform for private capital",
      "element": "p",
      "occurrences": 3,
      "sourceId": "font-9"
    },
    {
      "role": "UI/supporting text",
      "family": "Booton",
      "stack": "Booton, Arial, sans-serif",
      "size": "14px",
      "weight": "300",
      "lineHeight": "21px",
      "letterSpacing": "normal",
      "sample": "Activity capture",
      "element": "div",
      "occurrences": 3,
      "sourceId": "font-15"
    },
    {
      "role": "UI/supporting text",
      "family": "Booton",
      "stack": "Booton, Arial, sans-serif",
      "size": "14px",
      "weight": "600",
      "lineHeight": "21px",
      "letterSpacing": "normal",
      "sample": "Open platform",
      "element": "div",
      "occurrences": 1,
      "sourceId": "font-17"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "64px",
      "family": "Abcarizonamix",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-5: computed CSS at 1440×1000; AI role: Abcarizonamix at 64px used for main page heading 'Your next deal is in your network'.",
      "sampleId": "font-5",
      "confidence": 1,
      "lineHeight": "64px",
      "letterSpacing": "-1.9px"
    },
    {
      "role": "heading",
      "size": "32px",
      "family": "Abcarizonamix",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-1: computed CSS at 1440×1000; AI role: Abcarizonamix at 32px used for secondary section headings.",
      "sampleId": "font-1",
      "confidence": 0.95,
      "lineHeight": "35.2px",
      "letterSpacing": "normal"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "Booton",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-7: computed CSS at 1440×1000; AI role: Booton at 16px used for descriptive paragraphs.",
      "sampleId": "font-7",
      "confidence": 0.9,
      "lineHeight": "24px",
      "letterSpacing": "normal"
    },
    {
      "role": "mono",
      "size": "11.2px",
      "family": "Booton",
      "source": "computed",
      "traits": "uppercase",
      "weight": "400",
      "evidence": "font-9: computed CSS at 1440×1000; AI role: Booton at 11.2px uppercase used for eyebrow text ('THE AGENT PLATFORM...').",
      "sampleId": "font-9",
      "confidence": 0.7,
      "lineHeight": "16.8px",
      "letterSpacing": "1.5px"
    }
  ]
}
```

### Contextual design review

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

### Typography preservation review

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

### Exact color evidence

The section samples record where each computed value was used. Functional roles come from the website-level classifier and remain separate.

```json
{
  "sectionUsage": [
    {
      "value": "#3B0A3B",
      "cssValue": "color(srgb 0.231373 0.0509804 0.227451 / 0.1)",
      "alpha": 0.10196078431372549,
      "appliedAs": [
        "background",
        "border"
      ],
      "occurrences": 5,
      "sourceId": "color-5"
    },
    {
      "value": "#1E0D1C",
      "cssValue": "color(srgb 0.117647 0.054902 0.113725 / 0.6)",
      "alpha": 0.6,
      "appliedAs": [
        "text"
      ],
      "occurrences": 3,
      "sourceId": "color-16"
    },
    {
      "value": "#1E0F1E",
      "cssValue": "color(srgb 0.117647 0.054902 0.113725 / 0.2)",
      "alpha": 0.2,
      "appliedAs": [
        "border"
      ],
      "occurrences": 4,
      "sourceId": "color-17"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#1E0E1D",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-4: computed color(srgb 0.117647 0.054902 0.113725); AI role: #1E0E1D near-black used for text on light backgrounds.",
      "sampleId": "color-4",
      "confidence": 0.95
    },
    {
      "hex": "#3B0D3A",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(59, 13, 58); AI role: #3B0D3A deep purple used for distinct dark background sections.",
      "sampleId": "color-3",
      "confidence": 0.9
    },
    {
      "hex": "#FFFFFF",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-1: computed rgb(255, 255, 255); AI role: #FFFFFF white text used prominently on the dark purple backgrounds.",
      "sampleId": "color-1",
      "confidence": 0.9
    },
    {
      "hex": "#7A23D1",
      "name": "primary action",
      "role": "primary-action",
      "source": "computed",
      "evidence": "color-13: computed rgb(122, 35, 209); AI role: #7A23D1 used for interactive text links.",
      "sampleId": "color-13",
      "confidence": 0.85
    },
    {
      "hex": "#F9F7F5",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(249, 247, 245); AI role: #F9F7F5 used as the light background for various sections.",
      "sampleId": "color-2",
      "confidence": 0.8
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Buttons appear to have subtle 4-8px rounding; larger UI feature cards have distinct border radii.",
  "density": "Comfortable to spacious; relies on large typography and padding to pace the content.",
  "evidence": "Observed from the DOM layout, spacing around h2/h3 tags, and CSS classes defining structure.",
  "borderStyle": "Subtle low-opacity borders used to delineate process steps and feature cards.",
  "buttonStyle": "Solid fill for primary calls to action, text links with arrows for secondary actions.",
  "cornerStyle": "Slightly rounded corners on buttons and UI mockups, but mostly sharp geometric containers.",
  "contentWidth": "Wide max-width container with a central column orientation for text, spanning full width for backgrounds.",
  "spacingRhythm": "Generous vertical spacing between major sections, with tighter grouping for related content like stat blocks or process steps."
}
```

### Reconstruction specification

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

- Root: 1440×2888px; flex; padding {"top":"0px","right":"0px","bottom":"80px","left":"0px"}; gap normal; background rgb(249, 247, 245); radius 0px.
- Representative content widths: 1240, 749, 717, 531, 445, 432, 287px.
- Layout containers: 2; cards/surfaces: 0; media elements: 8; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 4514,
      "bottom": 7584,
      "pageHeight": 9834
    }
  },
  "container": {
    "size": "1440×2888px",
    "position": "x 0px, y 4776px",
    "display": "flex",
    "positionMode": "relative",
    "padding": {
      "top": "0px",
      "right": "0px",
      "bottom": "80px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": "not captured",
    "background": "rgb(249, 247, 245)",
    "radius": "0px",
    "border": "0px none rgb(30, 14, 29)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "observedGapsPx": [],
    "representativeContentWidthsPx": [
      1240,
      749,
      717,
      531,
      445,
      432,
      287
    ]
  },
  "columns": [
    {
      "element": "section · .accordion-1_component { opacity: 0.7; } .accordion-1_component.is-open { opacity: 1; } .accordion-1",
      "size": "1440×262px",
      "position": "x 0px, y 4514px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "normal"
    },
    {
      "element": "section · .features-scroll_menu_item { --pulse-color: var(--_brand-colors---plum); } /* .features-scroll_menu_",
      "size": "1440×2888px",
      "position": "x 0px, y 4776px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "normal"
    }
  ]
}
```

#### Cards and surfaces

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

#### Media treatment

```json
[
  {
    "element": "img · features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
    "size": "749×487px",
    "position": "x 559px, y 4929px",
    "aspectRatio": 1.5,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f5156bc04fc0ec09a_graphic-capture.webp"
  },
  {
    "element": "img · features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
    "size": "749×487px",
    "position": "x 559px, y 5641px",
    "aspectRatio": 1.5,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f9fb7102a153cc96b_graphic-connections.webp"
  },
  {
    "element": "img · features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
    "size": "749×487px",
    "position": "x 559px, y 6353px",
    "aspectRatio": 1.5,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f88e587541c9faf91_graphic-prompt.webp"
  },
  {
    "element": "img · features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
    "size": "749×487px",
    "position": "x 559px, y 7065px",
    "aspectRatio": 1.5,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065fc0dcea7ee0ae9755_graphic-integrations.webp"
  },
  {
    "element": "svg · svg",
    "size": "20×20px",
    "position": "x 100px, y 4792px",
    "aspectRatio": 1,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · svg",
    "size": "20×20px",
    "position": "x 100px, y 4845px",
    "aspectRatio": 1,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · svg",
    "size": "20×20px",
    "position": "x 100px, y 4898px",
    "aspectRatio": 1,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · svg",
    "size": "20×20px",
    "position": "x 100px, y 4951px",
    "aspectRatio": 1,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  }
]
```

#### Browser-exposed animation parameters

```json
[]
```

### Measured geometry, surfaces, media, and animation

These raw values come from the saved element map and computed styles. Empty arrays mean the fact was not captured; they are not permission to invent source values.

```json
{
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "capturedAt": "2026-11-11T07:28:06.193Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 4514,
    "bottom": 7584,
    "pageHeight": 9834
  },
  "root": {
    "id": "ld-1127",
    "tag": "section",
    "role": null,
    "label": ".features-scroll_menu_item { --pulse-color: var(--_brand-colors---plum); } /* .features-scroll_menu_",
    "rect": {
      "x": 0,
      "y": 4776,
      "width": 1440,
      "height": 2888
    },
    "display": "flex",
    "position": "relative",
    "padding": {
      "top": "0px",
      "right": "0px",
      "bottom": "80px",
      "left": "0px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "normal",
    "columns": null,
    "background": "rgb(249, 247, 245)",
    "radius": "0px",
    "border": "0px none rgb(30, 14, 29)",
    "shadow": "none",
    "overflow": "visible"
  },
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": [
      1240,
      749,
      717,
      531,
      445,
      432,
      287
    ]
  },
  "columns": [
    {
      "id": "ld-1111",
      "tag": "section",
      "role": null,
      "label": ".accordion-1_component { opacity: 0.7; } .accordion-1_component.is-open { opacity: 1; } .accordion-1",
      "rect": {
        "x": 0,
        "y": 4514,
        "width": 1440,
        "height": 262
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "normal"
    },
    {
      "id": "ld-1127",
      "tag": "section",
      "role": null,
      "label": ".features-scroll_menu_item { --pulse-color: var(--_brand-colors---plum); } /* .features-scroll_menu_",
      "rect": {
        "x": 0,
        "y": 4776,
        "width": 1440,
        "height": 2888
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "normal"
    }
  ],
  "cards": [],
  "surfaces": {
    "radii": [
      "4px"
    ],
    "borders": [],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-1177",
      "tag": "img",
      "role": null,
      "label": "features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
      "rect": {
        "x": 559,
        "y": 4929,
        "width": 749,
        "height": 487
      },
      "aspectRatio": 1.5,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f5156bc04fc0ec09a_graphic-capture.webp",
        "naturalWidth": 1440,
        "naturalHeight": 872,
        "alt": "Email, calendar, document, and folder icons orbiting on elliptical paths, illustrating automatic data capture"
      }
    },
    {
      "id": "ld-1210",
      "tag": "img",
      "role": null,
      "label": "features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
      "rect": {
        "x": 559,
        "y": 5641,
        "width": 749,
        "height": 487
      },
      "aspectRatio": 1.5,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f9fb7102a153cc96b_graphic-connections.webp",
        "naturalWidth": 1440,
        "naturalHeight": 872,
        "alt": "Contact cards mapping an introduction path from Sandra Ellis through Ryan LeClair to Michelle Wan"
      }
    },
    {
      "id": "ld-1243",
      "tag": "img",
      "role": null,
      "label": "features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
      "rect": {
        "x": 559,
        "y": 6353,
        "width": 749,
        "height": 487
      },
      "aspectRatio": 1.5,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065f88e587541c9faf91_graphic-prompt.webp",
        "naturalWidth": 1440,
        "naturalHeight": 872,
        "alt": "AI prompt asking to prep for a Monday morning meeting, with calendar, document, email, and folder icons"
      }
    },
    {
      "id": "ld-1276",
      "tag": "img",
      "role": null,
      "label": "features-scroll_image w-variant-a467f6c2-b774-cadd-5654-c1f423c68b7d",
      "rect": {
        "x": 559,
        "y": 7065,
        "width": 749,
        "height": 487
      },
      "aspectRatio": 1.5,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://cdn.prod.website-files.com/69e63af550c7ba21cdac9029/6a50065fc0dcea7ee0ae9755_graphic-integrations.webp",
        "naturalWidth": 1440,
        "naturalHeight": 872,
        "alt": "Affinity logo linked to AI model and data provider integration icons"
      }
    },
    {
      "id": "ld-1134",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 100,
        "y": 4792,
        "width": 20,
        "height": 20
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    },
    {
      "id": "ld-1140",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 100,
        "y": 4845,
        "width": 20,
        "height": 20
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    },
    {
      "id": "ld-1146",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 100,
        "y": 4898,
        "width": 20,
        "height": 20
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    },
    {
      "id": "ld-1152",
      "tag": "svg",
      "role": null,
      "label": "svg",
      "rect": {
        "x": 100,
        "y": 4951,
        "width": 20,
        "height": 20
      },
      "aspectRatio": 1,
      "objectFit": "fill",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "hidden",
      "media": null
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 37,
    "cards": 0,
    "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

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

- Preserve: content hierarchy, layout relationships, section rhythm, interaction purpose.
- Adapt: brand colors, font family, copy, imagery, icons, decorative details.
- Rule: These compatibility categories are coupled: fonts, color and imagery can carry the layout's design logic. Preserve or purposefully replace their contribution while creating original branding, copy, assets, and implementation details.

### Adaptation and dependencies

- Effort: Not assessed
- What transfers: Documented hierarchy and composition
- Dependencies: None recorded
- Guidance: Adapt the pattern to the new product and content.

### Evidence readiness

- Coverage: 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 features section inspired by the design evidence titled “Stacked cards with animated product visuals”.

Purpose: features section from the Home page of Affinity.

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

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

Components: Navigation Bar, Hero With Background Imagery, Logo Strip, Feature Collection, Stat Block, Primary Button, Text Link, Footer, Bento Style Feature Grids, Numbered Process Steps.

Style direction: corporate, minimal, typographic, premium-fintech.

Observed crop: 960×600px (1.6:1). Treat this as evidence of composition, not a mandatory output size.

Typography evidence: {"role":"display","size":"64px","family":"Abcarizonamix","source":"computed","traits":"Regular","weight":"400","evidence":"font-5: computed CSS at 1440×1000; AI role: Abcarizonamix at 64px used for main page heading 'Your next deal is in your network'.","sampleId":"font-5","confidence":1,"lineHeight":"64px","letterSpacing":"-1.9px"} {"role":"heading","size":"32px","family":"Abcarizonamix","source":"computed","traits":"Regular","weight":"400","evidence":"font-1: computed CSS at 1440×1000; AI role: Abcarizonamix at 32px used for secondary section headings.","sampleId":"font-1","confidence":0.95,"lineHeight":"35.2px","letterSpacing":"normal"} {"role":"body","size":"16px","family":"Booton","source":"computed","traits":"Regular","weight":"400","evidence":"font-7: computed CSS at 1440×1000; AI role: Booton at 16px used for descriptive paragraphs.","sampleId":"font-7","confidence":0.9,"lineHeight":"24px","letterSpacing":"normal"} {"role":"mono","size":"11.2px","family":"Booton","source":"computed","traits":"uppercase","weight":"400","evidence":"font-9: computed CSS at 1440×1000; AI role: Booton at 11.2px uppercase used for eyebrow text ('THE AGENT PLATFORM...').","sampleId":"font-9","confidence":0.7,"lineHeight":"16.8px","letterSpacing":"1.5px"}

Color evidence: {"hex":"#1E0E1D","name":"text","role":"text","source":"computed","evidence":"color-4: computed color(srgb 0.117647 0.054902 0.113725); AI role: #1E0E1D near-black used for text on light backgrounds.","sampleId":"color-4","confidence":0.95} {"hex":"#3B0D3A","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(59, 13, 58); AI role: #3B0D3A deep purple used for distinct dark background sections.","sampleId":"color-3","confidence":0.9} {"hex":"#FFFFFF","name":"text","role":"text","source":"computed","evidence":"color-1: computed rgb(255, 255, 255); AI role: #FFFFFF white text used prominently on the dark purple backgrounds.","sampleId":"color-1","confidence":0.9} {"hex":"#7A23D1","name":"primary action","role":"primary-action","source":"computed","evidence":"color-13: computed rgb(122, 35, 209); AI role: #7A23D1 used for interactive text links.","sampleId":"color-13","confidence":0.85} {"hex":"#F9F7F5","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(249, 247, 245); AI role: #F9F7F5 used as the light background for various sections.","sampleId":"color-2","confidence":0.8}

Typography measured inside this section: {"id":"font-2","family":"Abcarizonamix","fontStack":"Abcarizonamix, \"Times New Roman\", sans-serif","weight":"400","size":"24px","lineHeight":"28.8px","letterSpacing":"normal","traits":"Regular","count":6,"contexts":[{"tag":"h3","text":"For PE, Affinity handles multi-fund complexity without configuration","top":2551,"property":"font"},{"tag":"h3","text":"For VC, Affinity handles high-velocity dealflow without losing the relationship","top":3051,"property":"font"},{"tag":"h3","text":"Every interaction, captured","top":4813,"property":"font"}]} {"id":"font-9","family":"Booton","fontStack":"Booton, Arial, sans-serif","weight":"400","size":"11.2px","lineHeight":"16.8px","letterSpacing":"1.5px","traits":"uppercase","count":3,"contexts":[{"tag":"p","text":"The agent platform for private capital","top":1250,"property":"font"},{"tag":"p","text":"THE SYSTEM, IN PRACTICE","top":3344,"property":"font"},{"tag":"p","text":"THE PLATFORM","top":4626,"property":"font"}]} {"id":"font-15","family":"Booton","fontStack":"Booton, Arial, sans-serif","weight":"300","size":"14px","lineHeight":"21px","letterSpacing":"normal","traits":"Regular","count":3,"contexts":[{"tag":"div","text":"Activity capture","top":4797,"property":"font"},{"tag":"div","text":"Relationship Intelligence","top":4850,"property":"font"},{"tag":"div","text":"Purpose-built agents","top":4903,"property":"font"}]} {"id":"font-17","family":"Booton","fontStack":"Booton, Arial, sans-serif","weight":"600","size":"14px","lineHeight":"21px","letterSpacing":"normal","traits":"Regular","count":1,"contexts":[{"tag":"div","text":"Open platform","top":4956,"property":"font"}]}

Colors measured inside this section: {"id":"color-5","hex":"#3B0A3B","alpha":0.10196078431372549,"cssValue":"color(srgb 0.231373 0.0509804 0.227451 / 0.1)","count":5,"contexts":[{"tag":"div","text":"Every interaction, capturedSee activity capture →See activity capture →Affinity captures every email","top":4776,"property":"background"},{"tag":"footer","text":"ProductsCRMAscendArtificial intelligenceActivity captureRelationship intelligenceData enrichmentInte","top":8592,"property":"border"}]} {"id":"color-16","hex":"#1E0D1C","alpha":0.6,"cssValue":"color(srgb 0.117647 0.054902 0.113725 / 0.6)","count":3,"contexts":[{"tag":"div","text":"Activity capture","top":4797,"property":"text"}]} {"id":"color-17","hex":"#1E0F1E","alpha":0.2,"cssValue":"color(srgb 0.117647 0.054902 0.113725 / 0.2)","count":4,"contexts":[{"tag":"div","text":"Activity capture","top":4776,"property":"border"}]}

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":4776,"width":1440,"height":2888},"padding":{"top":"0px","right":"0px","bottom":"80px","left":"0px"},"gap":"normal","columns":null,"overflow":"visible"}; spacing {"gapsPx":[],"representativeContentWidthsPx":[1240,749,717,531,445,432,287]}; surfaces {"radii":["4px"],"borders":[],"shadows":[]}; media [{"tag":"img","rect":{"x":559,"y":4929,"width":749,"height":487},"aspectRatio":1.5,"objectFit":"cover","objectPosition":"50% 50%","radius":"0px"},{"tag":"img","rect":{"x":559,"y":5641,"width":749,"height":487},"aspectRatio":1.5,"objectFit":"cover","objectPosition":"50% 50%","radius":"0px"},{"tag":"img","rect":{"x":559,"y":6353,"width":749,"height":487},"aspectRatio":1.5,"objectFit":"cover","objectPosition":"50% 50%","radius":"0px"},{"tag":"img","rect":{"x":559,"y":7065,"width":749,"height":487},"aspectRatio":1.5,"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.

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

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