.blog-hero{padding:clamp(120px,15vw,190px) 0 64px;border-bottom:1px solid var(--line)}
.blog-hero h1{font-size:clamp(2.5rem,7vw,5.6rem);max-width:900px;line-height:.98}
.blog-hero .lede{max-width:760px;margin-top:24px}
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;align-items:start}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.blog-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:rgba(13,23,48,.72);transition:transform .25s var(--ease),border-color .25s var(--ease)}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(52,191,224,.4)}
.blog-card-image{aspect-ratio:16/9;overflow:hidden;background:var(--navy-2)}
.blog-card-image img{width:100%;height:100%;object-fit:cover}
.blog-card-image-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,rgba(52,191,224,.2),rgba(242,114,0,.18));font:700 1.2rem var(--f-display)}
.blog-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.blog-card h2,.blog-card h3{font-size:clamp(1.28rem,2vw,1.65rem);line-height:1.2;margin:12px 0}
.blog-card p{color:var(--text-mute)}
.blog-card .blog-meta{margin-top:auto;padding-top:20px}
.blog-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--text-mute);font:500 .78rem var(--f-mono)}
.blog-category{color:var(--cyan);font:600 .74rem var(--f-mono);text-transform:uppercase;letter-spacing:.08em}
.blog-sidebar{position:sticky;top:110px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(13,23,48,.68)}
.blog-sidebar h2{font-size:1.15rem;margin-bottom:15px}
.blog-sidebar a{display:block;padding:9px 0;color:var(--text-mute);border-bottom:1px solid var(--line-soft)}
.blog-sidebar a:hover,.blog-sidebar a.active{color:var(--cyan)}
.blog-search{display:flex;gap:10px;margin-bottom:28px}
.blog-search input,.blog-select{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--navy);color:var(--text)}
.pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.pagination a,.pagination span{min-width:42px;padding:8px 12px;text-align:center;border:1px solid var(--line);border-radius:8px}
.pagination .active{background:var(--cyan);color:var(--ink);border-color:var(--cyan)}
.empty-state{padding:50px;border:1px solid var(--line);border-radius:var(--radius);text-align:center;color:var(--text-mute)}
.article-hero{padding:clamp(120px,15vw,180px) 0 56px;border-bottom:1px solid var(--line)}
.article-hero h1{font-size:clamp(2.35rem,6vw,5rem);line-height:1.02;max-width:1000px;margin:16px 0 24px}
.article-hero .lede{max-width:820px}
.article-cover{margin-top:44px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/8}
.article-cover img{width:100%;height:100%;object-fit:cover}
.article-layout{display:grid;grid-template-columns:240px minmax(0,780px);justify-content:center;gap:56px;align-items:start}
.article-toc{position:sticky;top:110px;padding:20px;border-left:2px solid var(--cyan-dim)}
.article-toc strong{display:block;margin-bottom:12px;font-family:var(--f-display)}
.article-toc a{display:block;padding:7px 0;color:var(--text-mute);font-size:.86rem}
.article-toc a:hover{color:var(--cyan)}
.article-toc .toc-h3{padding-left:14px;font-size:.8rem}
.article-content{font-size:1.06rem;color:#dce5f4}
.article-content h2{font-size:clamp(1.7rem,4vw,2.55rem);margin:56px 0 18px;scroll-margin-top:110px}
.article-content h3{font-size:clamp(1.3rem,3vw,1.75rem);margin:36px 0 14px;scroll-margin-top:110px}
.article-content p{margin:0 0 22px}
.article-content a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.article-content ul,.article-content ol{margin:0 0 24px;padding-left:24px}
.article-content li{margin:9px 0}
.article-content blockquote{margin:32px 0;padding:24px;border-left:3px solid var(--orange);background:var(--navy);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.article-content cite{display:block;margin-top:12px;color:var(--text-mute);font-size:.86rem}
.article-callout{margin:30px 0;padding:24px;border:1px solid rgba(52,191,224,.35);background:rgba(52,191,224,.08);border-radius:var(--radius)}
.article-callout strong{display:block;color:var(--cyan);margin-bottom:8px}
.article-callout p{margin:0}
.article-table-wrap{overflow-x:auto;margin:32px 0;border:1px solid var(--line);border-radius:var(--radius-sm)}
.article-content table{width:100%;border-collapse:collapse;min-width:560px}
.article-content th,.article-content td{padding:14px;text-align:left;border-bottom:1px solid var(--line)}
.article-content th{background:var(--navy);font-family:var(--f-display)}
.article-sources,.article-author{margin-top:48px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--navy)}
.article-sources ol{padding-left:22px}.article-sources a{color:var(--cyan);word-break:break-word}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.subscribe-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:32px;align-items:center;margin-top:44px;padding:30px;border:1px solid rgba(52,191,224,.32);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(52,191,224,.1),rgba(13,23,48,.82))}
.subscribe-card h2{font-size:clamp(1.5rem,3vw,2.25rem);margin:7px 0}.subscribe-card p{color:var(--text-mute)}
.subscribe-card form{display:flex;gap:10px}.subscribe-card input{min-width:0;flex:1;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--ink);color:var(--text)}
.subscribe-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.subscription-notice{margin-bottom:24px;padding:14px 18px;border:1px solid var(--mpesa);border-radius:var(--radius-sm);background:rgba(31,166,107,.12)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){
  .blog-layout{grid-template-columns:minmax(0,1fr)}
  .blog-sidebar{position:static}
  .article-layout{grid-template-columns:minmax(0,1fr)}
  .article-toc{position:static;border-left:0;border-bottom:1px solid var(--line);margin-bottom:28px;padding:0 0 20px}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .subscribe-card{grid-template-columns:minmax(0,1fr);padding:22px}
  .subscribe-card form{flex-direction:column}
  .subscribe-card .btn{width:100%}
}
@media(max-width:680px){
  .blog-hero{padding:110px 0 40px}
  .blog-hero h1{font-size:clamp(2rem,9vw,3.2rem)}
  .blog-grid,.related-grid{grid-template-columns:minmax(0,1fr)}
  .blog-search{flex-direction:column}
  .blog-search .btn{width:100%}
  .article-hero{padding-top:110px}
  .article-hero h1{font-size:clamp(1.85rem,8vw,2.8rem)}
  .article-cover{aspect-ratio:4/3;border-radius:var(--radius)}
  .article-content{font-size:1rem}
  .article-content pre,.article-content code{overflow-x:auto;max-width:100%}
  .article-sources,.article-author{padding:20px}
  .blog-card-body{padding:18px}
  .empty-state{padding:32px 18px}
  .pagination a,.pagination span{min-width:38px;padding:8px 10px}
}
