/* ============================================================
   TP80 PC 主题 - 关于我们 / 企业文化 优化样式
   ============================================================ */

/* 通用区块标题（与列表页风格统一） */
.tp-block { margin-top: 64px; }
.tp-block__head { text-align: center; margin-bottom: 40px; }
.tp-block__title {
    font-size: 28px; font-weight: 800; color: #1f2733; margin: 0 0 6px;
}
.tp-block__sub { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: #9aa4b2; margin: 0; }

/* ===== 数据统计增强 ===== */
.tp-about__stats-item {
    background: #fff;
    border: 1px solid #eef1f6;
    border-radius: 14px;
    padding: 26px 16px;
    box-shadow: 0 10px 26px rgba(20, 40, 80, 0.06);
    transition: transform .2s, box-shadow .2s;
}
.tp-about__stats-item:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(20, 40, 80, 0.12); }
.tp-about__stats-num { font-size: 34px; font-weight: 800; color: #0d6efd; line-height: 1; }
.tp-about__stats-unit { font-size: 16px; font-weight: 600; margin-left: 2px; }
.tp-about__stats-label { margin-top: 8px; font-size: 14px; color: #6b7785; }

/* ===== 发展历程：左右交错时间轴 ===== */
.tp-timeline {
    position: relative;
    list-style: none;
    margin: 0 auto;
    padding: 10px 0;
    max-width: 980px;
}
.tp-timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 2px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, #0d6efd, #cdd9ee);
}
.tp-timeline__item {
    position: relative;
    width: 50%;
    padding: 0 40px 28px 0;
    margin: 0;
}
.tp-timeline__item:last-child { padding-bottom: 0; }
.tp-timeline__item--right {
    margin-left: 50%;
    padding: 0 0 28px 40px;
}
.tp-timeline__dot {
    position: absolute;
    top: 18px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #0d6efd;
    box-shadow: 0 0 0 5px rgba(13, 110, 253, 0.15);
    z-index: 1;
}
.tp-timeline__item .tp-timeline__dot { right: -8px; left: auto; }
.tp-timeline__item--right .tp-timeline__dot { left: -8px; right: auto; }
.tp-timeline__card {
    background: #fff;
    border: 1px solid #eef1f6;
    border-radius: 14px;
    padding: 18px 20px;
    box-shadow: 0 10px 26px rgba(20, 40, 80, 0.06);
    transition: transform .2s, box-shadow .2s;
}
.tp-timeline__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(20, 40, 80, 0.12);
}
.tp-timeline__item:not(.tp-timeline__item--right) .tp-timeline__card { text-align: right; }
.tp-timeline__year { font-size: 19px; font-weight: 800; color: #0d6efd; margin-bottom: 2px; }
.tp-timeline__title { font-size: 16px; font-weight: 700; color: #1f2733; margin: 4px 0 6px; }
.tp-timeline__desc { font-size: 14px; line-height: 1.85; color: #6b7785; margin: 0; }

/* ===== 业务领域网格 ===== */
.tp-scope-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.tp-scope-card {
    background: #fff; border: 1px solid #eef1f6; border-radius: 14px;
    padding: 28px 24px; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.tp-scope-card:hover { transform: translateY(-5px); border-color: #0d6efd; box-shadow: 0 18px 40px rgba(20, 40, 80, 0.12); }
.tp-scope-card__icon {
    width: 54px; height: 54px; border-radius: 12px; margin-bottom: 16px;
    background: rgba(13, 110, 253, 0.10); color: #0d6efd;
    display: flex; align-items: center; justify-content: center; font-size: 22px;
}
.tp-scope-card__title { font-size: 17px; font-weight: 700; color: #1f2733; margin: 0 0 8px; }
.tp-scope-card__desc { font-size: 13.5px; line-height: 1.75; color: #6b7785; margin: 0; }

/* ===== 荣誉资质网格 ===== */
.tp-honor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.tp-honor {
    background: #fff; border: 1px solid #eef1f6; border-radius: 12px; padding: 24px 16px; text-align: center;
    transition: transform .2s, box-shadow .2s;
}
.tp-honor:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(20, 40, 80, 0.10); }
.tp-honor__icon { font-size: 30px; color: #0d6efd; margin-bottom: 12px; }
.tp-honor__title { font-size: 15px; font-weight: 700; color: #1f2733; margin: 0 0 4px; }
.tp-honor__sub { font-size: 12px; color: #9aa4b2; margin: 0; }

/* ===== 服务优势（双列） ===== */
.tp-feat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 28px; }
.tp-feat { display: flex; gap: 16px; align-items: flex-start; }
.tp-feat__icon {
    flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px;
    background: linear-gradient(135deg, #0d6efd, #0a58ca); color: #fff;
    display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.tp-feat__title { font-size: 16px; font-weight: 700; color: #1f2733; margin: 0 0 6px; }
.tp-feat__desc { font-size: 13.5px; line-height: 1.75; color: #6b7785; margin: 0; }

/* ===== 行动号召横幅 ===== */
.tp-cta {
    background: linear-gradient(135deg, #0d6efd, #0a58ca);
    border-radius: 16px; padding: 46px 40px; color: #fff; text-align: center;
    box-shadow: 0 20px 44px rgba(13, 110, 253, 0.28);
}
.tp-cta__title { font-size: 24px; font-weight: 800; margin: 0 0 10px; }
.tp-cta__text { font-size: 15px; opacity: .92; margin: 0 0 24px; }
.tp-cta__btn {
    display: inline-block; padding: 13px 34px; border-radius: 9px;
    background: #fff; color: #0d6efd; font-weight: 700; font-size: 15px; text-decoration: none;
    transition: transform .12s, box-shadow .2s;
}
.tp-cta__btn:hover { color: #0d6efd; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18); }

/* ===== 响应式 ===== */
@media (max-width: 991px) {
    .tp-scope-grid { grid-template-columns: repeat(2, 1fr); }
    .tp-honor-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .tp-block { margin-top: 44px; }
    .tp-block__title { font-size: 23px; }
    .tp-scope-grid, .tp-feat-grid { grid-template-columns: 1fr; }
    .tp-cta { padding: 34px 22px; }

    .tp-timeline::before {
        left: 18px;
        transform: none;
    }
    .tp-timeline__item,
    .tp-timeline__item--right {
        width: 100%;
        margin-left: 0;
        padding: 0 0 24px 48px;
    }
    .tp-timeline__item .tp-timeline__dot,
    .tp-timeline__item--right .tp-timeline__dot {
        left: 11px;
        right: auto;
    }
    .tp-timeline__item:not(.tp-timeline__item--right) .tp-timeline__card {
        text-align: left;
    }
}

/* ===== 全局字体放大（配合 common.css 根字号提升） ===== */
.tp-block__title { font-size: 31px; }
.tp-block__sub { font-size: 15px; }
.tp-about__stats-num { font-size: 38px; }
.tp-about__stats-unit { font-size: 18px; }
.tp-about__stats-label { font-size: 16px; }
.tp-timeline__year { font-size: 21px; }
.tp-timeline__title { font-size: 18px; }
.tp-timeline__desc { font-size: 16px; }
.tp-scope-card__icon { font-size: 24px; }
.tp-scope-card__title { font-size: 19px; }
.tp-scope-card__desc { font-size: 15px; }
.tp-honor__icon { font-size: 33px; }
.tp-honor__title { font-size: 17px; }
.tp-honor__sub { font-size: 14px; }
.tp-feat__icon { font-size: 20px; }
.tp-feat__title { font-size: 18px; }
.tp-feat__desc { font-size: 15px; }
.tp-cta__title { font-size: 27px; }
.tp-cta__text { font-size: 17px; }
.tp-cta__btn { font-size: 17px; }
@media (max-width: 768px) {
    .tp-block__title { font-size: 26px; }
}
