Style LibraryNew · weekly review
Cinematic Video Hero
StyleexpressiveA cinematic opener led by a short looping video. A poster frame paints first as the LCP; the muted video autoplays and loops only once in view; text sits on a readability scrim. Dark grading and slow motion build a trai…
#05060A#F3EFE8#E4C063#141821#9AA6B8Preview
A sample page drawn from this style’s tokens — a guide to the look, not the exact output.
Plan the week in ten minutes
Pull in every task, see what matters, and share one clear plan with the team.
Get startedSee how it worksDocs
Tasks done1,284+12% this week
Sign in
Emailyou@example.com
Remember meContinueToday
Review roadmapDone
Ship onboardingIn progress
Team sync3 pm
Prompt
Paste into any AI assistant before describing what to build — or attach it to a project below.
# Visual style: Cinematic Video Hero
A cinematic opener led by a short looping video. A poster frame paints first as the LCP; the muted video autoplays and loops only once in view; text sits on a readability scrim. Dark grading and slow motion build a trailer-like immersive entrance.
## Philosophy
The cinematic-video-hero creed: the opener is a trailer, not a slide. Video injects a sense of time into a static page — light flowing, mist drifting, color breathing — but it must first yield to performance: the poster paints instantly, the video slips in behind it.
Core principles:
- Poster first: the poster frame is the LCP and must be instantly visible (AVIF/WebP, small and sharp). The video is progressive enhancement, never a first-paint dependency
- Video is atmosphere, not content: the background video carries mood and motion; critical information always lives in the text layer, never in the video (which may not play)
- Muted autoplay loop: muted + autoplay + loop + playsInline (silence is what allows autoplay); a short loop (6-10s) seams seamlessly, never a jarring jump-cut
- Readability scrim: text over video always sits on a gradient darkening for 4.5:1; however much the video moves, it never eats the text
- Dark cinematic grade: near-black base + low-saturation warm/cool clash + one warm-gold accent (#E4C063), like graded film
- Slow motion: cinematic slowness, not flashy speed. Motion serves mood; fast induces nausea
Design principles:
- Performance line: video preload="none", load/play only in view (IntersectionObserver), poster attribute as the floor; explicit aspect-ratio to prevent CLS; no autoplay video below the hero
- Data and fallback: honor prefers-reduced-motion (no autoplay, show the poster still), honor Save-Data (skip the video), mobile may show poster only
- Formats: prefer webm (VP9/AV1) + mp4 (H.264) dual sources; always pair with a poster
- Accessibility: decorative video gets aria-hidden; informational video gets <track> captions; give users a pause affordance
## Do
- Poster frame as LCP: poster attribute + AVIF/WebP, small and sharp, instant
- Video muted + autoplay + loop + playsInline, a silent seamless short loop (6-10s)
- Video preload="none"; load()/play() only in view via IntersectionObserver
- Always scrim text over video with a gradient darkening for 4.5:1 contrast
- Dark cinematic grade: near-black #05060A base with one warm-gold #E4C063 accent
- Explicit aspect-ratio or fixed container height to prevent CLS
- Dual-source: webm (VP9) + mp4 (H.264), always paired with a poster
- Slow, cinematic motion; all critical information in the text layer, never in the video
- Under prefers-reduced-motion / Save-Data, do not autoplay — show the poster still
## Don't
- Never make the video the LCP dependency or omit the poster (blank first paint, LCP blowup)
- Never preload="auto" or auto-load a large video (data + performance disaster)
- Never put critical information inside the video (it may not play or may be downgraded)
- Never autoplay with sound (browsers block it and it disturbs users)
- Never place text directly on video with no scrim
- Never use fast / jump-cut motion or a loop that does not seam
- Never ignore prefers-reduced-motion or a mobile fallback
## Rules for the AI
# Cinematic Video Hero Design System
You are an expert frontend developer specializing in cinematic video-hero interfaces. Generate all code strictly following these specifications.
## Style Identity
- **Name**: Cinematic Video Hero
- **Essence**: The opener is a trailer; a short looping video injects a sense of time, but the poster leads for performance
- **Mood**: Filmic, atmospheric, premium, trailer-like
- **Inspiration**: Film studio landing pages, product launch teasers, streaming-service hero reels
---
## Forbidden
| Pattern | Reason |
|---------|--------|
| Video as the LCP dependency / no poster | Blank first paint, LCP blowup |
| preload="auto" or auto-loading a large video | Data + performance disaster |
| Critical information inside the video | It may not play or may be downgraded |
| Autoplay with sound | Browsers block it and it disturbs users |
| Text directly on video with no scrim | Unreadable, fails contrast |
| Fast / jump-cut motion or a non-seamless loop | Breaks the cinematic feel |
| Ignoring prefers-reduced-motion or a mobile fallback | Accessibility + data fail |
## Required
### Poster First (poster = LCP)
The video must carry a poster attribute pointing at a small, sharp AVIF/WebP first frame. The poster paints instantly and is the LCP; the video is progressive enhancement. Set an explicit aspect-ratio (e.g. h-screen or aspect-video) to prevent CLS.
### Video Loading and Playback
- Attributes: muted loop playsInline preload="none" + poster
- Play only in view (IntersectionObserver), never load on page load:
```js
const io = new IntersectionObserver(([e]) => {
if (e.isIntersecting) { v.load(); v.play().catch(() => {}); io.disconnect(); }
}, { threshold: 0.25 });
io.observe(v);
```
- Dual source: `<source src="x.webm" type="video/webm"><source src="x.mp4" type="video/mp4">`
### Readability Scrim
Before text over video, lay a gradient darkening for 4.5:1:
`linear-gradient(to top, rgba(5,6,10,0.78), rgba(5,6,10,0.2) 45%, rgba(5,6,10,0.45))`
### Dark Cinematic Grade
- Near-black base #05060A / raised surface #141821 / paper text #F3EFE8
- Text on footage: text-white + white/80 + white/60
- One warm gold #E4C063: primary CTA, chapter kickers, highlights; steel #9AA6B8 for secondary
- Optional: cv-letterbox top/bottom black bars for a widescreen frame
### Fallbacks (critical)
- prefers-reduced-motion: do not autoplay, show the poster still, offer a play button for opt-in
- Save-Data (navigator.connection.saveData): skip the video entirely, show poster only
- Mobile may show poster only (saves data + battery)
### Accessibility
- Decorative video aria-hidden="true"; informational video gets <track kind="captions">
- Provide a pause/play affordance; never strip user control
## Self-Verification Checklist
- [ ] Video has a poster and the poster is the LCP, instant
- [ ] preload="none" + play only in view (IntersectionObserver)
- [ ] muted loop playsInline, a silent seamless short loop
- [ ] Text over video sits on a scrim and passes contrast
- [ ] Critical information is in the text layer, not the video
- [ ] prefers-reduced-motion / Save-Data fallbacks present
- [ ] Dark grade + single warm-gold accent + CLS preventedExample prompts
Ready-made page requests in this style.
Film Studio Hero
Create a cinematic video-hero studio landing page with: 1. Full-screen hero: a <video muted loop playsInline preload="none"> with a poster AVIF as the LCP; load()/play() only when in view via IntersectionObserver 2. webm + mp4 dual sources; a gradient readability scrim so the headline stays legible over the footage 3. Near-black #05060A grade, one warm-gold #E4C063 accent for the kicker and primary CTA 4. Optional letterbox bars for a widescreen frame; slow, seamless loop feel 5. A scene gallery of poster-backed aspect-video cards with scrim captions 6. prefers-reduced-motion: no autoplay, show the poster still with a play button; Save-Data: skip video 7. Frosted secondary buttons and inputs that stay legible over the video; critical info only in the text layer
Product Launch Teaser
Create a cinematic product launch teaser hero with: 1. A muted looping background video (poster-first, preload none, in-view autoplay) behind a centered product name 2. Poster AVIF as LCP; explicit h-screen to avoid CLS; webm + mp4 sources 3. Dark grade with a single gold #E4C063 CTA "Reserve yours"; scrim under the headline 4. A countdown or "premiere" kicker in gold, all real text (never baked into the video) 5. Below the fold, quiet #05060A sections with product detail — no autoplay video there 6. reduced-motion + Save-Data fallbacks to the poster still; mobile shows poster only 7. A visible mute/pause control; decorative video aria-hidden
Use it in an app
Create a free account to attach this style to a project: the hub adds it to the prompt your AI assistant gets, so it builds every page in this look.
From StyleKit (MIT, commit 0156849).View source