# Simple text CTA

Schema: Design Details SECTION.md v3.2
Website: Zoah
Source: https://zoah.com/
Source section IDs: 81edc133-c9b7-411b-ae10-535a76f2ec25
Status: AI analysed; vocabulary promotion is automated

## Classification

- Type: cta
- Layout: Centered typography stacked vertically above a single primary button.
- Styles: minimal
- Confidence: 95%

## Purpose and structure

A very minimal call-to-action section with a brief headline, subheadline, and a single button.

Visual signature: Lots of negative space surrounding a highly focused, centered text and button grouping.

## Components

- typography
- button

## 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.53/100 (Competent)
Scored coverage: 85%

- Typography: 58 — Clean hierarchy of bold display headline, muted subheadline, and pill button label, using consistent type system from the site. Legible and well-weighted but a standard SaaS CTA treatment with no distinctive type craft. Next tier: No typographic device (scale contrast, unusual tracking, mixed weights) that elevates it beyond a generic centered CTA headline.
- Composition: 56 — Simple vertical centered stack with generous negative space; balanced but extremely conventional layout with no asymmetry, layering, or compositional tension. Next tier: Lacks any structural idea beyond centered stack; no secondary visual element, grid tension, or scale play to create memorability.
- Motion: not_assessed — No motion evidence supplied; motion_moments and animationIds are empty. Next tier: Requires timestamped visible motion evidence to assess.
- Content: 55 — Headline, subheadline, and button copy are concise and purposeful, directly reinforcing the CTA intent with no filler. Next tier: Content is functional but generic boilerplate phrasing; no distinctive voice or brand-specific detail to deepen integration.
- Originality: 40 — This is a textbook minimal CTA pattern seen across countless SaaS sites—centered text, pill button, white space—with no unique twist. Next tier: Needs an unexpected compositional, typographic, or interaction choice; currently indistinguishable from stock CTA templates.
- Adaptability: 62 — Structure (headline/subhead/button stack) is clearly separable from skin (colors, font, pill radius) per deterministic tokens; straightforward to reskin. Next tier: Simplicity caps upside; nothing unusually reusable or proprietary that would make it a more valuable adaptable asset.

Strengths:
- Clear visual hierarchy supporting single conversion action
- Generous whitespace keeps focus on call-to-action
- Consistent with site-wide type and button tokens

Weaknesses:
- Highly generic layout with no distinguishing structural idea
- No motion or interactive detail evident
- Originality is minimal; pattern is ubiquitous across marketing sites

Why it does not reach the next tier: The section executes a common centered CTA pattern competently but without any structural, typographic, or interactive device that would make it memorable or hard to substitute; it reads as interchangeable with countless similar sections.

## Adaptation guidance

- Effort: Low
- Guidance: Swap typography, color tokens, and button copy while preserving the centered stack and spacing rhythm; no complex motion or layered components to reconcile.

What transfers:
- Centered vertical stack layout
- Headline/subheadline/button hierarchy
- Pill button style

Dependencies:
- Zalando Sans typeface tokens
- Canvas/text/muted-text color tokens
- Pill radius token for button

## 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 motion data provided, so interaction/animation quality cannot be judged
- Single screenshot crop limits insight into responsive or dynamic behavior

## 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: cta
- Source type: cta
- Structure: centered single-column
- Layout: Centered typography stacked vertically above a single primary button.
- Styles: minimal
- Components: typography, button
- Purpose: A very minimal call-to-action section with a brief headline, subheadline, and a single button.
- Visual signature: Lots of negative space surrounding a highly focused, centered text and button grouping.

### Crop and composition

- Crop: 1440×413px; aspect ratio 3.487:1
- Page bounds: 5895–6308px 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": [
    {
      "value": "#FFFFFF",
      "cssValue": "rgb(255, 255, 255)",
      "alpha": 1,
      "appliedAs": [
        "svg-stroke",
        "background"
      ],
      "occurrences": 8,
      "sourceId": "color-5"
    }
  ],
  "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: 4; browser animations: 0.

#### Container, grid, and spacing

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

#### Cards and surfaces

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

#### Media treatment

```json
[
  {
    "element": "svg · @media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
    "size": "233×120px",
    "position": "x 190px, y 6119px",
    "aspectRatio": 1.9,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · @media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
    "size": "232×120px",
    "position": "x 453px, y 6120px",
    "aspectRatio": 1.9,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · @media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
    "size": "232×120px",
    "position": "x 715px, y 6120px",
    "aspectRatio": 1.9,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "hidden",
    "source": "source not captured"
  },
  {
    "element": "svg · @media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
    "size": "232×120px",
    "position": "x 977px, y 6120px",
    "aspectRatio": 1.9,
    "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
{
  "root": null,
  "cards": [],
  "media": [
    {
      "id": "ld-551",
      "tag": "svg",
      "rect": {
        "x": 190,
        "y": 6119,
        "width": 233,
        "height": 120
      },
      "role": "img",
      "label": "@media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
      "media": null,
      "radius": "0px",
      "overflow": "hidden",
      "objectFit": "fill",
      "aspectRatio": 1.9,
      "objectPosition": "50% 50%"
    },
    {
      "id": "ld-622",
      "tag": "svg",
      "rect": {
        "x": 453,
        "y": 6120,
        "width": 232,
        "height": 120
      },
      "role": "img",
      "label": "@media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
      "media": null,
      "radius": "0px",
      "overflow": "hidden",
      "objectFit": "fill",
      "aspectRatio": 1.9,
      "objectPosition": "50% 50%"
    },
    {
      "id": "ld-683",
      "tag": "svg",
      "rect": {
        "x": 715,
        "y": 6120,
        "width": 232,
        "height": 120
      },
      "role": "img",
      "label": "@media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
      "media": null,
      "radius": "0px",
      "overflow": "hidden",
      "objectFit": "fill",
      "aspectRatio": 1.9,
      "objectPosition": "50% 50%"
    },
    {
      "id": "ld-757",
      "tag": "svg",
      "rect": {
        "x": 977,
        "y": 6120,
        "width": 232,
        "height": 120
      },
      "role": "img",
      "label": "@media (prefers-reduced-motion: reduce) { .fig-hand { display: none; } }",
      "media": null,
      "radius": "0px",
      "overflow": "hidden",
      "objectFit": "fill",
      "aspectRatio": 1.9,
      "objectPosition": "50% 50%"
    }
  ],
  "bounds": {
    "top": 5895,
    "bottom": 6308,
    "pageHeight": 6686
  },
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "columns": [],
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": []
  },
  "coverage": {
    "cards": 0,
    "media": 4,
    "animations": 0,
    "elementsInSection": 9
  },
  "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 vertical stack layout; Headline/subheadline/button hierarchy; Pill button style
- Dependencies: Zalando Sans typeface tokens; Canvas/text/muted-text color tokens; Pill radius token for button
- Guidance: Swap typography, color tokens, and button copy while preserving the centered stack and spacing rhythm; no complex motion or layered components to reconcile.

### 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 cta section inspired by the design evidence titled “Simple text CTA”.

Purpose: A very minimal call-to-action section with a brief headline, subheadline, and a single button.

Structure: centered single-column. Source layout label: Centered typography stacked vertically above a single primary button.. Use a narrow central reading axis and deliberate scale contrast rather than adding unnecessary side content.

Visual signature to preserve at the pattern level: Lots of negative space surrounding a highly focused, centered text and button grouping.

Components: typography, button.

Style direction: minimal.

Observed crop: 1440×413px (3.487: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.

Colors measured inside this section: {"id":"color-5","hex":"#FFFFFF","alpha":1,"count":8,"contexts":[{"tag":"path","top":6215,"text":"","property":"svg-stroke"},{"tag":"div","top":6689,"text":"Operators Engineeropened a pull requestnowBug Monitorfiled a regression in checkout1mCustomer Suppor","property":"background"}],"cssValue":"rgb(255, 255, 255)"}

Exact section measurements from the saved element map: spacing {"gapsPx":[],"representativeContentWidthsPx":[]}; surfaces {"radii":[],"borders":[],"shadows":[]}; media [{"tag":"svg","rect":{"x":190,"y":6119,"width":233,"height":120},"aspectRatio":1.9,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"svg","rect":{"x":453,"y":6120,"width":232,"height":120},"aspectRatio":1.9,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"svg","rect":{"x":715,"y":6120,"width":232,"height":120},"aspectRatio":1.9,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"},{"tag":"svg","rect":{"x":977,"y":6120,"width":232,"height":120},"aspectRatio":1.9,"objectFit":"fill","objectPosition":"50% 50%","radius":"0px"}]

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

Transfer these principles: Centered vertical stack layout; Headline/subheadline/button hierarchy; Pill button style.

Dependencies: Zalando Sans typeface tokens; Canvas/text/muted-text color tokens; Pill radius token for button.

Adaptation guidance: Swap typography, color tokens, and button copy while preserving the centered stack and spacing rhythm; no complex motion or layered components to reconcile.

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