Files
sass-mohfarawati/components/home/section-heading.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

38 lines
823 B
TypeScript

import { cn } from "@/lib/utils";
type SectionHeadingProps = {
eyebrow: string;
title: string;
description: string;
align?: "left" | "center";
className?: string;
};
export function SectionHeading({
eyebrow,
title,
description,
align = "left",
className,
}: SectionHeadingProps) {
return (
<div
className={cn(
"space-y-4",
align === "center" && "mx-auto max-w-3xl text-center",
className,
)}
>
<p className="eyebrow text-caption font-medium text-brand-primary">
{eyebrow}
</p>
<h2 className="max-w-4xl text-balance text-h2 text-foreground">
{title}
</h2>
<p className={cn("text-body-lg text-muted-foreground", align === "center" ? "mx-auto" : "max-w-2xl")}>
{description}
</p>
</div>
);
}