# Ember Ridge Parallax

> A scroll-driven parallax mountain scene inside its own scroll container — nine hand-built SVG dusk layers rise at data-driven depths while the sun sinks, mist climbs, and editorial waypoints float past on a progress-railed traverse from valley floor to starlit summit.

- Category: Parallax
- Frameworks: Vanilla, React + CSS, React + Tailwind
- Design system: Sunset Coast
- Dark mode: yes
- Access: premium (Atheros AI Pass)
- Tags: hero
- Page: https://builder.atheros.ai/components/ember-ridge
- Preview: https://d17nmjscumqk5d.cloudfront.net/builder/templates/tpl_builder_ember_ridge/preview-4a72c5f15878.webp

## Features

- Self-contained scroll region — parallax runs inside the component's own `overflow-y: auto` viewport, so it works even when the host page or preview iframe cannot scroll
- Ten depth layers (stars, sun, clouds, five ridgelines, mist) rendered from a data-driven config, each with its own rise, drift, and zoom rate
- Ridgelines are generated at runtime by a seeded fractal builder (`buildRidge`) — uneven peak/saddle skeletons, midpoint-displacement subdivision, and gradient-faded shadow facets on the away-from-sun flanks
- Single passive scroll listener mapped through `requestAnimationFrame` with cached measurements — transforms only, no layout thrash
- The sun sinks behind the far ridge as you scroll; in dark mode it becomes a setting moon and a seeded starfield fades in
- Floating stat cards and a quote panel drift at their own depth rates relative to the viewport center
- Ember progress rail fills along the left edge as the traverse advances
- Springy CTA press, smooth in-viewport anchor scrolling, and a reserve action with a done state
- Re-measures on resize, container resize, and font load; fully respects `prefers-reduced-motion` via both CSS and a `matchMedia` guard that collapses the scene to a static composition

## Accessibility

- **Scroll region** — `role="region"` with `aria-label` and `tabindex="0"` so keyboard users can scroll the story
- **Decorative scene** — The layer stack and progress rail are `aria-hidden="true"`
- **Buttons** — Every CTA carries an `aria-label` that tracks its visible text
- **Focus indicators** — `:focus-visible` with `--ring` outline on all interactive elements
- **Reduced motion** — CSS collapse plus a JS `matchMedia` guard that disables parallax transforms
- **Contrast** — Copy sits on translucent glass panels so text stays readable over any scene position

## Keyboard shortcuts

- `Tab` — Move focus between the viewport, links, and buttons
- `Arrow keys / Page Up / Page Down` — Scroll the focused story viewport
- `Enter / Space` — Activate the focused control

## Common questions

**Which frameworks is Ember Ridge Parallax available in?**

Ember Ridge Parallax ships as Vanilla, React + CSS and React + Tailwind — HTML, CSS, JS and React source you can copy, download or clone into Atheros AI Builder.

**Is Ember Ridge Parallax free?**

Ember Ridge Parallax is a premium component. Anyone can preview it; the source, downloads and AI customisation are included with Atheros AI Pass.

**Does Ember Ridge Parallax support dark mode?**

Yes. Ember Ridge Parallax ships light and dark themes, both drawn from the Sunset Coast design system's tokens. Switch the preview to dark mode to compare them.

## Get the code

Preview Ember Ridge Parallax live, then sign in to copy or download the source, apply another design system, or ask the AI assistant to change it: https://builder.atheros.ai/components/ember-ridge

Every component on https://builder.atheros.ai is also reachable from Claude Code, Cursor and Codex through the Atheros MCP server (paid plans). Component index: https://builder.atheros.ai/llms-components.txt
