Section
Hero Landing — Neo-Brutalism
Brutalist marketing hero with a bold uppercase headline, dual press-down CTAs, a wordmark trust row, and a mock product screenshot card built from hard borders, offset shadows, and flat bright accents. A staggered entrance animation respects prefers-reduced-motion.
- Section
- Tailwind
- HTML
- MIT
Preview
Live section
9:41 100%
devsnips.dev/library/tailwind/sections/marketing/hero-landing/neo-brutalism/ fluid · no fixed width 100%
Install
Add to your project
npx devsnips add Tailwind/Sections/Marketing/hero-landing/neo-brutalism Tailwind/Sections/Marketing/hero-landing/neo-brutalism <!--
Snippet Name: Hero Landing — Neo-Brutalism
Description: Brutalist marketing hero with a bold headline, two CTAs, a trust row of wordmarks, and a mock product screenshot card with offset shadows.
Author: DevSnips Contributors
Usage Example: Drop into any landing-page shell above the fold. CTA hover states and a staggered entrance animation are wired.
-->
<section class="relative w-full bg-[#FFFDF5] text-black" data-hero="nb">
<div class="absolute inset-0 nb-grid-bg opacity-[0.05]" aria-hidden="true"></div>
<div class="relative mx-auto grid max-w-6xl items-center gap-12 px-5 py-16 sm:px-8 sm:py-24 lg:grid-cols-[1.05fr_0.95fr] lg:py-28">
<!-- Left: copy -->
<div class="hero-step">
<span class="inline-flex items-center gap-2 border-2 border-black bg-[#00E676] px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-wider shadow-[2px_2px_0_0_#000]">
<span class="inline-block h-2 w-2 border border-black bg-black"></span>
v2.0 · Ship faster
</span>
<h1 class="mt-6 font-archivo text-5xl font-extrabold uppercase leading-[0.92] tracking-tight sm:text-6xl lg:text-7xl">
Build UI<br>
<span class="bg-black px-3 text-[#FFE600]">that ships.</span>
</h1>
<p class="mt-6 max-w-xl font-archivo text-lg font-medium leading-relaxed text-black/75">
DevSnips is the component library that turns design tokens into shippable sections — brutalist, glass, or clean. Copy, paste, deploy.
</p>
<!-- CTAs -->
<div class="mt-8 flex flex-col gap-3 sm:flex-row">
<a href="#" class="group inline-flex items-center justify-center gap-2 border-2 border-black bg-black px-6 py-3.5 font-archivo text-sm font-extrabold uppercase tracking-tight text-white shadow-[6px_6px_0_0_#FFE600] transition-transform duration-100 hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-[2px_2px_0_0_#FFE600] focus:outline-none focus-visible:ring-2 focus-visible:ring-[#FFE600] focus-visible:ring-offset-2">
Start building
<svg class="h-4 w-4 transition-transform duration-100 group-hover:translate-x-0.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" aria-hidden="true"><path d="M5 12h14M13 6l6 6-6 6" /></svg>
</a>
<a href="#" class="inline-flex items-center justify-center gap-2 border-2 border-black bg-white px-6 py-3.5 font-archivo text-sm font-extrabold uppercase tracking-tight shadow-[6px_6px_0_0_#000] transition-transform duration-100 hover:translate-x-[2px] hover:translate-y-[2px] hover:shadow-[2px_2px_0_0_#000] focus:outline-none focus-visible:ring-2 focus-visible:ring-black focus-visible:ring-offset-2">
<svg class="h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" aria-hidden="true"><path d="M8 5v14l11-7z" /></svg>
Watch demo
</a>
</div>
<!-- Trust row -->
<div class="mt-10">
<p class="font-mono text-[11px] font-bold uppercase tracking-wider text-black/50">Trusted by teams at</p>
<div class="mt-3 flex flex-wrap items-center gap-x-5 gap-y-2">
<span class="font-archivo text-lg font-extrabold uppercase tracking-tight text-black/80">Vertex</span>
<span class="font-archivo text-lg font-extrabold uppercase italic tracking-tight text-black/80">Quanta</span>
<span class="font-archivo text-lg font-extrabold tracking-tight text-black/80">mono·io</span>
<span class="font-mono text-base font-bold uppercase tracking-tight text-black/80">[Halcyon]</span>
<span class="font-archivo text-lg font-extrabold uppercase tracking-tight text-black/80">Northwind</span>
</div>
</div>
</div>
<!-- Right: mock product card -->
<div class="relative hero-step">
<!-- decorative offset blocks -->
<div class="absolute -right-3 -top-3 h-24 w-24 border-2 border-black bg-[#FF4FA3] shadow-[4px_4px_0_0_#000]" aria-hidden="true"></div>
<div class="absolute -bottom-4 -left-4 h-20 w-28 border-2 border-black bg-[#00C2FF] shadow-[4px_4px_0_0_#000]" aria-hidden="true"></div>
<div class="relative border-2 border-black bg-white shadow-[8px_8px_0_0_#000]">
<!-- window bar -->
<div class="flex items-center gap-2 border-b-2 border-black bg-[#FFE600] px-4 py-3">
<span class="h-3 w-3 border-2 border-black bg-[#FF4FA3]"></span>
<span class="h-3 w-3 border-2 border-black bg-[#00E676]"></span>
<span class="h-3 w-3 border-2 border-black bg-white"></span>
<span class="ml-2 font-mono text-[11px] font-bold uppercase tracking-wider text-black/70">devsnips — overview</span>
</div>
<!-- body -->
<div class="space-y-4 p-5">
<div class="flex items-center justify-between">
<div>
<p class="font-mono text-[10px] font-bold uppercase tracking-wider text-black/50">Deployments</p>
<p class="font-archivo text-2xl font-extrabold tracking-tight">1,284</p>
</div>
<span class="border-2 border-black bg-[#00E676] px-2 py-1 font-mono text-[11px] font-bold uppercase shadow-[2px_2px_0_0_#000]">+18%</span>
</div>
<!-- bar chart -->
<div class="flex h-28 items-end gap-2 border-2 border-black bg-[#FFFDF5] p-3">
<div class="flex-1 bg-[#FF4FA3]" style="height:45%"></div>
<div class="flex-1 bg-[#FFE600]" style="height:62%"></div>
<div class="flex-1 bg-[#00C2FF]" style="height:38%"></div>
<div class="flex-1 bg-[#00E676]" style="height:78%"></div>
<div class="flex-1 bg-black" style="height:100%"></div>
<div class="flex-1 bg-[#FF4FA3]" style="height:54%"></div>
<div class="flex-1 bg-[#00C2FF]" style="height:71%"></div>
</div>
<div class="flex items-center gap-3 border-2 border-black bg-[#FFFDF5] px-3 py-2.5">
<span class="inline-block h-2.5 w-2.5 border-2 border-black bg-[#00E676]"></span>
<span class="font-mono text-[11px] font-bold uppercase tracking-wider text-black/70">live · prod build passing</span>
</div>
</div>
</div>
</div>
</div>
<style>
.nb-grid-bg {
background-image:
linear-gradient(#000 1px, transparent 1px),
linear-gradient(90deg, #000 1px, transparent 1px);
background-size: 28px 28px;
}
[data-hero] .hero-step { opacity: 0; transform: translateY(14px); }
[data-hero] .hero-step:nth-child(1) { animation: nb-rise 0.6s cubic-bezier(.2,.7,.2,1) 0.05s forwards; }
[data-hero] .hero-step:nth-child(2) { animation: nb-rise 0.6s cubic-bezier(.2,.7,.2,1) 0.22s forwards; }
[data-hero].hero-ready .hero-step { animation: none; opacity: 1; transform: none; }
@keyframes nb-rise { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
[data-hero] .hero-step { animation: none !important; opacity: 1 !important; transform: none !important; }
}
</style>
<script>
(function () {
var root = document.currentScript.closest('[data-hero]');
if (!root) return;
var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;
if (reduce) { root.classList.add('hero-ready'); return; }
requestAnimationFrame(function () { root.classList.add('hero-ready'); });
})();
</script>
</section> 124 lines UTF-8 · LF · Spaces: 2
Continue browsing