Studio Values

The principles that hold every Polaris engagement together.

Operating Principles
Rigor

Evidence before instinct

We pressure-test every creative bet against real signal. Gut feeling opens the door, but the data decides who walks through it.

Accountability

Own the whole arc

From the first scribble to the shipped frame, the same studio carries the work. No handoffs that bleed intent or lose the thread.

Durability

Build it to outlast us

Systems, tokens, and documentation travel with the deliverable. Your team should never need ours to keep the work alive.

Restraint

Edit until it hurts

The strongest version is usually the one with the most cut away. We chase restraint long after the brief says we can stop.

Candor

Speak plainly, then prove it

No jargon walls, no theater. We name the trade-offs out loud and let the working prototype settle the argument.

Coherence

Treat the brand as a system

Every surface answers to one logic. We design the rules, not just the artifacts, so the next thousand assets draw themselves.

About this block

Studio ValuesPRO

Studio values laid out with oversized ghost numerals, titles, descriptions and keywords.

Agency12: Studio Values

Operating-principles section with a split header (large heading left, vertical divider, eyebrow badge right) above a two-column list of values, each marked with an oversized ghost numeral, a keyword, a title, and a description.

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

Base UI flavor

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

This installs the block to components/beste/block/agency12.tsx, the badge6 component it uses for the eyebrow label, and its dependencies.

Quick start

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

tsx
import { Agency12, agency12Demo } from "@/components/beste/block/agency12";

export default function AboutPage() {
  return <Agency12 {...agency12Demo} />;
}

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

tsx
import { Agency12 } from "@/components/beste/block/agency12";

export default function AboutPage() {
  return (
    <Agency12
      label="Operating Principles"
      heading="The principles that hold every engagement together."
      values={[
        {
          keyword: "Rigor",
          title: "Evidence before instinct",
          description: "We pressure-test every creative bet against real signal.",
        },
        {
          keyword: "Restraint",
          title: "Edit until it hurts",
          description: "The strongest version is usually the one with the most cut away.",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
labelstringEyebrow label rendered via Badge6, right-aligned in the header
headingstringLarge section heading, left-aligned in the header
valuesValueItem[][]Value entries rendered in the numbered grid
classNamestringExtra classes for the outer <section>
ts
type ValueItem = { title: string; description: string; keyword: string };

Behavior notes

  • The header uses a md:grid-cols-[1fr_auto_1fr] grid with a hairline vertical divider (w-px bg-border) between the heading and the label column; the divider is hidden below md.
  • Each value's numeral (01, 02, ...) is generated from its array index with String(index + 1).padStart(2, "0"), not from a field on the data, so reordering values renumbers automatically.
  • The numeral is select-none and starts at text-muted-foreground/30; hovering the value's article (via the group/agency12 class) brightens it to text-primary/40 as a subtle interactive cue.
  • keyword renders above title as a small bold uppercase label in text-primary, functioning as a category tag distinct from the title itself.
  • The grid is a static md:grid-cols-2; it does not adapt column count to values.length, so an odd number of entries leaves the last row with one item.

More Agency blocks

View all Agency
PRO

agency11

Studio Manifesto

Oversized editorial manifesto statement with emphasized phrases, principle chips and a founder signature.

PRO

agency16

Studio At A Glance

Studio overview pairing facts, copy and highlight stats with a clean studio image.

PRO

agency18

Studio Ethos

A bold ethos statement beside a list of concrete studio commitments.

PRO

agency14

Studio Team

A studio team grid of member portraits with names and roles.

PRO

agency15

Awards List

Editorial list of studio awards by year with project and recognition details.

PRO

agency21

Capabilities Accordion

Ruled, expandable capability rows with oversized type, detail copy, and monospace tag chips.