/* Publishing content only: existing site chrome and hero stay in styles.css. */
.blog-highlights { padding-top:24px; padding-bottom:32px; }
.blog-highlights h2 { font-size:1.6rem; }
.blog-highlights h3 { font-size:1.65rem; }
.blog-archive { padding:24px 0 64px; }
.blog-filters { display:flex; flex-wrap:wrap; gap:12px 24px; padding:8px 0 20px; }
.blog-filters a { padding:8px 0; }
.blog-filters [aria-current=page] { font-weight:700; text-decoration-thickness:2px; }
.blog-posts { list-style:none; padding:0; margin:0; }
.blog-posts li { padding:24px 0; border-top:1px solid var(--line); }
.blog-posts article { max-width:70ch; }
.blog-posts h3 { margin:8px 0; }
.blog-article { max-width:72ch; margin-inline:auto; padding:36px 0 64px; overflow-wrap:anywhere; }
.blog-article .page-intro { padding:32px 0 20px; }
.blog-article h1 { font-size:clamp(2.2rem,5vw,3.8rem); }
.blog-body { font-size:1.08rem; line-height:1.8; }
.blog-body h2,.blog-body h3,.blog-body h4 { margin-top:1.4em; }
.blog-body h2 { font-size:2rem; }
.blog-article figure { margin:28px 0; }
.blog-article figure img { display:block; max-width:100%; height:auto; }
.blog-article figcaption,.blog-article time,.blog-posts time,.blog-highlights time { color:var(--muted); font-size:.9rem; }
.blog-back { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:32px; }
.blog-draft { border-left:3px solid var(--olive); padding:12px 16px; background:#eaece5; color:var(--ink); }
/* Darker dusty pink keeps small category labels readable on cream. */
.blog-highlights .tag,.blog-posts .tag,.blog-article .tag { color:#805157; }

/* Two editorial streams; public hero and site chrome remain untouched. */
.blog-jumps { display:flex; flex-wrap:wrap; gap:12px 28px; padding:0 0 24px; }
.blog-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; padding-bottom:64px; }
.blog-column { min-width:0; border-top:1px solid var(--line); padding-top:28px; }
.blog-column > header h2 { font-size:clamp(2rem,3.4vw,3rem); margin:10px 0 24px; }
.blog-column > header > p { color:var(--muted); margin-bottom:28px; }
.blog-column .tag { color:#805157; font-size:.72rem; }
.blog-column .blog-posts article { overflow-wrap:anywhere; }
.blog-column .blog-posts h3 { font-size:1.65rem; }
.blog-column .blog-posts h3 a { text-decoration:none; }
.blog-column .blog-posts h3 a:hover { text-decoration:underline; }
.blog-column .blog-posts p { margin-top:12px; }
.blog-browse { display:inline-block; margin-top:24px; }
.blog-empty { margin:28px 0; color:var(--muted); }
.blog-read { font-size:.95rem; }
.blog-search { padding:20px 0; max-width:720px; }
.blog-search[hidden] { display:none; }
.blog-search label { display:block; margin-bottom:8px; }
.blog-search > div { display:flex; flex-wrap:wrap; gap:10px; }
.blog-search input { min-width:0; flex:1 1 240px; background:#fffefb; color:var(--ink); font:inherit; border:1px solid #909b89; border-radius:3px; padding:10px 12px; }
.blog-search input:focus-visible { outline:3px solid var(--olive); outline-offset:3px; }
.blog-search button,.blog-pagination button { background:var(--olive); color:white; font:inherit; border:1px solid var(--olive); border-radius:3px; padding:10px 16px; cursor:pointer; }
.blog-pagination { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding-top:24px; }
.blog-pagination a { padding:8px 12px; }
.blog-pagination [aria-current=page] { font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.blog-pagination button[aria-current=page] { background:var(--paper); color:var(--ink); }
@media(max-width:700px) { .blog-columns { grid-template-columns:minmax(0,1fr); gap:48px; } }
