Files
ar.badieiandCursor c2376b3b9e
Build & Push Docker Image / build (push) Has been cancelled
feat: redesign landing page with brand system and section blocks
Refresh the homepage around new hero/services/roadmap sections, shared design tokens, and updated brand assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 17:00:55 +03:30

33 lines
1.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { cn } from "@/lib/utils";
/**
* Global layout tokens for Amin Rayan.
* All page sections must use these — do not invent ad-hoc max-widths or gutters.
*
* Base was max-w-5xl (64rem); +20% → 76.8rem for a wider content column.
*/
export const layout = {
/** Outer horizontal gutter (full-bleed backgrounds stay outside this). */
gutter: "px-6",
/** Main content max width (64rem × 1.2). */
maxWidth: "max-w-[76.8rem]",
/** Shared content shell: centered, capped, padded. */
container: "mx-auto w-full max-w-[76.8rem] px-6",
/**
* Vertical rhythm for major sections.
* Adjacent sections always meet as `pb + pt` from this token
* (`py-16` → 8rem gap, `md:py-20` → 10rem) — including hero → خدمات ما.
*/
sectionY: "py-16 md:py-20",
/** Top offset under fixed header for first section (incl. homepage hero). */
sectionTopWithHeader: "pt-28 pb-16 md:pt-32 md:pb-20",
/** Anchor scroll offset under fixed header. */
scrollMargin: "scroll-mt-28",
/** Soft visual cue between bands — no hard template break. */
sectionBandDivider: "border-t border-border/30",
} as const;
export function containerClassName(className?: string) {
return cn(layout.container, className);
}