/* Blog pages: builds on legal.css (colors, type, layout). */
.site-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.site-head nav { display:flex; align-items:center; gap:18px; font-size:15px; }
.site-head nav a { color:var(--text); text-decoration:none; font:500 15px "DM Sans", ui-sans-serif, -apple-system, "Segoe UI", sans-serif; }
.site-head nav a.try { color:var(--bg); background:var(--accent); padding:7px 16px; border-radius:999px; font-weight:600; }
.lead { font-size:18px; }
.meta { color:var(--muted); font-size:14.5px; margin:0 0 28px; }
kbd { font:13px ui-monospace, SFMono-Regular, Menlo, monospace; border:1px solid var(--line); border-bottom-width:2px; border-radius:6px; padding:1px 6px; background:color-mix(in srgb, var(--line) 35%, transparent); }
.tip { border-left:3px solid var(--accent); padding:4px 0 4px 16px; margin:22px 0; }
.cta { display:inline-block; margin:8px 0 4px; padding:12px 22px; border-radius:999px; background:var(--accent); color:var(--bg); font-weight:600; text-decoration:none; }
.posts { list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px; }
.posts a { display:block; padding:18px 20px; border:1px solid var(--line); border-radius:14px; color:var(--text); text-decoration:none; transition:border-color .15s; }
.posts a:hover { border-color:var(--accent); }
.posts b { display:block; font:600 20px/1.3 "Fraunces", Georgia, serif; margin-bottom:4px; }
.posts span { color:var(--muted); font-size:15px; }
.next { margin-top:40px; padding-top:20px; border-top:1px solid var(--line); }
.site-foot { margin-top:56px; padding-top:20px; border-top:1px solid var(--line); display:flex; gap:18px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.site-foot a { color:var(--muted); }
