diff --git a/.cursor/rules/accessibility.mdc b/.cursor/rules/accessibility.mdc
new file mode 100644
index 0000000..37ed949
--- /dev/null
+++ b/.cursor/rules/accessibility.mdc
@@ -0,0 +1,43 @@
+---
+description: Accessibility non-negotiables for all UI work
+globs: app/**/*.tsx,components/**/*.tsx
+alwaysApply: false
+---
+
+# Accessibility Rules (Amin Rayan)
+
+Follow `docs/design-system/accessibility.md`. Accessibility outranks visual experimentation.
+
+## Always
+
+- Preserve visible focus styles (`focus-visible:ring-*`); never remove outlines without a replacement.
+- Provide accessible names for icon-only buttons (`aria-label`).
+- Use semantic HTML (`button`, `a`, `label`, landmarks) before ARIA.
+- Associate form controls with labels; set `aria-invalid` and error text when invalid.
+- Honor `prefers-reduced-motion` for new animations (prefer `MotionReveal` / CSS reduced-motion hooks).
+- Keep touch targets ≥ 40px for primary icon actions; inputs ≥ 36px (16px font on mobile).
+- Write meaningful `alt` text for informative images; empty alt / `aria-hidden` for decorative ones.
+- Verify contrast for text and interactive states in both light and dark themes.
+- Ensure keyboard access for menus, sheets, dialogs (prefer existing Radix primitives).
+
+## Never
+
+- Rely on color alone to convey state.
+- Use `outline-none` / `ring-0` without an equivalent focus treatment.
+- Trap keyboard focus outside modal patterns.
+- Ship motion that ignores reduced-motion preferences.
+- Use placeholder-only fields without a visible label.
+- Disable zoom or block paste for arbitrary reasons.
+
+## Quick checks before finishing
+
+1. Tab through the UI — can you reach and operate everything?
+2. Toggle dark mode — is text still readable?
+3. Icon buttons — do they announce a name?
+4. Motion — does reduced motion disable entrance animations?
+
+## References
+
+- `docs/design-system/accessibility.md`
+- `docs/design-system/forms.md`
+- `docs/design-system/motion.md`
diff --git a/.cursor/rules/design-system-effects.mdc b/.cursor/rules/design-system-effects.mdc
new file mode 100644
index 0000000..6caf546
--- /dev/null
+++ b/.cursor/rules/design-system-effects.mdc
@@ -0,0 +1,59 @@
+---
+description: Visual effects must come from styles/design-system — page owns atmosphere, sections do not
+globs: components/**/*.tsx, app/**/*.tsx
+alwaysApply: false
+---
+
+# Design System Visual Effects
+
+Atmospheric effects are **page-owned**. Sections sit inside the shared ambient environment.
+
+## Architecture
+
+```
+body (flat base)
+→ PageAtmosphere (gradient + grid + soft light + noise)
+→ page-content / sections (transparent shells)
+→ cards / panels (surface tokens)
+```
+
+Canonical modules live in `styles/design-system/`, imported from `app/globals.css`.
+
+| File | Responsibility |
+| --- | --- |
+| `tokens.css` | Brand, elevation, glow stops |
+| `background.css` | Flat body base, CTA photo banner |
+| `ambient.css` | `page-atmosphere*`, `hero-atmosphere`, timeline sizing tokens |
+| `surfaces.css` | `section-shell`, transparent canvas |
+| `borders.css` | `border-surface` |
+| `shadows.css` | `shadow-surface-*`, `shadow-floating`, `shadow-overlay`, `shadow-hero` |
+| `gradients.css` | Panel-only `bg-gradient-cta` (not section washes) |
+| `glow.css` | Card/panel/button neon, `media-frame`, glow orbs |
+| `grid.css` | Legacy section grid (prefer page grid) |
+
+## Allowed in sections
+
+```tsx
+
+ …
+
+```
+
+- Section shells: `bg-section-canvas` (default), soft `bg-section-muted`, or dark-only `bg-section-lift` for brightness rhythm
+- Surfaces: `border-surface`, `shadow-surface-sm|md`, `shadow-floating`, `shadow-hero`, `shadow-glow-sm|primary|lg|media`, `media-frame`
+- CTA panels: `bg-gradient-cta`, `bg-cta-photo-banner` (content panels, not section backgrounds)
+- Hero soft wash: `hero-atmosphere` only on the homepage hero
+- Local emphasis: `local-highlight` / `local-highlight--soft` behind a card, image, title, or CTA panel — never as a section wash
+
+## Forbidden in sections
+
+- Owning page atmosphere (`section-pattern-grid`, `glow-orb`, `SectionAtmosphere`)
+- Opaque `bg-background` / hard `bg-section-muted` slabs that restart the canvas
+- Inline `bg-[radial-gradient(...)]`, custom `box-shadow`, `backdrop-filter`, or grid patterns
+- Per-section lighting that begins/ends inside one block (`glow-orb` bands, large `bg-glow-primary` blobs)
+
+## References
+
+- `docs/design-system/gradients.md`
+- `docs/design-system/sections.md`
+- `components/page-atmosphere.tsx`
diff --git a/.cursor/rules/frontend.mdc b/.cursor/rules/frontend.mdc
new file mode 100644
index 0000000..a632766
--- /dev/null
+++ b/.cursor/rules/frontend.mdc
@@ -0,0 +1,53 @@
+---
+description: Frontend coding standards — tokens, reuse, dark mode, Next.js UI conventions
+globs: app/**/*.{tsx,ts},components/**/*.{tsx,ts},lib/**/*.{ts,tsx}
+alwaysApply: false
+---
+
+# Frontend Rules (Amin Rayan)
+
+Read and follow `docs/design-system/` — especially README, coding-rules, colors, typography, spacing, and quality-checklist.
+
+## Always
+
+- Follow the Design System docs as the single source of truth.
+- Reuse design tokens from `app/globals.css` via semantic Tailwind classes (`bg-primary`, `text-muted-foreground`, `border-border`, …).
+- Reuse `Container`, `layout` (`@/lib/layout`), `type` / `Typography` (`@/lib/typography`), `Button`, and `Card`.
+- Support light and dark themes through CSS variables (never hardcode surfaces).
+- Preserve responsive, mobile-first behavior.
+- Preserve accessibility (focus rings, labels, keyboard, reduced motion).
+- Prefer existing `components/ui/*` primitives over new ones.
+- Use `cn()` for class composition.
+
+## Never
+
+- Create another content container or competing `max-w-*` section shell.
+- Hardcode colors (hex/rgb/hsl) in component classNames.
+- Invent spacing outside the project scale (4–96px tokens).
+- Duplicate Button, Card, Input, or typography systems.
+- Ship inconsistent radii, shadows, or hover timings.
+- Introduce a second header/footer for marketing pages.
+- Bypass the design system for “quick” one-off UI.
+
+## Patterns
+
+```tsx
+import { Container } from "@/components/container";
+import { layout } from "@/lib/layout";
+import { type } from "@/lib/typography";
+import { Button } from "@/components/ui/button";
+import { cn } from "@/lib/utils";
+
+
+
+
عنوان
+
+
+
+```
+
+## References
+
+- `docs/design-system/README.md`
+- `docs/design-system/coding-rules.md`
+- `docs/design-system/quality-checklist.md`
diff --git a/.cursor/rules/layout-container.mdc b/.cursor/rules/layout-container.mdc
new file mode 100644
index 0000000..41a5c65
--- /dev/null
+++ b/.cursor/rules/layout-container.mdc
@@ -0,0 +1,45 @@
+---
+description: Global layout container rules for all page sections and blocks
+globs: app/**/*.tsx,components/**/*.tsx
+alwaysApply: false
+---
+
+# Layout & Container Rules
+
+Every imported or newly created block MUST follow the site's global layout container.
+
+Full documentation: `docs/design-system/layout.md`, `docs/design-system/container.md`, `docs/design-system/sections.md`.
+
+## Shared tokens
+
+Use `Container` from `@/components/container` and tokens from `@/lib/layout`:
+
+- `layout.container` / `` — `mx-auto w-full max-w-[76.8rem] px-6`
+- `layout.sectionY` — vertical section rhythm (`py-16 md:py-20`; adjacent gap = 8rem / md:10rem)
+- `layout.sectionTopWithHeader` — first section under the fixed header (`pt-28 pb-16 md:pt-32 md:pb-20`)
+- `layout.scrollMargin` — for in-page anchors under the fixed header
+
+## Rules
+
+- Never let a block extend beyond the site's main content width (`max-w-[76.8rem]`).
+- Always use the project's standard container width, max-width, and horizontal padding (`px-6`).
+- Preserve consistent left and right alignment with all other sections.
+- Do not use a different container size unless explicitly required by the design.
+- Full-width backgrounds are allowed, but the content inside must remain constrained to ``.
+- Maintain consistent spacing between sections via `layout.sectionY`.
+- Prefer `section-shell` + optional `section-decor` / `section-content` for atmospheric sections.
+- If a Shadcn/Tailark block has its own container or max-width, replace it with `` / `layout.container`.
+- Remove any hardcoded width, max-width, or horizontal padding that conflicts with the site's layout.
+- Before finishing a block, verify visual alignment with previous/next sections.
+
+## Pattern
+
+```tsx
+
+
+ {/* section content */}
+
+
+```
+
+Inner text measure (`max-w-xl`, `max-w-3xl` on a heading/paragraph) is fine for readability — do not use those as section shells.
diff --git a/.cursor/rules/shadcn.mdc b/.cursor/rules/shadcn.mdc
new file mode 100644
index 0000000..6dd3cd8
--- /dev/null
+++ b/.cursor/rules/shadcn.mdc
@@ -0,0 +1,47 @@
+---
+description: Adapt Shadcn/Tailark imports to Amin Rayan design system — never ship vendor styles as-is
+globs: components/**/*.tsx,components/ui/**/*.tsx
+alwaysApply: false
+---
+
+# Shadcn / Tailark Adaptation Rules
+
+Any imported or regenerated Shadcn UI / Tailark / marketing block MUST be adapted to this project before it is considered done. See `docs/design-system/shadcn.md`.
+
+## Always
+
+- Replace vendor containers (`container`, `max-w-5xl`, foreign `px-*`) with `` / `layout.container`.
+- Apply `layout.sectionY` on the outer section (plus `section-shell` / `bg-section-*` when appropriate).
+- Remap colors to semantic tokens (`primary`, `background`, `foreground`, `muted-foreground`, `border`, …).
+- Remap headings/body to `type.*` / ``.
+- Wire CTAs through `@/components/ui/button`.
+- Prefer `@/components/ui/card` for card-like panels.
+- Align radius/shadow/hover/transition with existing primitives.
+- Verify light and dark themes.
+- Verify alignment against header/footer.
+- Keep Radix accessibility behaviors intact.
+
+## Never allow
+
+- Random spacing, colors, typography, containers, or shadows from the vendor example.
+- Purple / indigo / zinc marketing palettes left in place.
+- Parallel button CSS or unstyled native buttons for primary CTAs.
+- Nested competing max-width shells.
+- New global CSS files for a single imported block without necessity.
+- Shipping the block “to restyle later.”
+
+## Transform sketch
+
+```tsx
+// Vendor → Project
+// max-w-5xl px-4 py-24 → inside section with layout.sectionY
+// bg-indigo-600 button →