Global Design System
Responsive rules
Mobile-first defaults, breakpoint policy, and the global CSS guards.
Complete
Mobile-first by default. 14 global CSS guards + the §15 mobile polish layer + the §17 margin tightening v2 patch handle every common responsive issue without per-page authoring.
Breakpoints
- ≥1440px · Desktop
- Full grid: 3-up or 4-up cards, sticky sidebars, full chrome.
- 1024px · Laptop
- Sticky sidebars activate (e.g. Docs sidebar). 3-up listing grids.
- 768px · Tablet portrait
- 2-up listing grids. Mobile menu still in effect on header.
- 640px · Mobile large
- Polish layer §15 kicks in below this. All `py-*`, `gap-*`, and `mb-*` utilities compress.
- 375px · Mobile small
- Section §16 tighter compression. Card padding 0.75rem. Cap on swipe-scroll card count.
14 global CSS guards (§14 in styles.scss)
- `html, body { max-width: 100%; overflow-x: hidden }` — eliminates accidental horizontal scroll.
- `body { word-wrap: break-word }` — long URLs / hashtags wrap instead of overflowing.
- `img, svg, video, iframe { max-width: 100%; height: auto }` — media never bleeds.
- iOS auto-zoom prevention: form inputs forced to `font-size: 16px` below 640px.
- 44px touch targets via `@media (hover: none) and (pointer: coarse)`.
- Hero line-height tightens to 1.1 on mobile.
- `.no-mobile` utility hides decorative content below 640px.
- Smooth momentum scroll on iOS for horizontal scrollers.
- Sticky sidebars release to `position: static` below 1024px.
- RTL `.icon-flip` mirrors chevrons / arrows automatically.
- Hover transforms disabled on touch devices.
- Footer link text wraps cleanly via `overflow-wrap: anywhere`.
- `.btn-mobile-full` utility stretches buttons to 100% below 480px.
- Universal `.grid > * { min-width: 0 }` — prevents grid track overflow from long content.
