/* === Blog styles (loads after styles.css) === */
.blog-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.blog-header .container{display:flex;align-items:center;justify-content:space-between;height:70px}
.blog-header .brand-logo{height:48px}
.blog-header nav a{font-weight:600;color:var(--navy);margin-left:1.4rem;font-size:.95rem}
.blog-header nav a:hover{color:var(--blue-600)}

.article-wrap{max-width:790px;margin:0 auto;padding:34px 24px 80px}
.breadcrumb{font-size:.85rem;color:var(--muted);margin:6px 0 14px}
.breadcrumb a{color:var(--blue-600)}
.article-head .bc-tag{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  color:#fff;background:var(--grad-blue);padding:.3rem .8rem;border-radius:999px}
.article-head h1{font-size:clamp(1.7rem,4.2vw,2.5rem);font-weight:900;line-height:1.2;margin:.7rem 0 .7rem;letter-spacing:-.4px}
.article-meta{font-size:.86rem;color:var(--muted);display:flex;gap:1rem;flex-wrap:wrap;
  border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.4rem}
.article-hero{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:16px;margin:0 0 1.6rem;box-shadow:var(--shadow-sm)}
.tldr{background:var(--bg-soft);border-left:4px solid var(--blue);border-radius:10px;padding:1rem 1.2rem;margin:1.4rem 0;font-weight:500;color:var(--ink)}
.tldr strong{color:var(--blue-700)}
.article-body h2{font-size:1.5rem;font-weight:800;margin:2.1rem 0 .7rem;color:var(--ink)}
.article-body h3{font-size:1.18rem;font-weight:700;margin:1.4rem 0 .5rem}
.article-body p{margin:.8rem 0;color:#2c3e4d}
.article-body ul,.article-body ol{margin:.6rem 0 1rem 1.3rem}
.article-body li{margin:.4rem 0;color:#2c3e4d}
.article-body table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.93rem;overflow:hidden;border-radius:10px}
.article-body th,.article-body td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;vertical-align:top}
.article-body th{background:var(--bg-soft);font-weight:700}
.article-body a{color:var(--blue-600);text-decoration:underline}
.article-body blockquote{border-left:3px solid var(--blue);background:var(--bg-soft);margin:1.2rem 0;padding:.8rem 1.1rem;border-radius:8px;font-style:italic}
/* In-article illustrations */
.article-fig{margin:1.9rem 0;text-align:center}
.article-fig img{width:100%;border-radius:14px;box-shadow:var(--shadow-sm);display:block}
.article-fig figcaption{font-size:.85rem;color:var(--muted);margin-top:.55rem;font-style:italic}
.infographic{margin:1.9rem 0;background:var(--bg-soft);border:1px solid var(--line);border-radius:16px;padding:1.5rem 1.6rem}
.infographic .ig-title{font-weight:800;margin:0 0 1.1rem;color:var(--ink);font-size:1.05rem}
.ig-bar{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:.85rem;margin:.6rem 0;font-size:.9rem}
.ig-bar .ig-label{font-weight:600;color:var(--navy)}
.ig-track{background:#e1ecf5;border-radius:999px;height:20px;overflow:hidden}
.ig-fill{height:100%;border-radius:999px;background:var(--grad-blue);min-width:6px}
.ig-bar .ig-val{font-weight:700;color:var(--blue-700);white-space:nowrap}
.infographic .ig-note{font-size:.78rem;color:var(--muted);margin:.8rem 0 0;font-style:italic}
@media(max-width:560px){.ig-bar{grid-template-columns:84px 1fr auto;gap:.5rem;font-size:.8rem}}

.faq-block{margin-top:2.2rem}
.faq-block h2{margin-bottom:.6rem}
.faq-block details{border:1px solid var(--line);border-radius:10px;padding:.2rem 1rem;margin:.6rem 0;background:#fff}
.faq-block summary{font-weight:700;cursor:pointer;padding:.7rem 0;list-style:none}
.faq-block summary::-webkit-details-marker{display:none}
.faq-block summary::before{content:"＋ ";color:var(--blue-600);font-weight:900}
.faq-block details[open] summary::before{content:"− "}
.faq-block details p{padding:0 0 .8rem;color:#2c3e4d}
.article-cta{background:var(--grad-blue);color:#fff;border-radius:18px;padding:1.8rem;margin:2.6rem 0 0;text-align:center}
.article-cta h3{font-size:1.3rem;font-weight:800}
.article-cta p{color:#e3f3ff;margin:.4rem 0 0}
.article-cta a{display:inline-block;margin-top:1rem;background:#fff;color:var(--blue-700);font-weight:800;padding:.75rem 1.7rem;border-radius:999px}

/* Blog index */
.blog-hero{text-align:center;padding:54px 24px 10px}
.blog-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900}
.blog-hero p{color:var(--muted);margin-top:.5rem}
.blog-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem;max-width:var(--maxw);margin:2.4rem auto;padding:0 24px}
.blog-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);transition:.3s}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.blog-card .bc-body{padding:1.2rem 1.3rem 1.4rem}
.blog-card .bc-tag{font-size:.72rem;font-weight:800;color:var(--blue-600);text-transform:uppercase;letter-spacing:.4px}
.blog-card h3{font-size:1.12rem;font-weight:800;margin:.45rem 0;line-height:1.3;color:var(--ink)}
.blog-card p{font-size:.9rem;color:var(--muted)}
@media(max-width:600px){.blog-header nav a{margin-left:.9rem;font-size:.85rem}}
