
/* Blog bundle v5: overrides apply only to the /blog/ pages. */
body.blog-site { background: #f2f6fa; color:#10283c; }
.blog-site .site-header { max-width:1512px; }
.blog-site .site-header nav { gap: clamp(.55rem,1.5vw,1.35rem); }
.blog-site .site-header nav a { white-space:nowrap; }
.blog-site .site-header nav button[data-lead-open] { background:#f49a2b; border:1px solid #f49a2b; border-radius:999px; color:#fff; padding:.64rem 1rem; font:inherit; font-size:.83rem; font-weight:800; cursor:pointer; white-space:nowrap; }
.blog-site .site-header nav button[data-lead-open]:hover { background:#e78d20; }
.blog-site .blog-directory-body { max-width:1512px; }
.blog-site .blog-page-banner { padding-top:clamp(3rem,5vw,5rem); padding-bottom:clamp(3rem,5vw,5rem); }
.blog-site .blog-card { height:100%; }
.blog-site .blog-card-body h3 a { display:block; }
.blog-site .blog-card-media img { object-position:center; }
.blog-site .blog-article-head { background:linear-gradient(180deg,#fff,#fbfdff); }
.blog-site .blog-article-meta { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; margin-bottom:.8rem; color:#6b8699; font-size:.73rem; font-weight:800; letter-spacing:.04em; }
.blog-site .blog-article-meta span:first-child { color:#21708b; border-radius:999px; background:#e9f4f8; padding:.36rem .65rem; }
.blog-site .blog-toc { display:grid; gap:.8rem; margin:0 0 2.1rem; padding:1.05rem 1.15rem; border:1px solid #dbe9f0; border-radius:16px; background:#f4f9fc; }
.blog-site .blog-toc strong { font-size:.86rem; color:#14334c; }
.blog-site .blog-toc-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1rem; }
.blog-site .blog-toc-links a { font-size:.8rem; font-weight:650; line-height:1.5; color:#1c6b87; text-decoration:none; }
.blog-site .blog-toc-links a:hover { text-decoration:underline; }
.blog-site .blog-article-copy section { scroll-margin-top:120px; }
.blog-site .blog-article-copy section p { max-width:unset; }
.blog-site .blog-side-articles { display:grid; gap:.15rem; margin-bottom:1.1rem; }
.blog-site .blog-side-articles a { color:#203f56; }
.blog-site .article-pager { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding:1.4rem clamp(1.2rem,3vw,2.8rem); border-top:1px solid #e4edf3; background:#f6fafc; }
.blog-site .article-pager a { display:grid; gap:.4rem; align-content:start; padding:1.05rem; border:1px solid #dfeaf0; background:#fff; border-radius:15px; text-decoration:none; }
.blog-site .article-pager a:hover { border-color:#77b3ca; box-shadow:0 8px 18px rgba(16,40,60,.08); }
.blog-site .article-pager a small { color:#28708a; font-weight:800; font-size:.72rem; }
.blog-site .article-pager a strong { color:#17334a; font-size:.93rem; line-height:1.42; }
.blog-site .article-pager a:last-child { text-align:right; }
.blog-site .blog-related { max-width:1340px; padding:clamp(1.8rem,3vw,3rem) 0; margin:auto; }
.blog-site .blog-related h2 { font-size:clamp(1.5rem,2.3vw,2.25rem); letter-spacing:-.02em; margin:0 0 1.3rem; }
.blog-site .blog-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.blog-site .blog-related-card { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #dfe9ef; border-radius:18px; text-decoration:none; box-shadow:0 8px 25px rgba(9,33,54,.055); }
.blog-site .blog-related-card img { width:100%; height:auto; aspect-ratio:1.7/1; object-fit:cover; }
.blog-site .blog-related-card span { color:#183349; font-weight:800; font-size:.9rem; line-height:1.4; padding:1rem; }
.blog-site .blog-related-card:hover span { color:#166d8e; }
.blog-site .blog-back-home { max-width:1512px; margin:0 auto; padding:0 var(--page-gutter) 3.5rem; text-align:center; }
.blog-site .blog-back-home .button.secondary { background:#e7f2f8; color:#205d77; border:1px solid #c7dce8; }
.blog-site .blog-related-card:focus-visible, .blog-site a:focus-visible, .blog-site button:focus-visible { outline:3px solid #6fbbd7; outline-offset:3px; }
@media(max-width:1120px){
 .blog-site .site-header { flex-direction:column; gap:.75rem; }
 .blog-site .site-header .wordmark { margin:0; }
 .blog-site .site-header nav { justify-content:center; flex-wrap:wrap; }
}
@media(max-width:760px){
 .blog-site .blog-article-layout{display:block;}
 .blog-site .blog-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .blog-site .blog-toc-links{grid-template-columns:1fr;}
 .blog-site .site-header{position:relative;top:auto;}
 .blog-site .blog-article-copy section { scroll-margin-top:20px; }
}
@media(max-width:540px){
 .blog-site .site-header{margin:.5rem .7rem 0; padding:.9rem .6rem;}
 .blog-site .site-header .wordmark{font-size:1.04rem; white-space:normal; text-align:center; }
 .blog-site .site-header nav{justify-content:center; gap:.45rem .8rem; }
 .blog-site .site-header nav a { font-size:.76rem; padding:.35rem 0; }
 .blog-site .site-header nav button[data-lead-open] { min-height:40px; font-size:.75rem; }
 .blog-site .blog-article-head h1 { font-size:clamp(1.8rem,7.8vw,2.25rem); }
 .blog-site .blog-related-grid { grid-template-columns:1fr; }
 .blog-site .article-pager { grid-template-columns:1fr; padding:1rem; }
 .blog-site .article-pager a:last-child { text-align:left; }
 .blog-site .blog-toc { padding:.95rem; }
 .blog-site .blog-article-meta { gap:.6rem; }
 .blog-site .blog-back-home .button { width:100%; }
}
@media(prefers-reduced-motion:reduce){
 .blog-site *, .blog-site *::before, .blog-site *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}
