diff --git a/README.md b/README.md
index 52cf9b2..62b4701 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
Made by Together AI.
-
+
Hallmark picks a macrostructure for the brief, dresses it in one of twenty themes, runs fifty-seven slop-test gates plus a pre-emit self-critique, and refuses the on-distribution defaults every LLM was trained into. Two pages by Hallmark for two different briefs feel like different sites, not colour-swaps of the same template.
@@ -21,17 +21,17 @@ Hallmark picks a macrostructure for the brief, dresses it in one of twenty theme
| *(default)* | Build new UI. Picks a macrostructure, applies the rule-set, runs the slop test before handing back. |
| `hallmark audit ` | Score existing code against the anti-patterns. Punch list, no edits. |
| `hallmark redesign ` | Throw out the structure, keep copy + IA + brand, rebuild with a different fingerprint. |
-| `hallmark study ` | Extract the **DNA** from a design you admire — macrostructure, type-pairing, colour anchor. Refuses pixel-clones and paid templates. Optionally emits a portable `design.md` for handoff to other AI tools. |
+| `hallmark study ` | Extract the **DNA** from a design you admire: macrostructure, type-pairing, colour anchor. Refuses pixel-clones and paid templates. Optionally emits a portable `design.md` for handoff to other AI tools. |
---
## Different briefs, different shapes
-Each generated by exercising the skill on a different brief. The skill picks differently every time — no two share a macrostructure or theme.
+Each generated by exercising the skill on a different brief. The skill picks differently every time. No two share a macrostructure or theme.
-
+
@@ -62,26 +62,17 @@ Each page is self-contained HTML + CSS, stamped with its macrostructure in the C
## Custom NEW
-Most briefs route to the catalog. But when a brief carries real creative intent — a named brand colour, a vibe the catalog can't carry, or a layout that *is* the point — Hallmark switches to **Custom** and designs the whole page from first principles: a made-to-measure OKLCH palette, a free-font pairing, and a structure no catalog theme would produce. Same fifty-seven slop-test gates. No template underneath.
+Most briefs route to the catalog. But when a brief carries real creative intent (a named brand colour, a vibe the catalog can't carry, or a layout that *is* the point) Hallmark switches to **Custom** and designs the whole page from first principles: a made-to-measure OKLCH palette, a free-font pairing, and a structure no catalog theme would produce. Same fifty-seven slop-test gates. No template underneath.
-Four one-line briefs, four pages that share nothing:
+One brief, one page that looks like nothing else in the catalog:
-
-
-
-
-
-
-
-
-
Setting the Night Edition Letterpress poem broadside
-
The Cascadia Nightjar Sleeper-train ticket
-
Ferns & Fathom Tea menu as a periodic table
-
The Mend Assembly Repair-café manifesto poster
-
-
+
+
+
-Custom stays a quiet branch — vanilla briefs never see it. The protocol lives in [`custom-theme.md`](skills/hallmark/references/custom-theme.md).
+
The Mend Assembly · a repair-café manifesto poster, designed from first principles
+
+Custom stays a quiet branch. Vanilla briefs never see it. The protocol lives in [`custom-theme.md`](skills/hallmark/references/custom-theme.md).
---
@@ -93,9 +84,9 @@ npx skills add nutlope/hallmark
Re-run any time to update. Or copy [`SKILL.md`](skills/hallmark/SKILL.md) + [`references/`](skills/hallmark/references/) into:
-- **Claude Code** — `~/.claude/skills/hallmark/`
-- **Cursor** — `.cursor/rules/hallmark.mdc` (body of `SKILL.md`, no frontmatter)
-- **Codex** — `~/.codex/skills/hallmark/` (personal) or `.codex/skills/hallmark/` (project-scoped)
+- **Claude Code**: `~/.claude/skills/hallmark/`
+- **Cursor**: `.cursor/rules/hallmark.mdc` (body of `SKILL.md`, no frontmatter)
+- **Codex**: `~/.codex/skills/hallmark/` (personal) or `.codex/skills/hallmark/` (project-scoped)
The rule-set lives in [`SKILL.md`](skills/hallmark/SKILL.md) and [`references/`](skills/hallmark/references/). Worked examples in [`docs/recipes.md`](docs/recipes.md) and [`docs/study-examples.md`](docs/study-examples.md).
diff --git a/site/_tests/_thumbs/carnival-01.jpg b/site/_tests/_thumbs/carnival-01.jpg
index 48400bd..4cd40ad 100644
Binary files a/site/_tests/_thumbs/carnival-01.jpg and b/site/_tests/_thumbs/carnival-01.jpg differ
diff --git a/site/_tests/_thumbs/cobalt-01.jpg b/site/_tests/_thumbs/cobalt-01.jpg
index fa71e13..a6d7543 100644
Binary files a/site/_tests/_thumbs/cobalt-01.jpg and b/site/_tests/_thumbs/cobalt-01.jpg differ
diff --git a/site/_tests/_thumbs/custom-04.jpg b/site/_tests/_thumbs/custom-04.jpg
index 45e0184..2b4b8f4 100644
Binary files a/site/_tests/_thumbs/custom-04.jpg and b/site/_tests/_thumbs/custom-04.jpg differ
diff --git a/site/_tests/_thumbs/hum-07.jpg b/site/_tests/_thumbs/hum-07.jpg
index ac16dad..b7ae648 100644
Binary files a/site/_tests/_thumbs/hum-07.jpg and b/site/_tests/_thumbs/hum-07.jpg differ
diff --git a/site/_tests/_thumbs/lumen-01.jpg b/site/_tests/_thumbs/lumen-01.jpg
index 777e124..a7ddac2 100644
Binary files a/site/_tests/_thumbs/lumen-01.jpg and b/site/_tests/_thumbs/lumen-01.jpg differ
diff --git a/site/css/components.css b/site/css/components.css
index d4d5949..b89099c 100644
--- a/site/css/components.css
+++ b/site/css/components.css
@@ -3796,6 +3796,20 @@ html[data-theme="aurora"] body {
.ex-card__thumb video { transition: none; }
}
+/* Hover scroll for the image cards (the four new themes + the bespoke build).
+ The thumb is a tall full-page screenshot; on hover we pan object-position
+ top → bottom so the page "scrolls" itself. Pure CSS, GPU-light, no video
+ decode. Touch devices and reduced-motion get a static top crop. Only the
+ cards scroll; the original