Same root-cause fix as hype404: dropped the card-wide outer <a> that
was being auto-closed by the browser due to nested tag <a> links.
Card now uses a stretched-link pattern on the title (z-index: 1
::after overlay), tag links get z-index: 2 for independent clicks.
Grid container moved from .post-hero-link / .post-row-link onto
.post-hero / .post-row directly. Added min-width: 0 to grid items so
the image natural width can't blow out its 1.1fr track. Hero image
uses min-height: 360px instead of an undersized 280px.
Mobile media query selectors updated (the -link wrappers no longer
exist).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Same magazine-style PostList as hype404: hero card for top story,
image-row cards for the rest. Posts without /images/* covers render
text-only via CSS :has() fallback. Adds .post-hero / .post-row CSS
to the existing light theme using the magenta accent var.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>