- Split `isResidentialProjectsEnabledServer` out of the `'use client'`
hook file into `lib/feature-flags/residential-projects.ts` so Server
Components can import it without Next.js treating it as a client ref.
- Detail endpoint preserves `media` via new `shapeProjectDetail`
instead of stripping it in `shapeProject`.
- `fetchProjectBySlug` now normalizes the response: fills missing
arrays (media, blocks, amenities, priceRanges, priceHistory,
neighborhoodScores, pois, documents) with `[]`, remaps
`developer.logo` → `logoUrl`, defaults `totalProjects` to 0.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>