For over three decades, we have been designing and building custom sailing yachts for those who refuse to compromise on quality, performance, or beauty.
Founded on the rugged coast of Maine by master shipwright Erik Nordvik, our yard began with a simple belief: a yacht should be as beautiful below the waterline as above it. Today, a second generation carries that philosophy forward — combining traditional craftsmanship with modern naval architecture to produce vessels that are as fast as they are timeless. Every hull is hand-laid, every interior hand-finished, and every yacht delivered with a promise that it will outlast the dreams that inspired it.
Every yacht begins as a conversation. We design each vessel around the owner's vision, sailing style, and intended waters.
Hand-laid carbon and teak interiors finished by artisans with decades of experience in fine woodworking and marine joinery.
From our yard to any port in the world. We handle logistics, commissioning, and sea trials wherever you call home.
Our relationship does not end at delivery. Annual maintenance programs, refit services, and 24/7 technical support for every owner.
35+
Years of Heritage
500+
Yachts Delivered
40+
Countries
98%
Owner Retention
Company story with image, border-accented feature highlights, and stats row. Great for craft, heritage, and product-focused brands.
Centered header followed by a story split (image beside a large pull quote paragraph), a two-column grid of border-accented feature highlights, and a stats panel on a muted background. Built for craft, heritage, and product-focused brands with a longer founding narrative to tell.
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.
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
npx shadcn add "https://ui.beste.co/r/about24?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/about24?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/about24.tsx and the badge and button shadcn/ui primitives it depends on.
The installed file exports about24Demo alongside the block: the exact props behind the preview above. Spread it to get a working about section in one line.
import { About24, about24Demo } from "@/components/beste/block/about24";
export default function AboutPage() {
return <About24 {...about24Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { About24 } from "@/components/beste/block/about24";
export default function AboutPage() {
return (
<About24
badge={{ label: "Since 1987", variant: "secondary" }}
heading="Crafting dreams on the open water"
description="Three decades of custom sailing yachts built without compromise."
image={{
src: "https://images.unsplash.com/photo-1540946485063-a40da27545f8?w=800&h=600&fit=crop",
alt: "Luxury sailing yacht on the ocean",
}}
story="Founded on the rugged coast of Maine, our yard combines traditional craftsmanship with modern naval architecture."
features={[
{ title: "Custom Design", description: "Every yacht begins as a conversation." },
{ title: "Master Craftsmanship", description: "Hand-laid carbon and teak interiors." },
]}
stats={[
{ value: "35+", label: "Years of Heritage" },
{ value: "500+", label: "Yachts Delivered" },
]}
buttons={[{ label: "Schedule a Visit", href: "https://beste.co" }]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Eyebrow badge above the heading |
heading | string | – | Centered section heading |
description | string | – | Centered lead paragraph under the heading |
image | { src: string; alt: string } | – | Photo beside the story paragraph |
story | string | – | Large founding-story paragraph next to the image |
features | FeatureItem[] | [] | Border-accented highlight cards below the story |
stats | StatItem[] | [] | Stat cards on a muted panel below the features |
buttons | ButtonItem[] | [] | Centered CTA row at the bottom |
className | string | – | Extra classes for the outer <section> |
type FeatureItem = { title: string; description: string };
type StatItem = { value: string; label: string };
type ButtonItem = {
label: string;
href?: string;
variant?: "default" | "secondary" | "outline" | "ghost" | "link" | "destructive";
};(image || story), features.length > 0, stats.length > 0 guards), so any of the three sections can be omitted independently.sm:grid-cols-2 layout regardless of how many features are supplied; it does not switch to 3 or 4 columns for larger sets.border-l-2 border-primary pl-4), not bordered boxes, so they read as an inline list rather than discrete cards.grid-cols-2 sm:grid-cols-4 grid on a bg-muted/50 rounded panel, centered text per stat.story text contains a literal em dash ("...carries that philosophy forward — combining traditional craftsmanship...") reproduced here exactly as it appears in the source.about23
Two-column layout with company story, stats, and leadership quote on the left, team photo and avatar row on the right.
about70
A company story told as hairline rows keyed by a light year figure, set against a media column that sticks while they scroll and stacks an image tile floating a live growth metric over a captioned photograph.
about13
Asymmetric layout with company story and image on the left, and a vertical list of company details on the right. Great for press and investor pages.
about19
Full company overview with panoramic image, story paragraph, key facts list, leadership quote, and stats row. A rich, multi-section layout for company landing pages.