/* cert list */
.cert-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 32px}
@media(max-width:768px){.cert-list{grid-template-columns:1fr}}
.cert-list li{position:relative;padding:10px 0 10px 26px;font-size:16px;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.cert-list li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:8px;border-radius:50%;background:var(--brand)}
/* product cards */
.p-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s;height:100%;display:flex;flex-direction:column}
.p-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}
.p-card .p-img{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt)}
.p-card .p-img img{width:100%;height:100%;object-fit:cover;transition:.35s}
.p-card:hover .p-img img{transform:scale(1.05)}
.p-card .p-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.p-card h3{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.p-card p{font-size:15px;color:var(--ink-soft);margin:0 0 16px;line-height:1.7;flex:1}
.p-card .p-link{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-weight:600;font-size:15px}
.p-card .p-link:hover{color:var(--brand-deep)}
/* 专题页 */
.topic-intro{background:var(--brand-soft);border-radius:16px;padding:26px 30px;margin:10px 0 36px}
.topic-intro h3{font-size:20px;font-weight:800;color:var(--brand-deep);margin:0 0 12px}
.topic-intro p{font-size:16px;color:var(--ink-soft);line-height:1.9;margin:0}
.topic-sub{font-size:20px;font-weight:800;color:var(--ink);margin:40px 0 18px;padding-left:14px;border-left:4px solid var(--brand)}
.feat-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 22px;height:100%;transition:.2s}
.feat-box:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.feat-box b{display:block;font-size:16px;color:var(--ink);margin-bottom:8px}
.feat-box p{font-size:15px;color:var(--ink-soft);line-height:1.75;margin:0}
.topic-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}
.topic-table th,.topic-table td{border:1px solid var(--line);padding:12px 16px;text-align:left;font-size:15px}
.topic-table th{background:var(--brand-soft);color:var(--brand-deep);font-weight:700}
.cert-list{list-style:none;padding:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:14px}
.cert-list li{position:relative;padding:13px 18px 13px 44px;font-size:15px;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.cert-list li:last-child{border-bottom:0}
.cert-list li::before{content:"✓";position:absolute;left:18px;top:13px;width:20px;height:20px;line-height:20px;text-align:center;background:var(--brand-soft);color:var(--brand);border-radius:50%;font-size:12px;font-weight:700}
.cert-list li a{color:var(--ink-soft);display:block}
.cert-list li:hover a{color:var(--brand)}
.topic-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.topic-tags li{background:#fff;border:1px solid var(--line);padding:8px 18px;border-radius:999px;font-size:15px}
.topic-tags li a{color:var(--ink-soft);display:block}
.topic-tags li:hover{border-color:var(--brand)}
.topic-tags li:hover a{color:var(--brand)}
.topic-cta{margin-top:48px;background:linear-gradient(135deg,var(--brand-deep),var(--brand));border-radius:20px;color:#fff;text-align:center;padding:48px 24px}
.topic-cta h3{font-size:var(--fs-h2);font-weight:800;margin:0 0 10px}
.topic-cta p{font-size:16px;opacity:.9;margin:0 0 22px}
.topic-cta a{display:inline-block;background:#fff;color:var(--brand);font-weight:700;padding:12px 36px;border-radius:999px;font-size:16px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;height:100%}
.faq-q{display:block;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:10px;padding-left:22px;position:relative}
.faq-q::before{content:"Q";position:absolute;left:0;top:1px;width:18px;height:18px;line-height:18px;text-align:center;background:var(--brand);color:#fff;border-radius:5px;font-size:12px;font-weight:700}
.faq-a{font-size:15px;color:var(--ink-soft);line-height:1.8;margin:0;padding-left:22px}
