/* ============================================================
   陕西中恒钛航 — 产品详情页 · 主体区样式（GEO 结构化重构版 v9）
   ------------------------------------------------------------
   适用范围：产品详细页主体区（页头 / banner / 版权 / 客服 不在本文件内）
   配色：深空蓝 #0A2540 + 钛橙 #E67E22 + 钛银灰 #8B9DC3
   编码：UTF-8

   ★ 设计原则（为传统搜索 + AI 抓取同时优化）
     1. 每个模块独立 <section id> + <h2>：AI/爬虫可按锚点定位提取
     2. 参数一律用 <dl> 定义列表或 <table><th>：结构化、可抽取
     3. 每个数据带「置信度」标记：已核 / 待复核 / 以 MTC 为准（E-E-A-T）
     4. 数值与单位分离，单位用 <i>：便于解析
     5. 视觉不追求花哨，追求扫读效率：采购工程师 3 秒能找到规格与状态
   ============================================================ */

/* ---------- 容器 ---------- */
.cpd {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px 40px;
    box-sizing: border-box;
}
.cpd * { box-sizing: border-box; }

/* =========== 面包屑 =========== */
.cpd-crumb {
    font-size: 13px;
    color: #8B9DC3;
    padding: 14px 0 6px;
    line-height: 1.6;
}
.cpd-crumb a { color: #0A2540; text-decoration: none; }
.cpd-crumb a:hover { color: #E67E22; text-decoration: underline; }
.cpd-crumb span { color: #CBD2DC; margin: 0 6px; }

/* =========== 卡片通用 =========== */
.cpd-card {
    background: #fff;
    border: 1px solid #E6E9EE;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(10, 37, 64, .04);
    overflow: hidden;
}

/* =========== A. 产品概览 =========== */
.cpd-hero {
    display: grid;
    grid-template-columns: 44% 1fr;
    gap: 26px;
    padding: 22px 24px;
    align-items: start;
}
/* 图（沿用原轮播结构，仅微调外框） */
.cpd-hero .pic {
    border: 1px solid #E6E9EE;
    border-radius: 10px;
    overflow: hidden;
    background: #F8FAFC;
    position: relative;
}
.cpd-hero .pic img {
    width: 100%;
    max-height: 430px;
    object-fit: contain;
    display: block;
}
.cpd-hero .pic .tip {
    position: absolute;
    right: 10px;
    bottom: 10px;
    background: rgba(10, 37, 64, .72);
    color: #fff;
    font-size: 11.5px;
    padding: 3px 9px;
    border-radius: 11px;
    letter-spacing: .5px;
}
/* 右侧信息 */
.cpd-h1 {
    font-size: 25px;
    font-weight: 700;
    color: #0A2540;
    letter-spacing: 1px;
    line-height: 1.35;
    margin: 0 0 4px;
}
.cpd-sub {
    font-size: 12.5px;
    color: #8B9DC3;
    letter-spacing: 1px;
    margin: 0 0 12px;
    font-family: Arial, sans-serif;
}
/* ★ 一句话定位（AI 摘要优先摘取首段） */
.cpd-lead {
    font-size: 14.5px;
    line-height: 1.85;
    color: #3A4756;
    background: #F8FAFC;
    border-left: 3px solid #E67E22;
    border-radius: 0 6px 6px 0;
    padding: 11px 14px;
    margin: 0 0 16px;
    text-align: justify;
}
.cpd-lead b { color: #0A2540; }

/* ★ 关键参数定义列表（dl：AI 最易抽取） */
.cpd-kv {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 22px;
    margin: 0 0 16px;
    padding: 0;
}
.cpd-kv > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px dashed #EDF0F4;
}
.cpd-kv dt {
    flex: 0 0 74px;
    font-size: 12px;
    color: #8B9DC3;
    letter-spacing: 1px;
    white-space: nowrap;
}
.cpd-kv dd {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 14px;
    color: #16222A;
    line-height: 1.6;
}
.cpd-kv dd b { color: #0A2540; font-weight: 600; }
.cpd-kv dd i { font-style: normal; color: #8B9DC3; font-size: 12px; margin-left: 2px; }
.cpd-kv dd a { color: #E67E22; text-decoration: none; }
.cpd-kv dd a:hover { text-decoration: underline; }
/* 供货状态徽标 */
.cpd-state {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 600;
    background: #E67E22;
    color: #fff;
}
.cpd-state.gray { background: #EAF0F6; color: #5A6472; }

/* CTA 按钮组 */
.cpd-cta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.cpd-cta a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 20px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: .5px;
    transition: all .25s ease;
}
.cpd-cta a.p1 { background: #E67E22; color: #fff; }
.cpd-cta a.p1:hover { background: #d35400; transform: translateY(-2px); }
.cpd-cta a.p2 { background: #fff; color: #0A2540; border: 1px solid #D8DEE6; }
.cpd-cta a.p2:hover { border-color: #0A2540; }

/* ---------- 分享条 ---------- */
.cpd-share {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid #F0F4F8;
}
.cpd-share .lb {
    font-size: 12.5px;
    color: #8B9DC3;
    margin-right: 2px;
}
.cpd-share button,
.cpd-share a.sb {
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    opacity: .88;
    transition: all .22s ease;
    flex-shrink: 0;
}
.cpd-share button:hover,
.cpd-share a.sb:hover { opacity: 1; transform: translateY(-2px); }
.cpd-share .wx { background: #07C160; }
.cpd-share .wb { background: #E6162D; }
.cpd-share .qz { background: #FFC028; }
.cpd-share .qq { background: #12B7F5; }
.cpd-share .cp { background: #8B9DC3; }
.cpd-share .pt { background: #5A6472; }
.cpd-share .qr { background: #0A2540; }
/* 弹出层（微信二维码 / 本页二维码） */
.cpd-pop {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(.94);
    z-index: 3000;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(10, 37, 64, .28);
    padding: 22px;
    text-align: center;
    display: none;
    opacity: 0;
    transition: opacity .22s ease, transform .22s ease;
}
.cpd-pop.show { display: block; opacity: 1; transform: translate(-50%, -50%) scale(1); }
.cpd-pop .qrwrap {
    width: 190px;
    height: 190px;
    margin: 0 auto 12px;
    padding: 8px;
    border: 1px solid #E6E9EE;
    border-radius: 8px;
}
.cpd-pop .qrwrap svg, .cpd-pop .qrwrap img { width: 100%; height: 100%; display: block; }
.cpd-pop b { display: block; font-size: 15px; color: #0A2540; margin-bottom: 4px; }
.cpd-pop p { font-size: 12.5px; color: #8B9DC3; margin: 0 0 12px; line-height: 1.7; }
.cpd-pop .close {
    height: 34px;
    padding: 0 22px;
    border: 1px solid #D8DEE6;
    border-radius: 17px;
    background: #fff;
    color: #5A6472;
    font-size: 13px;
    cursor: pointer;
    font-family: inherit;
}
.cpd-pop .close:hover { border-color: #0A2540; color: #0A2540; }
.cpd-mask {
    position: fixed;
    inset: 0;
    background: rgba(10, 37, 64, .45);
    z-index: 2999;
    display: none;
}
.cpd-mask.show { display: block; }

/* =========== 锚点导航 =========== */
.cpd-nav {
    display: flex;
    gap: 0;
    margin: 20px 0 22px;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid #E6E9EE;
    border-radius: 10px;
    overflow-x: auto;
    position: sticky;
    top: 12px;
    z-index: 900;
    box-shadow: 0 2px 12px rgba(10, 37, 64, .06);
}
.cpd-nav::-webkit-scrollbar { height: 4px; }
.cpd-nav::-webkit-scrollbar-thumb { background: #D8DEE6; border-radius: 2px; }
.cpd-nav a {
    flex: 0 0 auto;
    padding: 13px 16px;
    font-size: 13.5px;
    color: #6B7480;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    transition: color .22s, border-color .22s;
    letter-spacing: .5px;
}
.cpd-nav a:hover { color: #0A2540; }
.cpd-nav a.on { color: #E67E22; font-weight: 600; border-bottom-color: #E67E22; }

/* =========== 内容模块通用 =========== */
.cpd-sec {
    margin-bottom: 20px;
    scroll-margin-top: 74px;
}
.cpd-sec > h2 {
    font-size: 18px;
    font-weight: 700;
    color: #0A2540;
    letter-spacing: 1.5px;
    margin: 0;
    padding: 16px 22px 14px;
    border-bottom: 2px solid #F0F4F8;
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
}
.cpd-sec > h2::before {
    content: "";
    width: 4px;
    height: 18px;
    background: linear-gradient(180deg, #E67E22, #d35400);
    border-radius: 2px;
    flex-shrink: 0;
}
.cpd-sec > h2 em {
    font-style: normal;
    font-size: 12px;
    font-family: Arial, sans-serif;
    color: #8B9DC3;
    letter-spacing: .5px;
    font-weight: 400;
}
.cpd-bd { padding: 18px 22px 22px; }

/* =========== 数据来源 / 置信度徽标（E-E-A-T） =========== */
.cpd-conf {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    padding: 1px 7px;
    border-radius: 3px;
    font-weight: 600;
    white-space: nowrap;
}
.cpd-conf.ok   { background: rgba(39, 174, 96, .12);  color: #1e8449; }
.cpd-conf.warn { background: rgba(230, 126, 34, .13); color: #c86a12; }
.cpd-conf.note { background: #EAF0F6; color: #5A6472; }
/* 表内待核元素标记 */
.cpd-pending {
    color: #c86a12;
    font-size: 11px;
    margin-left: 4px;
}
/* 来源脚注 */
.cpd-src {
    margin-top: 12px;
    padding: 10px 14px;
    background: #FAFBFC;
    border-left: 3px solid #CBD2DC;
    border-radius: 0 6px 6px 0;
    font-size: 12.5px;
    color: #6B7480;
    line-height: 1.8;
}
.cpd-src b { color: #0A2540; }
.cpd-src.alarm { border-left-color: #E67E22; background: #FFF9F3; }

/* =========== 表格（全部带 th） =========== */
.cpd-tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.cpd-tbl {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-size: 13.5px;
}
table.cpd-tbl caption {
    caption-side: top;
    text-align: left;
    font-size: 12.5px;
    color: #8B9DC3;
    padding-bottom: 8px;
    letter-spacing: .5px;
}
table.cpd-tbl th {
    background: #0A2540;
    color: #fff;
    font-weight: 600;
    font-size: 12.5px;
    letter-spacing: 1px;
    padding: 10px 14px;
    text-align: left;
    white-space: nowrap;
}
table.cpd-tbl td {
    padding: 9px 14px;
    border-bottom: 1px solid #F0F4F8;
    color: #3A4756;
    line-height: 1.65;
}
table.cpd-tbl tbody tr:hover td { background: #FAFBFC; }
table.cpd-tbl td b { color: #0A2540; }
table.cpd-tbl td i { font-style: normal; color: #8B9DC3; font-size: 12px; }
table.cpd-tbl td.el { font-weight: 700; color: #0A2540; }
/* 标准体系 chip */
.cpd-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cpd-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 13px;
    border: 1px solid #E1E6EC;
    border-radius: 15px;
    background: #FAFBFC;
    font-size: 13px;
    color: #3A4756;
    letter-spacing: .5px;
    transition: all .22s;
    text-decoration: none;
}
.cpd-chip:hover { border-color: #E67E22; color: #E67E22; background: #FFF7EF; }
.cpd-chip b {
    font-size: 11px;
    color: #8B9DC3;
    font-weight: 400;
    padding-right: 6px;
    border-right: 1px solid #E6E9EE;
}
/* 场景卡 */
.cpd-uses { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.cpd-use {
    border: 1px solid #E6E9EE;
    border-radius: 10px;
    padding: 16px 14px;
    transition: all .28s;
    background: #fff;
}
.cpd-use:hover { border-color: #E67E22; box-shadow: 0 6px 20px rgba(230, 126, 34, .10); transform: translateY(-2px); }
.cpd-use b { display: block; font-size: 14.5px; color: #0A2540; margin-bottom: 6px; letter-spacing: .5px; }
.cpd-use span { font-size: 12.5px; color: #6B7480; line-height: 1.7; }
/* 检测项 */
.cpd-test { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cpd-test .t {
    display: flex;
    gap: 10px;
    padding: 13px 14px;
    background: #FAFBFC;
    border-radius: 8px;
    border: 1px solid #EDF0F4;
}
.cpd-test .t i {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    border-radius: 6px;
    background: linear-gradient(135deg, #0A2540, #16375c);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-style: normal;
}
.cpd-test .t b { display: block; font-size: 13.5px; color: #0A2540; margin-bottom: 3px; }
.cpd-test .t span { font-size: 12px; color: #6B7480; line-height: 1.6; }

/* =========== FAQ（details 原生折叠，AI 可直接读取文本） =========== */
.cpd-faq { border-top: 1px solid #F0F4F8; }
.cpd-faq details { border-bottom: 1px solid #F0F4F8; }
.cpd-faq details:last-child { border-bottom: none; }
.cpd-faq summary {
    padding: 14px 22px 14px 42px;
    font-size: 14.5px;
    color: #0A2540;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    list-style: none;
    line-height: 1.6;
    transition: color .22s;
}
.cpd-faq summary::-webkit-details-marker { display: none; }
.cpd-faq summary::before {
    content: "Q";
    position: absolute;
    left: 22px;
    top: 14px;
    width: 17px;
    height: 17px;
    border-radius: 3px;
    background: #E67E22;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cpd-faq summary::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 20px;
    width: 7px;
    height: 7px;
    border-right: 1.6px solid #8B9DC3;
    border-bottom: 1.6px solid #8B9DC3;
    transform: rotate(45deg);
    transition: transform .25s;
}
.cpd-faq details[open] summary { color: #E67E22; }
.cpd-faq details[open] summary::after { transform: rotate(-135deg); }
.cpd-faq .ans {
    padding: 0 22px 16px 42px;
    font-size: 14px;
    color: #4A5563;
    line-height: 1.9;
    position: relative;
}
.cpd-faq .ans::before {
    content: "A";
    position: absolute;
    left: 22px;
    top: 2px;
    width: 17px;
    height: 17px;
    border-radius: 3px;
    background: #0A2540;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cpd-faq .ans b { color: #0A2540; }

/* =========== 内链区 =========== */
.cpd-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cpd-link-col h3 {
    font-size: 14px;
    color: #0A2540;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #F0F4F8;
    letter-spacing: 1px;
}
.cpd-link-col a {
    display: block;
    padding: 6px 0;
    font-size: 13.5px;
    color: #4A5563;
    text-decoration: none;
    transition: color .22s, padding-left .22s;
}
.cpd-link-col a:hover { color: #E67E22; padding-left: 5px; }
.cpd-link-col a::before { content: "› "; color: #CBD2DC; }

/* =========== 扫码咨询卡 =========== */
.cpd-contact {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 24px;
    align-items: center;
}
.cpd-contact .qrbox {
    text-align: center;
    padding: 14px;
    border: 1px solid #E6E9EE;
    border-radius: 10px;
    background: #fff;
}
.cpd-contact .qrbox .q {
    width: 168px;
    height: 168px;
    margin: 0 auto 8px;
}
.cpd-contact .qrbox .q svg { width: 100%; height: 100%; display: block; }
.cpd-contact .qrbox p { font-size: 12px; color: #8B9DC3; margin: 0; line-height: 1.6; }
.cpd-contact .info h3 { font-size: 16px; color: #0A2540; margin: 0 0 10px; letter-spacing: 1px; }
.cpd-contact .info .tel {
    font-size: 22px;
    font-weight: 700;
    color: #E67E22;
    letter-spacing: 1px;
    text-decoration: none;
    display: inline-block;
    margin-bottom: 6px;
}
.cpd-contact .info .tel:hover { color: #d35400; }
.cpd-contact .info p { font-size: 13.5px; color: #6B7480; line-height: 1.9; margin: 0; }
.cpd-contact .info .kv { margin-top: 10px; display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; color: #4A5563; }
.cpd-contact .info .kv b { color: #8B9DC3; font-weight: 400; margin-right: 4px; }

/* ============================================================
   响应式
   ============================================================ */
@media screen and (max-width: 1200px) {
    .cpd-uses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cpd-test { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 1024px) {
    .cpd-hero { grid-template-columns: 1fr; gap: 18px; }
    .cpd-hero .pic img { max-height: 340px; }
    .cpd-links { grid-template-columns: 1fr; }
    .cpd-contact { grid-template-columns: 1fr; text-align: center; }
    .cpd-contact .info .kv { justify-content: center; }
}
@media screen and (max-width: 768px) {
    .cpd { padding: 0 14px 30px; }
    .cpd-hero { padding: 16px 16px; }
    .cpd-h1 { font-size: 21px; }
    .cpd-kv { grid-template-columns: 1fr; }
    .cpd-kv dt { flex-basis: 68px; }
    .cpd-sec > h2 { font-size: 16px; padding: 14px 16px 12px; }
    .cpd-bd { padding: 14px 16px 18px; }
    .cpd-uses { grid-template-columns: 1fr; gap: 10px; }
    .cpd-test { grid-template-columns: 1fr; }
    .cpd-faq summary { padding: 12px 16px 12px 36px; font-size: 14px; }
    .cpd-faq summary::before { left: 16px; top: 13px; }
    .cpd-faq summary::after { right: 16px; }
    .cpd-faq .ans { padding: 0 16px 14px 36px; font-size: 13.5px; }
    .cpd-faq .ans::before { left: 16px; }
    .cpd-nav a { padding: 11px 13px; font-size: 13px; }
    .cpd-cta a { flex: 1; justify-content: center; padding: 0 12px; }
    .cpd-pop { width: calc(100% - 40px); max-width: 320px; padding: 18px; }
}
@media screen and (max-width: 480px) {
    .cpd-contact .qrbox .q { width: 148px; height: 148px; }
    .cpd-contact .info .tel { font-size: 19px; }
}

/* ============================================================
   ★【v10】来图加工流程（箭头串联步骤）+ 加工能力清单
   ============================================================ */
.cpd-flow {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0;
}
.cpd-flow li {
    position: relative;
    padding: 16px 14px 16px 16px;
    background: #FAFBFC;
    border: 1px solid #EDF0F4;
    border-radius: 8px;
    min-height: 150px;
    transition: all .28s ease;
}
.cpd-flow li:hover {
    background: #fff;
    border-color: #E67E22;
    box-shadow: 0 6px 18px rgba(230, 126, 34, .10);
    transform: translateY(-2px);
}
/* 箭头：每步右侧伸出，最后一个不画 */
.cpd-flow li::after {
    content: "";
    position: absolute;
    right: -9px;
    top: 50%;
    margin-top: -6px;
    width: 0; height: 0;
    border-left: 9px solid #CBD2DC;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    z-index: 2;
}
.cpd-flow li:last-child::after { display: none; }
.cpd-flow li:hover::after { border-left-color: #E67E22; }
/* 序号 */
.cpd-flow .n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0A2540, #16375c);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 8px;
}
.cpd-flow li:hover .n { background: linear-gradient(135deg, #E67E22, #d35400); }
.cpd-flow b {
    display: block;
    font-size: 14.5px;
    color: #0A2540;
    margin-bottom: 6px;
    letter-spacing: .5px;
    line-height: 1.4;
}
.cpd-flow .d {
    display: block;
    font-size: 12.5px;
    color: #6B7480;
    line-height: 1.75;
}

/* 加工能力清单 */
.cpd-ability {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.cpd-ability .a {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid #EDF0F4;
    border-radius: 8px;
    transition: border-color .25s;
}
.cpd-ability .a:hover { border-color: #E67E22; }
.cpd-ability .a b {
    flex: 0 0 46px;
    font-size: 13.5px;
    color: #0A2540;
    letter-spacing: .5px;
    line-height: 1.6;
}
.cpd-ability .a span {
    font-size: 12.5px;
    color: #6B7480;
    line-height: 1.7;
}

@media screen and (max-width: 1200px) {
    .cpd-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 22px; }
    /* 换行后箭头改为向下 */
    .cpd-flow li::after {
        right: 50%; top: auto; bottom: -20px;
        margin: 0 -6px 0 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 9px solid #CBD2DC;
        border-bottom: 0;
    }
    .cpd-flow li:hover::after { border-top-color: #E67E22; border-left-color: transparent; }
    .cpd-flow li:nth-child(3n)::after { display: none; }
    .cpd-flow li:last-child::after { display: none; }
    .cpd-ability { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 768px) {
    .cpd-flow { grid-template-columns: 1fr; gap: 20px; }
    .cpd-flow li { min-height: 0; padding: 13px 14px; }
    .cpd-flow li::after { display: none; }
    .cpd-ability { grid-template-columns: 1fr; }
    .cpd-ability .a b { flex-basis: 44px; }
}
