# Sticky 3D sphere scroll sequence

Schema: Design Details SECTION.md v3.2
Website: Zoah
Source: https://zoah.com/
Source section IDs: 4b2477e5-bf95-44a7-95a2-765f8f000c7a
Status: AI analysed; vocabulary promotion is automated

## Classification

- Type: features
- Layout: Split layout with updating text on the left and a large animated 3D sphere on the right.
- Styles: gradient, bold, colourful
- Confidence: 95%

## Purpose and structure

A dark, full-screen sticky section where a 3D sphere animates and changes color while text content updates based on scroll position.

Visual signature: A vibrant, colorful iridescent orb glowing against a dark background with a minimalist progress line.

## Components

- 3d-graphic
- typography
- progress-indicator

## 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

- 6.0–15.0s — While scrolling down within the sticky section, the text on the left changes while a progress line moves. The sphere continues animating and changes color. (90% confidence)

## Section quality

Overall: 60.20/100 (Good)
Scored coverage: 100%

- Typography: 62 — Clean, confident hierarchy: small label 'Grow' over large bold headline against black. Letter-spacing and weight are deliberate, but only one small text block is visible in this crop, limiting evidence of a fuller type system. Next tier: Needs more varied type scale or supporting copy visible to demonstrate a richer hierarchy beyond a single headline pairing.
- Composition: 68 — Strong split layout with asymmetric balance: dense color/texture of the sphere against negative black space and left-aligned text creates good contrast and focal weight. Progress line footer adds a grounding horizontal element. Next tier: The composition is a familiar split-screen hero pattern; it needs an unexpected structural twist or more layered depth to move into strong/memorable territory.
- Motion: 58 — Gemini supplies a timestamped motion moment (6-15s) describing scroll-linked text changes, progress line movement, and sphere color animation, which is a coherent scrollytelling mechanic. Next tier: Lacks detail on easing, transition style, or how the sphere's transformation is choreographed with text changes to justify a higher score; feels like a standard scroll-linked reveal.
- Content: 55 — Headline and label work together to state a simple benefit, and the sphere serves as a visual metaphor for 'growth/AI', but the copy is generic marketing language without distinctive voice. Next tier: Needs sharper, more specific copy or a tighter conceptual link between visual and message to feel essential rather than decorative.
- Originality: 60 — Iridescent 3D orb with color-shifting liquid texture is a visually distinct asset, but the split-layout-with-sticky-scroll-and-progress-indicator format is a common SaaS pattern seen across many sites. Next tier: The orb itself is striking, but the overall structural idea is not novel; needs a more unexpected interaction model or layout departure from the standard scroll-pinned feature pattern.
- Adaptability: 55 — The text/visual split and progress-indicator mechanic separate cleanly from the specific 3D asset; the pattern (sticky pane, scroll-driven text swap, progress line) is replicable with a different hero visual. Next tier: Heavy dependency on a custom 3D rendered asset for the visual anchor limits how cleanly the skin separates from the mechanic without a similarly premium replacement visual.

Strengths:
- Bold, high-contrast dark canvas that makes the colorful sphere the clear focal point
- Clear text hierarchy with small label and large confident headline
- Scroll-linked mechanic (progress line + text change) tracked across section ties content to interaction

Weaknesses:
- Generic marketing copy lacking distinctive voice
- Split-layout-with-progress-indicator is a very common SaaS scrollytelling pattern
- Limited typographic range visible in this crop
- Heavy reliance on a custom 3D asset to carry visual interest

Why it does not reach the next tier: The section executes a familiar sticky-scroll feature pattern competently with a strong visual asset, but the structural idea, copy, and interaction choreography are not distinctive enough to feel memorable or hard to substitute.

## Adaptation guidance

- Effort: High
- Guidance: Reuse the sticky split layout, text-swap-on-scroll logic, and progress line mechanic; swap in a different hero visual (video, image, or simpler CSS gradient animation) in place of the 3D sphere to reduce asset dependency while preserving the interaction structure.

What transfers:
- Split layout with sticky text pane and progress indicator
- Scroll-driven text swap mechanic
- Dark canvas with single bright focal visual pattern

Dependencies:
- Custom 3D rendered sphere animation asset
- Scroll-triggered animation/timeline logic binding text changes to sphere state

## 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%)
- Motion details are limited to one timestamped observation without easing or transition specifics
- No visibility into other scroll states or final content panels within this sticky section
- Cannot confirm exact animation parameters or sphere rendering technique

## 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: features
- Source type: features
- Structure: two-column
- Layout: Split layout with updating text on the left and a large animated 3D sphere on the right.
- Styles: gradient, bold, colourful
- Components: 3d-graphic, typography, progress-indicator
- Purpose: A dark, full-screen sticky section where a 3D sphere animates and changes color while text content updates based on scroll position.
- Visual signature: A vibrant, colorful iridescent orb glowing against a dark background with a minimalist progress line.

### Crop and composition

- Crop: 1440×1014px; aspect ratio 1.42:1
- Page bounds: 1536–2550px of 6686px
- Guidance: Preserve the visual relationship between the two columns; adapt their ratio to the new content instead of copying the source dimensions.

### 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.
- Representative content widths: 1100px.
- Layout containers: 0; cards/surfaces: 0; media elements: 1; browser animations: 0.

#### Container, grid, and spacing

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

#### Cards and surfaces

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

#### Media treatment

```json
[
  {
    "element": "canvas · hg scroll-orb",
    "size": "1100×1100px",
    "position": "x 314px, y 948px",
    "aspectRatio": 1,
    "objectFit": "fill",
    "objectPosition": "50% 50%",
    "radius": "50%",
    "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
{
  "root": null,
  "cards": [],
  "media": [
    {
      "id": "ld-450",
      "tag": "canvas",
      "rect": {
        "x": 314,
        "y": 948,
        "width": 1100,
        "height": 1100
      },
      "role": null,
      "label": "hg scroll-orb",
      "media": null,
      "radius": "50%",
      "overflow": "clip",
      "objectFit": "fill",
      "aspectRatio": 1,
      "objectPosition": "50% 50%"
    }
  ],
  "bounds": {
    "top": 1536,
    "bottom": 2550,
    "pageHeight": 6686
  },
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "columns": [],
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": [
      1100
    ]
  },
  "coverage": {
    "cards": 0,
    "media": 1,
    "animations": 0,
    "elementsInSection": 1
  },
  "surfaces": {
    "radii": [
      "50%"
    ],
    "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

1. **scroll** — While scrolling down within the sticky section, the text on the left changes while a progress line moves. The sphere continues animating and changes color. (6s–15s; 90% confidence). Recreate the interaction principle with project-appropriate timing and easing; the evidence does not guarantee source easing values.

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: high
- What transfers: Split layout with sticky text pane and progress indicator; Scroll-driven text swap mechanic; Dark canvas with single bright focal visual pattern
- Dependencies: Custom 3D rendered sphere animation asset; Scroll-triggered animation/timeline logic binding text changes to sphere state
- Guidance: Reuse the sticky split layout, text-swap-on-scroll logic, and progress line mechanic; swap in a different hero visual (video, image, or simpler CSS gradient animation) in place of the 3D sphere to reduce asset dependency while preserving the interaction structure.

### Evidence readiness

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

### Agent implementation prompt

Create an original features section inspired by the design evidence titled “Sticky 3D sphere scroll sequence”.

Purpose: A dark, full-screen sticky section where a 3D sphere animates and changes color while text content updates based on scroll position.

Structure: two-column. Source layout label: Split layout with updating text on the left and a large animated 3D sphere on the right.. Preserve the visual relationship between the two columns; adapt their ratio to the new content instead of copying the source dimensions.

Visual signature to preserve at the pattern level: A vibrant, colorful iridescent orb glowing against a dark background with a minimalist progress line.

Components: 3d-graphic, typography, progress-indicator.

Style direction: gradient, bold, colourful.

Observed crop: 1440×1014px (1.42: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":[1100]}; surfaces {"radii":["50%"],"borders":[],"shadows":[]}; media [{"tag":"canvas","rect":{"x":314,"y":948,"width":1100,"height":1100},"aspectRatio":1,"objectFit":"fill","objectPosition":"50% 50%","radius":"50%"}]

Motion evidence: scroll: While scrolling down within the sticky section, the text on the left changes while a progress line moves. The sphere continues animating and changes color. (90% confidence)

Transfer these principles: Split layout with sticky text pane and progress indicator; Scroll-driven text swap mechanic; Dark canvas with single bright focal visual pattern.

Dependencies: Custom 3D rendered sphere animation asset; Scroll-triggered animation/timeline logic binding text changes to sphere state.

Adaptation guidance: Reuse the sticky split layout, text-swap-on-scroll logic, and progress line mechanic; swap in a different hero visual (video, image, or simpler CSS gradient animation) in place of the 3D sphere to reduce asset dependency while preserving the interaction structure.

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