The widths where layouts reflow, and how components adapt across them.
Most of the layout never waits for a breakpoint — type and spacing scale continuously with clamp(), so a design that fits at 1280px still breathes at 1440px. Breakpoints are for the moments a layout must genuinely reflow: a rail that has to fold, a grid that has to drop tracks.
| Token | Value | Trigger |
|---|---|---|
| --bp-sm | 480px | Single column, drawer nav |
| --bp-md | 768px | Grid toward 6 tracks, rails fold |
| --bp-lg | 1024px | Docs rail, two-column layouts |
| --bp-xl | 1280px | Container cap reached |
Start at the smallest width and add columns as space allows. It's far easier than removing them later.
If a value can scale smoothly, use clamp(). Save hard breakpoints for structural reflows.
sm, md, lg, xl cover every layout in the system. More breakpoints mean more states to test and keep honest.