# Customer logo strip

Schema: Design Details SECTION.md v3.2
Website: Zoah
Source: https://zoah.com/
Source section IDs: 6811faef-4bac-4304-9cfe-6e13feb48618
Status: AI analysed; vocabulary promotion is automated

## Classification

- Type: logo-cloud
- Layout: Centered introductory label above a single horizontal row of evenly spaced logos.
- Styles: minimal
- Confidence: 95%

## Purpose and structure

A minimal, horizontal strip displaying monochrome logos of companies using the product.

Visual signature: Clean, evenly spaced monochrome brand logos on a light gray background.

## Components

- logos
- label

## Typography

- Display: Zalando Sans — 68px 700
- Heading: Zalando Sans — 44px 700
- Body: Zalando Sans — 18px 400

## Functional palette

- Canvas: canvas #F6F6F5
- Text: text #000000
- Muted-Text: muted text #868685
- Border: border #E4E1D8
- Surface: surface #FFFFFF

## Motion evidence

- No section-specific authored motion was established.

## Section quality

Overall: 54.47/100 (Competent)
Scored coverage: 85%

- Typography: 55 — A single small pill label with muted gray text sits above the logo row; functional but minimal typographic expression, no hierarchy beyond one line of label text. Next tier: Needs more deliberate type treatment or scale contrast to move past a basic utilitarian label.
- Composition: 58 — Clean centered label over an evenly spaced horizontal logo row on a flat canvas; logos vary in native aspect ratio causing slightly inconsistent visual weight (e.g., Stripe much smaller than Netflix), and spacing/alignment is standard logo-cloud convention with no distinguishing structural choice. Next tier: Requires a more considered grid, visual balancing of logo sizes, or an added layer of structure (dividers, grouping, asymmetry) to feel like a deliberate composition rather than a default pattern.
- Motion: inconclusive — The DOM indicates a 'logo-marquee__row' with width far exceeding the viewport (2744px vs 1440px), suggesting a scrolling marquee, but no timestamped visible motion evidence was supplied to confirm speed, direction, or easing. Next tier: Needs timestamped visual confirmation of marquee motion behavior to assess craft of the animation.
- Content: 56 — Logos are real recognizable brands integrated simply with a label; content serves a clear trust-signal purpose but with no additional framing, context, or integration beyond the baseline pattern. Next tier: Would need added context (e.g., categorization, testimonial tie-in, or interactive detail) to go beyond a standard trust bar.
- Originality: 40 — This is a highly conventional logo-cloud/trust-bar pattern seen across countless SaaS marketing sites, with no distinguishing visual or interactive idea beyond a possible marquee scroll. Next tier: Needs a unique structural or visual conceit that isn't interchangeable with any other logo strip on the web.
- Adaptability: 62 — Structure (label + flex row of logo images with consistent gap) is clearly separable from skin (canvas color, logo assets); straightforward to reskin with different logos/colors, though dependent on the marquee behavior if present. Next tier: Clearer deterministic animation parameters would allow full certainty on the motion layer's portability.

Strengths:
- Clean, uncluttered logo row with generous spacing (72px gaps) against a flat light-gray canvas
- Clear, simple introductory label framing the social-proof purpose
- Consistent use of monochrome/brand logos at a readable scale

Weaknesses:
- Highly generic logo-cloud pattern with no distinguishing visual or structural idea
- Inconsistent logo sizing across brands (e.g., Stripe notably smaller than Netflix) creates uneven visual rhythm
- No confirmed motion evidence despite DOM suggesting a marquee, leaving this section flat as documented
- Minimal typographic ambition limited to one small pill label

Why it does not reach the next tier: The section performs the logo-cloud convention competently but adds no distinctive compositional, typographic, or confirmed motion idea that would make it feel memorable or hard to substitute; it reads as an interchangeable trust-bar pattern.

## Adaptation guidance

- Effort: Low
- Guidance: Reuse the label-above-logo-row structure and flex gap spacing; swap in new logo assets at consistent heights and confirm/implement scroll behavior if a marquee effect is desired.

What transfers:
- Centered label + horizontal logo row layout
- Flex-based spacing structure with uniform gaps
- Flat canvas background treatment

Dependencies:
- Specific third-party logo SVG assets
- Marquee animation behavior (if implemented) and its exact width/overflow setup

## Living vocabulary

- No reusable vocabulary candidates were supported by this section.

Only terms with status `active` enter the public taxonomy. Deferred and proposed terms remain available to later AI passes; rejected terms remain as provenance so they are not repeatedly reinvented.

## Provenance and limitations

- Section boundaries and naming: Gemini Pro visual observation
- Motion observations: Gemini Pro direct-video analysis
- Quality judgment: Claude
- Exact design facts: browser/CSS extraction at website scope
- Rubric: Design Details section rubric 3.2 (Typography 20%, Composition 20%, Motion 15%, Content 15%, Originality 15%, Adaptability 15%)
- No timestamped motion evidence was provided, so the marquee animation's actual behavior and quality could not be assessed.
- Gemini supplied no description or motion_moments for this section, limiting qualitative context beyond deterministic DOM/CSS data.

## Usage guidance

Use this section as design evidence. Create an original implementation; do not reproduce the source copy, assets, or proprietary composition exactly.

## Build blueprint v3.2

### Purpose and classification

- Canonical type: logo-cloud
- Source type: logo-cloud
- Structure: centered single-column
- Layout: Centered introductory label above a single horizontal row of evenly spaced logos.
- Styles: minimal
- Components: logos, label
- Purpose: A minimal, horizontal strip displaying monochrome logos of companies using the product.
- Visual signature: Clean, evenly spaced monochrome brand logos on a light gray background.

### Crop and composition

- Crop: 1440×333px; aspect ratio 4.324:1
- Page bounds: 2626–2959px of 6686px
- Guidance: Use a narrow central reading axis and deliberate scale contrast rather than adding unnecessary side content.

### Exact typography evidence

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

```json
{
  "sectionScale": [],
  "siteRoles": [
    {
      "role": "display",
      "size": "68px",
      "family": "Zalando Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "700",
      "evidence": "font-11: computed CSS at 1440×1000; AI role: 68px Zalando Sans, bold, used for the main dynamic hero headline.",
      "sampleId": "font-11",
      "confidence": 0.95,
      "lineHeight": "68px",
      "letterSpacing": "-1.5px"
    },
    {
      "role": "heading",
      "size": "44px",
      "family": "Zalando Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "700",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: 44px Zalando Sans, bold, used for major section titles.",
      "sampleId": "font-2",
      "confidence": 0.9,
      "lineHeight": "44px",
      "letterSpacing": "-1.3px"
    },
    {
      "role": "body",
      "size": "18px",
      "family": "Zalando Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-8: computed CSS at 1440×1000; AI role: 18px Zalando Sans, regular, used for introductory paragraph text.",
      "sampleId": "font-8",
      "confidence": 0.85,
      "lineHeight": "23.4px",
      "letterSpacing": "-0.2px"
    }
  ]
}
```

### Exact color evidence

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

```json
{
  "sectionUsage": [],
  "functionalPalette": [
    {
      "hex": "#F6F6F5",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(246, 246, 245); AI role: #F6F6F5 off-white used as the primary background for the page.",
      "sampleId": "color-2",
      "confidence": 0.95
    },
    {
      "hex": "#000000",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-4: computed rgb(0, 0, 0); AI role: #000000 black used for primary headings and important text.",
      "sampleId": "color-4",
      "confidence": 0.95
    },
    {
      "hex": "#868685",
      "name": "muted text",
      "role": "muted-text",
      "source": "computed",
      "evidence": "color-6: computed rgb(134, 134, 133); AI role: #868685 gray used for secondary paragraphs and supporting text.",
      "sampleId": "color-6",
      "confidence": 0.9
    },
    {
      "hex": "#E4E1D8",
      "name": "border",
      "role": "border",
      "source": "computed",
      "evidence": "color-8: computed rgb(228, 225, 216); AI role: #E4E1D8 light gray used for the subtle borders on feature cards.",
      "sampleId": "color-8",
      "confidence": 0.9
    },
    {
      "hex": "#FFFFFF",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-5: computed rgb(255, 255, 255); AI role: #FFFFFF white used for specific card backgrounds like the agent activity feed.",
      "sampleId": "color-5",
      "confidence": 0.85
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Buttons use maximum border-radius (pill), while feature cards and the expanding hero container use medium to large fixed border-radii.",
  "density": "Low density. The layout favors large open spaces, large font sizes, and minimal UI clutter to focus attention on key messages and visuals.",
  "evidence": "Observed via the structural layout of standard DOM elements, spacing between sections like the hero and logo strip, and the consistent styling of buttons and feature cards.",
  "borderStyle": "Very subtle, thin 1px solid borders are used to define feature cards and grid items against the canvas without adding visual noise.",
  "buttonStyle": "Pill-shaped, filled buttons primarily using a dark background with light text to stand out against the light canvas.",
  "cornerStyle": "Mixed approach: fully rounded pill shapes for interactive elements, and moderately rounded corners for larger containers.",
  "contentWidth": "Content is generally centered within a constrained max-width container, typical of modern SaaS marketing pages.",
  "spacingRhythm": "Generous vertical and horizontal padding, creating distinct, isolated sections that allow the large typography to breathe."
}
```

### Reconstruction specification

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

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

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 2626,
      "bottom": 2959,
      "pageHeight": 6686
    }
  },
  "container": null,
  "spacing": {
    "observedGapsPx": [],
    "representativeContentWidthsPx": []
  },
  "columns": []
}
```

#### Cards and surfaces

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

#### Media treatment

```json
[]
```

#### Browser-exposed animation parameters

```json
[]
```

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

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

```json
{
  "root": null,
  "cards": [],
  "media": [],
  "bounds": {
    "top": 2626,
    "bottom": 2959,
    "pageHeight": 6686
  },
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "columns": [],
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": []
  },
  "coverage": {
    "cards": 0,
    "media": 0,
    "animations": 0,
    "elementsInSection": 0
  },
  "surfaces": {
    "radii": [],
    "borders": [],
    "shadows": []
  },
  "animations": [],
  "capturedAt": "2026-10-21T03:47:41.717Z",
  "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."
  ],
  "viewportWidth": 1440
}
```

### 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: low
- What transfers: Centered label + horizontal logo row layout; Flex-based spacing structure with uniform gaps; Flat canvas background treatment
- Dependencies: Specific third-party logo SVG assets; Marquee animation behavior (if implemented) and its exact width/overflow setup
- Guidance: Reuse the label-above-logo-row structure and flex gap spacing; swap in new logo assets at consistent heights and confirm/implement scroll behavior if a marquee effect is desired.

### Evidence readiness

- Coverage: 6/7
- Can build: Yes
- Missing facts: section-specific computed typography and color samples; timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: section-specific computed typography and color samples; timestamped authored motion.

### Agent implementation prompt

Create an original logo-cloud section inspired by the design evidence titled “Customer logo strip”.

Purpose: A minimal, horizontal strip displaying monochrome logos of companies using the product.

Structure: centered single-column. Source layout label: Centered introductory label above a single horizontal row of evenly spaced logos.. Use a narrow central reading axis and deliberate scale contrast rather than adding unnecessary side content.

Visual signature to preserve at the pattern level: Clean, evenly spaced monochrome brand logos on a light gray background.

Components: logos, label.

Style direction: minimal.

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

Typography evidence: {"role":"display","size":"68px","family":"Zalando Sans","source":"computed","traits":"Regular","weight":"700","evidence":"font-11: computed CSS at 1440×1000; AI role: 68px Zalando Sans, bold, used for the main dynamic hero headline.","sampleId":"font-11","confidence":0.95,"lineHeight":"68px","letterSpacing":"-1.5px"} {"role":"heading","size":"44px","family":"Zalando Sans","source":"computed","traits":"Regular","weight":"700","evidence":"font-2: computed CSS at 1440×1000; AI role: 44px Zalando Sans, bold, used for major section titles.","sampleId":"font-2","confidence":0.9,"lineHeight":"44px","letterSpacing":"-1.3px"} {"role":"body","size":"18px","family":"Zalando Sans","source":"computed","traits":"Regular","weight":"400","evidence":"font-8: computed CSS at 1440×1000; AI role: 18px Zalando Sans, regular, used for introductory paragraph text.","sampleId":"font-8","confidence":0.85,"lineHeight":"23.4px","letterSpacing":"-0.2px"}

Color evidence: {"hex":"#F6F6F5","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(246, 246, 245); AI role: #F6F6F5 off-white used as the primary background for the page.","sampleId":"color-2","confidence":0.95} {"hex":"#000000","name":"text","role":"text","source":"computed","evidence":"color-4: computed rgb(0, 0, 0); AI role: #000000 black used for primary headings and important text.","sampleId":"color-4","confidence":0.95} {"hex":"#868685","name":"muted text","role":"muted-text","source":"computed","evidence":"color-6: computed rgb(134, 134, 133); AI role: #868685 gray used for secondary paragraphs and supporting text.","sampleId":"color-6","confidence":0.9} {"hex":"#E4E1D8","name":"border","role":"border","source":"computed","evidence":"color-8: computed rgb(228, 225, 216); AI role: #E4E1D8 light gray used for the subtle borders on feature cards.","sampleId":"color-8","confidence":0.9} {"hex":"#FFFFFF","name":"surface","role":"surface","source":"computed","evidence":"color-5: computed rgb(255, 255, 255); AI role: #FFFFFF white used for specific card backgrounds like the agent activity feed.","sampleId":"color-5","confidence":0.85}

No section-bounded typography samples were measured.

No section-bounded color samples were measured.

Exact section measurements from the saved element map: spacing {"gapsPx":[],"representativeContentWidthsPx":[]}; surfaces {"radii":[],"borders":[],"shadows":[]}

Do not invent signature motion. Use only restrained baseline transitions if the product needs them.

Transfer these principles: Centered label + horizontal logo row layout; Flex-based spacing structure with uniform gaps; Flat canvas background treatment.

Dependencies: Specific third-party logo SVG assets; Marquee animation behavior (if implemented) and its exact width/overflow setup.

Adaptation guidance: Reuse the label-above-logo-row structure and flex gap spacing; swap in new logo assets at consistent heights and confirm/implement scroll behavior if a marquee effect is desired.

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