HomeStylesTemplates
StyleKit
StylesTemplatesCommunity
  1. Home
  2. /Styles
  3. /Cinematic Video Hero
Style Catalog/Cinematic Video Hero

Cinematic Video Hero

电影视频首屏

B
81/100Good
Rate this style

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.

video herocinematic herobackground videohero video sectionvideo landing pageautoplay loopposter framevideo bannerdark cinematictrailer style
View Full Showcase →
Templates

Best For

video hero / cinematic hero / background video

Primary Move

Poster frame as LCP: poster attribute + AVIF/WebP, small and sharp, instant

Watch Out

Never make the video the LCP dependency or omit the poster (blank first paint, LCP blowup)

Showcase Entry

Live preview of the showcase page. Click to explore the full experience.

View Full Showcase →

Color Palette

Primary

#05060A

Secondary

#F3EFE8

Accent 1

#E4C063

Accent 2

#141821

Accent 3

#9AA6B8

AI ImplementationRatings & FeedbackComponent PreviewReadinessFAQExports

AI Implementation

Copy the Hard Prompt first, then use the spec when needed

Use the Hard Prompt by default to generate UI. Use the Design Spec to understand, modify, and review the style. Use the Creative Brief for early exploration.

Hard Prompt

Use this by default: copy it, append the concrete requirement, and let AI generate consistent production UI.

When to use

  • -When AI should generate UI directly
  • -When repeated outputs must stay consistent
  • -When style drift is the main risk

How to use

  • -Copy the full prompt
  • -Append the concrete requirement
  • -Review against forbidden rules and UI states
STYLEKIT_STYLE_REFERENCE
style_name: Cinematic Video Hero
style_slug: cinematic-video-hero
style_source: /styles/cinematic-video-hero

# Hard Prompt

## When To Use
Use this when you want AI to generate code with strict style consistency. It is the safest default for production UI.

## How To Use
- Copy the full prompt into ChatGPT, Claude, Cursor, or another coding assistant.
- Append the concrete product/page requirement after the prompt.
- After generation, check the forbidden rules and interaction states before accepting the output.

Strictly follow the style rules below and maintain consistency. No style drift allowed.

## Requirements

- Prioritize style consistency first, then creative extension.
- When conflicts arise, treat prohibitions as the highest priority.
- Self-check before output: verify colors, typography, spacing, and interactions still match this style.

## Style Rules

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

---

# Cinematic Video Hero Design System

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

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

---

## Token Dictionary (exact class mapping)

### Border
```
Width: border
Color: border-white/20
Radius: rounded-xl
```

### Shadow
```
sm: shadow-[0_2px_8px_rgba(0,0,0,0.4)]
md: shadow-[0_10px_30px_rgba(0,0,0,0.5)]
lg: shadow-[0_28px_70px_rgba(0,0,0,0.6)]
hover: hover:shadow-[0_16px_44px_rgba(0,0,0,0.55)]
focus: focus-visible:ring-2 focus-visible:ring-[#E4C063]/60
```

### Interaction
```
Hover translate: (none)
Hover scale: (none)
Hover opacity: hover:bg-white/18
Transition: transition-all duration-300 ease-out
Active: active:scale-[0.98]
```

### Typefaces
```
Heading: font-semibold text-white tracking-tight
Body: text-white/80 leading-relaxed
Mono: font-mono text-[#E4C063] uppercase tracking-widest
```

### Type scale
```
Hero: text-5xl md:text-7xl
H1: text-4xl md:text-6xl
H2: text-3xl md:text-4xl
H3: text-xl md:text-2xl
Body: text-base md:text-lg
Small: text-sm
```

### Spacing
```
Section: py-24 md:py-32
Container: px-6 md:px-8
Card: p-5
Gap sm: gap-4
Gap md: gap-8
Gap lg: gap-12
```

### Color roles
```
Background primary: bg-[#05060A]
Background secondary: bg-[#141821]
Background accent: bg-[#E4C063]
Text primary: text-white
Text secondary: text-white/80
Text muted: text-white/60
Button primary: bg-[#E4C063] text-[#05060A]
Button secondary: bg-white/10 backdrop-blur-md text-white border border-white/25
```

---

## [FORBIDDEN]

These classes are banned in this style. Check for them before returning code:

### Banned classes
- `bg-gradient-to-r`
- `from-indigo-600`
- `via-purple-600`
- `to-pink-500`
- `rounded-none`
- `duration-100`

### Banned patterns
- matches `^bg-gradient-to-r$`
- matches `^from-(indigo|purple|pink|fuchsia)-`
- matches `^rounded-none$`

### Why they are banned
- `bg-gradient-to-r`: Motion and color come from the footage, not decorative gradients
- `from-indigo-600`: No AI-cliche gradients; the grade is near-black with one warm-gold accent
- `rounded-none`: Cinematic framing reads softer with rounded-xl / rounded-full
- `duration-100`: Cinematic motion is slow; snappy transitions break the mood

> WARNING: if your code contains any of the above, replace it before shipping.

---

## [REQUIRED]

### Every button must include
```
rounded-full
transition-all duration-300
active:scale-[0.98]
```

### Every card must include
```
relative overflow-hidden
rounded-xl
```

### Every input must include
```
bg-white/10 backdrop-blur-md
border border-white/25
rounded-full
text-white placeholder-white/50
focus:outline-none focus:border-[#E4C063]/70 focus:bg-white/15
transition-all duration-300
```

---

## [COMPARE] Cinematic Video Hero wrong vs right

The wrong examples below stand for generic library defaults that were never adapted to this style. Do not read them as visual suggestions.

### Button

[WRONG] **Wrong** (generic component library default, do not copy):
```html
<button class="{GENERIC_LIBRARY_BUTTON_DEFAULT}">
 Click me
</button>
```

[CORRECT] **Right** (uses this style's tokens):
```html
<button class="rounded-full transition-all duration-300 active:scale-[0.98] bg-[#E4C063] text-[#05060A]">
 Click me
</button>
```

### Card

[WRONG] **Wrong** (generic card, not adapted to this style):
```html
<div class="{GENERIC_LIBRARY_CARD_DEFAULT}">
 <h3>{TITLE}</h3>
</div>
```

[CORRECT] **Right** (uses this style's card tokens):
```html
<div class="relative overflow-hidden rounded-xl p-5">
 <h3 class="font-semibold text-white tracking-tight text-xl md:text-2xl">{TITLE}</h3>
</div>
```

### Input

[WRONG] **Wrong** (generic input, not adapted to this style):
```html
<input class="{GENERIC_LIBRARY_INPUT_DEFAULT}" />
```

[CORRECT] **Right** (uses this style's input tokens):
```html
<input class="bg-white/10 backdrop-blur-md border border-white/25 rounded-full text-white placeholder-white/50 focus:outline-none focus:border-[#E4C063]/70 focus:bg-white/15 transition-all duration-300" placeholder="{PLACEHOLDER}" />
```

---

## [TEMPLATES] Cinematic Video Hero page skeletons

These skeletons use this style's tokens only. Replace `{PLACEHOLDER}` values, but keep every token in place:

### Navigation
```html
<nav class="bg-[#05060A] text-white border border-white/20 px-6 md:px-8">
 <div class="flex items-center justify-between max-w-6xl mx-auto gap-8">
 <a href="/" class="font-semibold text-white tracking-tight text-xl md:text-2xl">
 {LOGO_TEXT}
 </a>
 <div class="flex gap-8 text-white/80 leading-relaxed text-sm">
 {NAV_LINKS}
 </div>
 </div>
</nav>
```

### Hero section
```html
<section class="bg-[#E4C063] text-white py-24 md:py-32 px-6 md:px-8">
 <div class="max-w-4xl mx-auto">
 <h1 class="font-semibold text-white tracking-tight text-5xl md:text-7xl">
 {HEADLINE}
 </h1>
 <p class="text-white/80 leading-relaxed text-base md:text-lg max-w-xl">
 {SUBHEADLINE}
 </p>
 <button class="rounded-full transition-all duration-300 active:scale-[0.98] bg-[#E4C063] text-[#05060A]">
 {CTA_TEXT}
 </button>
 </div>
</section>
```

### Card grid
```html
<section class="bg-[#05060A] text-white py-24 md:py-32 px-6 md:px-8">
 <div class="max-w-6xl mx-auto">
 <h2 class="font-semibold text-white tracking-tight text-3xl md:text-4xl">{SECTION_TITLE}</h2>
 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
 <!-- Card template - repeat for each card -->
 <div class="relative overflow-hidden rounded-xl p-5">
 <h3 class="font-semibold text-white tracking-tight text-xl md:text-2xl">{CARD_TITLE}</h3>
 <p class="text-white/80 leading-relaxed text-base md:text-lg text-white/60">{CARD_DESCRIPTION}</p>
 </div>
 </div>
 </div>
</section>
```

### Form input
```html
<input class="bg-white/10 backdrop-blur-md border border-white/25 rounded-full text-white placeholder-white/50 focus:outline-none focus:border-[#E4C063]/70 focus:bg-white/15 transition-all duration-300" placeholder="{PLACEHOLDER}" />
```

### Footer
```html
<footer class="bg-[#141821] text-white/80 py-24 md:py-32 px-6 md:px-8">
 <div class="max-w-6xl mx-auto">
 <div class="grid grid-cols-1 md:grid-cols-3 gap-12">
 <div>
 <span class="font-semibold text-white tracking-tight text-xl md:text-2xl">{LOGO_TEXT}</span>
 <p class="text-white/80 leading-relaxed text-sm">{TAGLINE}</p>
 </div>
 <div>
 <h4 class="font-semibold text-white tracking-tight text-xl md:text-2xl">{COLUMN_TITLE}</h4>
 <ul class="text-white/80 leading-relaxed text-sm">
 {FOOTER_LINKS}
 </ul>
 </div>
 </div>
 </div>
</footer>
```

---

## [CHECKLIST] Cinematic Video Hero post-generation self check

**Before returning code, verify every token and rule below. Fix any violation before delivering:**

### Token check
- [ ] Button includes: `rounded-full transition-all duration-300 active:scale-[0.98]`
- [ ] Card includes: `relative overflow-hidden rounded-xl`
- [ ] Input includes: `bg-white/10 backdrop-blur-md border border-white/25 rounded-full text-white placeholder-white/50 focus:outline-none focus:border-[#E4C063]/70 focus:bg-white/15 transition-all duration-300`

### Forbidden check
- [ ] Not using `bg-gradient-to-r`
- [ ] Not using `from-indigo-600`
- [ ] Not using `via-purple-600`
- [ ] Not using `to-pink-500`
- [ ] Not using `rounded-none`
- [ ] Not using `duration-100`

### Style rule check
- [ ] 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

### Style drift check
- [ ] Does not violate: Never make the video the LCP dependency or omit the poster (blank first paint, LCP blowup)
- [ ] Does not violate: Never preload="auto" or auto-load a large video (data + performance disaster)
- [ ] Does not violate: Never put critical information inside the video (it may not play or may be downgraded)
- [ ] Does not violate: Never autoplay with sound (browsers block it and it disturbs users)
- [ ] Does not violate: Never place text directly on video with no scrim

### Delivery check
- [ ] Responsive layout holds on phone, tablet and desktop with no horizontal overflow
- [ ] Every interactive element has a visible focus state, an accessible name and a reduced-motion path
- [ ] Text contrast meets WCAG AA and colour alone never carries state
- [ ] The result is still recognizable at a glance as Cinematic Video Hero

---

## [EXAMPLES] Example prompts

### 1. 

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

### 2. 

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

## Absolute Bans (Match and Refuse)

If any of the following patterns appear, it is a style violation — rewrite without exception.

- make the video the LCP dependency or omit the poster (blank first paint, LCP blowup)
- preload="auto" or auto-load a large video (data + performance disaster)
- put critical information inside the video (it may not play or may be downgraded)
- autoplay with sound (browsers block it and it disturbs users)
- place text directly on video with no scrim
- use fast / jump-cut motion or a loop that does not seam
- ignore prefers-reduced-motion or a mobile fallback

## Self-Check (Verify Before Shipping)

If any item fails, the style has drifted — fix before shipping.

- [ ] No purple-to-blue gradients
- [ ] No overused fonts (Inter, Roboto, Geist, Fraunces, Plus Jakarta Sans)
- [ ] No nested cards (cards inside cards)
- [ ] No gray text on colored backgrounds
- [ ] Body text contrast meets WCAG AA (>= 4.5:1)
- [ ] No bounce or elastic easing curves
- [ ] Animations have a prefers-reduced-motion fallback
- [ ] Body text line length capped at 65-75 characters
- [ ] No side-stripe accent borders (border-left/right > 1px)
- [ ] No gradient text (background-clip: text)
- [ ] No glassmorphism used as the default surface treatment
- [ ] No tiny uppercase tracked eyebrow labels above every section heading
- [ ] 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

Community

Ratings & Feedback

No ratings yet - be the firstSign in to rate
0 comments
Sign in to post a comment. Sign In

Component Templates

Component Preview

Button

Warm-gold cinematic CTA and a frosted secondary

Frontend Readiness

Dark Mode, States, Motion, and Accessibility

This layer tracks whether the style is ready for real websites: theme modes, state feedback, keyboard access, and performance constraints.

Overall

51%

Fallback

Dark Mode

0%

Missing

UI States

79%

Partial

Motion

70%

Partial

A11y

70%

Partial

Performance

35%

Fallback

Key State Coverage

light
HoverFocus VisibleDisabledLoadingEmptyErrorSuccess

Button

Default / Hover / Focus Visible / Active / Disabled

Input

Default / Hover / Focus Visible / Disabled / Error

Card

Default / Hover / Focus Visible / Loading / Skeleton

Form

Default / Focus Visible / Disabled / Loading / Error

Implementation Notes

  • No curated dark-mode contract exists yet.
  • Check contrast in both light and dark modes.
  • Check heavy shadows, blur, large media, and scroll-linked effects manually.
  • No style-specific performance cost profile has been curated yet.

FAQ

Cinematic Video Hero — Frequently Asked Questions

01What is the Cinematic Video Hero design style?
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. Its core principle: The cinematic-video-hero creed: the opener is a trailer, not a slide.
02What colors does Cinematic Video Hero use?
Cinematic Video Hero uses #05060A as its primary color and #F3EFE8 as its secondary color, with accent colors #E4C063, #141821, #9AA6B8. Every hex value can be copied from the palette on this page.
03How do I apply Cinematic Video Hero correctly?
Key practices: 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.
04What are common mistakes with Cinematic Video Hero?
Avoid: 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).
05How do I prompt AI to generate Cinematic Video Hero UI?
Copy the ready-made AI prompt on this page — it bundles the design tokens and component rules — and paste it into ChatGPT, Claude, Claude Code, or Codex. Effective prompts include the keywords: video hero, cinematic hero, background video, hero video section.
Global Styles

Global CSS

css
/* Cinematic Video Hero Global Styles */

:root {
  --cv-base: #05060A;
  --cv-surface: #141821;
  --cv-paper: #F3EFE8;
  --cv-gold: #E4C063;
  --cv-steel: #9AA6B8;
}

/* Full-bleed video / poster base */
.cv-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Readability scrims */
.cv-scrim-cinematic { background: linear-gradient(to top, rgba(5,6,10,0.78), rgba(5,6,10,0.2) 45%, rgba(5,6,10,0.45)); }

/* Letterbox bars for a filmic frame (optional) */
.cv-letterbox::before,
.cv-letterbox::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 6vh;
  background: #05060A;
  z-index: 20;
  pointer-events: none;
}
.cv-letterbox::before { top: 0; }
.cv-letterbox::after { bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  /* video is not autoplayed by script; poster stays. Nothing to animate. */
}

IDE Integration

IDE Configuration Export

Download configuration files for AI coding assistants to generate code in this style.

Style Pack

Export Style Pack

Get complete machine-readable style assets including design tokens, Tailwind presets, CSS variables, and shadcn/ui themes.

Metadata

Style metadata including version information

Design Tokens

Compatible with Figma / Style Dictionary / Tokens Studio

Tailwind Preset

Tailwind CSS theme preset, import directly in config

Global CSS

CSS variables and base styles

shadcn Theme

shadcn/ui theme configuration

CSS Variables

Pure CSS variables, works with any project

SKILL.md

Loadable skill pack for Cursor / Claude Code / VS Code

Design 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.

Accessibility

Accessibility Score

WCAG 2.1 compliance analysis based on color contrast and typography readability.

81

Overall Score

Grade: B - Good

Contrast Ratios

Score: 79/100Average Ratio: 12.84:1
AA FailAAA Fail
ContextColorsRatioAAAAA
Text on background
/#ffffff / #05060A
20.25:1
Text on secondary background
/#ffffff / #141821
17.76:1
Button primary
/#05060A / #E4C063
11.59:1
Text on accent 1
/#ffffff / #E4C063
1.75:1

Readability

Score

85/100

Font Size

text-base md:text-lg

Font Weight

font-semibold text-white tracking-tight

Line Height

default

Scoring is based on WCAG 2.1 standards. AA requires 4.5:1 contrast for normal text, 3:1 for large text; AAA requires 7:1 for normal text, 4.5:1 for large text.

StyleKit

A curated web design style library to help AI generate better-looking websites.

FeedbackSupport Maintenance
Explore+
StylesTemplatesAnimationsResource LibraryPromptsCollectionsCommunity
Learn+
FoundationsGuideRecipesChangelogBlog
Trust+
AboutContactPrivacyTermsSupport UsRefunds

(c) 2026 StyleKit. Open source project.

闄旾CP澶?025065501鍙?3

Colophon/SK — 2026

Built with the Editorial style

01FeedbackTell us what could work better02Support MaintenanceIf StyleKit helps your workflow, voluntary support helps cover servers, domains, and ongoing upkeep.

StyleKit

A curated web design style library to help AI generate better-looking websites.

GitHub Repository

Explore

StylesTemplatesAnimationsResource LibraryPromptsCollectionsCommunity

Learn

FoundationsGuideRecipesChangelogBlog

Dispatch

Get notified when new styles, templates and tools ship.

Stay Updated

By subscribing, you agree to our Privacy Policy and Terms.

(c) 2026 StyleKit. Open source project.

AboutContactPrivacyTermsSupport UsRefunds/陕ICP备2025065501号-3

StyleKit