All-Access · 23 templates$1319.97$99/year — save 92%Get access
  • HomeHome
  • TemplatesTemplates17+
  • ComponentsComponents80+
  • PricingPricing
  • Need a Website?Need a Website?New
Unlock All AccessUnlock All Access

Our latest template collection

Ready-to-launch sites for real estate agents, service businesses, and local brands — built to rank, load fast, and convert.

Explore All TemplatesExplore All Templates

Orvaine - Luxury Equestrian & Horse Breeding Website Template

Orvaine is a premium website template for stud farms, sport horse breeders and equestrian estates: horse pages with pedigrees, events, films. Next.js, Astro, Sanity.

Download Template
Orvaine - Luxury Equestrian & Horse Breeding Website Template

Maressa - Luxury Yacht Charter & Sales Website Template

Maressa is a premium website template for yacht charter, brokerage and superyacht brands: 21 editable sections, full-screen films, Next.js and Astro versions. Sanity.

Download Template
Maressa - Luxury Yacht Charter & Sales Website Template

Krishi – Agriculture & Farm Website Template

Krishi is a premium website template for farms, agritech and food brands: 17 editable sections, cinematic GSAP motion and both Next.js and Astro versions. Built with Sanity.

Download Template
Krishi – Agriculture & Farm Website Template
ComponentsFeaturesNumbered Process Steps
FreeReactTailwind CSSNext.js

Numbered Process Steps

A "how it works" section with four large numbered steps in a hairline grid. React and Tailwind CSS, no dependencies.

View codeView code
Full screen
NumberedProcessSteps.tsx
// "How it works": heading and intro, then four numbered steps in a hairline grid.
// Pure Tailwind, no dependencies. Works with Tailwind v3 and v4.

type Step = { title: string; text?: string };

type Props = {
  heading?: string[];
  intro?: string;
  steps?: Step[];
};

const DEFAULT_STEPS: Step[] = [
  { title: "A conversation", text: "Tell us who is travelling, when and what you love. We listen first." },
  { title: "A proposal", text: "Within a day: three yachts, a draft itinerary and a clear, all-in estimate." },
  { title: "The details", text: "Menus, wines, toys and transfers, arranged with your captain and chef." },
  { title: "The voyage", text: "Step aboard. We stay on call throughout, and long after you are home." },
];

export default function NumberedProcessSteps({
  heading = ["From first call", "to first swim"],
  intro = "Four simple steps, with one person looking after you from start to finish.",
  steps = DEFAULT_STEPS,
}: Props) {
  return (
    <section className="bg-[#f4f4f3] py-24 font-['Helvetica_Neue',Helvetica,Arial,sans-serif] text-[#0d1114] antialiased md:py-36">
      <div className="mx-auto max-w-[100rem] px-4 md:px-8 lg:px-12">
        <div className="grid gap-8 md:gap-12 lg:grid-cols-12 lg:items-end">
          <h2 className="text-[clamp(2.25rem,4.5vw,4.75rem)] font-normal leading-none tracking-[-0.035em] lg:col-span-7">
            {heading.map((line, i) => (
              <span key={i} className="block">
                {line}
              </span>
            ))}
          </h2>
          {intro && (
            <p className="text-base leading-relaxed text-[#0d1114]/60 md:text-lg lg:col-span-4 lg:col-start-9 lg:pb-3">{intro}</p>
          )}
        </div>

        <ol className="mt-16 grid gap-px bg-[#0d1114]/10 sm:grid-cols-2 md:mt-24 lg:grid-cols-4">
          {steps.map((s, i) => (
            <li key={s.title} className="flex min-h-80 flex-col justify-between gap-12 bg-[#f4f4f3] p-8 md:p-10">
              <span className="text-7xl text-[#a98a5a]">{String(i + 1).padStart(2, "0")}</span>
              <div>
                <h3 className="text-3xl font-normal">{s.title}</h3>
                {s.text && <p className="mt-4 text-sm leading-relaxed text-[#0d1114]/60">{s.text}</p>}
              </div>
            </li>
          ))}
        </ol>
      </div>
    </section>
  );
}

How to use it

  1. Make sure your Next.js or React project has Tailwind CSS set up.
  2. Create components/NumberedProcessSteps.tsx and paste the code.
  3. Import it into a page and replace the placeholder text and images with your own.
Maressa - Luxury Yacht Charter & Sales Website Template
From the full template
Maressa - Luxury Yacht Charter & Sales Website Template$79

This section is one part of Maressa - Luxury Yacht Charter & Sales Website Template: a complete website with every page, Sanity CMS and SEO already set up.

Get the full template Get the full template Live preview Live preview

More free components

All features →
Count-Up Stats

Count-Up Stats

Blog Cards

Blog Cards

About Section with Stats

About Section with Stats

Ready for a faster site that's easier to edit?

Book a free 30-minute call. We'll review your current site and send a fixed-price plan. No pressure, no pitch.

Book Free Call Book Free Call No commitment required

Fast Next.js + Sanity websites, built for you or ready to launch with our templates.

Book a Free Call Book a Free Call
Services
  • Web Design
  • UI/UX Design
  • Framer Dev
  • Webflow Dev
  • Custom Dev
  • Sanity CMS
Resources
  • Templates
  • Pricing
  • License
  • Components
  • Case Studies
Company
  • About Us
  • Contact
  • Privacy Policy
© 2026 rayso.studio — All rights reservedDesigned & built in-house Remote-first agency
Let's TalkLet's Talk