Agency
A portfolio page for a design studio (Halvmåne): a one-line stance, a wall of work, one project told as a story, process, clients, people and a single email as the call to action.
npx shadcn add @klarhimmel/template-agencyInstall
npx shadcn add @klarhimmel/template-agencyThe page
9 sections, in order
Each section is one block with this template's own copy. The anchor is the id in-page links point at.
| Anchor | Block | Content |
|---|---|---|
#top | header/menu | Halvmåne |
#hero | hero/minimal | Brands and websites for people who do the work themselves |
#work | gallery/masonry | Six from this year |
#story | case-study/story | From a chalkboard menu to a queue that moves |
#process | steps/horizontal | Four steps, no surprises |
#clients | logo-cloud/featured | They finished on the day they promised and the work has not aged a bit. |
#studio | team/featured | Six people, one table |
#contact | contact/minimal | Have a project? |
(none) | footer/centered | Halvmåne Studio |
Install
CLI
npx shadcn add @klarhimmel/template-agencypnpm
pnpm dlx shadcn@latest add @klarhimmel/template-agency- Klarhimmel
- Geist / Geist
- radius 8
- Needs
- React 19, Tailwind CSS v4 and the theme import. The page and every block it uses land under components/klarhimmel/.
Before you ship
Wire these before shipping
The template is a finished page with placeholder wiring. These are yours to connect.
Links
`#section` links jump within the page. Links to https://example.com are placeholders: point them at your own pages.
Images
The illustrations ship with the template (public/klarhimmel/art/agency/). They are artwork, not photographs: replace the `media.src` values with your own photos.
Style
Uses the default Klarhimmel palette, Geist fonts, radius and spacing. Import theme.css after Tailwind.