Design breakdown · Marketing · Hero

Anatomy of a landing-page hero

The hero is the one screen every visitor sees and most never scroll past. Here's each part of a high-converting marketing hero, why it earns its place, and the exact tokens to rebuild it.

1 · Anatomy

The components, decoded.

01

Eyebrow / kicker

Why it exists Names the category before the headline lands.

Why it works A short, muted line above the H1 ("For product teams") orients the visitor in under a second, so the headline can sell the outcome instead of explaining the context.

02

Headline (the rhythm)

Why it exists The one line a skimming visitor actually reads.

Why it works Benefit-first beats feature-first: lead with what the reader gets, keep it to one or two lines, and let a clamp()-scaled size make it the loudest thing on the page.

03

Subheadline

Why it exists Earns the click the headline asked for.

Why it works One sentence of plain proof (who it's for, the concrete payoff) placed directly under the H1 so the eye reads benefit, then evidence, then action without backtracking.

04

Primary CTA

Why it exists The single action the page is built around.

Why it works One dominant button in the brand primary, high-contrast and verb-led ("Start free"), removes the choice paralysis that two equal buttons create. Visual weight should map to the action you most want.

05

Secondary CTA

Why it exists Catches the not-yet-ready visitor.

Why it works A quieter ghost or text button ("See how it works") keeps lower-intent traffic engaged without competing with the primary. Contrast difference, not equal billing, is what protects the conversion path.

06

Social proof

Why it exists Answers "can I trust this?" at the fold.

Why it works A row of recognizable logos or a metric sits near the CTAs, above the fold, so reassurance arrives at the exact moment of hesitation instead of three scrolls later.

07

Hero visual / product shot

Why it exists Shows the thing instead of describing it.

Why it works A real product frame to one side anchors a Z-shaped reading path (headline, visual, CTA) and gives the abstract promise something concrete to attach to.

2 · Tokens

The design system this archetype runs on, pulled from the Aurora palette.

bg #0E0B1A
surface #1B1530
primary #3FD0C9
accent #A06BFF
muted #9489B8
text #F1ECFF
Type Space Grotesk / Inter Radius 16px Spacing 4px base · 4 / 8 / 12 / 16 / 24 / 40

3 · Build kit

A live, palette-driven hero, then the code to recreate it.

For product teams

Ship the landing page you keep meaning to build

One column, one dominant action, proof near the fold: the layout that converts cold traffic.

CSS variables
:root {
  --color-bg: #0E0B1A;
  --color-surface: #1B1530;
  --color-primary: #3FD0C9;
  --color-accent: #A06BFF;
  --color-text: #F1ECFF;
  --color-muted: #9489B8;
}
Hero component
<section class="hero">
  <p class="eyebrow">For product teams</p>
  <h1 class="hl">Ship the landing page you keep meaning to build</h1>
  <p class="subhead">One column, one dominant action, proof near the fold.</p>
  <div class="actions">
    <a class="btn btn--primary" href="#">Start free</a>
    <a class="btn btn--ghost" href="#">See how it works</a>
  </div>
  <div class="proof"><span></span><span></span><span></span><span></span></div>
</section>

<style>
  .hero {
    display: flex; flex-direction: column; align-items: center;
    text-align: center; gap: var(--space-4);
    max-width: 640px; margin: 0 auto; padding: var(--space-6);
  }
  .eyebrow {
    font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 14%, transparent);
    padding: 5px 12px; border-radius: 999px;
  }
  .hl {
    font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.05;
    color: var(--color-text); margin: 0;
  }
  .subhead { color: var(--color-muted); font-size: 1.05rem; max-width: 46ch; margin: 0; }
  .actions { display: flex; gap: var(--space-3); flex-wrap: wrap; justify-content: center; }
  .btn {
    border-radius: var(--radius); padding: 13px 22px;
    font-weight: 700; text-decoration: none;
  }
  .btn--primary {                       /* the one action the page is built around */
    background: var(--color-primary); color: #fff;
  }
  .btn--ghost {                         /* quieter, never equal weight */
    background: transparent; color: var(--color-text);
    border: 1px solid color-mix(in srgb, var(--color-text) 22%, transparent);
  }
  .proof { display: flex; gap: 10px; opacity: .7; }
  .proof span {
    width: 52px; height: 18px; border-radius: 5px;
    background: color-mix(in srgb, var(--color-text) 16%, transparent);
  }
</style>

That's the whole machine: discover great heroes in the inspiration feed, decode the parts here, then build with the Aurora palette and a template. Same framework, any archetype: dashboards and more archetypes follow.