Component
CategoryStrip
Three-column category navigation strip below the hero. Each card is a full-bleed image with a text label and hover scale. Stacks to single column on mobile.
Preview
Landscape
Sports
Portraits
tsx
// In apps/web/app/page.tsx
<section className="flex flex-col sm:flex-row gap-3 sm:gap-8 px-3 sm:px-8 pt-3 pb-3 sm:pb-8">
{categories.map((cat) => (
<a
key={cat.label}
href={cat.href}
className="flex-1 relative h-[160px] sm:h-[240px] overflow-hidden group"
style={{ borderRadius: 'var(--radius-2xl)' }}
>
<Image src={cat.img} fill priority sizes="(max-width: 640px) 100vw, 33vw" className="object-cover" />
<div className="absolute inset-0 bg-black/40 group-hover:bg-black/50 transition-colors" />
<div className="absolute inset-0 flex items-end p-6">
<span className="font-display text-[16px] sm:text-[20px] font-[600] text-white">{cat.label}</span>
</div>
</a>
))}
</section>Responsive behaviour
< 640px (mobile)Single column, 160px tall cards, 12px gap
≥ 640px (sm+)Three columns (flex-row), 240px tall cards, 32px gap