Marquee Accent About

Inside The Studio

We are a small room of obsessive makers shipping brands that move.

Polaris is a creative studio built on restraint. We strip a brand back to its sharpest idea, then design every surface around it – identity, product, and motion that earns a second look.

Meet The Studio
11
Years shaping brands.
240+
Projects shipped worldwide.
6
Makers in one studio.
Studio team reviewing layouts around a shared table
Designer sketching wireframes at a bright desk
About this block

Marquee Accent AboutPRO

Layered about over a faint scrolling studio-word marquee with offset images and stats.

About44: Marquee Accent About

A two-column about section with a text block on the left and an offset, overlapping pair of images on the right, laid over a faint infinite marquee of a single studio word scrolling behind everything at low opacity. A compact stats row sits under the CTA button.

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

Base UI flavor

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

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

Quick start

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

tsx
import { About44, about44Demo } from "@/components/beste/block/about44";

export default function AboutPage() {
  return <About44 {...about44Demo} />;
}

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

tsx
import { About44 } from "@/components/beste/block/about44";

export default function AboutPage() {
  return (
    <About44
      label="Inside the studio"
      heading="We are a small team of <strong>obsessive makers</strong>."
      description="We strip a product back to its sharpest idea, then design every surface around it."
      button={{ label: "Meet the team", href: "https://beste.co" }}
      marqueeWord="Northwind"
      images={[
        {
          src: "https://images.unsplash.com/photo-1521737604893-d14cc237f11d?w=900&h=1125&fit=crop",
          alt: "Team reviewing layouts",
        },
        {
          src: "https://images.unsplash.com/photo-1497032205916-ac775f0649ae?w=800&h=800&fit=crop",
          alt: "Designer sketching at a desk",
        },
      ]}
      stats={[
        { value: "8", label: "Years in business." },
        { value: "150+", label: "Projects shipped." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
labelstringEyebrow badge text above the heading
headingstringSection statement; supports inline <strong> for primary-colored highlights
descriptionstringSupporting paragraph under the heading
buttonActionLinkCTA rendered as a Button1 with an arrow icon
marqueeWordstringSingle word scrolled behind the layout as a faint background marquee
imagesImageItem[][]Source images for the offset cluster; only the first two are ever shown
statsStatItem[][]Compact stat row under the CTA button
classNamestringExtra classes for the outer <section>
ts
type ImageItem = { src: string; alt: string };
type ActionLink = { label: string; href: string };
type StatItem = { value: string; label: string };

Behavior notes

  • The component takes images.slice(0, 2): passing more than two images silently drops the rest, and passing one image renders only the larger top image with no offset second photo.
  • The marquee duplicates marqueeWord exactly twice and animates the track by translateX(-50%) over 42 seconds, linear and infinite, so the second copy lands exactly where the first started, creating a seamless loop. It is aria-hidden and sits at text-foreground/[0.04] opacity, so it reads as texture rather than content.
  • The keyframes for the marquee are injected via an inline <style> tag scoped to the component rather than a Tailwind config animation, so no tailwind.config changes are needed after install.
  • The two images are offset rather than aligned: the first is aspect-[3/4] at 80% width anchored right (ml-auto), and the second is a smaller aspect-square card at 60% width pulled up -mt-16 with a background-colored border, layering it over the first image's bottom-left corner.
  • On screens below lg, the grid collapses to a single column and the image cluster stacks below the text column in source order.

More About blocks

View all About
PRO

about46

About Strip

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

PRO

about36

Edge Label About

Asymmetric about with a bleeding image, vertical edge label, offset copy and an inline stats row.

PRO

about24

Company Heritage & Features

Company story with image, border-accented feature highlights, and stats row. Great for craft, heritage, and product-focused brands.

PRO

about39

Numeral About

About anchored by an oversized numeral with a paragraph and a horizontal image strip.

PRO

about28

Marquee Stats & Team Split

Full-width animated marquee stats ticker, split layout with intro text and leadership avatars on the left, full-height image on the right. For SaaS and product companies.

PRO

about37

Index Columns About

Three uneven columns: a studio fact index, an oversized statement, and a portrait with signature.