
.article-figure{margin:24px 0 32px}
.article-figure img{display:block;width:100%;height:auto;border:1px solid #d7dfeb;border-radius:16px}
.article-figure figcaption{margin-top:10px;color:#5b667a;font-size:14px;line-height:1.7}
.figure-lead{margin:14px 0 12px;color:#24364d;line-height:1.9}
.figure-stack > .article-figure{margin-top:20px}
.grid-2,.grid-3,.related-grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.panel,.mini-card,.related-item,.bad-box,.good-box,.neutral-box{background:#fff;border:1px solid #d7dfeb;border-radius:16px;padding:24px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.panel h3,.mini-card h3,.related-item h3{font-size:1.1rem;line-height:1.6;color:#1b2a4a;margin-bottom:8px}
.panel p,.mini-card p,.related-item p,.bad-box p,.good-box p,.neutral-box p{margin:0;color:#45556f}
.bad-box{background:#fff8f7;border-color:#f0c9c5}
.good-box{background:#f7fcf9;border-color:#cfe6d8}
.neutral-box{background:#f8fafc}
.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.related-item .tag{display:inline-block;background:#eef2f7;color:#1b2a4a;font-size:.78rem;font-weight:700;border-radius:999px;padding:4px 10px;margin-bottom:10px}
.kicker-line{display:inline-block;background:#d93025;color:#fff;font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:4px;letter-spacing:.08em;margin-bottom:16px}
.note-inline{border-left:4px solid #d93025;background:#fff7f6;padding:16px 18px;border-radius:8px;color:#394a62;margin:20px 0}
.warn-inline{border-left:4px solid #c57b13;background:#fff9ef;padding:16px 18px;border-radius:8px;color:#394a62;margin:20px 0}
.faq-list .faq-a p{margin:0}
.list-tight li{margin-bottom:8px}
.cta-box{margin-top:28px;padding:28px;border-radius:18px;background:#f6f8fb;border:1px solid #dfe5ef}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.btn-sub{display:inline-flex;align-items:center;justify-content:center;border:1px solid #1b2a4a;color:#1b2a4a;background:#fff;font-weight:700;font-size:1rem;height:52px;padding:0 26px;border-radius:8px;text-decoration:none}
.btn-sub:hover{text-decoration:none;background:#f6f8fb}
.topic-back{display:inline-block;margin-top:18px;font-weight:700}
.site-footer .container p{margin:0}
@media (max-width: 900px){
  .grid-2,.grid-3,.related-grid{grid-template-columns:1fr}
  .cta-actions{flex-direction:column}
  .btn-sub,.btn-cta{max-width:100%;width:100%}
}
