diff --git a/components/ui/FaqItem.tsx b/components/ui/FaqItem.tsx
index 3322a8a..2a956cc 100644
--- a/components/ui/FaqItem.tsx
+++ b/components/ui/FaqItem.tsx
@@ -27,16 +27,10 @@ export function FaqItem({
style={{ "--reveal-delay": `${delay}ms` }}
className="grid grid-cols-1 gap-3 py-6 @xl:grid-cols-12 @xl:gap-8 @xl:py-8"
>
-
+
{q}
-
+
{highlightBrand(a)}
diff --git a/components/ui/Figure.tsx b/components/ui/Figure.tsx
index 0558cb3..6d367b0 100644
--- a/components/ui/Figure.tsx
+++ b/components/ui/Figure.tsx
@@ -2,10 +2,7 @@ export function Figure({ label, value }: { label: string; value: string }) {
return (
{label}
-
+
{value}
diff --git a/components/ui/Frame.tsx b/components/ui/Frame.tsx
index 5e67901..942428f 100644
--- a/components/ui/Frame.tsx
+++ b/components/ui/Frame.tsx
@@ -20,17 +20,9 @@ export function Frame({ id, tone, className = "", children }: FrameProps) {
-
+
{children}
diff --git a/components/ui/MethodRow.tsx b/components/ui/MethodRow.tsx
index 9a6bf8a..a4673e4 100644
--- a/components/ui/MethodRow.tsx
+++ b/components/ui/MethodRow.tsx
@@ -16,16 +16,10 @@ export function MethodRow({
className="grid grid-cols-1 gap-4 py-7 @xl:grid-cols-12 @xl:gap-10 @xl:py-10"
>
{n}
-
diff --git a/components/ui/Pill.tsx b/components/ui/Pill.tsx
index a40f47d..1b7a24b 100644
--- a/components/ui/Pill.tsx
+++ b/components/ui/Pill.tsx
@@ -9,7 +9,7 @@ import type { ReactNode } from "react";
*/
export function Pill({ children }: { children: ReactNode }) {
return (
-
+
{children}
);
diff --git a/components/ui/PostRow.tsx b/components/ui/PostRow.tsx
index 8e9f49c..44ab8ea 100644
--- a/components/ui/PostRow.tsx
+++ b/components/ui/PostRow.tsx
@@ -12,12 +12,13 @@ import { Pill } from "./Pill";
export const BLOG_GRID_COLS =
"@xl:grid-cols-[2.5rem_7.5rem_minmax(0,1fr)_6.5rem_1.5rem] @xl:gap-x-8";
-// Lowercase meta text — like `.meta` but without its forced uppercase
-// (`02 · 08 min` reads lowercase) and at a tighter tracking. `.meta` is
-// an unlayered rule we can't override per-call. Bakes in `tabular-nums`
-// so figures align down the column. Shared with the post page.
+// Lowercase meta text — same size as `.meta` (the shared `text-micro`
+// token) but without its forced uppercase (`02 · 08 min` reads lowercase)
+// and at a tighter tracking. `.meta` is an unlayered rule we can't
+// override per-call. Bakes in `tabular-nums` so figures align down the
+// column. Shared with the post page.
export const META =
- "text-[0.6875rem] leading-[1.3] font-medium tracking-[0.16em] tabular-nums";
+ "text-micro leading-[1.3] font-medium tracking-[0.16em] tabular-nums";
export function PostRow({ post, delay }: { post: PostMeta; delay: number }) {
const num = seriesLabel(post.seriesNumber);
@@ -59,10 +60,7 @@ export function PostRow({ post, delay }: { post: PostMeta; delay: number }) {
{/* title · summary · tags */}
-
+
{post.title}
{/* terminal-prompt cursor — echoes the "field notes_" page
title; sits invisible (reserving its width so hover never
@@ -76,10 +74,7 @@ export function PostRow({ post, delay }: { post: PostMeta; delay: number }) {
_
-
+
{post.summary}
{tags.length > 0 && (