# Agency: Intro

> What the studio is in one serif sentence, the page's heading, with one way into the work.

A shadcn/ui block from the [@eased](https://eased.dev/?utm_source=shadcn.exchange) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/eased/agency-intro).

- Page, with a live preview: https://shadcn.exchange/r/eased/agency-intro
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/eased/agency-intro-light-dae67d5b550cbabb.png
- Registry item: https://eased.dev/r/agency-intro.json
- Listed: 2026-10-23, source last changed 2026-10-23

## Install

```bash
npx shadcn@latest add https://shadcn.exchange/r/eased/agency-intro.json
```

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

## Dependencies

- npm packages: `motion`
- Registry items: `https://eased.dev/r/eased-tokens.json`, `https://eased.dev/r/eased-motion.json`, `https://eased.dev/r/agency-core.json`

## Files

### `src/registry/eased/templates/agency/intro.tsx`

```tsx
"use client";

import { intro } from "./content";
import { ArrowLink, COLUMN, Reveal } from "./kit";

/**
 * Under the reel, what the studio is in one sentence: the page's h1, centred and set large in the
 * serif, with one way into the work. The reel already showed the work; this names it.
 */
export function Intro() {
  return (
    <section aria-labelledby="intro-title" className={`${COLUMN} flex flex-col items-center gap-pad-md pt-section-sm pb-group text-center`}>
      <Reveal>
        <h1 id="intro-title" className="max-w-4xl font-serif text-display-4xl font-normal tracking-display text-balance text-text sm:text-display-5xl">
          {intro.title}
        </h1>
      </Reveal>
      <Reveal index={1}>
        <ArrowLink href={intro.link.href}>{intro.link.label}</ArrowLink>
      </Reveal>
    </section>
  );
}
```
