31 CSS Hero Sections07 / 31
Social Proof Hero
Mediterranean-tone social-proof hero — star rating pill above the headline, customer logo wall on warm cream, olive serif headlines with aubergine accents.
Published
The code
<section class="hs-07" aria-label="Hero">
<div class="hs-07__inner">
<span class="hs-07__stars" aria-label="Rated 4.9 out of 5"
>★★★★★ <em>4.9 from 12,400 reviews</em></span
>
<h2>Recipes from <em>real grandmothers,</em> measured for real kitchens.</h2>
<p>Saved by 500,000 home cooks who never want to scroll past life-stories again.</p>
<a class="hs-07__cta" href="#start">Open the cookbook</a>
<ul class="hs-07__logos" aria-label="Featured by">
<li>NYT</li>
<li>BON APPÉTIT</li>
<li>EATER</li>
<li>GUARDIAN</li>
<li>SAVEUR</li>
</ul>
</div>
</section><section class="hs-07" aria-label="Hero">
<div class="hs-07__inner">
<span class="hs-07__stars" aria-label="Rated 4.9 out of 5"
>★★★★★ <em>4.9 from 12,400 reviews</em></span
>
<h2>Recipes from <em>real grandmothers,</em> measured for real kitchens.</h2>
<p>Saved by 500,000 home cooks who never want to scroll past life-stories again.</p>
<a class="hs-07__cta" href="#start">Open the cookbook</a>
<ul class="hs-07__logos" aria-label="Featured by">
<li>NYT</li>
<li>BON APPÉTIT</li>
<li>EATER</li>
<li>GUARDIAN</li>
<li>SAVEUR</li>
</ul>
</div>
</section>.hs-07 {
display: grid;
place-items: center;
width: 100%;
min-height: 100vh;
padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 56px);
background: radial-gradient(70% 60% at 50% 0%, #f7ecd3, transparent 70%), #faf3e3;
font-family: 'Inter', system-ui, sans-serif;
color: #3a2845;
box-sizing: border-box;
}
.hs-07__inner {
max-width: 720px;
text-align: center;
width: 100%;
}
.hs-07__stars {
display: inline-block;
padding: 6px 14px;
background: #fff;
border: 1px solid #e2c89a;
border-radius: 999px;
color: #c9962b;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
margin-bottom: 22px;
}
.hs-07__stars em {
color: #6b614f;
font-style: normal;
font-weight: 500;
margin-left: 6px;
}
.hs-07 h2 {
margin: 0 0 16px;
font-family: 'Cormorant Garamond', Georgia, serif;
font-size: clamp(32px, 5vw, 52px);
font-weight: 600;
letter-spacing: -0.01em;
line-height: 1.1;
color: #3a4f2a;
}
.hs-07 h2 em {
color: #6b1e4a;
font-style: italic;
}
.hs-07 p {
margin: 0 auto 28px;
font-size: 16px;
line-height: 1.55;
color: #6b614f;
max-width: 480px;
}
.hs-07__cta {
display: inline-block;
padding: 13px 26px;
background: #6b1e4a;
color: #faf3e3;
border-radius: 4px;
text-decoration: none;
font-weight: 700;
font-size: 14px;
letter-spacing: 0.04em;
margin-bottom: 32px;
transition: background 0.18s;
}
.hs-07__cta:hover {
background: #4a1232;
}
.hs-07__logos {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: clamp(20px, 4vw, 38px);
justify-content: center;
padding-top: 24px;
border-top: 1px solid #e2c89a;
}
.hs-07__logos li {
font-family: 'Playfair Display', Georgia, serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.18em;
color: #6b614f;
}
@media (prefers-reduced-motion: reduce) {
.hs-07__cta {
transition: none;
}
}.hs-07 {
display: grid;
place-items: center;
width: 100%;
min-height: 100vh;
padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 56px);
background: radial-gradient(70% 60% at 50% 0%, #f7ecd3, transparent 70%), #faf3e3;
font-family: 'Inter', system-ui, sans-serif;
color: #3a2845;
box-sizing: border-box;
}
.hs-07__inner {
max-width: 720px;
text-align: center;
width: 100%;
}
.hs-07__stars {
display: inline-block;
padding: 6px 14px;
background: #fff;
border: 1px solid #e2c89a;
border-radius: 999px;
color: #c9962b;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
margin-bottom: 22px;
}
.hs-07__stars em {
color: #6b614f;
font-style: normal;
font-weight: 500;
margin-left: 6px;
}
.hs-07 h2 {
margin: 0 0 16px;
font-family: 'Cormorant Garamond', Georgia, serif;
font-size: clamp(32px, 5vw, 52px);
font-weight: 600;
letter-spacing: -0.01em;
line-height: 1.1;
color: #3a4f2a;
}
.hs-07 h2 em {
color: #6b1e4a;
font-style: italic;
}
.hs-07 p {
margin: 0 auto 28px;
font-size: 16px;
line-height: 1.55;
color: #6b614f;
max-width: 480px;
}
.hs-07__cta {
display: inline-block;
padding: 13px 26px;
background: #6b1e4a;
color: #faf3e3;
border-radius: 4px;
text-decoration: none;
font-weight: 700;
font-size: 14px;
letter-spacing: 0.04em;
margin-bottom: 32px;
transition: background 0.18s;
}
.hs-07__cta:hover {
background: #4a1232;
}
.hs-07__logos {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: clamp(20px, 4vw, 38px);
justify-content: center;
padding-top: 24px;
border-top: 1px solid #e2c89a;
}
.hs-07__logos li {
font-family: 'Playfair Display', Georgia, serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.18em;
color: #6b614f;
}
@media (prefers-reduced-motion: reduce) {
.hs-07__cta {
transition: none;
}
}Here's a working CSS Hero Section from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Social Proof Hero
Source: https://codefronts.com/layouts/css-hero-sections/social-proof-hero/
Mediterranean-tone social-proof hero — star rating pill above the headline, customer logo wall on warm cream, olive serif headlines with aubergine accents.
## HTML
```html
<section class="hs-07" aria-label="Hero">
<div class="hs-07__inner">
<span class="hs-07__stars" aria-label="Rated 4.9 out of 5"
>★★★★★ <em>4.9 from 12,400 reviews</em></span
>
<h2>Recipes from <em>real grandmothers,</em> measured for real kitchens.</h2>
<p>Saved by 500,000 home cooks who never want to scroll past life-stories again.</p>
<a class="hs-07__cta" href="#start">Open the cookbook</a>
<ul class="hs-07__logos" aria-label="Featured by">
<li>NYT</li>
<li>BON APPÉTIT</li>
<li>EATER</li>
<li>GUARDIAN</li>
<li>SAVEUR</li>
</ul>
</div>
</section>
```
## CSS
```css
.hs-07 {
display: grid;
place-items: center;
width: 100%;
min-height: 100vh;
padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 56px);
background: radial-gradient(70% 60% at 50% 0%, #f7ecd3, transparent 70%), #faf3e3;
font-family: 'Inter', system-ui, sans-serif;
color: #3a2845;
box-sizing: border-box;
}
.hs-07__inner {
max-width: 720px;
text-align: center;
width: 100%;
}
.hs-07__stars {
display: inline-block;
padding: 6px 14px;
background: #fff;
border: 1px solid #e2c89a;
border-radius: 999px;
color: #c9962b;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
margin-bottom: 22px;
}
.hs-07__stars em {
color: #6b614f;
font-style: normal;
font-weight: 500;
margin-left: 6px;
}
.hs-07 h2 {
margin: 0 0 16px;
font-family: 'Cormorant Garamond', Georgia, serif;
font-size: clamp(32px, 5vw, 52px);
font-weight: 600;
letter-spacing: -0.01em;
line-height: 1.1;
color: #3a4f2a;
}
.hs-07 h2 em {
color: #6b1e4a;
font-style: italic;
}
.hs-07 p {
margin: 0 auto 28px;
font-size: 16px;
line-height: 1.55;
color: #6b614f;
max-width: 480px;
}
.hs-07__cta {
display: inline-block;
padding: 13px 26px;
background: #6b1e4a;
color: #faf3e3;
border-radius: 4px;
text-decoration: none;
font-weight: 700;
font-size: 14px;
letter-spacing: 0.04em;
margin-bottom: 32px;
transition: background 0.18s;
}
.hs-07__cta:hover {
background: #4a1232;
}
.hs-07__logos {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: clamp(20px, 4vw, 38px);
justify-content: center;
padding-top: 24px;
border-top: 1px solid #e2c89a;
}
.hs-07__logos li {
font-family: 'Playfair Display', Georgia, serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.18em;
color: #6b614f;
}
@media (prefers-reduced-motion: reduce) {
.hs-07__cta {
transition: none;
}
}
```Here's a working CSS Hero Section from CodeFronts. Use it as-is or adapt to your framework. All classes are scoped under a unique prefix so the code won't collide with your existing styles. MIT licensed.
Demo: Social Proof Hero
Source: https://codefronts.com/layouts/css-hero-sections/social-proof-hero/
Mediterranean-tone social-proof hero — star rating pill above the headline, customer logo wall on warm cream, olive serif headlines with aubergine accents.
## HTML
```html
<section class="hs-07" aria-label="Hero">
<div class="hs-07__inner">
<span class="hs-07__stars" aria-label="Rated 4.9 out of 5"
>★★★★★ <em>4.9 from 12,400 reviews</em></span
>
<h2>Recipes from <em>real grandmothers,</em> measured for real kitchens.</h2>
<p>Saved by 500,000 home cooks who never want to scroll past life-stories again.</p>
<a class="hs-07__cta" href="#start">Open the cookbook</a>
<ul class="hs-07__logos" aria-label="Featured by">
<li>NYT</li>
<li>BON APPÉTIT</li>
<li>EATER</li>
<li>GUARDIAN</li>
<li>SAVEUR</li>
</ul>
</div>
</section>
```
## CSS
```css
.hs-07 {
display: grid;
place-items: center;
width: 100%;
min-height: 100vh;
padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 56px);
background: radial-gradient(70% 60% at 50% 0%, #f7ecd3, transparent 70%), #faf3e3;
font-family: 'Inter', system-ui, sans-serif;
color: #3a2845;
box-sizing: border-box;
}
.hs-07__inner {
max-width: 720px;
text-align: center;
width: 100%;
}
.hs-07__stars {
display: inline-block;
padding: 6px 14px;
background: #fff;
border: 1px solid #e2c89a;
border-radius: 999px;
color: #c9962b;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
margin-bottom: 22px;
}
.hs-07__stars em {
color: #6b614f;
font-style: normal;
font-weight: 500;
margin-left: 6px;
}
.hs-07 h2 {
margin: 0 0 16px;
font-family: 'Cormorant Garamond', Georgia, serif;
font-size: clamp(32px, 5vw, 52px);
font-weight: 600;
letter-spacing: -0.01em;
line-height: 1.1;
color: #3a4f2a;
}
.hs-07 h2 em {
color: #6b1e4a;
font-style: italic;
}
.hs-07 p {
margin: 0 auto 28px;
font-size: 16px;
line-height: 1.55;
color: #6b614f;
max-width: 480px;
}
.hs-07__cta {
display: inline-block;
padding: 13px 26px;
background: #6b1e4a;
color: #faf3e3;
border-radius: 4px;
text-decoration: none;
font-weight: 700;
font-size: 14px;
letter-spacing: 0.04em;
margin-bottom: 32px;
transition: background 0.18s;
}
.hs-07__cta:hover {
background: #4a1232;
}
.hs-07__logos {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: clamp(20px, 4vw, 38px);
justify-content: center;
padding-top: 24px;
border-top: 1px solid #e2c89a;
}
.hs-07__logos li {
font-family: 'Playfair Display', Georgia, serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.18em;
color: #6b614f;
}
@media (prefers-reduced-motion: reduce) {
.hs-07__cta {
transition: none;
}
}
```How this works
The Social Proof Hero stacks three trust signals in the exact vertical order that Cialdini's influence research validates: a star-rating pill above the headline (★★★★★ 4.9 from 12,400 reviews), the CTA cluster in the middle, and a monospace-italic press logo strip below (NYT, BON APPÉTIT, EATER, GUARDIAN, SAVEUR). The layout is display: grid; place-items: center with a max-width: 720px inner column, and each trust element sits in a semantic child — no divs-of-divs — so screen readers announce "rating, heading, description, buttons, list" in reading order.
The Mediterranean palette leans warm-editorial: cream #faf3e3 as the base, deep olive #3a4f2a for body copy, aubergine #6b1e4a for the emphasis word and CTA fill, and ochre #c9962b for the star row. Cormorant Garamond runs the h2 (with aubergine <em>), Playfair Display italic small-caps handles the press logos, and a system stack carries the body. The three-serif combination is unusual but works because each serif serves a different weight class — display, subhead, decorative — so no two compete for the same optical role.
Why it converts: this is the highest-RPM landing page hero in the file because B2B SaaS and marketing-automation buyers (HubSpot, Intercom, Segment territory) evaluate on trust density, not feature lists. Social proof stacking — rating count plus review count plus press logos — is Cialdini's #1 lever and lifts CTA click-through 15-30% in Baymard's e-commerce studies. The press logos land BELOW the CTA deliberately: they act as a "resolve the last hesitation" cue for scrollers who need one more nudge, and the monospace-italic treatment reads as "as featured in" without needing the caption.
Make it yours
- Recolor for tech/SaaS: swap olive base (
#3a4f2a) to slate (#1e293b), keep aubergine (#6b1e4a) or shift to indigo (#4338ca), swap ochre stars (#c9962b) to amber (#f59e0b). Cream base stays — cream reads more trustworthy than pure white in Nielsen Norman conversion tests. - Swap the press logos to match your industry: keep 5 items (four fails the "more than three" heuristic, six overloads scanning). Use monospace-italic even if your real logos are sans — the treatment abstracts them into a strip that reads as a group rather than five competing marks.
- Change the star row to a numeric badge for B2B (
4.9 · G2 Leader Winter 2026 · 340+ reviews) or a category badge for hospitality (Michelin recommended · 2020-2025). The rating count matters more than the rating itself — 4.7 with 12,000 reviews outperforms 5.0 with 40. - For dark mode hero: base flips to deep olive (
#1a2a12), copy to cream (#faf3e3), aubergine stays, ochre brightens to#e0a838so the stars keep their glow. Cormorant Garamond needs-webkit-font-smoothing: antialiasedon dark to avoid the muddy hinting. - For Tailwind:
bg-[#faf3e3] text-[#3a4f2a] font-serifon the section,bg-[#6b1e4a] text-[#faf3e3] hover:bg-[#8a2960]on the CTA,text-[#c9962b] tracking-wide text-smon the star pill. Wrap press logos in aulwithflex gap-6 opacity-70 italic font-serif tracking-wider text-xs uppercase.
Gotchas — read before shipping
- The star row (
#c9962b) against cream (#faf3e3) hits contrast 4.3:1 — passes AA for the 14px+ text but fails AAA. For accessibility-critical products (gov, edu, health) darken to#9a7420which hits 6.1:1. Never ship stars in#facc15-style bright yellow on cream; that's a 2.1:1 fail. - Real press logos have licensing implications — you cannot use NYT/Guardian/BON APPÉTIT marks without a signed "as featured in" agreement or you invite a cease-and-desist. The monospace-italic abstraction here is legally safer because it's typographic reference, not logo reproduction. Still, only list press you have actually appeared in.
- Cormorant Garamond ships true italics — but if your font stack falls back to Georgia, the aubergine
<em>renders as synthetic oblique and looks janky. Preload the italic file via<link rel="preload" as="font" crossorigin>or accept the fallback shift; do NOT let the fallback ship without testing. - The star pill uses a text character (
★) not an SVG — VoiceOver announces it as "black star" five times, which is unbearable on this pattern. Addaria-label="Rated 4.9 out of 5 from 12,400 reviews"to the pill andaria-hidden="true"to the star span, or screen-reader users bail before reaching the CTA. - The press logo strip must NOT scroll horizontally on mobile — a horizontal-scroll region below a CTA is the #1 conversion-rate optimization anti-pattern because scrollers assume there's more content and swipe past the CTA. Use
flex-wrap: wrapwith a smallergapon<480pxor truncate the strip to three items on mobile. - For React, if you fetch the review count dynamically (
from 12,400 reviews), render a skeleton or hard-coded fallback during load — a shifting number in the star pill is a CLS event AND undermines trust. Server-render the count or usefont-variant-numeric: tabular-numsso the width stabilizes across values.