Engagement Tier Rails

(Ways to work)

Three shapes of engagement, priced in daylight.

Every number below is what you would actually be invoiced. No discovery fee hidden behind a call, no surcharge for the meetings we both know are coming.

Single track

€14k

per track

One defined piece of work with a deadline attached to it.

Included

  • One discipline, start to finish
  • Weekly review with the whole team
  • Two rounds of revision
  • Files handed over on the last day

Full commission

€46k

per project

A brand and its first year of pages, built as one system.

Included

  • Identity, editorial and interface together
  • Named studio lead for the duration
  • Guidelines written for your team
  • Six months of questions answered free

Studio retainer

€7.5k

per month

Continuous work for teams shipping something every week.

Included

  • Eight studio days a month
  • Same two people, every month
  • Work queued in your own tracker
  • Cancel with one month of notice

Rates hold for six months from the first call. Travel is billed at cost, only when you ask for it.

About this block

Engagement Tier RailsPRO

Boxless pricing where each tier is a ruled column: the name, an oversized figure with its period, a fit line, an inclusion list under a second rule and a pill CTA, with subgrid keeping every internal rule aligned across the three columns.

Pricing69: Engagement Tier Rails

Boxless pricing for service work. Each tier is a ruled column rather than a card: the name, an oversized figure with its period, a fit line, then an inclusion list under a second rule with the CTA at the foot. Subgrid keeps every internal rule on the same line across all three tiers.

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.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/pricing69?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/pricing69?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/pricing69.tsx plus the badge7 eyebrow and button12 pill button it uses.

Quick start

The installed file exports pricing69Demo alongside the block: the exact props behind the preview above. Spread it to get a working pricing section in one line.

tsx
import { Pricing69, pricing69Demo } from "@/components/beste/block/pricing69";

export default function Page() {
  return <Pricing69 {...pricing69Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Pricing69 } from "@/components/beste/block/pricing69";

export default function Page() {
  return (
    <Pricing69
      badge={{ label: "Ways to work" }}
      heading="Three shapes of engagement, priced in daylight."
      description="Every number below is what you would actually be invoiced."
      tiers={[
        {
          name: "Full commission",
          price: "€46k",
          period: "per project",
          fit: "A brand and its first year of pages, built as one system.",
          includes: ["Named studio lead", "Guidelines written for your team"],
          buttonLabel: "Start a commission",
          href: "/contact",
          featured: true,
        },
      ]}
      labels={{ includesTitle: "Included", note: "Rates hold for six months." }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow label rendered as a Badge7
headingstringSection heading in the left column
descriptionstringSupporting paragraph, right-aligned from md up
tiersPricingTier[][]One ruled column per tier; set featured on the recommended one
labelsPricing69Labels{}Fixed strings that are not content: the inclusion heading and closing note
classNamestringExtra classes for the outer <section>
ts
type PricingTier = {
  name: string;
  price: string;
  period: string;
  fit: string;
  includes: string[];
  buttonLabel: string;
  href: string;
  featured?: boolean;
};

type Pricing69Labels = {
  includesTitle?: string;
  note?: string;
};

Behavior notes

  • featured switches that tier's CTA from tone="outline" to solid. It is the only signal for the recommended plan: no ribbon, no badge, no coloured card.
  • price is a string, so a tier can read €46k, From €7.5k or Talk to us without the block doing any currency formatting.
  • Alignment across tiers comes from subgrid: the container declares md:grid-rows-[repeat(6,auto)] and each tier spans all six with md:row-span-6 md:grid-rows-subgrid, so the price, the fit line, the inclusion rule and the CTA each sit on one shared line even when one fit line wraps to two.
  • That is also why the row gap is md:gap-y-0: a row gap on the container would be inserted between all six shared tracks, not between tiers. Vertical rhythm inside a tier comes from the elements' own margins.
  • Below md the tier falls back to flex flex-col in normal flow, since there is only one column and nothing to align against.
  • Nothing is boxed: the tier opens on a border-t rule and the inclusion list opens on a second one, which is what keeps three tiers reading as one table rather than three competing cards.
  • The closing note sits on its own rule under all three columns, which is where legal or rate-validity copy belongs rather than inside a tier.

More Pricing blocks

View all Pricing
PRO

pricing74

Engagement Shapes With Exclusions

Three engagement columns on hairlines, each stating its figure and cadence and then listing what the price covers directly against what it deliberately does not.

PRO

pricing65

Monochrome Pricing Tiers

Three monochrome engagement tiers with editorial big-number pricing and an inverted featured plan.

PRO

pricing42

Grouped Feature Sections

Single plan pricing with features organized into separated category groups. Perfect for products with many features to categorize.

PRO

pricing60

Three Tiers

Three pricing tiers with an emphasized popular plan and feature lists.

PRO

pricing24

Startup Stage Pricing

Startup-focused pricing tiers based on funding stage from bootstrapped to Series B+. Perfect for B2B tools offering startup programs.

PRO

pricing10

Horizontal Tier Cards

Four-tier horizontal pricing cards with pill-style billing toggle. Perfect for comparing multiple plan options side by side.