Four Situations

Who comes here

Foursituationsweknowwell.

Not diagnoses, just seasons of a life. If yours is not on the list, that is not a reason to stay away.

Talk about yours
01

After burnout

You did the hard thing for too long, and now the rest will not come. We work on the nervous system first and the story second.

How we work with this
02

A change of chapter

New city, new role, an ending. Coaching for the months when the old map has stopped working.

How we work with this
03

Grief that stayed

A loss that everyone else has moved on from. A room where it does not need to be finished.

How we work with this
04

Simply stuck

Nothing is wrong exactly, and nothing moves. Sometimes the work is finding out what you are waiting for.

How we work with this
About this block

Four SituationsPRO

A who-this-is-for section: a serif heading that settles in word by word beside the intro and a pill action, then four soft muted cards, each numbered, with a serif situation title, a short description and an arrow link that lifts on hover.

Usecase54: Four Situations

Four situations as numbered cards on soft panels, each with a serif title, a paragraph and a link whose arrow lifts on hover, under a heading and a pill.

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

Base UI flavor

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

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

Quick start

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

tsx
import { Usecase54, usecase54Demo } from "@/components/beste/block/usecase54";

export default function Page() {
  return <Usecase54 {...usecase54Demo} />;
}

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

tsx
import { Usecase54 } from "@/components/beste/block/usecase54";

export default function Page() {
  return (
    <Usecase54
      eyebrow="Who comes here"
      heading="Four situations we know well."
      description="Not diagnoses, just seasons of a life."
      button={{ label: "Talk about yours", href: "/contact" }}
      situations={[
        {
          title: "After burnout",
          description: "You did the hard thing for too long, and now the rest will not come.",
          href: "/situations/burnout",
        },
      ]}
      labels={{ more: "How we work with this" }}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the heading
headingstringSection heading, rendered as an h2 through Text1
descriptionstringShort intro in the narrow right column
buttonActionButtonPill action under the intro
situationsSituation[][]Cards, four across from md
labels{ more?: string }{}Link wording; the link is dropped when unset
classNamestringExtra classes for the outer <section>
ts
type Situation = {
  title: string;
  description: string;
  href: string;
};

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

Behavior notes

  • Numbers come from the index, padded to two digits and set in tabular-nums, so nothing has to be kept in sync when a situation is added or removed.
  • The link carries mt-auto, so the four links sit on one line however uneven the descriptions above them are.
  • Only the link is clickable, not the whole card, which keeps the description selectable and gives the arrow one obvious target.
  • That arrow lifts only under motion-safe:, so the affordance is dropped for reduced motion while the link keeps working.
  • Cards enter with a 0.1s stagger by index, so a four-up row resolves left to right.
  • The grid steps from one column to two at sm and four at md, so four situations fill exactly one row on a desktop.
  • Situation titles are h3 under the section h2, keeping the outline correct wherever the block sits on a page.

More Use Case blocks

View all Use Case
PRO

usecase56

Audience Tabs

A who-is-it-for section with pill tabs under a serif heading that settles in word by word: each audience blurs in a serif title, a description, dotted points and a sliding-marker pill beside a portrait photograph drifting inside its frame.

PRO

usecase59

Linked Situation Rows

Five situations as ruled rows, each one a whole link: a square photograph pinned left, a serif sentence over its paragraph, and an arrow link at the right end that lifts as the row tints on hover.

PRO

usecase55

Is This You

A self-recognition list: a sticky column with a serif heading that settles in word by word, an intro and a pill action, beside ruled serif statements that each blur in as they reach the viewport, marked with a small ringed check, and a closing line beneath.

PRO

usecase41

Role Use Case Cards

A use-case section with an eyebrow over a hairline rule, a two-column heading, and three bordered role cards with an icon chip, a role label, a title, a description, and an arrow link.

PRO

usecase44

Situation Fit Columns

Qualifying section describing three situations a service suits: each ruled column pairs the situation with a dotted list of tell-tale signals and a soft panel stating what changes afterwards, with nothing closing the section.

PRO

usecase43

A Day In Appointments

A use case with an eyebrow over a hairline rule, a two-column heading, and three image tiles that each float a live appointment card above a title and description.