Nine weights, two widths and a stencil cut, drawn over three years for a ferry terminal and finished for everything since. Every glyph was tested at four metres before it was tested at fourteen pixels.
Marquee was drawn under those conditions rather than for a specimen sheet. The counters stay open at four millimetres, the stencil cut survives a bad vinyl plotter, and the numerals were redrawn twice because a timetable is not a headline. It is not a friendly typeface and it does not try to be. It is a legible one.
Marit Vandenberg, who drew it
Every one of these was set before the family was finished, which is how the family got finished.
The whole family, watermark-free, for sketching and for work that never gets invoiced.
Includes
Licences are answered by the person who drew the family, usually the same day.
Yes. The trial is the full family without a watermark, and the only thing it excludes is commercial use. We would rather you found out it was wrong for the job before paying for it.
In every paid licence, alongside the static cuts. The variable file carries weight and width on two axes, and the stencil is a separate file because it is a separate drawing.
You pay the difference between the tiers, not the full price again. Tell us when you notice and we will send the invoice for the gap.
On the Broadcast licence, yes, including modified letterforms. On Studio, ask first. It is usually a yes and it takes one email.
Two or three a year. A custom weight or a language extension takes about eight weeks and starts at €6,000.
About three a year, always about the drawing rather than the discount. The last one was two thousand words on numerals.
No sequence and no offers. Unsubscribe in one click.
A single-page product launch for a typeface: a poster navbar anchored to every section below it, a fact-led hero, a centred manifesto, a ruled index of the work it is set in, three licence tiers, a buyer's FAQ, an inverted newsletter band and a ruled index footer that repeats the same anchors.
Composed from 8 blocks. Installing this page installs all of them, plus the pieces and primitives they use.
Built in the Auralis collection.
A single-page product launch for a typeface: a poster navbar anchored to every section below it, a fact-led hero, a centred manifesto, a ruled index of the work it is set in, three licence tiers, a buyer's FAQ, an inverted newsletter band, and a ruled index footer repeating the same anchors. Eight blocks, one install, one page.
Upgrade to Pro
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
npx shadcn add "https://ui.beste.co/page/r/landing1?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the page to components/beste/page/landing1.tsx and everything behind it: the eight blocks it composes (navbar67, hero148, about65, portfolio112, pricing65, faq76, cta72, footer111) and the badge7 and button12 components they use. Eleven files, no follow-up installs.
The installed file exports landing1Demo alongside the page: the exact props behind the preview above. Spread it to get a working page in one line.
import { Landing1, landing1Demo } from "@/components/beste/page/landing1";
export default function Page() {
return <Landing1 {...landing1Demo} />;
}Each section is a separate prop, so the usual next step is to keep the demo and replace one section at a time. Keep the navbar's href values pointing at the anchors, or the page stops navigating itself.
import { Landing1, landing1Demo } from "@/components/beste/page/landing1";
export default function Page() {
return (
<Landing1
{...landing1Demo}
licences={{
label: "Licences",
heading: "Three, and the desktop one is perpetual.",
plans: [
{ name: "Desktop", price: "$90", description: "Two machines, no expiry." },
{ name: "Web", price: "$180", description: "Up to 500,000 views a month." },
{ name: "Family", price: "$420", description: "Nine weights, both widths." },
],
}}
/>
);
}Every prop is the full prop object of the block that renders that section, so anything the block accepts is accepted here.
| Prop | Type | Default | Description |
|---|---|---|---|
navbar | ComponentProps<typeof Navbar67> | – | Poster navbar; its links are the anchors below |
hero | ComponentProps<typeof Hero148> | – | Fact-led hero |
manifesto | ComponentProps<typeof About65> | – | Centred manifesto |
inUse | ComponentProps<typeof Portfolio112> | – | Ruled index of the work it is set in |
licences | ComponentProps<typeof Pricing65> | – | Three licence tiers |
faq | ComponentProps<typeof Faq76> | – | Buyer's questions |
cta | ComponentProps<typeof Cta72> | – | Newsletter band |
footer | ComponentProps<typeof Footer111> | – | Ruled index footer, repeating the anchors |
className | string | – | Extra classes for the page's outer wrapper |
| Section | Anchor | Block | Notes |
|---|---|---|---|
| Hero | #family | hero148 | Facts before adjectives |
| Manifesto | #manifesto | about65 | Given bg-muted/50; a centred measure, not full width |
| In use | #in-use | portfolio112 | A ruled list rather than a card grid |
| Licences | #licences | pricing65 | Also given bg-muted/50 |
| Questions | #questions | faq76 | Buying questions, not brand ones |
| Closing | – | cta72 | Newsletter, on the inverted band |
manifesto removes that section entirely rather than rendering an empty one. On a one-page site that also removes the target of a navbar link, so drop the matching link too.div carrying the id and a scroll-mt offset, so no block is modified to be linkable. Point a link at #in-use and it lands with the heading clear of the bar.style element that targets html, with a prefers-reduced-motion guard. It uses element selectors only, no class names, so class obfuscation cannot detach it.id means changing it in three places: the wrapper, the navbar link and the footer link.dark class, which swaps the theme tokens for that subtree rather than painting the section, so the block's own fields and borders follow.navbar67
Poster-scale navbar — an oversized wordmark anchors the left while a right column stacks the nav, a pill CTA and a parenthetical label. Collapses to a stacked mobile menu.
hero148
Photo-free hero that runs a display statement across the full width, drops the paragraph and pill CTAs onto one baseline beneath it, and closes with a ruled four-column row of studio facts.
about65
Centered manifesto with a very large multi-line statement heading, muted emphasis phrases, a closing line, and a single CTA.
portfolio112
Editorial project index of ruled rows — padded numeral, project name, client and year, with a floating thumbnail revealed on hover.
pricing65
Three monochrome engagement tiers with editorial big-number pricing and an inverted featured plan.
faq76
A two-column editorial FAQ pairing a sticky eyebrow, oversized heading, short note, and contact CTA on the left with a ruled, index-marked accordion of questions on the right.