.blog-section { margin:32px 0; min-width:0; }
.blog-section .section-header { flex-wrap:wrap; gap:12px; }
.blog-intro { color:var(--text-secondary,#64748b); line-height:1.7; margin:8px 0 20px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.blog-card,.blog-empty,.blog-article,.blog-editor { background:var(--gov-card-bg,#fff); border:1px solid var(--gov-border,#e2e8f0); border-radius:12px; padding:24px; min-width:0; }
.blog-card { display:flex; flex-direction:column; gap:12px; }
.blog-card h3 { font-size:20px; line-height:1.4; overflow-wrap:anywhere; }
.blog-meta { display:flex; flex-wrap:wrap; gap:12px; color:var(--text-secondary,#64748b); font-size:12px; }
.blog-card p,.blog-article p { line-height:1.8; overflow-wrap:anywhere; }
.blog-link { color:var(--gov-blue,#2563eb); font-weight:600; min-height:44px; display:inline-flex; align-items:center; }
.blog-page { width:100%; max-width:1200px; margin:auto; padding:28px 20px; box-sizing:border-box; }
.blog-page h1 { font-family:'Outfit',sans-serif; font-size:clamp(26px,4vw,38px); margin:16px 0; overflow-wrap:anywhere; }
.blog-article { max-width:850px; margin:20px auto; }
.blog-article p { white-space:pre-wrap; margin:18px 0; }
.blog-editor { display:grid; gap:16px; max-width:850px; margin:20px auto; }
.blog-editor label { display:grid; gap:6px; font-weight:600; }
.blog-editor input,.blog-editor textarea,.blog-editor select { width:100%; min-width:0; padding:12px; border:1px solid var(--gov-border,#e2e8f0); border-radius:6px; font:inherit; color:inherit; background:var(--gov-card-bg,#fff); box-sizing:border-box; }
.blog-editor textarea { resize:vertical; min-height:100px; }
.blog-editor button { padding:12px 18px; min-height:44px; border:0; border-radius:6px; background:var(--gov-blue,#2563eb); color:white; font:inherit; cursor:pointer; }
.blog-empty { grid-column:1/-1; color:var(--text-secondary,#64748b); line-height:1.8; }
.blog-section :focus-visible,.blog-page :focus-visible { outline:2px solid var(--gov-blue,#2563eb); outline-offset:3px; }
@media(max-width:900px) { .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .blog-grid { grid-template-columns:minmax(0,1fr); }.blog-page { padding:18px 12px; }.blog-card,.blog-article,.blog-editor { padding:18px; } }
