/* Scoped to blog pages; no frontend JavaScript or external font requests. */
.blog-hero{padding:52px 0 64px;background:linear-gradient(135deg,#fbfcfe,#eef2fb)}
.blog-hero h1,.post-heading h1{font-size:clamp(36px,5vw,60px);line-height:1.12;max-width:950px}
.blog-hero p,.post-deck{font-size:19px;color:#526170;max-width:790px}
.blog-breadcrumbs{font-size:13px;color:#526170;margin-bottom:30px}
.blog-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px 12px;list-style:none;margin:0;padding:0}
.blog-breadcrumbs li+li:before{content:'›';margin-right:12px;color:#62707d}
.blog-breadcrumbs a:hover{text-decoration:underline}
.blog-list{padding:56px 0 80px}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:22px;display:flex;flex-direction:column;box-shadow:0 12px 36px rgba(49,87,213,.06)}
.blog-card-image{display:block;border-radius:22px 22px 0 0;overflow:hidden;background:#eef2f6}
.blog-card-image img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;display:block}
.blog-card-copy{display:flex;flex-direction:column;flex:1;padding:24px}
.blog-category{color:var(--brand);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:800}
.blog-card h2{font-size:23px;line-height:1.25;margin:12px 0}
.blog-card p{color:#526170;margin:0 0 20px;font-size:15px}
.blog-card a:hover{color:var(--brand)}
.blog-read{margin-top:auto;color:var(--brand);font-weight:800}
.post-heading{padding-top:40px;padding-bottom:24px}
.post-meta{font-size:13px;color:#526170;line-height:1.9;margin:24px 0}
.post-featured{max-width:980px;margin:32px 0 0}
.post-featured img{display:block;max-width:100%;width:auto;height:auto;border-radius:20px}
.reading-width{width:min(780px,calc(100% - 32px));margin:0 auto}
.article-toc{background:#eef2f6;border:1px solid var(--line);border-radius:16px;padding:24px;margin:16px 0 36px}
.article-toc ol{padding-left:22px;margin-bottom:0;display:grid;gap:7px;font-size:15px}
.article-toc a,.article-content a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.article-content{font-size:18px;line-height:1.8;overflow-wrap:anywhere}
.article-content h2{font-size:clamp(27px,3vw,34px);line-height:1.2;margin:42px 0 18px}
.article-content h3{font-size:23px;line-height:1.3;margin:30px 0 14px}
.article-content p{margin:0 0 22px}
.article-content li{margin:8px 0}
.article-content ul,.article-content ol{padding-left:26px;margin:0 0 24px}
.article-figure{margin:30px 0}.article-figure img{display:block;max-width:100%;width:auto;height:auto;margin:auto;border-radius:10px}
.article-figure figcaption{font-size:14px;line-height:1.6;color:#526170;margin-top:12px}
.article-table{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;margin:24px 0;background:#fff}
.article-content table{min-width:600px;font-size:15px;line-height:1.6}
.article-content th,.article-content td{padding:14px;text-align:left;vertical-align:top}
.article-content code{font-size:.9em;overflow-wrap:anywhere;background:#eef2f6;padding:2px 5px;border-radius:4px}
.article-content pre{max-width:100%;overflow-x:auto;padding:18px;background:#eef2f6}
.article-content pre code{white-space:pre;overflow-wrap:normal}
.article-cta{padding:30px;background:#e8edff;border:1px solid #d4ddff;border-radius:20px;margin-top:44px;margin-bottom:12px}
.article-cta h2{font-size:28px;line-height:1.2}
.article-cta p{color:#526170}.article-audit{display:inline-block;margin:14px;color:var(--brand);text-decoration:underline}
.related-posts{padding:56px 0 72px}.related-posts>div>h2{font-size:32px;margin-bottom:28px}
@media(max-width:980px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-heading h1{font-size:44px}}
@media(max-width:700px){.blog-grid{grid-template-columns:minmax(0,1fr)}.blog-hero{padding:32px 0 44px}.blog-list{padding:36px 0 52px}.post-heading h1{font-size:36px}.post-heading{padding-top:28px}.article-content{font-size:17px}.article-toc,.article-cta{padding:22px}.post-featured{margin-top:24px}.blog-breadcrumbs{font-size:12px}}
