Files
sass-mohfarawati/components/home/process-section.tsx
T
MohFarawati 59094eba85 refactor(home): unify section headings, differentiate capabilities and process
Reduce the "interchangeable cards" monotony flagged in Phase 0 and apply the
warm-premium type scale.

- SectionHeading: use the type scale (eyebrow via .eyebrow with brand tint,
  text-h2 title, body-lg description). Propagates to every home section.
- CapabilitiesSection: cleaner cards with a brand-tinted icon tile, type-scale
  title/body, soft elevation (drops the AppCard wrapper).
- ProcessSection: reworked into an editorial numbered timeline (large
  translucent brand numerals, top rule, no boxes) so it no longer looks
  identical to Capabilities.

Verified: eslint clean, no new type errors, tailwind generates the utilities.
2026-07-14 22:37:09 +02:00

35 lines
1.1 KiB
TypeScript

import { SectionHeading } from "./section-heading";
import type { ProcessSectionCopy } from "./types";
type ProcessSectionProps = {
copy: ProcessSectionCopy;
};
export function ProcessSection({ copy }: ProcessSectionProps) {
return (
<section className="space-y-10">
<SectionHeading
eyebrow={copy.eyebrow}
title={copy.title}
description={copy.description}
/>
<ol className="grid grid-cols-1 gap-x-8 gap-y-10 sm:grid-cols-2 lg:grid-cols-4">
{copy.steps.map((step, index) => (
<li key={step.title} className="border-t border-border pt-5">
<span className="block text-[2.75rem] font-semibold leading-none tracking-tight text-brand-primary/25">
{String(index + 1).padStart(2, "0")}
</span>
<h3 className="mt-5 text-title font-semibold text-foreground">
{step.title}
</h3>
<p className="mt-2 text-small leading-relaxed text-muted-foreground">
{step.description}
</p>
</li>
))}
</ol>
</section>
);
}