.blog-hero{padding:4rem 0 3rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.blog-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 100% at 50% 100%,#000 10%,transparent 75%);pointer-events:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.eyebrow{font-family:var(--fm);font-size:.73rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:.85rem}
.blog-h1{font-family:var(--ff);font-weight:800;font-size:clamp(2rem,4.5vw,3rem);line-height:1.15;color:var(--tp);margin-bottom:.85rem;position:relative;z-index:1}
.blog-sub{color:var(--ts);font-size:.92rem;max-width:520px;position:relative;z-index:1}

.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.5rem 0 1rem}
.search-wrap{position:relative;flex:1;min-width:200px}
.search-wrap i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--ts);font-size:1rem;pointer-events:none}
#search{width:100%;font-family:var(--fm);font-size:.83rem;background:var(--bg-card);border:1px solid var(--border);color:var(--tp);border-radius:7px;padding:.5rem .75rem .5rem 2.25rem;outline:none;transition:border-color var(--tr)}
#search::placeholder{color:var(--tm)}
#search:focus{border-color:var(--border-acc)}
.filter-group{display:flex;flex-wrap:wrap;gap:.5rem}
.ftag{font-family:var(--fm);font-size:.75rem;padding:.28rem .75rem;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--ts);cursor:pointer;transition:background var(--tr),color var(--tr),border-color var(--tr)}
.ftag:hover{border-color:var(--border-hov);color:var(--tp)}
.ftag.on{background:var(--accent-dim);color:var(--accent);border-color:var(--border-acc)}
.count-line{font-family:var(--fm);font-size:.78rem;color:var(--tm);padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.count-line span{color:var(--accent)}

.articles{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}
.art-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;display:grid;grid-template-columns:1fr auto;gap:1rem 1.5rem;align-items:start;transition:border-color var(--tr),background var(--tr)}
.art-card:hover{border-color:var(--border-hov);background:var(--bg-card-hov)}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem}
.topic-tag{font-family:var(--fm);font-size:.69rem;padding:.12rem .55rem;border-radius:4px}
.art-author{font-family:var(--fm);font-size:.75rem;color:var(--ts);display:flex;align-items:center;gap:.3rem}
.art-date{font-family:var(--fm);font-size:.75rem;color:var(--tm)}
.sep{color:var(--tm);font-size:.7rem}
.art-title{font-family:var(--ff);font-weight:700;font-size:1.08rem;color:var(--tp);margin-bottom:.5rem;line-height:1.35}
.art-desc{font-family:var(--fm);font-size:.84rem;color:var(--ts);line-height:1.7;max-width:680px}
.art-links{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;padding-top:.15rem}
.btn-read{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--fm);font-size:.78rem;font-weight:600;padding:.42rem .9rem;border-radius:6px;border:none;cursor:pointer;white-space:nowrap;transition:background var(--tr),color var(--tr),border-color var(--tr),box-shadow var(--tr);text-decoration:none}
.btn-read-web{background:var(--accent);color:#0b0e13}
.btn-read-web:hover{box-shadow:0 0 16px var(--accent-glow);color:#0b0e13}
.btn-read-pdf{background:transparent;color:var(--ts);border:1px solid var(--border)}
.btn-read-pdf:hover{border-color:var(--border-acc);color:var(--accent)}
.no-results{text-align:center;padding:4rem 0;color:var(--ts);font-size:.9rem}
.no-results i{font-size:2rem;color:var(--tm);display:block;margin-bottom:.75rem}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
.reveal.show{opacity:1;transform:none}