/* Scoped to the editorial section; shared navigation keeps the site theme. */
.blog-page { background:var(--bg-secondary); }
.blog-shell { width:100%; max-width:940px; margin:0 auto; padding:48px 24px 60px; }
.blog-shell h1,.blog-shell h2,.blog-shell p,.blog-shell li { word-break:normal; overflow-wrap:anywhere; }
.blog-intro { margin-bottom:28px; }
.blog-intro .section-eyebrow { letter-spacing:.12em; }
.blog-intro h1 { font-size:clamp(2rem,4vw,2.6rem); line-height:1.3; margin:10px 0; }
.blog-intro p { color:var(--text-light); line-height:1.8; }
.blog-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.blog-toolbar[hidden],.blog-card[hidden] { display:none; }
.blog-filters { display:flex; flex-wrap:wrap; gap:8px; }
.blog-filters button { font:inherit; font-size:.9rem; padding:7px 17px; border:1px solid var(--border-color); border-radius:24px; background:var(--bg-color); color:var(--text-light); cursor:pointer; }
.blog-filters button[aria-pressed="true"] { background:var(--primary-color); border-color:var(--primary-color); color:var(--white); }
.blog-filters button:hover { border-color:var(--primary-color); }
.blog-count { color:var(--text-light); font-size:.85rem; white-space:nowrap; }
.blog-list { display:grid; gap:16px; }
.blog-card { border:1px solid var(--border-color); background:var(--bg-color); border-radius:16px; transition:border-color .15s,box-shadow .15s; }
.blog-card:hover { border-color:var(--primary-color); box-shadow:0 6px 20px rgba(79,70,229,.06); }
.blog-card>a { display:block; padding:24px 28px; border-radius:16px; }
.blog-card h2 { font-size:1.15rem; line-height:1.55; margin:0 0 10px; }
.blog-card p { color:var(--text-light); font-size:.95rem; line-height:1.85; margin:0; }
.blog-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin-top:18px; font-size:.8rem; color:var(--text-light); }
.blog-category { display:inline-block; padding:3px 10px; background:var(--primary-soft); color:var(--primary-color); border-radius:6px; font-size:.8rem; font-weight:600; }
.blog-read { margin-left:auto; color:var(--primary-color); font-weight:600; white-space:nowrap; }
.blog-help { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--border-color); padding-top:28px; margin-top:32px; }
.blog-help h2 { font-size:1.05rem; margin-bottom:6px; }
.blog-help p { color:var(--text-light); font-size:.9rem; }
.blog-help>a { color:var(--primary-color); flex-shrink:0; font-weight:600; }
.blog-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; color:var(--text-light); font-size:.85rem; margin-bottom:24px; }
.blog-post { padding:36px 40px; border:1px solid var(--border-color); border-radius:18px; background:var(--bg-color); }
.blog-post h1 { font-size:clamp(1.65rem,3.3vw,2.25rem); line-height:1.45; margin:14px 0; overflow-wrap:anywhere; }
.blog-byline { color:var(--text-light); font-size:.85rem; }
.blog-lead { margin:22px 0 0; color:var(--text-light); line-height:1.9; padding-bottom:24px; border-bottom:1px solid var(--border-color); }
.blog-post>section { margin-top:28px; }
.blog-post h2 { font-size:1.25rem; margin-bottom:12px; }
.blog-post section p,.blog-post li { line-height:1.95; margin-bottom:12px; }
.blog-post ol { padding-left:1.5em; }
.blog-related { background:var(--primary-soft); border-radius:12px; padding:20px; margin-top:28px; }
.blog-related h2 { font-size:1rem; }
.blog-related a,.blog-post-bottom a { color:var(--primary-color); }
.blog-related li+li { margin-top:10px; }
.blog-table-scroll { overflow-x:auto; margin:20px 0; border:1px solid var(--border-color); border-radius:10px; }
.blog-post table { width:100%; min-width:580px; border-collapse:collapse; text-align:left; font-size:.93rem; }
.blog-post caption { padding:14px 18px; color:var(--text-light); text-align:left; background:var(--bg-secondary); }
.blog-post th,.blog-post td { padding:14px 16px; vertical-align:top; border-top:1px solid var(--border-color); line-height:1.8; }
.blog-post thead th { background:var(--primary-soft); }
.blog-post tbody th { width:22%; }
.blog-faq details { border-top:1px solid var(--border-color); padding:16px 0; }
.blog-faq summary { cursor:pointer; font-weight:600; }
.blog-faq details p { margin-top:12px; color:var(--text-light); }
.blog-sources p { color:var(--text-light); font-size:.88rem; }
.blog-sources a { color:var(--primary-color); text-decoration:underline; text-underline-offset:3px; }
.blog-sources li+li { margin-top:8px; }
.blog-post-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; margin-top:24px; }
.blog-shell a:focus-visible,.blog-filters button:focus-visible { outline:3px solid var(--primary-color); outline-offset:4px; }
@media(max-width:600px) {
  .blog-shell { padding:28px 16px 40px; }
  .blog-filters button { padding:7px 12px; font-size:.85rem; }
  .blog-card>a { padding:20px; }
  .blog-card h2 { font-size:1.06rem; }
  .blog-count { width:100%; }
  .blog-help { align-items:flex-start; flex-direction:column; gap:12px; }
  .blog-post { padding:24px 20px; }
}
@media(prefers-reduced-motion:reduce) { .blog-card { transition:none; } }
