Audit and fix responsiveness across the specified section or page(s).
Target: $ARGUMENTS
If no target is provided, audit the homepage and its constituent sections.
Before Starting
- Read
docs/design/DESIGN.md— layout tokens:--container-max: 1200px,--prose-max: 680px,--section-y-sm: 80px,--section-y-lg: 120px. Breathing Layout rule. - Read
src/app/globals.css— verify layout tokens exist. - Read
src/components/primitives/container.tsx— Container responsive padding. - Read
src/components/primitives/section.tsx— Section spacing tokens.
Breakpoints
Movemental uses Tailwind's mobile-first breakpoints:
- Mobile: 0-639px (default styles)
- sm: 640px+
- md: 768px+
- lg: 1024px+
- xl: 1280px+
Audit Checklist
1. LAYOUT INTEGRITY
- No horizontal overflow at any breakpoint (check for
overflow-xissues) -
Containercomponent used consistently (max-w-[var(--container-max)]+ responsive padding) - Grid layouts collapse gracefully:
sm:grid-cols-2,lg:grid-cols-3, etc. - No fixed widths that break below
375pxmobile -
FeatureSplitstacks at<lgbreakpoint - Images scale properly with
fill+ responsivesizesattribute
2. TYPOGRAPHY SCALING
- Body text minimum 16px at all breakpoints
- Display headings use responsive fluid sizing (via
clamp()or breakpoint variants) - Line length capped at
--prose-max(680px) for readability - No text truncation that hides meaningful content
3. TOUCH & INTERACTION
- All tap targets minimum 44x44px on mobile
- Buttons have adequate padding (at least
py-3 px-6on mobile) - Links have sufficient spacing to avoid mis-taps
- Navigation accessible on mobile (hamburger menu, sheet/drawer)
4. SECTION SPACING
-
Sectioncomponent usesspacing="sm"(80px) orspacing="lg"(120px) - No sections with custom padding that breaks the rhythm
- Hero sections have adequate top padding accounting for fixed nav (
pt-[calc(4rem+...)])
5. IMAGES & MEDIA
- All images use
next/imagewithfillor explicit responsive dimensions -
sizesattribute is meaningful (not just100vwon all images) - Aspect ratios maintained across breakpoints
- No images that stretch or crop unattractively at different widths
6. NAVIGATION
- Desktop nav works at
md+with proper link spacing - Mobile nav activates below
mdwith hamburger trigger - Fixed nav doesn't overlap content
- Footer responsive layout (stacks on mobile, grid on desktop)
Output Format
## Responsive Audit: [target]
### Breakpoint Pass/Fail Matrix
| Component | 375px | 640px | 768px | 1024px | 1280px |
|-----------|-------|-------|-------|--------|--------|
### Issues Found
1. [SEVERITY] — [breakpoint] — description — file:line
Fix: specific Tailwind change
### Fixes Applied
- file.tsx:line — [before] → [after]
Rules
- Test at all 5 breakpoints minimum: 375px, 640px, 768px, 1024px, 1280px.
- Mobile-first: ensure default (no prefix) styles work at 375px. Add
sm:,md:,lg:for wider. - If Chrome DevTools MCP is available, take screenshots at each breakpoint for visual verification.
- The
Containerprimitive handles responsive padding — don't add custompx-*around it. - Breathing Layout rule (DESIGN.md): if a component feels crowded, increase padding — never shrink type to fit.