/* Blog-only styles. Loaded after site.css, which supplies the tokens and chrome. */

/* ---------- blog index ---------- */
.blog-hero{padding:72px 0 56px;border-bottom:1px solid var(--rule)}
.blog-hero h1{font-size:clamp(34px,5vw,52px);margin-bottom:18px;letter-spacing:-.022em}
.blog-hero p{max-width:640px;font-size:19px}

.post-list{border-top:1px solid var(--rule)}
.post-row{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:36px;padding:30px 0;border-bottom:1px solid var(--rule)}
.post-row .side{font-size:14px;color:var(--ink-mute)}
.post-row .side .cat{display:block;font-weight:600;letter-spacing:.07em;text-transform:uppercase;font-size:12px;color:var(--teal-dark);margin-bottom:6px}
.post-row h2{font-size:24px;line-height:1.25;margin-bottom:10px}
.post-row h2 a{color:var(--ink);text-decoration:none}
.post-row h2 a:hover{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}
.post-row p{margin-bottom:0}

.pagination{display:flex;gap:8px;justify-content:center;align-items:center;padding:44px 0 0;flex-wrap:wrap}
.pagination a,.pagination span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule);border-radius:2px;font-size:15px;font-weight:600;padding:0 14px;text-decoration:none}
.pagination a{color:var(--ink-soft)}
.pagination a:hover{border-color:var(--ink);color:var(--ink)}
.pagination .current{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- article ---------- */
.article-head{padding:48px 0 40px;border-bottom:1px solid var(--rule)}
.breadcrumbs{font-size:14px;color:var(--ink-mute);margin-bottom:22px}
.breadcrumbs a{color:var(--ink-mute)}
.breadcrumbs a:hover{color:var(--ink)}
.breadcrumbs span[aria-current]{color:var(--ink-soft)}
.article-head h1{font-size:clamp(30px,4.4vw,46px);max-width:900px;margin-bottom:18px;letter-spacing:-.02em}
.article-meta{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--ink-mute)}
.article-meta .cat{font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--teal-dark)}
.article-meta .sep{color:var(--rule)}

.article-body{max-width:720px;margin:0 auto;padding:48px 28px 64px;font-size:18px}
.article-body>p:first-of-type{font-size:20px;color:var(--ink)}
.article-body p{margin-bottom:22px}
.article-body h2{font-size:29px;margin:44px 0 14px}
.article-body h3{font-size:21px;margin:32px 0 10px}
.article-body ul,.article-body ol{margin:0 0 24px 24px}
.article-body li{margin-bottom:9px}
.article-body blockquote{margin:0 0 24px;padding:0 0 0 28px;font-family:var(--serif);font-size:20px;line-height:1.45;color:var(--ink);text-indent:-14px}
.article-body blockquote p:last-child{margin-bottom:0}
.table-wrap{overflow-x:auto;margin-bottom:26px}
.article-body table{width:100%;border-collapse:collapse;font-size:16px;font-family:var(--sans)}
.article-body th,.article-body td{border-bottom:1px solid var(--rule);padding:11px 14px;text-align:left;vertical-align:top}
.article-body th{color:var(--ink);font-weight:600;border-bottom-width:2px}


.related{border-top:1px solid var(--rule);padding:40px 0 68px}
.related h2{font-size:22px;margin-bottom:20px}
.related ul{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.related li{border-top:1px solid var(--rule);padding-top:14px}
.related li a{font-family:var(--serif);font-size:18px;line-height:1.3;color:var(--ink);text-decoration:none;display:block}
.related li a:hover{color:var(--teal-dark);text-decoration:underline;text-underline-offset:3px}

@media(max-width:820px){
  .related ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-row{grid-template-columns:1fr;gap:8px}
  .post-row .side{display:flex;gap:12px;align-items:baseline}
  .post-row .side .cat{margin-bottom:0}
}
@media(max-width:560px){
  .related ul{grid-template-columns:1fr}
  .article-body{padding:34px 22px 52px;font-size:17px}
  .article-body h2{font-size:25px}
  .blog-hero{padding:48px 0 40px}
}

/* ---------- article hero image ---------- */
.article-hero{margin:0;border-bottom:1px solid var(--rule)}
.article-hero img{width:100%;height:auto;max-height:460px;object-fit:cover;display:block}

/* ---------- per-article FAQ ---------- */
.post-faq{max-width:720px;margin:44px auto 0;padding:0 28px;border-top:1px solid var(--rule)}
.post-faq h2{font-size:26px;margin:36px 0 4px}
.post-faq details{border-bottom:1px solid var(--rule)}
.post-faq summary{padding:18px 0;font-family:var(--serif);font-size:19px;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}
.post-faq summary::-webkit-details-marker{display:none}
.post-faq summary::after{content:"+";font-family:var(--sans);font-size:22px;color:var(--teal-dark);flex-shrink:0}
.post-faq details[open] summary::after{content:"\2212"}
.post-faq .ans{padding:0 0 20px}
.post-faq .ans p:last-child{margin-bottom:0}

/* ---------- closing line ---------- */
.signoff{margin-top:40px;padding-top:22px;border-top:1px solid var(--rule);font-size:16px;color:var(--ink-mute)}

/* ---------- topic chips ---------- */
.tag-list{margin-top:36px;padding-top:22px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tag-list span{font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-mute);margin-right:4px}
.tag-list a{font-size:14px;border:1px solid var(--rule);border-radius:2px;padding:5px 11px;color:var(--ink-soft);text-decoration:none}
.tag-list a:hover{border-color:var(--ink);color:var(--ink)}
