Season Pricing

Fees

Supportthatfitstheseasonyouarein.

Most people begin with a single conversation and settle into a rhythm from there. Every plan can be paused, and nothing renews without asking.

Beginning

$60per month

One session a month

For when you want a steady place to check in without a weekly commitment.

  • One 60-minute session
  • A short written note after each session
  • Email between sessions
Parasols and towels across a wide sandy beach

Rhythm

$110per month

Two sessions a month

The pace most of our clients settle into, with room to go deeper when a week asks for it.

  • Two 60-minute sessions
  • Written notes and gentle prompts
  • Priority rescheduling
  • In the room or online

Season

$240per month

Weekly, for a season

Twelve weeks of weekly work for a chapter that deserves your full attention.

  • Twelve weekly 75-minute sessions
  • A shared plan we revisit monthly
  • Voice notes between sessions
  • A closing session, on us
About this block

Season PricingPRO

Three pricing tiers under a centred serif heading that settles in word by word: two soft muted cards and a featured card set on a photograph with a dark scrim and film grain, each with a serif price, a cadence line, a check list and a sliding-marker pill.

Pricing75: Season Pricing

Three tiers where the featured one is a photograph: it sits on an ink wash under film grain while the others stay on soft panels, each with a serif price, a cadence line, ticked features and its own action.

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/pricing75?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/pricing75.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

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

tsx
import { Pricing75, pricing75Demo } from "@/components/beste/block/pricing75";

export default function Page() {
  return <Pricing75 {...pricing75Demo} />;
}

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

tsx
import { Pricing75 } from "@/components/beste/block/pricing75";

export default function Page() {
  return (
    <Pricing75
      eyebrow="Fees"
      heading="Support that fits the season you are in."
      description="Every plan can be paused, and nothing renews without asking."
      tiers={[
        {
          name: "Beginning",
          price: "$60",
          cadence: "One session a month",
          description: "A steady place to check in without a weekly commitment.",
          features: ["One 60-minute session", "A short written note"],
          button: { label: "Start gently", href: "/start", tone: "outline" },
        },
        {
          name: "Rhythm",
          price: "$110",
          cadence: "Two sessions a month",
          description: "The pace most clients settle into.",
          features: ["Two 60-minute sessions", "Priority rescheduling"],
          button: { label: "Find your rhythm", href: "/rhythm", tone: "light" },
          image: { src: "/photos/lake.jpg", alt: "A still mountain lake at dawn" },
        },
      ]}
      labels={{ perMonth: "a month" }}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the heading
headingstringSection heading, rendered as an h2 through Text1
descriptionstringIntro under the heading
tiersTier[][]Pricing tiers, three across from md
labels{ perMonth?: string }{}Suffix beside the price
classNamestringExtra classes for the outer <section>
ts
type Tier = {
  name: string;
  price: string;
  cadence: string;
  description: string;
  features: string[];
  button: ActionButton;
  image?: { src: string; alt: string };
};

type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • There is no featured flag: a tier is featured because it has an image, so the highlight and the photograph can never disagree with each other.
  • The featured card is a fixed dark surface, so its muted text is written against background tokens rather than the adaptive ones the light cards use.
  • Prices are free strings, not numbers, so "$60", "60 EUR" or "From $60" all render as given with no formatting or currency logic.
  • Each card's button carries mt-auto, so the actions line up along the bottom of the row however uneven the feature lists above them are.
  • The grid is md:items-stretch, which is what lets that mt-auto have a full-height card to push against.
  • The tick marks and the muted text inside a card are chosen from the same featured boolean, so a card is styled from one decision rather than from several.
  • The grain filter id comes from useId; note that all featured cards in one instance share it, which is fine since they render the same filter.

More Pricing blocks

View all Pricing
PRO

pricing78

Toggle Pricing

Three pricing cards under a centred serif heading that settles in word by word, with a pill toggle between paying per session and committing to a season: the serif prices blur out and in as it switches, and each card ends in a sliding-marker pill.

PRO

pricing77

Two Plans Aside

A two-plan pricing section: a sticky column with a serif heading that settles in word by word, an intro and a reduced-fee note, beside two cards, one soft muted and one ink, each with a serif price, a check list and a sliding-marker pill.

PRO

pricing82

Two Plans Beside a Photo

A tall photograph that blurs in and drifts on scroll on the left; on the right a serif headline that settles in word by word, an intro, a monthly or yearly pill switch, and two plans as ruled rows, each with a serif price that blurs to its new value, the included features in one line and a sliding-marker pill.

PRO

pricing79

Three Plans Toggle

Three plan cards under a centred serif headline that settles in word by word and a monthly or yearly pill switch whose ink marker slides between the two; prices blur to their new value, a small saving note appears on yearly, the middle plan sits in ink, and each card ends in a full-width sliding-marker pill.

PRO

pricing6

Billing Toggle Pricing

Three-tier pricing table with monthly/yearly billing toggle and popular plan badge. Perfect for SaaS products with tiered subscription plans.

PRO

pricing60

Three Tiers

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