Principles About

How We Operate

A studio runs on principles, not process documents.

Four rules have shaped every Polaris engagement since 2017. They keep the work honest when the calendar gets loud.

Polaris team mapping ideas on a studio wall
Work with us
  • 01

    Senior hands only

    The people in the pitch are the people doing the work. No hand-offs to a junior bench after the deal closes.

  • 02

    Ship to learn

    We put real work in front of real users early, then let the response sharpen the next decision.

  • 03

    One number that matters

    Every project names a single metric up front. If a deliverable doesn't move it, it doesn't ship.

  • 04

    Leave a system behind

    We document what we build so your team can run it without us — the brand outlives the engagement.

About this block

Principles AboutPRO

About pairing a sticky studio statement and image with a numbered list of operating principles.

About48: Principles About

A left column (eyebrow, heading, description, image, CTA) stays pinned in view while a right column lists numbered operating principles that scroll past it, each with a large tabular-numeral index and a title that shifts to the primary color on hover.

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

Base UI flavor

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

This installs the block to components/beste/block/about48.tsx, the badge6 and button1 components it uses for the eyebrow label and CTA button, and its dependencies.

Quick start

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

tsx
import { About48, about48Demo } from "@/components/beste/block/about48";

export default function AboutPage() {
  return <About48 {...about48Demo} />;
}

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

tsx
import { About48 } from "@/components/beste/block/about48";

export default function AboutPage() {
  return (
    <About48
      label="How we operate"
      heading="A team runs on <strong>principles</strong>, not process documents."
      description="Four rules have shaped every engagement since we started."
      button={{ label: "Work with us", href: "https://beste.co" }}
      image={{
        src: "https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?w=900&h=700&fit=crop",
        alt: "Team mapping ideas on a wall",
      }}
      principles={[
        { title: "Senior hands only", description: "The people in the pitch do the work." },
        { title: "Ship to learn", description: "We put real work in front of users early." },
        { title: "One metric that matters", description: "Every project names its number up front." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
labelstringEyebrow badge text above the heading
headingstringStatement heading; supports inline <strong> for primary-colored highlights
descriptionstringSupporting paragraph under the heading
buttonActionLinkCTA rendered as a Button1 under the image
imageImageItemPhoto under the description in the left column
principlesPrinciple[][]Numbered principle list in the right column
classNamestringExtra classes for the outer <section>
ts
type ActionLink = { label: string; href: string };
type ImageItem = { src: string; alt: string };
type Principle = { title: string; description: string };

Behavior notes

  • The left column uses lg:sticky lg:top-24 lg:self-start, so on desktop it stays pinned in the viewport while the (typically taller) principles list on the right scrolls past it; below lg both columns stack normally with no sticky behavior.
  • Each principle's index is zero-padded with padStart(2, "0") (01, 02, ...) and rendered at a large tabular-numeral size in the primary color, not as a numbered <ol>.
  • Principle titles change color on hover via group/about48 and group-hover/about48:text-primary, so hovering any part of the list item (not just the title text) triggers the highlight.
  • Principle rows use border-t between items with first:border-t-0 first:pt-0, so the first principle has no leading divider while every subsequent one does.
  • The image sits between the description and the button in the left column and is omitted entirely (no placeholder) if image is not passed.

More About blocks

View all About
PRO

about6

Numbered Principles

Asymmetric two-column layout with heading on the left and numbered company principles on the right. Clean and editorial.

PRO

about64

Principles Card Grid

Principles section with a header and a three-column grid of six bordered cards, each pairing a circular icon with a title and description.

FREE

about69

Mission Band With Principles

A company story section that runs a two-column heading over a wide photo band, then sets three founding principles as numbered hairline columns underneath.

PRO

about50

Chaptered About

A pinned studio image beside a numbered, chaptered about story.

PRO

about53

Pinned Photos About

About with two subtly rotated, captioned studio photos clustered beside the statement.

PRO

about46

About Strip

An about intro followed by a horizontally scrollable strip mixing image, stat, quote and values cards.