refine(site): Antidote as a visual wall of three anti-pattern examples

Previous layout was a wall of text (three numbered stat rows plus a
side gallery). User feedback: "seeing is believing." Drop the stats
entirely, lead with three big anti-pattern screenshots in a 3-up grid
(Purple Gradients / Cardocalypse / Hero-Metric Template), tight
one-line lead above, footer row with "Browse all 25" link + a small
mono meta line that still carries the key claims (deterministic rules,
LLM layer, browser overlay) in a single sentence.

Images use 4:3 aspect, hover lifts them slightly with a magenta-soft
outline glow, labels are italic display face + mono accent number.
The whole section now reads at a glance: headline + three pictures +
one link.
This commit is contained in:
Paul Bakaus
2026-04-22 14:33:15 -07:00
parent bae622107a
commit 826c6cda05
2 changed files with 138 additions and 52 deletions
+106
View File
@@ -3654,3 +3654,109 @@
font-size: 12px;
margin-top: 6px;
}
/* ============================================
ANTIDOTE — visual-first wall of three
============================================ */
.antidote-content .section-lead {
max-width: 54ch;
margin-bottom: var(--spacing-xl);
}
.antidote-wall {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--spacing-lg);
margin-bottom: var(--spacing-xl);
}
.antidote-wall-card {
display: flex;
flex-direction: column;
gap: var(--spacing-sm);
text-decoration: none;
color: inherit;
transition: transform 260ms var(--ease-out);
}
.antidote-wall-card:hover {
transform: translateY(-4px);
}
.antidote-wall-image {
aspect-ratio: 4 / 3;
overflow: hidden;
border-radius: 8px;
background: var(--color-paper);
border: 1px solid var(--color-mist);
box-shadow: 0 12px 32px oklch(0% 0 0 / 0.08);
transition: box-shadow 260ms var(--ease-out);
}
.antidote-wall-card:hover .antidote-wall-image {
box-shadow: 0 20px 40px oklch(0% 0 0 / 0.14), 0 0 0 1px var(--color-accent-soft);
}
.antidote-wall-image img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}
.antidote-wall-caption {
display: flex;
align-items: baseline;
gap: var(--spacing-sm);
padding: 0 2px;
}
.antidote-wall-num {
font-family: var(--font-mono);
font-size: 0.6875rem;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--color-accent);
}
.antidote-wall-label {
font-family: var(--font-display);
font-style: italic;
font-weight: 400;
font-size: 1.375rem;
line-height: 1.1;
color: var(--color-ink);
letter-spacing: -0.01em;
}
.antidote-foot {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: var(--spacing-lg);
padding-top: var(--spacing-md);
border-top: 1px solid var(--color-mist);
flex-wrap: wrap;
}
.antidote-foot-meta {
font-family: var(--font-mono);
font-size: 0.6875rem;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--color-ash);
}
@media (max-width: 820px) {
.antidote-wall {
grid-template-columns: 1fr;
gap: var(--spacing-md);
}
.antidote-foot {
flex-direction: column;
align-items: flex-start;
gap: var(--spacing-sm);
}
}