.blog-main{max-width:1040px;margin:130px auto 80px;padding:0 24px;min-height:50vh}
.blog-heading{max-width:700px;margin:0 auto 48px;text-align:center}
.blog-heading h1,.blog-article h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.2;margin:12px 0 24px;overflow-wrap:anywhere}
.blog-eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:600;color:#557c96}
.blog-heading>p:last-child{color:#596779;font-size:1.1rem;line-height:1.7}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px}
.blog-card{display:block;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;color:inherit;text-decoration:none;background:#fff;transition:box-shadow .2s}
.blog-card:hover{box-shadow:0 8px 24px #2d374812}.blog-card:focus-visible{outline:3px solid #6c9bbc;outline-offset:4px}
.blog-card>img{width:100%;height:210px;object-fit:cover;display:block}
.blog-card-content{padding:26px}.blog-card h2{font-size:1.4rem;line-height:1.35;margin:0 0 16px}
.blog-card p{line-height:1.7;color:#596779}.blog-card span{display:block;margin-top:22px;color:#476d86;font-weight:600}
.blog-empty{padding:40px 0;text-align:center;color:#596779}
.blog-article{max-width:760px;margin:auto}.back-link{display:inline-block;margin-bottom:32px;color:#476d86}
.blog-article header{margin-bottom:30px}.blog-article time{color:#596779;font-size:.9rem}
.blog-article>img{width:100%;max-height:460px;object-fit:cover;border-radius:14px;margin:0 0 32px}
.article-body{line-height:1.85;overflow-wrap:anywhere}.article-body h2{font-size:1.65rem;margin:36px 0 16px;line-height:1.35}
.article-body h3{font-size:1.25rem;margin:28px 0 14px}.article-body p,.article-body ul,.article-body ol,.article-body figure{margin-bottom:20px}
.article-body ul,.article-body ol{padding-left:26px}.article-body img{max-width:100%;height:auto;border-radius:8px}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0}
.article-body td,.article-body th{padding:12px;border:1px solid #dce4eb;text-align:left}
.article-body blockquote{border-left:3px solid #6c9bbc;background:#f2f7f9;padding:20px 24px;margin:24px 0}
.article-body a{color:#365f79;text-decoration:underline}.blog-contact{margin-top:48px;padding:28px;background:#f2f7f9;border-radius:16px}
.blog-contact h2{font-size:1.5rem;margin:0 0 12px}.blog-contact p{margin:0 0 20px}
.blog-page .site-footer{text-align:center;padding:30px 20px}
@media(max-width:768px){.blog-main{margin-top:145px;padding:0 20px}.blog-heading{text-align:left}.blog-page .nav-links{justify-content:center;font-size:.9rem}.blog-card-content{padding:22px}}
