.bwrap{padding:56px 0 88px}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px}
.bcard{display:flex;flex-direction:column;background:var(--w);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.bcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(7,17,12,.45)}
.bcard .bt{padding:18px 20px 0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.bcard .bb{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.bcard h3{font:700 1.15rem/1.3 'Sora',sans-serif;margin:0}
.bcard p{margin:0;color:var(--mute);font-size:.95rem;line-height:1.55}
.bcard small{color:var(--mute);font-size:.82rem}
.bempty{padding:60px 0;text-align:center;color:var(--mute)}
.bfilter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.bfilter a{padding:7px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem;background:var(--w)}
.bfilter a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.bpager{display:flex;justify-content:center;gap:10px;margin-top:36px}
.bpager a{padding:9px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600}
.art{max-width:760px;margin:0 auto;padding:0 24px}
.crumb{font-size:.88rem;color:var(--mute);margin:0 0 18px}.crumb a{color:var(--g2);text-decoration:none}
.ameta{color:var(--mute);font-size:.92rem;display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0}
.acover{margin:28px auto 0;max-width:980px;padding:0 24px}.acover img{width:100%;height:auto;border-radius:var(--r);display:block}
.prose{font-size:1.07rem;line-height:1.78;color:#1b2a21}
.prose h2{font:700 1.6rem/1.25 'Sora',sans-serif;margin:2.1em 0 .6em;color:var(--ink)}
.prose h3{font:700 1.25rem/1.3 'Sora',sans-serif;margin:1.7em 0 .5em;color:var(--ink)}
.prose p{margin:0 0 1.15em}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.4em}.prose li{margin:.35em 0}
.prose a{color:var(--g2);text-decoration:underline;text-underline-offset:3px}
.prose img{max-width:100%;height:auto;border-radius:12px;margin:1em 0}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 18px;border-left:4px solid var(--g);color:var(--mute);font-style:italic}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.97rem;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}.prose th{background:var(--paper)}
.prose pre,.prose code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--paper);border-radius:6px}.prose code{padding:2px 6px}.prose pre{padding:14px;overflow-x:auto}
.toc{margin:26px 0;padding:16px 20px;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.toc summary{cursor:pointer;font-weight:700}.toc ol{margin:12px 0 0;padding-left:1.2em}.toc li.h3{margin-left:1em;font-size:.93em}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{color:var(--g2)}
.acta{margin:48px 0 0;padding:30px;border-radius:var(--r);background:var(--ink);color:#fff}
.acta h3{font:700 1.4rem 'Sora',sans-serif;margin:0 0 8px}.acta p{margin:0 0 18px;color:#c9d8ce}
.rel{padding:56px 0 88px;background:var(--paper)}.rel h2{font:700 1.5rem 'Sora',sans-serif;margin:0 0 22px}
@media(max-width:640px){.bwrap{padding:36px 0 64px}.prose{font-size:1.02rem}}
