/* RAZIO blog-specific styles, layered on top of vs.css tokens. */
.postlist { margin-top:40px; border-top:1px solid var(--line); }
.postcard { display:block; text-decoration:none; color:inherit; padding:30px 0; border-bottom:1px solid var(--line); transition:padding-left .18s ease; }
.postcard:hover { padding-left:10px; }
.postcard .kicker { font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); display:flex; gap:14px; flex-wrap:wrap; }
.postcard .kicker .tag { color:var(--signal); }
.postcard h2 { font-size:clamp(21px,2.4vw,27px); line-height:1.14; letter-spacing:-.015em; margin:12px 0 0; max-width:28ch; }
.postcard p { color:var(--ink-2); margin:10px 0 0; max-width:66ch; font-size:15.5px; }
.postcard .more { font-family:var(--mono); font-size:13px; color:var(--accent); margin-top:14px; display:inline-block; }
.postcard:hover .more { text-decoration:underline; }

.postmeta { font-family:var(--mono); font-size:12.5px; color:var(--ink-2); margin-top:20px; display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.postmeta .tag { color:var(--signal); }
.postmeta .dot { opacity:.5; }

.article { max-width:68ch; }
.article h2 { font-size:clamp(22px,2.8vw,30px); line-height:1.14; margin:46px 0 0; }
.article h3 { font-size:19px; margin:32px 0 0; letter-spacing:-.01em; }
.article p { color:var(--ink-2); margin:16px 0 0; }
.article p strong { color:var(--ink); }
.article ul, .article ol { color:var(--ink-2); margin:16px 0 0; padding-left:22px; }
.article li { margin:9px 0; }
.article li strong { color:var(--ink); }
.article blockquote { margin:28px 0 0; padding:4px 0 4px 22px; border-left:3px solid var(--signal); color:var(--ink); font-size:19px; line-height:1.5; }
.article a { color:var(--accent); }
.article .fine { margin-top:22px; }
