## Images
- [ ] All use next/image with AVIF+WebP enabled
- [ ] The LCP image preloads (Next 16 `preload` / Next 15 `priority`) — exactly one per route
- [ ] All have width/height (or `fill` + `sizes`)
- [ ] `sizes` set so phones don't download desktop-sized sources
- [ ] Blur placeholders for product images
