Objection Cards

The real questions

The four things everyone is actually worried about

Nobody opens a demo call asking about feature parity. These are the questions that decide it, so they are answered here instead.

01

We cannot afford a week of chaos while we switch

You will not have one. One clinic goes live first while everything else carries on unchanged, and the busy part of the migration is three days in the middle of a fortnight. If the first site does not go smoothly, nothing else moves.

Eleven practices, none of them closed for a day

02

Our team will not use another new system

Then they should not have to learn one. The screens people use every hour, the clinic list and the member record, work the way the paper version did. Everything else is optional and stays out of the way until somebody looks for it.

Median time to first booking by a new user: 4 minutes

03

We will be locked in once our records are inside

Thirty days' notice, no penalty, and a full export in a format another system can import. The export stays live for ninety days after you close the account, and we will join a call with whoever you move to.

Clause 6.3 and 6.5 of the agreement, in writing

04

Nobody will be there when something breaks at 08:00

Support is staffed by the people who wrote the code, including the founders, and the on-call rota starts before clinics do. Every incident gets a public write-up with a date on it, whether or not anyone noticed.

Median first response, 11 minutes inside clinic hours

Still carrying a worry that is not on this list?

Put it to an engineer
About this block

Objection CardsPRO

An always-open FAQ that states four buying worries as quoted headings in a hairline matrix of cards, each answering in full and closing on a line of proof under a rule.

Faq83: Objection Cards

An always-open FAQ that states four buying worries as quoted headings in a hairline matrix of cards, each answering in full and closing on a line of proof under a rule.

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

Base UI flavor

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

This installs the block to components/beste/block/faq83.tsx plus the badge23 and button21 components it uses for the eyebrow and the closing action.

Quick start

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

tsx
import { Faq83, faq83Demo } from "@/components/beste/block/faq83";

export default function FaqPage() {
  return <Faq83 {...faq83Demo} />;
}

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

tsx
import { Faq83 } from "@/components/beste/block/faq83";

export default function FaqPage() {
  return (
    <Faq83
      badge={{ label: "The real questions" }}
      heading="The four things everyone is actually worried about"
      description="Nobody opens a demo call asking about feature parity."
      items={[
        {
          index: "01",
          worry: "We cannot afford a week of chaos while we switch",
          answer: "One clinic goes live first while everything else carries on unchanged.",
          proof: "Eleven practices, none of them closed for a day",
        },
        {
          index: "02",
          worry: "We will be locked in once our records are inside",
          answer: "Thirty days' notice, no penalty, and a full export another system can import.",
          proof: "Clause 6.3 and 6.5 of the agreement, in writing",
        },
      ]}
      closingLabel="Still carrying a worry that is not on this list?"
      button={{ label: "Put it to an engineer", href: "/contact" }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string }Eyebrow above the hairline rule, rendered through Badge23
headingstringSection heading in the left column of the header
descriptionstringSupporting paragraph, right-aligned from md up
itemsObjection[][]Worries, laid out two-up from md
closingLabelstringPrompt beside the closing action
button{ label: string; href: string }Closing action, right-aligned from md up
classNamestringExtra classes for the outer section
ts
type ActionLink = {
  label: string;
  href: string;
};

type Objection = {
  index: string;
  worry: string;
  answer: string;
  proof: string;
};

Behavior notes

  • The worry is the heading, in the customer's voice rather than the company's. Quotation marks are added by the block as entities, so pass worry as plain text or you will get doubled quotes.
  • proof is required on every card, not optional. The block is built so that no objection is answered without something checkable underneath it.
  • The grid lines are the gap, not borders: gap-px over a bg-border container with bg-card cells makes the background show through as one-pixel seams, and the container's overflow-hidden clips the corners so it reads as one panel.
  • Cards are flex flex-col with the answer marked flex-1, so the proof lines up along the bottom across every card regardless of answer length.
  • The proof line carries its own border-t, so the rule belongs to the proof rather than sitting as a divider in the card.
  • The layout is md:grid-cols-2, which is why four items is the count it is tuned for. An odd count leaves the last card spanning one column with a gap beside it.
  • index is copy, not a computed counter, so numbering survives reordering untouched.

More FAQ blocks

View all FAQ
PRO

faq74

FAQ Cards

Always-open FAQ presented as a scannable grid of Q&A cards.

PRO

faq15

Modal Dialog Cards

Clickable question cards that open answers in a modal dialog. Perfect for card-based layouts that need expanded views.

PRO

faq68

FAQ with Side Heading and Numbered Cards

Two-column FAQ section with a badge, heading, and description on the left, and a stacked list of numbered question cards on the right. Each card opens to reveal a plain answer block below it with no separator line.

PRO

faq32

Quote Style Cards

Cards with quote icons in corners, arranged in a grid. Elegant design for emphasizing key points with typography.

PRO

faq57

Cards With Links

Question-answer cards with external link buttons below. Drives users to related resources or docs.

PRO

faq41

Photo Cards

Cards with images and text below in a grid. Ideal when each answer has relevant supporting imagery.