# Sections
Every major page band is a **section** with shared shell, rhythm, and background language.
## Required pattern
```tsx
import { Container } from "@/components/container";
import { layout } from "@/lib/layout";
import { type, typeSpacing } from "@/lib/typography";
import { cn } from "@/lib/utils";
{/* optional ambient glow */}
{/* section body */}
```
## One job per section
- One purpose, one headline, usually one supporting sentence.
- Do not combine unrelated marketing goals in a single band.
- Secondary actions belong in the CTA group, not as parallel headline systems.
## Background variants
| Utility | Intent |
| --- | --- |
| `bg-section-canvas` | Default continuous wash (subtle primary tint) |
| `bg-section-muted` | Soft muted band (replaces hard gray patches) |
| `bg-gradient-hero` | Hero atmosphere |
| `bg-gradient-featured` | Featured / highlight band |
| `bg-gradient-cta` | Strong brand CTA panel |
| `bg-background` | Flat canvas when wash is unnecessary |
Alternate canvas ↔ muted between adjacent sections to create rhythm without hard blocks.
## Vertical rhythm
- Use `layout.sectionY` (`py-16 md:py-20`) so every block-to-block gap is the same (8rem / md:10rem).
- First section under header: `layout.sectionTopWithHeader` (homepage hero uses this too).
- Anchors: always add `layout.scrollMargin`.
## Intro block
Prefer centered or start-aligned intro using `typeSpacing.sectionStack`:
- Eyebrow → Heading → Section intro
- Constrain measure with `max-w-2xl` / `max-w-3xl` on the **intro only**
## Decorative layers
```tsx
```
Rules:
- Must sit in `.section-decor`.
- `pointer-events-none`, no layout participation.
- Never `position: fixed` for section atmosphere.
- Opacity kept low (see [gradients.md](./gradients.md)).
## Motion
Wrap section bodies with `MotionReveal` / `MotionRevealItem` for scroll entrance. Keep stagger ≤ ~8 children.
## Forbidden
- Random `py-12` / `py-24` section padding.
- Hard `bg-gray-100` patches disconnected from `bg-section-*`.
- Multiple competing H2s in one section.
## Related
- [layout.md](./layout.md)
- [gradients.md](./gradients.md)
- [footer.md](./footer.md)