.topic-hero{background:#eff4fc;border-bottom:1px solid #d8e3f1;padding:76px 0 65px}
.topic-hero h1{max-width:780px;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.08}
.topic-hero>.wrap>p:not(.eyebrow){max-width:680px;font-size:1.13rem;line-height:1.65;margin:18px 0 30px}
.topic-menu>h2{font-size:1.25rem;margin:30px 0 14px}
.topic-jump{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.topic-jump a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #d4e0ef;border-radius:9px;color:var(--ink);font-size:.89rem;font-weight:600;line-height:1.35;text-decoration:none;padding:15px 16px}
.topic-jump a:hover,.topic-jump a:focus-visible{border-color:var(--blue);background:#e7f0ff}
.topic-jump a>span{color:var(--blue)}
.topic-content{padding-block:38px 80px}
.topic-date{font-size:.85rem;color:var(--muted);margin:0 0 18px}
.topic-detail{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1fr);gap:52px;padding:44px 0;border-bottom:1px solid #d7e2f0;scroll-margin-top:25px}
.topic-detail-head .eyebrow{margin:0 0 13px}
.topic-detail h2{font-size:clamp(1.65rem,2.5vw,2.35rem);line-height:1.2;margin:0 0 14px}
.topic-detail-head>p:last-child{color:var(--muted);font-size:1rem;line-height:1.55;margin:0}
.topic-detail-body p,.topic-detail-body li{font-size:.98rem;line-height:1.72}
.topic-detail-body p:first-child,.topic-detail-body ul:first-child,.topic-detail-body ol:first-child{margin-top:0}
.topic-detail-body li{padding-left:3px;margin-bottom:7px}
.topic-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 23px;margin-top:24px}
.topic-actions .button{font-size:.86rem;padding:12px 17px;min-height:44px}
.topic-source{font-size:.8rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.topic-video{font-size:.8rem;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.topic-end{margin-top:60px;background:#173b85;color:#fff;padding:34px 38px;border-radius:14px}
.topic-end h2{color:#fff;margin:0 0 10px}
.topic-end p{color:#dce7fa;margin:0 0 20px}
.topic-end .button{background:#fff;color:#173b85;border-color:#fff}
@media(max-width:800px){.topic-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.topic-detail{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){.topic-hero{padding:52px 0 45px}.topic-jump{grid-template-columns:1fr}.topic-content{padding-bottom:50px}.topic-detail{padding:35px 0}.topic-end{padding:27px 23px;margin-top:40px}}
