Rewrite tools/build_listings.py to treat the Blog, Projects and News detail
pages as the single source of truth. It now regenerates:
- the News hub grid (all items, newest first, correct dates from ARTICLE_DATES)
- the homepage "Latest news" block (top 3)
both marker-wrapped. Previously the News hub was hand-maintained with drifted,
hardcoded dates and only some blog posts; now adding a blog/event and running
the script flows through to News and the homepage automatically.
Card links/images are root-relative so they work on any host.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>