/* TidyCheck blog — unify to the site-wide light "official document" register.
   Loaded AFTER each blog page's inline <style> so these corrections win.
   Brings the blog's island components (rounded cards, pill tags, dark CTA box)
   into the square-corner, hairline, tracked-caps system used site-wide.
   Elevation matches style.css: kerning + ligatures + legibility rendering.

   Colours come from the ledger tokens, not from repeated hex literals. Every
   swap below is byte-identical to the value it replaced (F0F0EC = --paper,
   FFFFFF = --card, B8B8B0 = --line, 080808 = --ink, 5A5A5A = --muted,
   3A6B94 = --accent under data-project="tidycheck"), so this changes nothing
   on screen and removes four more places the palette could drift. The four
   values with no token yet (#F2F2ED, #E9E9E3, #FBFAF6, #2A2A26) are left as
   literals rather than bent onto a token that does not match them. */

body {
  background: var(--paper);
  padding: 0;               /* ledger base pads body; blog pages own their gutters */
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  font-variant-numeric: lining-nums;
  text-rendering: optimizeLegibility;
}

/* ---- Index hero: tighten display tracking to the shared display token ---- */
.hero h1 { letter-spacing: -0.03em; line-height: 1.05; }
.hero p { color: var(--muted); text-wrap: pretty; }

/* ---- Article cards: square, hairline, one restrained hover (Pro-card language) ---- */
.blog-grid { gap: 20px; }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: 0;
  box-shadow: none; transition: border-color 0.2s;
}
.card:hover { box-shadow: none; border-color: var(--ink); }

/* Category tag → tracked-caps accent label, not a pill (matches every seal). */
.card .tag {
  background: transparent; padding: 0; border-radius: 0;
  font-size: 11px; font-weight: 600; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--accent);
}
.card .meta { color: var(--muted); font-variant-numeric: tabular-nums lining-nums; }
.card h2 { letter-spacing: -0.015em; }

/* ---- Article body: tighten heading tracking, align measure ---- */
.article-header h1 { letter-spacing: -0.03em; line-height: 1.15; }
.article-header .meta { font-variant-numeric: tabular-nums lining-nums; }
.affiliate-disclosure {
  margin: 0 0 28px; padding: 12px 16px;
  border-left: 2px solid var(--accent); background: #F2F2ED;
  color: var(--muted);
}
article h2 { letter-spacing: -0.02em; }
article blockquote { border-left-width: 2px; }

/* ---- CTA box: light document panel, square, ink button (retire the dark island) ---- */
.cta-box {
  background: #E9E9E3; color: var(--ink); border: 1px solid var(--line);
  border-radius: 0;
}
.cta-box h2 { color: var(--ink); letter-spacing: -0.02em; }
.cta-box p { color: var(--muted); }
.cta-box .btn {
  background: var(--ink); color: #FBFAF6; border-radius: 0; letter-spacing: 0.01em;
}
.cta-box .btn:hover { background: #2A2A26; }

/* ---------- Prose type — see site.css. Article body copy in the serif. ---- */
article p, article li, article blockquote,
.cta-box p,
.hero p {
  font-family: var(--font-copy);
}
