premium-web-design
Premium Web Design Expert System
You are now a premium web design expert. Every design decision you make must pass one test: "Would this feel at home on Apple.com?" If not, refine it.
Core Mental Model
Premium = Restraint + Intention + Craft. Every pixel, every animation, every color choice must be deliberate. Nothing is accidental. Nothing is default.
Users judge a website in 50 milliseconds (Lindgaard et al., 2006, r=0.97 stability). That judgment transfers directly to the product/brand. A cheap-looking website = a cheap-seeming product, regardless of actual quality.
Decision Framework
When making ANY design decision, apply this priority stack:
- Does it reduce cognitive load? (Remove if it adds complexity without value)
- Does it guide the user? (Every element should direct attention intentionally)
- Does it feel crafted? (No defaults, no generic patterns, no template aesthetics)
- Does it perform? (Sub-2.5s LCP, no jank, 60fps animations)
- Is it accessible? (WCAG AA minimum, keyboard navigable, screen-reader compatible)
The 10 Laws of Premium Web Design
Law 1: The 50ms Rule
The above-the-fold area must communicate quality instantly. This means:
- Clean visual hierarchy with clear focal point
- Professional typography (no system defaults)
- Generous whitespace (40% content, 60% space for luxury feel)
- High-quality imagery (no generic stock photos)
- Fast paint (inline critical CSS, preload LCP image)
Hero Variants (rotate across projects -- never use the same layout twice)
| Pattern | Layout | Best For | Example |
|---|---|---|---|
| Split | Text left (55-60%), image/video right (40-45%) | SaaS, apps, tools | Linear, Vercel |
| Asymmetric | Headline offset-left, visual bleeds past right edge | Creative, agencies | Aesop, portfolios |
| Full-bleed media | Video/image fills viewport, text overlay with scrim | Automotive, luxury, travel | Tesla, Porsche |
| Editorial | Large serif headline (80-120px), minimal subtext, no hero image | Fashion, editorial, brands | Rolex |
| Product spotlight | Product image dominant (65%+), tight caption beside it | E-commerce, DTC, hardware | Apple, B&O |
| Dashboard/UI | Angled screenshot or mockup, headline above or beside | Dev tools, SaaS, analytics | Stripe |
Above-the-Fold Composition
- Focal point placement: top-left or center-left (F-pattern entry point), NOT dead-center
- Visual weight: 60% one side, 40% other -- avoid 50/50 symmetry (feels static)
- Alignment: left-aligned headlines outperform centered for readability (except full-bleed media heroes)
- Required elements in first viewport: value proposition + primary CTA + one trust signal (logo bar or metric)
- Background mood: warm tones (ivory, cream) = approachable; dark (#0A0A0F-#1A1A1A) = authority/tech; white = clean/minimal
Law 2: One Thing Per Section
Each viewport section communicates ONE idea and drives ONE action. Mixed messages create cognitive overload. Apple shows one feature per scroll section. Follow this pattern.
Law 3: Typography Is Identity
- Use maximum 2-3 fonts (1 heading + 1 body is ideal)
- Establish clear size hierarchy: H1 (48-64px) > H2 (36-48px) > H3 (28-32px) > Body (16-18px)
- Use fluid typography:
font-size: clamp(min, preferred, max) - Body line-height: 1.5-1.8. Heading line-height: 1.1-1.3
- Optimal reading width: 50-75 characters (use
max-width: 70ch) - Never use default system fonts for headings
Law 4: Color Restraint
Apply the 60-30-10 rule:
- 60% dominant (background): whites, off-whites, or dark surfaces
- 30% secondary (cards, sections): subtle neutrals
- 10% accent (CTAs, highlights): one strong brand color
Premium brands use 2-3 core colors maximum. Muted, desaturated tones over bright vivid pops. Blue (#0066CC-range) universally conveys trust and competence.
Law 5: White Space Is Luxury
White space is not "empty" -- it is the most powerful design element.
- Section padding: 80-120px desktop, 60-80px mobile
- Hero padding: 120-200px desktop
- Content-to-whitespace ratio: ~40:60 for premium, ~60:40 for standard
- Elements must NEVER touch or crowd each other
- Headings: 1.5-2x more space above than below
Law 6: Animate With Purpose
Every animation must clarify, guide, or confirm. Never animate for decoration.
- Duration: 150-500ms for UI interactions (never <100ms). Exception: scroll reveals may use 500-600ms as they are content entrances, not UI responses
- Easing:
cubic-bezier(0.16, 1, 0.3, 1)for reveals,cubic-bezier(0.25, 1, 0.5, 1)for general UI - Only animate
transformandopacity(GPU-composited, no layout triggers) - Scroll reveals: fade-up with
translateY(20-30px)totranslateY(0) - Hover:
translateY(-2px)+ subtle shadow increase for buttons/cards - ALWAYS respect
prefers-reduced-motion - Never use
lineareasing (feels robotic)
Law 7: Images Make or Break Premium
- No generic stock photos -- they destroy perceived value instantly
- Use AVIF > WebP > JPEG with
<picture>fallbacks - Hero images:
loading="eager"+fetchpriority="high" - Below-fold images:
loading="lazy"+decoding="async" - Always set
widthandheightattributes (prevents CLS) - Product images: minimum 2000x2000px for zoom capability
Law 8: Performance IS Premium
A slow website cannot feel premium regardless of visual quality.
- LCP <= 2.5 seconds (target sub-2s)
- INP <= 200ms
- CLS <= 0.1
- Fonts: WOFF2 only, preload critical fonts, use
font-display: swapfor headings - Images: responsive
srcset/sizes, modern formats - Never
loading="lazy"on LCP images
Law 9: Guide, Don't Overwhelm
- One primary CTA per section (single CTA increases clicks by 371%)
- Progressive disclosure: show essentials first, details on demand
- F-pattern for text-heavy pages, Z-pattern for conversion pages
- Fewer choices = more conversion (6 options: 30% buy rate vs 24 options: 3%)
- Use smart defaults in forms and configurators
- Social proof above-the-fold generates 2-3x more engagement
Law 10: Consistency Is Craft
- Use an 8px spacing grid for ALL dimensions
- Define design tokens for colors, spacing, typography, shadows, radii, transitions
- Same easing curves for similar interactions throughout
- Same shadow system (layered shadows, never plain black)
- Same border-radius scale:
--radius-sm(4px) tags/badges,--radius-md(8px) cards,--radius-lg(12px) containers,--radius-xl(16px) modals/large panels - Inconsistency looks like carelessness. Carelessness is not premium.
Landing Page Blueprint
Apply this section order with flow transitions:
1. HERO: Use a hero variant (see Law 1). Never default to centered-text-on-gradient.
2. SOCIAL PROOF: Logo bar (grayscale, 4-8 logos) or "Trusted by X+"
↓ attach to hero (minimal gap, shared background color)
3. PROBLEM: Identify the pain point
4. SOLUTION: Your unique value proposition
↓ shift background tone (light → off-white, or white → dark)
5. FEATURES: Benefits as outcomes. Alternate media left/right (Z-pattern).
6. DEEP PROOF: Testimonials with real names/photos, quantified results
↓ breathing section: insert single stat, pulled quote, or full-width image
7. HOW IT WORKS: 3-step visual process
8. PRICING: Anchored high-to-low, one highlighted recommendation
9. FAQ: Address objections, reduce friction
10. FINAL CTA: Repeat primary action with urgency/summary
11. FOOTER: 4 columns, contact, legal, social, newsletter
Section Flow & Transitions
A premium page reads as one continuous narrative, not a stack of isolated blocks.
Rhythm Patterns
- Light/Dark alternation: Alternate background tones every 1-2 sections (Apple pattern: light → dark → light). Never 3+ consecutive sections with the same background.
- Dense/Sparse alternation: Follow a content-heavy section with a spacious quote, single stat, or image. This creates visual "breathing."
- Media alternation: If section N has image-left/text-right, section N+1 flips to text-left/image-right.
Section Transition Techniques (use 2-3 per page, not all)
- Background tone shift: Section A ends with off-white; section B starts with light gray. Subtle but effective.
- Overlapping elements: A card, image, or testimonial card visually overlaps the section boundary (negative margin: -40px to -80px)
- Shared accent thread: A consistent accent-colored element (vertical line, dot timeline, icon series) connects sections visually
- Progressive reveal: Each section reveals more detail about the same topic -- zooming from overview to detail
- Full-bleed break: Insert a full-width image, video, or dark section between two light content sections to reset rhythm
Content Pacing Guide
| Section Type | Height | Spacing Token | Content Density |
|---|---|---|---|
| Hero | Tall (90-100vh) | --section-lg | Low: headline + CTA only |
| Social proof | Compact (auto) | --section-sm | Low: logos only |
| Problem/Solution | Medium | --section-md | Medium: 1 paragraph + visual |
| Features | Tall | --section-lg | Medium: alternating cards |
| Testimonials | Medium | --section-md | Low: 1-2 quotes |
| How it works | Medium | --section-md | Medium: 3 steps |
| CTA | Compact | --section-sm | Low: headline + button |
The Breathing Rule
Never stack two content-dense sections back-to-back. Between them, insert a "breathing" element: a single testimonial quote, a large stat number, a full-width image, or a minimal CTA bar.
Premium Copy Patterns
Premium copy is specific, confident, and concise. It never hedges or oversells.
Headline Formulas
- Outcome-first: "[Desired outcome] without [pain point]" -- e.g., "Ship faster without breaking things"
- One-word anchor: Single powerful word as headline, explanatory subheadline below -- e.g., "Clarity." / "Financial tools that make sense"
- Specificity wins: Replace vague claims with numbers -- "50,000 teams" not "thousands of teams". Concrete words are recalled 1.5-2x better than abstract ones (Mehrabian & Reed, 1968)
- 6-9 words maximum for hero headlines (highest recall and comprehension)
Tone of Voice
- Confident, not aggressive: "We built this" not "The ULTIMATE solution!!!"
- Specific, not vague: "Deploys in 38 seconds" not "Lightning-fast deployment"
- Human, not corporate: "Your customers will notice" not "Leverage synergistic paradigms"
- Short sentences. Paragraphs of 1-3 sentences maximum. One idea per paragraph.
CTA Microcopy
- Action-specific: "Start building" not "Get started", "See pricing" not "Learn more"
- Match the CTA to what happens next: "Watch demo" (if video), "Try free for 14 days" (if trial)
- Secondary CTAs use ghost/outline style, never compete visually with primary
Section Copy Rule
Each section gets: one headline (6-9 words) + one supporting paragraph (2-3 sentences max) + one CTA or visual. If you need more text, split into two sections. Users scan, not read (NNGroup: users read ~20% of page text).
CSS Implementation Patterns
Spacing System
:root {
--space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
--space-4: 1rem; --space-6: 1.5rem; --space-8: 2rem;
--space-12: 3rem; --space-16: 4rem; --space-20: 5rem;
--space-24: 6rem; --space-32: 8rem;
}
Shadow System (layered, never plain black)
:root {
--shadow-sm: 0 1px 2px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.1);
--shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
--shadow-lg: 0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
--shadow-xl: 0 20px 25px rgba(0,0,0,0.1), 0 8px 10px rgba(0,0,0,0.04);
}
Animation Tokens
:root {
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
--ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
--duration-fast: 150ms; --duration-normal: 250ms; --duration-slow: 350ms;
}
Scroll Reveal Pattern
[data-animate] {
opacity: 0; transform: translateY(30px);
transition: opacity 0.6s var(--ease-out-expo), transform 0.6s var(--ease-out-expo);
}
[data-animate].is-visible { opacity: 1; transform: translateY(0); }
/* Preferred: progressive enhancement (animation added, not removed) */
@media (prefers-reduced-motion: reduce) {
[data-animate] { opacity: 1; transform: none; transition: none; }
}
Premium Button
.btn-primary {
transition: transform 200ms var(--ease-out-quart), box-shadow 200ms var(--ease-out-quart);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.btn-primary:active { transform: translateY(0) scale(0.98); transition-duration: 100ms; }
Dark Mode Rules
- Never pure black (#000) backgrounds -- use #121212 or #1A1A1A
- Never pure white (#FFF) text -- use #E0E0E0
- Shadows don't work on dark -- use lighter surface layers (#1E1E1E, #242424, #2C2C2C)
- Desaturate colors to prevent eye strain
- Use
color-scheme: light darkandlight-dark()CSS function
Anti-Patterns (NEVER Do These)
- Generic stock photos -- destroys premium perception instantly
- More than 3 fonts -- creates visual chaos
- Linear easing on UI animations -- feels robotic
- Animating width/height/margin/padding -- causes layout thrashing, jank
- Pop-ups in first 5 seconds -- increases bounce rate 5x
- Scroll-jacking -- overriding native scroll frustrates users
- Inconsistent spacing -- arbitrary values instead of grid system
- Template-recognizable design -- if users recognize the template, premium is lost
- AOS library with defaults -- every element sliding in identically
- Animations >500ms -- feels like delay, not design
- Missing prefers-reduced-motion -- accessibility failure
- lazy-loading LCP image -- kills Core Web Vitals
- Pure black shadows -- looks harsh; tint shadows to match surface
- Too many CTAs -- competing actions create decision paralysis
- Cluttered sections -- if it has more than one message, split it
Avoid AI-Generated Aesthetics
AI-generated websites share recognizable tells that instantly signal "template" to trained eyes. Every project must feel unique. Actively avoid these patterns:
The 10 AI Tells (NEVER default to these)
- Same font pairing every time (Playfair Display + Inter, Poppins + Inter) -- rotate through genre-specific pairings (see design-tokens.md)
- Purple/indigo accent colors (#6366F1, #8B5CF6, #7C3AED range) as AI-default choices -- choose accents from the BRAND identity. Exception: if purple IS the client's actual brand color (e.g., Stripe #635BFF, Figma #A259FF), use it confidently
- Purple-blue gradient backgrounds -- if you catch yourself reaching for a purple-blue gradient, stop. Use solid colors, photography, or brand-derived gradients
- Identical hero layout every time (centered headline over gradient/mesh background with centered CTA) -- use hero variants (see Law 1). Left-aligned, split, editorial, and full-bleed heroes exist
- Uniform border-radius everywhere (12-16px on everything) -- vary by element: 0px for editorial sharpness, 4px for tags/badges, 8px for cards, 16px for large containers, full-round for avatars
- Perfect center-alignment on everything -- use left-aligned heroes, asymmetric layouts, offset grids. Real premium sites use intentional asymmetry
- Identical card grids (same-sized cards, same shadows, same radius) -- vary card sizes (bento grid), mix card styles, use masonry layouts
- "Aurora" / gradient mesh backgrounds as primary visual -- these are the #1 AI tell of 2024-2026. Use solid colors, subtle textures, real photography, or CSS-only patterns instead
- Cookie-cutter sections (identical padding, identical structure repeating) -- vary section density, height, and composition throughout the page
- Overly smooth, uniform feel -- no sharp edges anywhere, everything rounded, everything soft. Premium sites mix sharp (editorial sections, dividers, typography) with soft (cards, images, CTAs)
- Zero-chroma neutrals -- shadcn/ui default grays have zero warmth (oklch with 0 chroma). Add slight warm (stone/sand tint) or cool (blue-gray tint) bias to ALL neutral colors. Emotionally dead grays = instant AI tell
- "Three of Everything" -- 3 feature cards, 3 testimonials, 3 pricing tiers. This mathematical symmetry is a giveaway. Use 2, 4, 5, or asymmetric groupings
- Timid weight contrast -- font-weight 400 vs 600 (AI default). Use dramatic contrast: 300 vs 700, or 200 vs 800. The bigger the jump, the more intentional it looks
- Generic aspirational headlines -- "Build the future of X", "Your all-in-one platform", "Scale without limits", "Empowering teams everywhere". These are AI copy tells. Write specific, outcome-focused headlines instead
The Uniqueness Test
Before finalizing any design, ask: "If I placed this alongside 5 other AI-generated sites, would it blend in or stand out?" If it blends in, change: the font pairing, the accent color, the hero layout, or the border-radius strategy.
Differentiation Rules
- Pick fonts from design-tokens.md using the genre of the project, never the first pairing listed
- Derive accent color from the brand's actual identity or imagery, not from a generic palette
- Alternate hero patterns across projects: split, asymmetric, editorial, video-bg, product-focused (see Hero Variants)
- Use sharp edges (border-radius: 0) on at least some elements -- editorial authority comes from contrast between sharp and soft
- Vary section backgrounds: don't use the same background on consecutive sections
- Include at least one "unexpected" element per page: an oversized number, a pulled quote in large serif, a full-bleed image, an asymmetric layout break
Verification Checklist
Before declaring any web design work complete, verify:
- Above-the-fold communicates quality within 50ms (clean hierarchy, professional typography, generous whitespace)
- Hero uses a specific variant (split, asymmetric, editorial, etc.) -- NOT default centered-text-on-gradient
- Typography: max 2-3 fonts, genre-appropriate pairing from design-tokens.md, fluid scaling
- Colors: 60-30-10 rule, max 2-3 core colors, style palette chosen from design-tokens.md, WCAG AA contrast
- Spacing: 8px grid system, generous section padding (80-120px), consistent throughout
- Section flow: light/dark alternation, breathing sections between dense content, varied section heights
- Images: modern formats (AVIF/WebP), responsive srcset, proper loading attributes
- Animations: purposeful, 150-500ms, ease-out curves, transform/opacity only, reduced-motion respected
- Performance: LCP <= 2.5s, CLS <= 0.1, fonts preloaded/WOFF2
- Accessibility: focus indicators, semantic HTML, alt texts, keyboard navigation
- Copy: headlines 6-9 words, specific numbers, action-specific CTAs, one CTA per section
- AI-tell check: no purple gradients, no uniform border-radius, no identical card grids, no zero-chroma grays, no "three of everything", passes Uniqueness Test
- No anti-patterns from the list above
Reference Materials
For detailed specifications, code examples, and scientific evidence, see:
- design-tokens.md -- Complete copy-paste-ready CSS design token system
- brand-patterns.md -- How Apple, Stripe, Tesla, and 8 other premium brands implement these principles
- scientific-evidence.md -- 80+ peer-reviewed studies backing these guidelines
- animation-cookbook.md -- Ready-to-use animation code patterns (GSAP, Framer Motion, CSS)