# Call to Action 02

> An oversized two-word headline split around a full-bleed photo, with a bracketed call to action at its center.

A shadcn/ui block from the [@flx](https://ui.flexnative.com/?utm_source=shadcn.exchange) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/flx/cta-02).

- Page, with a live preview: https://shadcn.exchange/r/flx/cta-02
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/flx/cta-02-light-d25a5ec8199f5724.png
- Registry item: https://ui.flexnative.com/r/cta-02.json
- Listed: 2026-10-23, source last changed 2026-10-23

## Install

```bash
npx shadcn@latest add https://shadcn.exchange/r/flx/cta-02.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Files

### `registry/blocks/cta/cta-02/cta-02.tsx`

```tsx
const wordClassName =
  'text-foreground text-[clamp(3.5rem,19cqw,8rem)] leading-[0.8] font-black tracking-[-0.06em] uppercase lg:text-[clamp(3.5rem,6cqw,8rem)]'

export function Cta02() {
  return (
    <section className="bg-background w-full overflow-hidden">
      <div className="@container mx-auto max-w-[1600px] px-6 py-20 sm:py-28">
        <h2 className="sr-only">Early risers</h2>

        <div className="flex flex-col items-center gap-6 sm:gap-8 lg:grid lg:grid-cols-[auto_minmax(0,1fr)_auto] lg:gap-8">
          <span
            aria-hidden
            className={`${wordClassName} self-start lg:self-auto`}
          >
            Early
          </span>

          <div className="relative isolate aspect-[4/5] w-full overflow-hidden outline outline-black/10 sm:aspect-[3/2] dark:outline-white/10">
            <img
              src="https://images.unsplash.com/photo-1533873984035-25970ab07461?q=80&w=1600&auto=format&fit=crop"
              alt="Alt"
              decoding="async"
              className="absolute inset-0 -z-10 size-full object-cover grayscale"
            />
            <div className="absolute inset-0 -z-10 bg-black/25" />

            <div className="flex size-full items-center justify-center p-6">
              <a
                href="#"
                className="group relative flex h-20 w-full max-w-64 items-center justify-center text-sm font-semibold tracking-wide text-white uppercase outline-none focus-visible:ring-2 focus-visible:ring-white/70 active:scale-[0.96] sm:h-28 sm:max-w-80"
              >
                <span
                  aria-hidden
                  className="absolute inset-y-0 left-0 w-3 border-y-[3px] border-l-[3px] border-white transition-transform duration-300 ease-out group-hover:-translate-x-1.5 sm:w-4"
                />
                <span
                  aria-hidden
                  className="absolute inset-y-0 right-0 w-3 border-y-[3px] border-r-[3px] border-white transition-transform duration-300 ease-out group-hover:translate-x-1.5 sm:w-4"
                />
                Join the club
              </a>
            </div>
          </div>

          <span
            aria-hidden
            className={`${wordClassName} self-end lg:self-auto`}
          >
            Risers
          </span>
        </div>
      </div>
    </section>
  )
}
```
