The search bar had its own border-b which stacked with the header's
border-b once the category tabs row was removed. Drop the redundant
one from the search bar.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tabs now reflect only categories that actually have posts, so stale
entries like Noir can't appear.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remove all BEM component classes (hero__*, card__*, issue-card__*, foot__*,
masthead__*, searchpop__*, lb__*) from CSS and templates. Replace with
Tailwind v4 utility classes inline in HTML. Create card.html partial to
avoid repeating verbose utility strings across grid templates. Rename
lightbox CSS to flat lb-* and search popup to sp-*.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use Hugo's `issue = "issues"` taxonomy so each post carries
`issues: ["01"]` in frontmatter. Issue pages live at /issues/01/
with a dedicated _index.md holding title, season, and description.
The /issues/ archive page uses data/issues.json for forthcoming
entries that have no posts yet.
Layouts:
- layouts/issues/list.html → plate grid for a single issue term
- layouts/issues/terms.html → issues archive (new)
- _default/single.html → scopes grid to issue term page, back-link to /issues/01/
- baseof.html → ribbon links to /issues/01/, JSON island includes issue field
- partials/header.html → Issues link → /issues/
JS:
- lbClose() navigates to /issues/${issueId}/ on a single-post page
- lightbox meta panel shows linked Issue fact
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>