/* ===== Blog listing ===== */
.blog-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:36px}
.blog-search{display:flex;align-items:center;background:#fff;border:1px solid var(--line-2);border-radius:999px;padding:6px 8px 6px 18px;max-width:320px;flex:1;min-width:220px}
.blog-search input{flex:1;border:none;background:none;font-size:14px;color:var(--tx);outline:none}
.blog-search button{background:var(--cyan);color:#fff;border:none;border-radius:999px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.blog-search button svg{width:16px;height:16px}
.blog-cats{display:flex;flex-wrap:wrap;gap:8px}
.blog-cat-pill{font-family:"JetBrains Mono",monospace;font-size:11.5px;padding:8px 14px;border-radius:999px;
  border:1px solid var(--line-2);color:var(--tx-mut);transition:.2s;white-space:nowrap}
.blog-cat-pill:hover{border-color:var(--cyan);color:var(--cyan)}
.blog-cat-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-sm);transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.blog-card-img{aspect-ratio:16/10;background:var(--paper-3);overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover}
.blog-card-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(130% 130% at 100% 0%,var(--navy-2) 0%,var(--deep) 100%)}
.blog-card-img-fallback span{font-family:"Fraunces",serif;font-size:44px;color:var(--cyan-br);opacity:.7}
.blog-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.blog-card-cat{font-family:"JetBrains Mono",monospace;font-size:10.5px;color:var(--cyan);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.blog-card-body h3{font-family:"Fraunces",serif;font-weight:400;font-size:19.5px;color:var(--navy);line-height:1.25;margin-bottom:8px}
.blog-card-body p{font-size:13.5px;color:var(--tx-mut);line-height:1.6;flex:1}
.blog-card-meta{display:flex;gap:8px;align-items:center;margin-top:14px;font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--tx-dim)}

.blog-pagination{display:flex;gap:8px;justify-content:center;margin-top:48px}
.blog-pagination a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);
  border-radius:10px;font-family:"JetBrains Mono",monospace;font-size:13px;color:var(--tx-mut)}
.blog-pagination a.active{background:var(--navy);border-color:var(--navy);color:#fff}
.blog-pagination a:hover:not(.active){border-color:var(--cyan);color:var(--cyan)}

/* ===== sidebar (listing + single post) ===== */
.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}
.blog-sidebar{position:sticky;top:104px;display:flex;flex-direction:column;gap:24px}
.sidebar-widget{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--sh-sm)}
.sidebar-widget h4{font-family:"JetBrains Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan);margin-bottom:16px}
.sidebar-cats a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:13.5px;color:var(--tx-mut);border-bottom:1px solid var(--line)}
.sidebar-cats a:last-child{border-bottom:none}
.sidebar-cats a:hover{color:var(--cyan)}
.sidebar-cats .count{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--tx-dim);flex-shrink:0}
.sidebar-recent a{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.sidebar-recent a:last-child{border-bottom:none}
.sidebar-recent img,.sidebar-recent .ph{width:52px;height:52px;border-radius:9px;object-fit:cover;flex-shrink:0;background:var(--paper-3)}
.sidebar-recent .txt{min-width:0;flex:1}
.sidebar-recent .t{display:block;font-size:12.5px;color:var(--navy);line-height:1.35;font-weight:600}
.sidebar-recent time{display:block;margin-top:4px;font-family:"JetBrains Mono",monospace;font-size:10px;color:var(--tx-dim)}
.sidebar-cta{background:radial-gradient(130% 130% at 100% 0%,var(--navy-2) 0%,var(--deep) 100%);color:#fff;border:none}
.sidebar-cta h4{color:var(--cyan-br)}
.sidebar-cta p{font-size:12.5px;color:#C6D6E4;margin-bottom:16px;line-height:1.6}
.sidebar-cta .btn{width:100%;justify-content:center}

@media(max-width:1000px){
  .blog-layout{grid-template-columns:1fr}
  .blog-sidebar{position:static;flex-direction:row;flex-wrap:wrap}
  .sidebar-widget{flex:1;min-width:240px}
}
@media(max-width:640px){
  .blog-sidebar{flex-direction:column}
}

/* ===== Single post ===== */
.post-hero{position:relative;overflow:hidden;color:#EAF2F8;background:var(--deep);padding:clamp(56px,7vw,84px) 0 clamp(30px,4vw,44px)}
.post-hero .wrap{position:relative;z-index:2}
.post-hero .title{color:#fff;max-width:840px;font-size:clamp(28px,4vw,44px)}
.post-byline{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:"JetBrains Mono",monospace;font-size:12.5px;color:#9FBBD0}

.post-feat-img{margin-top:-1px}
.post-feat-img img{width:100%;max-height:480px;object-fit:cover;border-radius:0 0 22px 22px}

.post-layout{padding:clamp(48px,6vw,72px) 0;display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:start}
.post-body{font-size:16.5px;line-height:1.85;color:var(--tx);max-width:760px}
@media(max-width:1000px){ .post-layout{grid-template-columns:1fr} .post-layout .blog-sidebar{position:static;flex-direction:row;flex-wrap:wrap} .post-layout .sidebar-widget{flex:1;min-width:240px} }
@media(max-width:640px){ .post-layout .blog-sidebar{flex-direction:column} }
.post-body h2{font-family:"Fraunces",serif;font-weight:400;font-size:clamp(24px,3vw,30px);color:var(--navy);margin:44px 0 16px;letter-spacing:-.01em}
.post-body h3{font-family:"Fraunces",serif;font-weight:400;font-size:21px;color:var(--navy);margin:32px 0 12px}
.post-body p{margin-bottom:20px}
.post-body ul,.post-body ol{margin:0 0 20px 22px}
.post-body li{margin-bottom:8px}
.post-body a{color:var(--cyan);text-decoration:underline;text-decoration-color:var(--cyan-soft);text-underline-offset:3px}
.post-body a:hover{color:var(--navy)}
.post-body strong{color:var(--navy);font-weight:700}
.post-body blockquote{border-left:3px solid var(--cyan);padding:4px 0 4px 22px;margin:28px 0;font-style:italic;color:var(--tx-mut)}
.post-body code{font-family:"JetBrains Mono",monospace;font-size:.88em;background:var(--paper-3);padding:2px 6px;border-radius:5px}
.post-body img{border-radius:14px;margin:28px 0}
.post-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px}
.post-body th,.post-body td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.post-body th{background:var(--paper-3);font-weight:700;color:var(--navy)}

.post-faq{margin-top:8px}
.post-faq details{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px}
.post-faq summary{font-weight:700;color:var(--navy);cursor:pointer;list-style:none}
.post-faq summary::-webkit-details-marker{display:none}
.post-faq summary::after{content:"+";float:right;color:var(--cyan);font-size:18px}
.post-faq details[open] summary::after{content:"\2212"}
.post-faq p{margin-top:12px;color:var(--tx-mut);font-size:14.5px}

.post-cta{margin-top:44px;padding:32px;border-radius:18px;background:var(--paper-3);border:1px solid var(--line)}
.post-cta h3{font-family:"Fraunces",serif;font-weight:400;font-size:22px;color:var(--navy);margin-bottom:8px}
.post-cta p{color:var(--tx-mut);margin-bottom:18px;font-size:14.5px}

@media(max-width:1000px){
  .blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .blog-grid{grid-template-columns:1fr}
  .blog-filters{flex-direction:column;align-items:stretch}
  .blog-search{max-width:none}
}
