/* ============================================================
   VH CMS — default theme overrides
   You can edit this file to customize the front-end appearance.
   It is loaded after /assets/style.css and can override any rule.
   ============================================================ */

/* ============================================================
   fullpage.js 降级布局:启动失败时切换为自然流式排版,
   .ablist 不再绝对定位,图标也不再突出遮挡。
   ============================================================ */
body.no-fullpage #fullpage,
body.no-fullpage .section {
    height: auto !important;
    min-height: 0 !important;
}

body.no-fullpage .ablist {
    position: relative !important;
    margin-top: 12rem !important;
}

body.no-fullpage .ablist ul {
    padding-top: 6rem;
}

body.no-fullpage .section1 .banner,
body.no-fullpage .section1 .swiper-slide.index_banner {
    height: 600px;
    min-height: 600px;
}

body.no-fullpage .section_hd,
body.no-fullpage .section_hd .hdlb,
body.no-fullpage .section_hd .swiper-slide {
    height: 320px;
}

body.no-fullpage .section3,
body.no-fullpage .section3 .mySwiperb {
    height: 560px;
}

body.no-fullpage .section3 .mySwipera {
    margin-top: 12px;
}

body.no-fullpage .section4,
body.no-fullpage .section4 .mySwiperc {
    height: 560px;
}

body.no-fullpage .section5 {
    padding: 48px 0;
}

body.no-fullpage .section6 {
    padding-top: 48px;
}

body.no-fullpage .in-view,
body.no-fullpage .section > .w1600,
body.no-fullpage .section .honor-wrap,
body.no-fullpage .section .casebox,
body.no-fullpage .section .xwbox,
body.no-fullpage .section .lxbox,
body.no-fullpage .ablist ul li {
    opacity: 1 !important;
    transform: none !important;
}

/* ============================================================
   保证 ablist 数字在装饰圆形之上,即便 fullpage 启动也不被遮挡
   ============================================================ */
.ablist {
    z-index: 50;
}
.ablist ul li {
    z-index: 51;
}

/* ============================================================
   证书/专利图片不变形(原 CSS 用了 cover,容易裁切)
   ============================================================ */
.ryzs-swiper-wrap .swiper-slide img {
    object-fit: contain;
}

/* ============================================================
   修复 1:首页 .ablist 5 个数字区,图标被压到数字上方了
   原设计:图标 absolute top:-8rem 飘在 banner 上,但 fullpage 关闭时
          section 高度缩小,图标会盖住数字。给数字区加足够 padding-top。
   ============================================================ */
.ablist {
    padding-top: 7rem !important;
}
.ablist ul li {
    padding-top: 1.5rem;
}
.ablist ul li i {
    top: -6.5rem;
}
.ablist ul li .a1,
.ablist ul li .a2 {
    position: relative;
    z-index: 5;
}

/* ============================================================
   修复 2:确保 .red-shadow-heavy / .blue-shadow-heavy 白色描边阴影
   生效(原 jyjd CSS 里有,但有时被覆盖)
   ============================================================ */
.red-shadow-heavy {
    color: #ff0000 !important;
    font-weight: 900 !important;
    text-shadow:
        -2px -2px 0 #fff, 2px -2px 0 #fff,
        -2px  2px 0 #fff, 2px  2px 0 #fff,
         0px -2px 0 #fff, 0px  2px 0 #fff,
        -2px  0px 0 #fff, 2px  0px 0 #fff !important;
}
.blue-shadow-heavy {
    color: #0052da !important;
    font-weight: 900 !important;
    font-size: 1.2em !important;
    text-shadow:
        -2px -2px 0 #fff, 2px -2px 0 #fff,
        -2px  2px 0 #fff, 2px  2px 0 #fff,
         0px -2px 0 #fff, 0px  2px 0 #fff,
        -2px  0px 0 #fff, 2px  0px 0 #fff !important;
}

/* ============================================================
   修复 3:合作热线电话字号
   .ryzs dl dt p a 原来 1.2rem 太小,加大到 1.6rem
   ============================================================ */
.ryzs dl dt p a {
    font-size: 1.6rem !important;
    padding: 14px 28px !important;
    letter-spacing: 0.04em;
}
.ryzs dl dt p i {
    width: 26px !important;
    height: 26px !important;
}
@media (max-width: 980px) {
    .ryzs dl dt p a {
        font-size: 1.3rem !important;
        padding: 12px 22px !important;
    }
}

/* ============================================================
   修复 4:首页 section5 三栏新闻区,行业资讯第一项的图被铺成超大
   原 CSS: .xwl ul li a img { width:100% } 没限高,造成图片把整个
   "行业资讯"列拉得很高,挤掉了"公司动态/技术分享"区
   ============================================================ */
.xwl ul li a img,
.xwl ul li a picture img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover;
    display: block;
    margin-bottom: 14px;
}

/* 公司动态：照抄 jyjd 原版排版 — 图左文右,图 13.5rem×7rem。
   我们站点的 css.css 丢了 .xwa 布局,故在此补全。 */
.xwa ul li a {
    display: flex !important;
    align-items: flex-start;
}
/* picture 是 flex 子项,锁宽 + 不收缩,内部 img 填满裁切,不变形 */
.xwa ul li a picture {
    width: 13.5rem !important;
    height: 7rem !important;
    flex: 0 0 13.5rem !important;
    margin-right: 20px;
    display: block;
    overflow: hidden;
}
.xwa ul li a img,
.xwa ul li a picture img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}
.xwa ul li .newslistr {
    flex: 1 1 auto;
    min-width: 0;
}
/* 标题与简介之间留间距 */
.xwa ul li .newslistr h3 {
    margin-bottom: 10px;
}
/* 日期跟在【查看详情】后面,带时钟图标 */
.xwa ul li .newslistr .news-date {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 12px;
    color: #999;
    font-size: 0.82rem;
    white-space: nowrap;
}
.xwa ul li .newslistr .news-date .ico-clock {
    color: #c91e1e;
    flex-shrink: 0;
}

/* 三栏整体最小高,防止某栏过高把其他栏压垮 */
.section5 .xwbox {
    align-items: stretch;
}
.section5 .xwl,
.section5 .xwa,
.section5 .xwb {
    min-height: 0;
}

/* 行业资讯 li 之间的间距 */
.xwl ul li {
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
}

@media (max-width: 1080px) {
    .xwl ul li a img,
    .xwl ul li a picture img {
        height: 140px !important;
    }
}

/* ============================================================
   修复 5:section5 新闻区在大屏字号过小,加大可读性
   原:h3 16px / 正文 12.8px,在 2K/4K 屏上偏小
   ============================================================ */
.xwbt span { font-size: 1.4rem !important; }
.xwbt a { font-size: 0.9rem !important; }

.xwa ul li .newslistr h3,
.xwb ul li .newslistr h3,
.xwl ul li h3 {
    font-size: 1.15rem !important;
    line-height: 1.5;
}
.xwa ul li .newslistr p,
.xwl ul li p {
    font-size: 0.95rem !important;
    line-height: 1.75;
}
.xwb ul li .newslistr p {
    font-size: 1rem !important;
    line-height: 1.8;
}
.xwa ul li .newslistr span {
    font-size: 0.9rem !important;
}

/* 大屏(≥1600)再加一档 */
@media (min-width: 1600px) {
    .xwbt span { font-size: 1.6rem !important; }
    .xwa ul li .newslistr h3,
    .xwb ul li .newslistr h3,
    .xwl ul li h3 { font-size: 1.25rem !important; }
    .xwa ul li .newslistr p,
    .xwl ul li p { font-size: 1.05rem !important; }
    .xwb ul li .newslistr p { font-size: 1.1rem !important; }
}

/* 4K 屏(≥2400) */
@media (min-width: 2400px) {
    .xwbt span { font-size: 1.8rem !important; }
    .xwa ul li .newslistr h3,
    .xwb ul li .newslistr h3,
    .xwl ul li h3 { font-size: 1.4rem !important; }
    .xwa ul li .newslistr p,
    .xwl ul li p { font-size: 1.15rem !important; }
    .xwb ul li .newslistr p { font-size: 1.2rem !important; }
}

/* ============================================================
   修复 6:关于我们「公司主要参与完成的项目」卡片字号
   原 .ab-pcard-body 0.92rem,正文太小;标题/编号也偏小
   ============================================================ */
.ab-section-title { font-size: 2rem !important; margin-bottom: 48px; }
.ab-pcard { padding: 38px 32px 32px; }
.ab-pcard-num { font-size: 2.8rem !important; }
.ab-pcard-h { font-size: 1.35rem !important; }
.ab-pcard-body {
    font-size: 1.05rem !important;
    line-height: 1.95;
    color: #455066;
}

@media (min-width: 1600px) {
    .ab-section-title { font-size: 2.2rem !important; }
    .ab-pcard-num { font-size: 3rem !important; }
    .ab-pcard-h { font-size: 1.45rem !important; }
    .ab-pcard-body { font-size: 1.1rem !important; }
}

@media (min-width: 2400px) {
    .ab-section-title { font-size: 2.4rem !important; }
    .ab-pcard-num { font-size: 3.2rem !important; }
    .ab-pcard-h { font-size: 1.6rem !important; }
    .ab-pcard-body { font-size: 1.2rem !important; }
}

/* 关于页其他字号同步加大:故事段、数字统计、活动名等 */
.ab-story-txt .ab-lede {
    font-size: 1.05rem !important;
    line-height: 1.9 !important;
}
.ab-story-txt p { font-size: 1rem; line-height: 1.85; }
.ab-quote { font-size: 1rem !important; line-height: 1.9; }
.ab-stat strong { font-size: 2.6rem !important; }
.ab-stat em { font-size: 0.95rem !important; }
.activity .item h4 { font-size: 0.95rem !important; line-height: 1.6; }
.certs-grid .item h4 { font-size: 0.95rem !important; line-height: 1.5; }

@media (min-width: 1600px) {
    .ab-story-txt .ab-lede { font-size: 1.15rem !important; }
    .ab-story-txt p { font-size: 1.08rem; }
    .ab-stat strong { font-size: 3rem !important; }
    .ab-stat em { font-size: 1.05rem !important; }
    .activity .item h4 { font-size: 1.05rem !important; }
    .certs-grid .item h4 { font-size: 1.05rem !important; }
}

/* ============================================================
   响应式修复:针对各屏幕尺寸的视觉问题
   ============================================================ */

/* 手机端基础字号 — body 默认 0.9rem 太小 */
@media (max-width: 740px) {
    body { font-size: 15px; }
}

/* 汉堡按钮触摸区放大到 44×44 */
.menu {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
}
.menu i {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
}

/* 平板横屏(1024×768)修复 */
@media (max-width: 1024px) {
    /* 首页 .ablist 装饰圆形图标在窄屏会盖到下面文字 */
    .ablist ul li i {
        width: 90px !important;
        height: 90px !important;
        top: -4.5rem !important;
        margin-left: -45px !important;
    }
    .ablist {
        padding-top: 5.5rem !important;
    }

    /* 关于页"15+ YEARS"徽章在 .ab-story 单列后,绝对定位会跑到屏幕左外 */
    .ab-est {
        left: 50% !important;
        transform: translateX(-50%) !important;
        top: auto !important;
        bottom: -30px !important;
    }

    /* fwjc / jiagu 服务流程 5 列在 1024 上挤,改成 3 列 + 第二行 2 列 */
    .process-line {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 32px 16px !important;
    }
    .process-line:before {
        display: none !important; /* 连接线在多行时会错位,去掉 */
    }

    /* 对比表在平板上 780px 最小宽超过视口 768px,允许收缩 */
    .compare-tbl {
        min-width: 100% !important;
    }
    .compare-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* 平板竖屏(768×1024)+ 手机 */
@media (max-width: 768px) {
    .process-line {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .ab-stats {
        gap: 0 !important;
    }
    .ablist ul li i {
        width: 70px !important;
        height: 70px !important;
        top: -3.5rem !important;
        margin-left: -35px !important;
    }
    .ablist {
        padding-top: 4rem !important;
    }
}

/* 小手机(360-414)进一步压缩 */
@media (max-width: 480px) {
    .process-line {
        grid-template-columns: 1fr !important;
    }
    .ablist ul li i {
        width: 56px !important;
        height: 56px !important;
        top: -2.8rem !important;
        margin-left: -28px !important;
    }
    .ablist ul li .a1 .a11 {
        font-size: 2rem !important;
    }
    .ablist ul li .a2 {
        font-size: 0.8rem !important;
        line-height: 1.4;
    }
    .ablist {
        padding-top: 3rem !important;
        padding-bottom: 1.5rem !important;
    }

    /* section5 三栏在小屏改 1 列堆叠 */
    .xwbox {
        flex-direction: column;
    }
    .xwr,
    .xwl {
        width: 100% !important;
    }

    /* 关于页项目卡 + 大数字 */
    .ab-pcard {
        padding: 24px 20px !important;
    }
    .ab-pcard-num {
        font-size: 2rem !important;
    }
    .ab-pcard-h {
        font-size: 1.1rem !important;
    }
    .ab-pcard-body {
        font-size: 0.95rem !important;
    }
}


/* ============================================================
   /team 专家团队 — 列表 + 详情（Swiss/Minimal + 百科风）
   设计原则：
   - 平等：取消"首席专家"突出区，所有成员一视同仁
   - 克制：去阴影/去 hover 上浮/小头像，靠排版传达专业感
   - 权威：深蓝 #0a1f4d 主色 + 红 #ff2929 单一强调
   ============================================================ */

.team-banner {
    background: linear-gradient(135deg, #061a4a 0%, #0a2364 60%, #0a3683 100%) !important;
    position: relative; overflow: hidden;
}
.team-banner::after {
    content: ''; position: absolute; inset: 0;
    background: radial-gradient(circle at 85% 30%, rgba(255,255,255,.08) 0%, transparent 55%);
    pointer-events: none;
}
.team-banner .sub-banner-inner { position: relative; z-index: 2; }
.team-banner .sub-banner-inner h1 { color: #fff !important; }
.team-banner .sub-banner-inner h1 .red { color: #ff2929 !important; }
.team-banner .sub-banner-inner p { color: rgba(255,255,255,.82) !important; letter-spacing: 5px; font-size: 0.95rem; }
.team-banner--slim .sub-banner-inner { padding: 56px 0 48px; }

/* —— 列表页 —— */
.team-section { background: #fff; padding: 64px 0 80px; }
.team-section-head {
    text-align: center;
    margin-bottom: 48px;
}
.team-section-head .eyebrow {
    display: inline-block;
    font-size: 0.8rem;
    color: #6b88c2;
    letter-spacing: 6px;
    margin-bottom: 14px;
    text-transform: uppercase;
    font-family: 'Helvetica Neue', Inter, system-ui, sans-serif;
}
.team-section-head h2 {
    font-size: 2.2rem; font-weight: 700;
    color: #0a1f4d;
    margin: 0 0 14px;
    letter-spacing: 4px;
    position: relative;
    display: inline-block;
}
.team-section-head h2::after {
    content: '';
    display: block;
    width: 36px; height: 3px;
    background: #ff2929;
    margin: 14px auto 0;
}
.team-section-head .muted {
    font-size: 0.95rem; color: #455066;
    margin: 0; letter-spacing: 1px;
    line-height: 1.7;
}
.team-section-meta {
    margin-top: 18px;
    font-size: 0.9rem;
    color: #6b88c2;
    letter-spacing: 3px;
}
.team-section-meta strong {
    font-size: 1.2rem;
    font-weight: 700;
    color: #0a1f4d;
    margin-right: 4px;
}

/* 4 列居中卡片（百科卡风 + 品牌色） */
.team-grid-v2 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 24px;
}
.team-card-v2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: inherit; text-decoration: none;
    background: #fff;
    border: 1px solid #e6edf8;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
    position: relative;
    padding: 0 24px 22px;
    min-height: 360px;
}
/* 顶部 4px 深蓝条 */
.tc2-strip {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: linear-gradient(90deg, #0a1f4d 0%, #0052da 100%);
}
.team-card-v2:hover {
    border-color: #0052da;
    box-shadow: 0 12px 32px rgba(10, 31, 77, .1);
    transform: translateY(-3px);
}

/* 左上等级标签（飘旗状） */
.tc2-tag {
    position: absolute;
    top: 22px; left: 0;
    font-size: 0.78rem;
    color: #fff;
    padding: 5px 14px 5px 18px;
    letter-spacing: 1px;
    font-weight: 500;
    clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%);
    z-index: 3;
}
.badge-senior     { background: linear-gradient(90deg, #c91e1e 0%, #ff2929 100%); }
.badge-core       { background: linear-gradient(90deg, #0a2364 0%, #0052da 100%); }
.badge-registered { background: linear-gradient(90deg, #5a7ca8 0%, #6b88c2 100%); }

/* 右上小编号 */
.tc2-index {
    position: absolute;
    top: 14px; right: 16px;
    font-size: 0.72rem;
    color: #b5c0d6;
    font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
    letter-spacing: 1px;
    z-index: 3;
}

/* 大圆头像居中 */
.tc2-photo {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    background: #f4f7fc;
    border: 3px solid #fff;
    box-shadow: 0 6px 18px rgba(10, 31, 77, .08);
    margin: 38px 0 20px;
    position: relative;
}
.tc2-photo img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.team-card-v2:hover .tc2-photo img { transform: scale(1.06); }

/* 姓名（居中） */
.tc2-name {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0a1f4d;
    margin: 0 0 6px;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.tc2-name .tc2-years {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.72rem;
    color: #0052da;
    background: rgba(0, 82, 218, .08);
    border: 1px solid rgba(0, 82, 218, .2);
    border-radius: 11px;
    padding: 2px 10px;
    letter-spacing: .5px;
    font-weight: 600;
}

/* 职位（居中浅灰） */
.tc2-title {
    font-size: 0.9rem;
    color: #455066;
    margin: 0 0 18px;
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 1.55;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 专业方向标签（卡片底部居中） */
.tc2-specs {
    list-style: none;
    padding: 0;
    margin: 0 0 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 8px;
    width: 100%;
}
.tc2-specs li {
    list-style: none;
    font-size: 0.78rem;
    line-height: 1.4;
    color: #0a1f4d;
    background: #f4f7fc;
    border: 1px solid #d6e2f4;
    border-radius: 3px;
    padding: 4px 10px;
    white-space: nowrap;
}

/* 底部数据胶囊条 */
.tc2-meta {
    width: 100%;
    background: #f4f7fc;
    border-radius: 4px;
    padding: 10px 12px;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
}
.tc2-chip {
    font-size: 0.78rem;
    color: #6b88c2;
    letter-spacing: .3px;
    white-space: nowrap;
}
.tc2-chip strong {
    color: #0a1f4d;
    font-weight: 700;
    margin: 0 2px;
}

/* —— 资历统计条（轻量版） —— */
.team-stats--slim {
    background: #f4f7fc;
    padding: 36px 0; color: #0a1f4d;
}
.team-stats--slim::before, .team-stats--slim::after { display: none; }
.team-stats--slim .ts-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px 24px; position: relative; z-index: 2;
}
.team-stats--slim .ts-item {
    text-align: center; padding: 14px 12px;
    border-right: 1px solid #d6e2f4;
}
.team-stats--slim .ts-item:last-child { border-right: none; }
.team-stats--slim .ts-num strong {
    font-size: 2.2rem; color: #0a1f4d; font-weight: 800;
    background: none !important;
    -webkit-text-fill-color: initial !important;
}
.team-stats--slim .ts-num span { color: #6b88c2; font-size: 0.95rem; }
.team-stats--slim .ts-label {
    font-size: 0.88rem; color: #455066;
    margin-top: 4px; letter-spacing: .5px;
}

/* —— 详情页（百科风） —— */
.td2 { background: #fff; padding: 50px 0 80px; }
.td2-head {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 36px; align-items: stretch;
    border-bottom: 1px solid #e6edf8;
    padding-bottom: 36px; margin-bottom: 32px;
}
.td2-photo {
    background: #f4f7fc;
    border-radius: 4px; overflow: hidden;
    border: 1px solid #e6edf8;
    min-height: 100%;
}
.td2-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.td2-name {
    font-size: 2rem; font-weight: 700;
    color: #0a1f4d; margin: 0 0 12px; letter-spacing: 2px;
    border-bottom: 1px solid #f0f3f9;
    padding-bottom: 14px;
}
.td2-lede {
    font-size: 0.95rem; line-height: 1.85; color: #455066; margin: 0 0 16px;
}
.td2-infobox {
    width: 100%; border-collapse: collapse; font-size: 0.92rem;
}
.td2-infobox th, .td2-infobox td {
    text-align: left; padding: 10px 14px;
    border: 1px solid #e6edf8;
    vertical-align: top; line-height: 1.7;
}
.td2-infobox th {
    width: 90px; background: #f4f7fc;
    color: #455066; font-weight: 500; white-space: nowrap;
}
.td2-infobox td { background: #fff; color: #0a1f4d; }

.td2-toc {
    background: #f4f7fc;
    border: 1px solid #e6edf8;
    border-radius: 4px;
    padding: 16px 22px;
    margin-bottom: 32px;
    display: flex; gap: 22px; align-items: baseline; flex-wrap: wrap;
}
.td2-toc-label {
    font-size: 0.95rem; color: #0a1f4d;
    font-weight: 700; letter-spacing: 4px;
    padding-right: 16px;
    border-right: 1px solid #d6e2f4;
}
.td2-toc ol {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 6px 24px; flex: 1;
}
.td2-toc ol li a {
    font-size: 0.92rem; color: #0052da; text-decoration: none;
}
.td2-toc ol li a:hover { color: #ff2929; text-decoration: underline; }

/* ============================================================
   详情页正文 — 简洁 / 专业 / 权威
   主次：H1 深 #0a1f4d、正文 #3f4a5f 中色、辅助 #6b7a92 浅色
   节奏：章节大间距 56px，段落 16px，子标题缩进 24px
   ============================================================ */
.td2-sec {
    margin-bottom: 56px;
    scroll-margin-top: 100px;
}
/* 主章节标题 — 红色细竖线 + 大字 + 浅灰下边 */
.td2-h {
    font-size: 1.4rem;
    color: #0a1f4d;
    font-weight: 700;
    margin: 0 0 22px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e6edf8;
    display: flex;
    align-items: center;
    gap: 12px;
    letter-spacing: 1px;
    line-height: 1.4;
}
.td2-h::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 24px;
    background: #ff2929;
    border-radius: 2px;
    flex-shrink: 0;
}
/* 隐藏数字标号 — 用户反馈不需要 */
.td2-h .num { display: none !important; }

/* 正文 — 中色 + 段落更舒展 */
.td2-text {
    font-size: 1rem;
    line-height: 2;
    color: #3f4a5f;
}
.td2-text p { margin: 0 0 18px; }
.td2-text p:last-child { margin-bottom: 0; }
.td2-rich p {
    margin: 0 0 18px;
    color: #3f4a5f;
    line-height: 2;
    font-size: 1rem;
}
.td2-rich img { max-width: 100%; height: auto; border-radius: 4px; margin: 14px 0; }

/* 富文本一级标题（h2 / h3） — 与 .td2-h 同款大字红竖线主章节标题 */
.td2-rich h2,
.td2-rich h3 {
    font-size: 1.4rem;
    color: #0a1f4d;
    font-weight: 700;
    margin: 40px 0 22px;
    padding: 0 0 14px;
    border-bottom: 1px solid #e6edf8;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.4;
    letter-spacing: 1px;
}
.td2-rich h2::before,
.td2-rich h3::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 24px;
    background: #ff2929;
    border-radius: 2px;
    flex-shrink: 0;
}
/* 富文本子标题（h4，㈠㈡㈢㈣ / 项目分类） — 加粗 + 浅色下边线 */
.td2-rich h4 {
    font-size: 1.08rem;
    font-weight: 700;
    color: #0a1f4d;
    margin: 30px 0 14px;
    padding: 0 0 10px;
    border-bottom: 1px dashed #e6edf8;
    line-height: 1.5;
    letter-spacing: .5px;
}

/* 富文本里的列表 — 跟标题对齐缩进 */
.td2-rich ul,
.td2-rich ol {
    margin: 0 0 18px 24px;
    padding-left: 28px;
    color: #3f4a5f;
    font-size: 1rem;
}
.td2-rich ol { list-style: decimal outside; }
/* 论文 / 规范 / 专利 类列表 — 不要序号也不要符号，纯净列出 */
.td2-rich ol.list-plain { list-style: none; padding-left: 0; }
.td2-rich ol.list-plain li { list-style: none; padding-left: 0; }
.td2-rich ol.list-plain li::marker { content: ''; }
.td2-rich ol.list-plain li::before { content: none; }
.td2-rich ul li,
.td2-rich ol li {
    margin-bottom: 6px;
    line-height: 1.95;
    padding-left: 4px;
    font-size: 1rem;
    list-style: inherit;            /* 覆盖全站 li{list-style:none} */
}
.td2-rich ol li::marker {
    color: #ff2929;
    font-weight: 700;
}
.td2-rich ul { list-style: none; padding-left: 28px; }
.td2-rich ul li {
    list-style: none;
    padding-left: 0;
}
.td2-rich ul li::before {
    content: '·';
    color: #ff2929;
    font-weight: 700;
    display: inline-block;
    width: 14px;
    margin-left: -14px;
    font-size: 1.4em;
    line-height: 1;
    vertical-align: -2px;
}

.td2-rich strong {
    color: #0a1f4d;
    font-weight: 600;
}
.td2-rich blockquote {
    margin: 18px 0 18px 24px;
    padding: 12px 18px;
    background: #f4f7fc;
    border-left: 2px solid #ff2929;
    color: #455066;
    font-size: 0.98rem;
    line-height: 1.85;
}

.td2-tags {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 8px;
}
.td2-tags li {
    background: #f4f7fc; color: #0a1f4d;
    border: 1px solid #d6e2f4;
    padding: 6px 14px; border-radius: 3px; font-size: 0.92rem;
}
.td2-list {
    padding-left: 22px; margin: 0;
    font-size: 0.98rem; line-height: 1.95; color: #3a4762;
}
.td2-list li { margin-bottom: 4px; padding-left: 4px; }
.td2-list-dash { list-style: none; padding-left: 0; }
.td2-list-dash li { padding-left: 22px; position: relative; }
.td2-list-dash li::before {
    content: '—'; position: absolute; left: 0; top: 0;
    color: #ff2929; font-weight: 700;
}

.td2-related {
    margin-top: 48px; padding-top: 40px;
    border-top: 1px solid #e6edf8;
}
.td2-rel-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 18px; margin-bottom: 28px;
}
.td2-rel-card {
    display: flex; align-items: center; gap: 12px;
    padding: 12px;
    background: #fff;
    border: 1px solid #e6edf8;
    border-radius: 4px;
    color: inherit; text-decoration: none;
    transition: border-color .2s ease, background-color .2s ease;
}
.td2-rel-card:hover { border-color: #0052da; background: #fafbfd; }
.rc-photo {
    width: 56px; height: 56px; flex-shrink: 0;
    border-radius: 50%; overflow: hidden;
    background: #f4f7fc;
}
.rc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rc-info { min-width: 0; }
.rc-info h4 {
    font-size: 1rem; color: #0a1f4d;
    margin: 0 0 2px; font-weight: 700;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rc-info p {
    font-size: 0.8rem; color: #6b88c2; margin: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.td2-back { text-align: center; padding-top: 14px; }
.td2-back-link {
    color: #0052da; font-size: 0.95rem; text-decoration: none;
}
.td2-back-link:hover { color: #ff2929; }

@media (max-width: 1280px) {
    .team-grid-v2 { grid-template-columns: repeat(3, 1fr); gap: 24px 20px; }
}
@media (max-width: 1024px) {
    .team-grid-v2 { grid-template-columns: repeat(2, 1fr); gap: 22px 18px; }
    .team-card-v2 { padding: 0 20px 20px; min-height: 340px; }
    .tc2-photo { width: 140px; height: 140px; margin: 36px 0 18px; }
    .tc2-name { font-size: 1.2rem; }
    .td2-head { grid-template-columns: 160px 1fr; gap: 24px; }
    .td2-photo { max-width: 160px; }
    .td2-name { font-size: 1.6rem; }
    .td2-rel-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 740px) {
    .team-section { padding: 40px 0 56px; }
    .team-grid-v2 { grid-template-columns: 1fr; gap: 18px; }
    .team-card-v2 { padding: 0 18px 18px; min-height: 320px; }
    .tc2-photo { width: 130px; height: 130px; margin: 32px 0 14px; }
    .tc2-name { font-size: 1.15rem; letter-spacing: 1px; }
    .tc2-title { font-size: 0.85rem; }
    .tc2-chip { font-size: 0.72rem; }
    .tc2-tag { font-size: 0.7rem; padding: 4px 12px 4px 14px; }
    .tc2-index { font-size: 0.65rem; top: 10px; right: 12px; }
    .team-stats--slim .ts-item { border-right: none; border-bottom: 1px solid #d6e2f4; padding: 12px; }
    .team-stats--slim .ts-item:last-child { border-bottom: none; }
    .td2 { padding: 30px 0 50px; }
    .td2-head { grid-template-columns: 1fr; gap: 20px; }
    .td2-photo { max-width: 220px; margin: 0 auto; }
    .td2-name { font-size: 1.4rem; text-align: center; }
    .td2-infobox th { width: 75px; padding: 8px 10px; }
    .td2-infobox td { padding: 8px 10px; }
    .td2-toc { padding: 12px 14px; gap: 10px; }
    .td2-toc-label { padding-right: 10px; }
    .td2-rel-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   fwjc / jiagu 详情页 "典型案例" 区
   ============================================================ */
.case-section {
    background: #f4f7fc;
    padding: 80px 0 90px;
}
.case-section .sub-title { text-align: center; margin-bottom: 48px; }
.case-section .sub-title h2 {
    font-size: 2.2rem;
    font-weight: 800;
    color: #0a1f4d;
    letter-spacing: 2px;
    margin: 0 0 12px;
}
.case-section .sub-title h2 .red { color: #ff2929; }
.case-section .sub-title p {
    font-size: 0.95rem;
    color: #6b88c2;
    letter-spacing: 4px;
    margin: 0;
}
.case-more {
    text-align: center;
    margin-top: 50px;
}
.btn-more {
    display: inline-block;
    background: linear-gradient(90deg, #0052da 0%, #0a2364 100%);
    color: #fff !important;
    padding: 14px 38px;
    border-radius: 30px;
    font-size: 1.05rem;
    letter-spacing: .04em;
    transition: all .3s ease;
    box-shadow: 0 8px 24px rgba(0, 82, 218, .22);
}
.btn-more:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(0, 82, 218, .35);
    color: #fff !important;
}
@media (max-width: 1024px) {
    .case-section { padding: 56px 0 64px; }
    .case-section .sub-title h2 { font-size: 1.8rem; }
}
@media (max-width: 740px) {
    .case-section { padding: 40px 0 48px; }
    .case-section .sub-title h2 { font-size: 1.4rem; }
    .btn-more { padding: 12px 28px; font-size: 0.95rem; }
}

/* ============================================================
   修复 — 首页 + 联系页 lx_pic 由 2 个二维码扩到 3 个后换行
   原 .lx_pic ul li 固定 210px 宽 + 45px 右间距，3 张超容器宽度。
   改成 flex 自适应：3 列均分、给每张图加 max-width 避免过大。
   ============================================================ */
.lx_pic ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 28px;
    overflow: visible;
    align-items: flex-start;
}
.lx_pic ul li {
    width: 170px !important;       /* 固定 170px，不再随容器拉伸/挤压 */
    flex: 0 0 170px;
    max-width: 170px;
    margin: 0 !important;
    float: none !important;
    min-width: 0;
    text-align: center;
}
.lx_pic ul li picture,
.lx_pic ul li img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
/* 中等屏（与地图并排但空间偏紧）：二维码缩小,拉开与地图距离 */
@media (max-width: 1300px) and (min-width: 769px) {
    .lx_pic ul {
        gap: 18px;
    }
    .lx_pic ul li {
        width: 130px !important;
        flex: 0 0 130px;
        max-width: 130px;
    }
}
@media (max-width: 768px) {
    .lx_pic ul {
        flex-wrap: wrap;
        gap: 14px 6px;
        justify-content: space-between;
    }
    .lx_pic ul li {
        flex: 0 0 calc(33.333% - 6px);
        max-width: none;
    }
}

/* ============================================================
   修复 — 关于页证书墙竖向证书（专利）展示太小
   原 .certs-grid .item .pic 固定 220px 高，横向证书够看，
   但竖向证书（专利 848×1200）被压在 220 高里，证书内文字几乎看不清。
   方案：把 pic 高度提到 320px，object-fit:contain 等比缩放。
   ============================================================ */
.certs-grid .item .pic {
    height: 320px !important;
}
.certs-grid .item .pic img,
.certs-grid .item .pic picture {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

@media (max-width: 1024px) {
    .certs-grid .item .pic { height: 260px !important; }
}
@media (max-width: 768px) {
    .certs-grid .item .pic { height: 220px !important; }
}

/* ============================================================
   案例 / 文章详情页正文字号放大 (1080+ 屏阅读舒适度)
   原 .case-detail .body 是 1rem(16px)，太小,这里改成 1.0625rem (17px) 起步
   ============================================================ */
.case-detail .body,
.article-detail .body {
    font-size: 1.0625rem !important;
    line-height: 1.95 !important;
    color: #333 !important;
}
.case-detail .body p,
.article-detail .body p {
    font-size: 1.0625rem !important;
    margin: 0 0 18px !important;
}
/* 首段 lead 突出 — 优先选含图片后的首文本段;若首段就是文本则匹配首段 */
.case-detail .body > p:first-of-type:not(:has(picture)):not(:has(img)),
.article-detail .body > p:first-of-type:not(:has(picture)):not(:has(img)),
.case-detail .body picture + p,
.case-detail .body > p:has(picture) + p,
.article-detail .body picture + p,
.article-detail .body > p:has(picture) + p,
.case-detail .body > p.lead,
.article-detail .body > p.lead {
    font-size: 1.125rem !important;
    line-height: 1.9 !important;
    color: #222 !important;
    background: #f4f7fb;
    border-left: 4px solid #0052da;
    padding: 16px 22px !important;
    margin: 0 0 24px !important;
    border-radius: 0 6px 6px 0;
    text-indent: 0 !important;
    font-weight: 500;
}
/* wangEditor 输出的 blockquote 也加大 */
.case-detail .body blockquote,
.article-detail .body blockquote {
    font-size: 1.0625rem !important;
    padding: 14px 20px !important;
    background: #f4f7fb;
    border-left: 4px solid #0052da;
    color: #222;
}

/* 2K 以上再放大 */
@media (min-width: 1600px) {
    .case-detail .body,
    .article-detail .body,
    .case-detail .body p,
    .article-detail .body p { font-size: 1.125rem !important; }
    .case-detail .body > p:first-of-type,
    .article-detail .body > p:first-of-type { font-size: 1.2rem !important; }
}
@media (min-width: 2400px) {
    .case-detail .body,
    .article-detail .body,
    .case-detail .body p,
    .article-detail .body p { font-size: 1.25rem !important; }
    .case-detail .body > p:first-of-type,
    .article-detail .body > p:first-of-type { font-size: 1.35rem !important; }
}


/* ============================================================
   导航 / 页脚:房屋安全鉴定(红)与建筑加固(蓝)突出色
   原 jyjd 用 [href="fwjc.html"] 选择器,我们 URL 是 /fwjc,要重新映射
   ============================================================ */
.nav ul li a[href="/fwjc"],
.nav ul li a[href$="/fwjc"] {
    color: #ff2929 !important;
    text-shadow:
        -1px -1px 0 #fff, 1px -1px 0 #fff,
        -1px  1px 0 #fff, 1px  1px 0 #fff,
         0   -1px 0 #fff, 0    1px 0 #fff,
        -1px  0   0 #fff, 1px  0   0 #fff;
}
.nav ul li a[href="/jiagu"],
.nav ul li a[href$="/jiagu"] {
    color: #3d8bff !important;
    text-shadow:
        -1px -1px 0 #fff, 1px -1px 0 #fff,
        -1px  1px 0 #fff, 1px  1px 0 #fff,
         0   -1px 0 #fff, 0    1px 0 #fff,
        -1px  0   0 #fff, 1px  0   0 #fff;
}
.nav ul li a[href="/fwjc"]:hover,
.nav ul li a[href="/jiagu"]:hover { filter: brightness(1.15); }

/* 页脚 — 不带白描边,纯色即可 */
.footer .fnav ul li a[href="/fwjc"] { color: #ff2929 !important; }
.footer .fnav ul li a[href="/jiagu"] { color: #3d8bff !important; }

/* ============================================================
   关于我们 — intro 区合并为一个白色卡片,统一字号
   原 lede + brief 在白卡内,quote 单独蓝色块;现在合并成一张白卡。
   ============================================================ */
.ab-story-txt {
    /* 容器自身保持一卡片视觉:统一白底、圆角、内边距 */
}
.ab-story-txt .ab-lede,
.ab-story-txt .ab-lede + p,
.ab-story-txt .ab-quote,
.ab-story-txt .ab-quote-inline,
.ab-story-txt p {
    background: #fff !important;
    border: 1px solid #e6edf8 !important;
    border-left: 1px solid #e6edf8 !important;
    box-shadow: none !important;
    color: #3a4762 !important;
    font-size: 1rem !important;
    line-height: 1.85 !important;
    font-weight: normal !important;
    font-style: normal !important;
    text-align: justify !important;
    margin: 0 !important;
    padding: 6px 26px !important;
    border-radius: 0 !important;
}
/* 三段拼成一张卡:首段圆顶角、末段圆底角、中间无 border 相邻处合并 */
.ab-story-txt .ab-lede {
    border-radius: 10px 10px 0 0 !important;
    padding-top: 22px !important;
    padding-bottom: 10px !important;
    border-bottom: 0 !important;
}
.ab-story-txt .ab-lede + p {
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.ab-story-txt .ab-quote,
.ab-story-txt .ab-quote-inline {
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;
    padding-top: 10px !important;
    padding-bottom: 22px !important;
    box-shadow: 0 6px 18px rgba(10, 31, 77, .06) !important;
}
/* 取消引号装饰 */
.ab-story-txt .ab-quote::before,
.ab-story-txt .ab-quote-inline::before { content: none !important; }

/* 高亮公司名:红色突出 */
.ab-story-txt .ab-hl {
    color: #ff2929 !important;
    font-weight: 700 !important;
}

/* 落款:留外距,不在卡内 */
.ab-story-txt .ab-sign {
    margin-top: 18px !important;
    color: #9aa8c2 !important;
}

@media (min-width: 1600px) {
    .ab-story-txt .ab-lede,
    .ab-story-txt .ab-lede + p,
    .ab-story-txt .ab-quote,
    .ab-story-txt .ab-quote-inline {
        font-size: 1.08rem !important;
    }
}
@media (min-width: 2400px) {
    .ab-story-txt .ab-lede,
    .ab-story-txt .ab-lede + p,
    .ab-story-txt .ab-quote,
    .ab-story-txt .ab-quote-inline {
        font-size: 1.2rem !important;
    }
}

/* ============================================================
   关于我们 intro 合并卡 — 各尺寸断点下保持零段间距
   原 jyjd 在 ≤768px 给 .ab-lede / .ab-story-txt p 加了 margin-bottom,
   导致响应式下白卡断裂出现间距,这里强制归零
   ============================================================ */
@media (max-width: 1200px) {
    .ab-story-txt .ab-lede,
    .ab-story-txt .ab-lede + p,
    .ab-story-txt .ab-quote,
    .ab-story-txt .ab-quote-inline,
    .ab-story-txt p {
        margin: 0 !important;
    }
}
@media (max-width: 980px) {
    .ab-story-txt .ab-lede,
    .ab-story-txt .ab-lede + p,
    .ab-story-txt .ab-quote,
    .ab-story-txt .ab-quote-inline,
    .ab-story-txt p {
        margin: 0 !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}
@media (max-width: 768px) {
    .ab-story-txt .ab-lede,
    .ab-story-txt .ab-lede + p,
    .ab-story-txt .ab-quote,
    .ab-story-txt .ab-quote-inline,
    .ab-story-txt p {
        margin: 0 !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        font-size: 0.95rem !important;
        line-height: 1.85 !important;
    }
}

/* ============================================================
   修复 — PC 端不应显示三杠菜单按钮
   原 jyjd css.css L1212 把 .menu{display:block} 写在了媒体查询外,
   导致桌面端也显示。这里强制只在 ≤1024 才显示。
   ============================================================ */
.menu {
    display: none !important;
}
@media (max-width: 1024px) {
    .menu {
        display: block !important;
    }
}

/* ============================================================
   案例 / 文章详情页底部 翻页 + 返回 字号加大
   原 .case-detail .turn .links p / .back / .meta 都是 0.9~0.95rem,
   在 1080+ 屏上明显偏小,统一抬到 1rem 起步并阶梯放大
   ============================================================ */
.case-detail .turn,
.article-detail .turn {
    padding-top: 28px !important;
    margin-top: 36px !important;
}
.case-detail .turn .links p,
.article-detail .turn .links p {
    font-size: 1rem !important;
    line-height: 1.85 !important;
    margin: 0 0 10px !important;
}
.case-detail .turn .links a,
.article-detail .turn .links a {
    font-size: 1rem !important;
    font-weight: 500;
}
.case-detail .turn .back,
.article-detail .turn .back {
    font-size: 1rem !important;
    padding: 0 32px !important;
    line-height: 46px !important;
}
.case-detail .head .meta,
.article-detail .head .meta {
    font-size: 0.95rem !important;
}
.case-detail .head .meta span,
.article-detail .head .meta span {
    margin: 0 10px !important;
}

@media (min-width: 1600px) {
    .case-detail .turn .links p,
    .article-detail .turn .links p,
    .case-detail .turn .links a,
    .article-detail .turn .links a,
    .case-detail .turn .back,
    .article-detail .turn .back { font-size: 1.1rem !important; }
    .case-detail .turn .back,
    .article-detail .turn .back { line-height: 50px !important; padding: 0 36px !important; }
}
@media (min-width: 2400px) {
    .case-detail .turn .links p,
    .article-detail .turn .links p,
    .case-detail .turn .links a,
    .article-detail .turn .links a,
    .case-detail .turn .back,
    .article-detail .turn .back { font-size: 1.2rem !important; }
}

/* ============================================================
   移动端字体兜底 — 修复 rem.js 把 ≤768 视口的 html 根字体设到 9.5px
   导致所有 rem 写的字号被压扁的问题。
   在 ≤740 媒体查询里把关键内容元素改用 px 写死。
   ============================================================ */
@media (max-width: 740px) {
    /* ---- 基础 ---- */
    html { font-size: 14px !important; }   /* 强制把 rem 基准抬到 14px，1rem=14px */
    body { font-size: 15px !important; line-height: 1.7; }

    /* ---- 顶部副标题 banner（about / fwjc / jiagu / case / contact / team） ---- */
    .sub-banner-inner h1 { font-size: 26px !important; }
    .sub-banner-inner p  { font-size: 13px !important; letter-spacing: 3px; }

    /* ---- 章节小标题 ---- */
    .sub-title h2 { font-size: 22px !important; }
    .sub-title p  { font-size: 13px !important; letter-spacing: 2px; line-height: 1.7; }

    /* ---- 关于页统计数字 ---- */
    .ab-stat strong { font-size: 26px !important; }
    .ab-stat em,
    .ab-stat-en { font-size: 12px !important; letter-spacing: 1px; }

    /* ---- 关于页 / 首页 新闻列右侧日期 ---- */
    .xwa .newslistr span,
    .xwl ul li span,
    .xwl ul li .date,
    .date,
    .article-meta time { font-size: 12px !important; }

    /* ---- fwjc / jiagu 业务卡片 ---- */
    .svc-tags li { font-size: 13px !important; padding: 4px 10px !important; }
    .svc-card h3,
    .svc-card h4 { font-size: 17px !important; }
    .svc-card p,
    .svc-body p { font-size: 14px !important; line-height: 1.7; }
    .svc-card .svc-num,
    .svc-num { font-size: 13px !important; }

    /* ---- 新闻列表（/news 三栏 tab + 卡片） ---- */
    .news-list-tabs a,
    .news-tabs a,
    .fc-tabs a,
    nav.fc-tabs a { font-size: 14px !important; padding: 6px 12px !important; }

    .news-grid h5,
    .news-list h5,
    .news-card h3,
    .news-list-item h3 { font-size: 16px !important; line-height: 1.5; }
    .news-grid p,
    .news-list p,
    .news-card p,
    .news-list-item p { font-size: 14px !important; line-height: 1.7; }
    .news-grid .date,
    .news-list .date,
    .news-card .date,
    .news-list-item .date { font-size: 12px !important; }
    .news-grid .more,
    .news-list .more,
    .news-card .more { font-size: 13px !important; }

    /* ---- 案例 / 文章 详情正文 ---- */
    .case-detail .body,
    .article-detail .body { font-size: 15px !important; line-height: 1.85 !important; }
    .case-detail .body p,
    .article-detail .body p { font-size: 15px !important; line-height: 1.85 !important; }
    .case-detail .body li,
    .article-detail .body li { font-size: 15px !important; line-height: 1.85 !important; }
    .case-detail .body h2,
    .case-detail .body h3,
    .case-detail .body h4,
    .article-detail .body h2,
    .article-detail .body h3,
    .article-detail .body h4 { font-size: 17px !important; line-height: 1.5; margin-top: 18px; }
    /* 首段 lead 移动端略缩 */
    .case-detail .body > p:first-of-type:not(:has(picture)):not(:has(img)),
    .article-detail .body > p:first-of-type:not(:has(picture)):not(:has(img)),
    .case-detail .body picture + p,
    .article-detail .body picture + p { font-size: 15px !important; padding: 12px 14px !important; }

    /* ---- 详情页头部信息（标题 + meta） ---- */
    .case-detail .head h1,
    .article-detail .head h1 { font-size: 20px !important; line-height: 1.4; }
    .case-detail .head .meta,
    .article-detail .head .meta { font-size: 12px !important; }
    .case-detail .head .meta span,
    .article-detail .head .meta span { margin: 0 6px !important; }

    /* ---- 翻页 / 返回按钮 ---- */
    .case-detail .turn .links p,
    .article-detail .turn .links p,
    .case-detail .turn .links a,
    .article-detail .turn .links a { font-size: 14px !important; }
    .case-detail .turn .back,
    .article-detail .turn .back { font-size: 14px !important; line-height: 40px !important; padding: 0 20px !important; }

    /* ---- 热门案例 / 相关推荐 ---- */
    .hot-cases h3,
    .related h3,
    .side-list h3 { font-size: 16px !important; }
    .hot-cases li a,
    .related li a,
    .side-list li a { font-size: 14px !important; line-height: 1.6; }

    /* ---- 团队列表 / 详情（之前已优化，这里仅兜底） ---- */
    .tc2-name { font-size: 17px !important; }
    .tc2-title { font-size: 13px !important; }
    .tc2-chip { font-size: 12px !important; }
    .tc2-tag { font-size: 12px !important; padding: 5px 14px 5px 16px !important; }
    .tc2-index { font-size: 11px !important; }
    .tc2-years { font-size: 11px !important; padding: 2px 8px !important; }
    .eyebrow { font-size: 12px !important; letter-spacing: 3px !important; }
    .team-section-head h2 { font-size: 22px !important; }
    .team-section-head .muted { font-size: 13px !important; }
    .team-section-meta { font-size: 12px !important; }
    .td2-name { font-size: 22px !important; }
    .td2-lede { font-size: 14px !important; line-height: 1.8 !important; }
    .td2-infobox th,
    .td2-infobox td { font-size: 13px !important; padding: 8px 10px !important; }
    .td2-toc-label { font-size: 13px !important; }
    .td2-toc ol li a { font-size: 13px !important; }
    .td2-h { font-size: 17px !important; }
    .td2-text,
    .td2-text p { font-size: 15px !important; line-height: 1.85 !important; }
    .td2-list { font-size: 14px !important; line-height: 1.8 !important; }
    .td2-tags li { font-size: 13px !important; padding: 5px 12px !important; }
    .rc-info h4 { font-size: 14px !important; }
    .rc-info p { font-size: 12px !important; }

    /* ---- 面包屑 ---- */
    .crumb .here,
    .crumb a,
    .crumb span { font-size: 12px !important; }

    /* ---- 通用：底部 CTA ---- */
    .sub-cta h3 { font-size: 18px !important; }
    .sub-cta p  { font-size: 13px !important; }
    .sub-cta a  { font-size: 15px !important; padding: 12px 24px !important; }

    /* ---- 首页 二维码下方说明文字 ---- */
    .lx_pic ul li span { font-size: 12px !important; line-height: 1.6; }
}
