Hero
A minimal, centered hero section with a badge, clean headline, subtitle, and primary/secondary call-to-action buttons.
New · v2.0 is live
Build faster with a design system that just works
A minimal, modern starting point for your product. Copy this hero, drop it into your page, and make it yours.
Hero.jsx
import { ArrowRight } from 'lucide-react' // Edit the content below to customize your hero const HERO_CONTENT = { badge: 'New · v2.0 is live', heading: 'Build faster with a design system that just works', subtitle: 'A minimal, modern starting point for your product. Copy this hero, drop it into your page, and make it yours.', primaryCta: { label: 'Get started', href: '#' }, secondaryCta: { label: 'Learn more', href: '#' } } export default function Hero() { return ( <section className="flex flex-col items-center px-6 py-16 text-center"> {/* Badge */} <div className="inline-flex items-center gap-[6px] rounded-full border border-[#E5E5E5] dark:border-[#3A3A3A] bg-white/70 dark:bg-[#161616]/70 backdrop-blur-xl px-3 py-[5px] text-[12px] font-medium text-[#6e6e73] dark:text-[#a1a1a6]"> <span className="inline-block h-[6px] w-[6px] rounded-full bg-green-500 animate-pulse" /> {HERO_CONTENT.badge} </div> {/* Heading */} <h1 className="mt-5 max-w-[18ch] font-semibold leading-[1.15] tracking-tight text-[#1d1d1f] dark:text-[#f5f5f7]" style={{ fontSize: 'clamp(28px, 4vw, 40px)' }} > {HERO_CONTENT.heading} </h1> {/* Subtitle */} <p className="mt-4 max-w-[46ch] text-[14px] leading-relaxed text-[#6e6e73] dark:text-[#a1a1a6]"> {HERO_CONTENT.subtitle} </p> {/* CTA buttons */} <div className="mt-8 flex flex-wrap justify-center gap-3"> <a href={HERO_CONTENT.primaryCta.href} className="inline-flex items-center justify-center gap-2 rounded-full bg-[#1d1d1f] dark:bg-white px-6 py-3 text-[13px] font-medium text-white dark:text-[#1d1d1f] transition-opacity duration-200 hover:opacity-85 cursor-pointer" > {HERO_CONTENT.primaryCta.label} <ArrowRight size={15} strokeWidth={2.2} /> </a> <a href={HERO_CONTENT.secondaryCta.href} className="inline-flex items-center justify-center rounded-full border border-black/15 dark:border-white/20 px-6 py-3 text-[13px] font-medium text-[#1d1d1f] dark:text-[#f5f5f7] transition-colors duration-200 hover:bg-black/[0.03] dark:hover:bg-white/[0.06] cursor-pointer" > {HERO_CONTENT.secondaryCta.label} </a> </div> </section> ) }