.text-red {
    color: var(--red-main);
}

/* ---------- 章节通用 ---------- */
    .section-label {
        font-size: 1.5rem;
        color: #A40707;
        font-weight: 600;
        margin-bottom: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.5rem;
        border-bottom: 1px solid #d6d6d6;
        padding-bottom: 0.5rem;
        position: relative;
    }
    .section-label::before {
        content: '';
        flex: 0 0 1.2rem;
        height: 2px;
        background: #A8A8A8;
        opacity: 0.7;
    }
    .section-label::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 13rem;
        height: 1px;
        background: #BE0303;
    }
    .section-title {
        font-size: 2.5rem;
        font-weight: 700;
        position: relative;
        padding-top: 1.5rem;
        margin-bottom: 0;
        color: #222;
    }
    .section-title > b.red,
    .section-title .red {
        color: var(--red-main);
    }
    .section-subtitle {
        color: #444;
        margin-bottom: 0;
        font-size: 1.3125rem;
        line-height: 1.25;
    }

/* ---------- 英雄区区域样式 ---------- */
    .hero-section { 
        padding: 0 0 3rem 0; 
        background: #fff url('../img/research-bg.jpg') top left / cover no-repeat;
    }

/* ---------- Thesis 研究论点 ---------- */
    .thesis-section {
        padding: 3rem 0;
    }
    .process-row {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: flex-start;
        margin: 1.5rem 0 0.5rem;
    }
    .process-item {
        display: flex;
        align-items: center;
        justify-content: flex-start; 
        flex: 1 0 16.6666%;
        padding: 0.66rem 0.5rem;
        font-size: 1.5rem;
        color: #444444;
        transition: all 0.25s ease;
        position: relative;
    }
    .process-item .text {
        flex: 1; 
        text-align: center; 
        font-weight: 400;
        white-space: nowrap;
        letter-spacing: 0.02em;
        min-width: 0;   
        padding: 0 0.5rem;  
    }
    .process-item:first-child {
        background: rgba(254,236,236,0.5);
    }
    .process-item:nth-child(2) {
        background: rgba(255,220,220,0.5);
    }
    .process-item:nth-child(3) {
        background: rgba(255,201,201,0.5);
    }
    .process-item:nth-child(4) {
        background: rgba(255,180,180,0.5);
    }
    .process-item:nth-child(5) {
        background: rgba(255,151,151,0.5);
    }
    .process-item:nth-child(6) {
        background: rgba(255,114,114,0.5);
    }
    .process-item .arrow {
        flex-shrink: 0;
        margin-left: auto;  
        display: flex;
        align-items: center;
        justify-content: center;
        padding-left: 0.2rem; 
        transition: transform 0.35s ease;
    }
    .process-item .arrow i {
        font-size: 1.2rem;
        color: var(--red-main);
        display: inline-block;
        transition: transform 0.35s ease
    }
    .process-item:last-child .arrow {
        display: none;
    }

/* ----------Research Units ---------- */
    .research-unit-section {
        padding: 2rem 0;
    }
    .research-unit {
        padding: 1.5rem;
        height: 100%;
    }
    .research-unit:hover {
        border: 1px solid var(--red-main);
    }
    .research-unit .unit-num {
        font-size: 1rem;
        color: #A40707;
        font-weight: 600;
        display: block;
        margin-bottom: 0.25rem;
    }
    .research-unit p {
        font-size: 1.188rem;
        line-height: 1.25;
        color: #222;
        margin: 0;
    }
    .research-unit-section .single1 {
        max-width: calc(100% - 5px);
    }

/* ---------- Research Stack 研究栈 ---------- */
    .stack-section {
        padding: 3rem 0 0;
    }
    .stack-box-row {
        margin: 0 -0.5rem;
    }
    .stack-box-row > [class*="col-"] {
        padding: 0 0.5rem;
    }
    .stack-box {
        border: 1px solid #D6D6D6;
        padding: 0.5rem 1rem;
        background: #fff;
        display: flex;
        align-items: center;
        height: 100%;
        transition: box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
        cursor: pointer;
        scroll-margin-top: 100px;  /* 避开固定导航栏 */
    }
    .stack-box:hover {
        border: 1px solid var(--red-main);
    }
    .stack-box span {
        font-size: 1.3125rem;
        font-weight: 400;
        color: #222;
        padding: 1.2rem 0;
        line-height: 1.16;
    }
    .stack-box .layer-num {
        font-size: 1rem;
        color: var(--red-main);
        font-weight: 500;
        display: inline-block;
        margin-right: 0.5rem;
        position: relative;
        padding-right: 1rem;
        white-space: nowrap;
    }
    .stack-box .layer-num::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background: #D6D6D6;
    }

/* ---------- Layer 层级详情 (01-09) ---------- */
    .layer-section {
        padding: 4rem 0 0;
    }
    .sub-heading {
        font-size: 1.875rem;
        font-weight: 600;
        color: #222;
    }
    /* 表格 */
        .table-wrap {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            margin-bottom: 2rem;
        }
        .research-table {
            width: 100%;
            border-collapse: collapse;
            color: #222;
        }
        .research-table thead {
            border: 1px solid #D6D6D6;
        }
        .research-table thead th {
            font-weight: 600;
            font-size: 1.25rem;
            padding: 0.75rem 1rem;
            text-align: center;
            border-right: 1px solid #D6D6D6;
        }
        .research-table thead th.th-1 {
            background: #F5F5F5;
            width: 22%;
        }
        .research-table thead th.th-2 {
            background: #EFEFEF;
        }
        .research-table thead th.th-3 {
            background: #E3E3E3;
        }
        .research-table tbody {
            border: 1px solid #D6D6D6;
            border-top: 0;
        }
        .research-table tbody td {
            padding: 0.75rem 1rem;
            border-bottom: 1px solid #D6D6D6;
            vertical-align: top;
            font-size: 1.25rem;
            line-height: 1.3;
        }
        .research-table tbody td:first-child {
            white-space: nowrap;
            text-align: center;
            border-right: 1px solid #D6D6D6;
        }
        .transform-table tbody td:first-child {
            text-align: left;
        }

    /* 研究单元标签行 */
        .unit-tag-row {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            border: 1px solid #D6D6D6;
            border-right: 0;
        }
        .unit-tag {
            flex: 0 0 auto;
            border-right: 1px solid #D6D6D6;
            padding: 0.5rem 1rem;
            display: inline-flex; 
            min-width: 15%;
            font-size: 1.3125rem;
        }
        .unit-tag:hover {
            border: 1px solid var(--red-main);
        }
        .unit-tag a {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            color: inherit;
        }
        .auto-tag .unit-tag {
            flex: 1;
        }
        .unit-tag:last-child {
            flex: 1;
        }
        .unit-tag .unit-no {
            color: var(--red-main);
            font-weight: 600;
            font-size: 1.0625rem;
        }

    /* 问题框 */
        .problem-box {
            background: #f5f5f5;
            border-left: 4px solid #A40707;
            padding: 1rem 1.2rem;
            margin: 1.5rem 0 0;
            color: #444;
        }
        .problem-box h5 {
            font-size: 1.5rem;
            font-weight: bold;
            margin: 0;
        }
        .problem-box p {
            font-size: 1.3125rem;
            margin: 0;
            line-height: 1.25;
        }

    /* 输出卡片行 */
        .layer-tag-card {
            border: 1px solid #D6D6D6;
            text-align: center;
            padding: 1.5rem 1rem;
            align-items: center;
            height: 100%;
        }
        .layer-tag-card span {
            font-size: 1.25rem;
            font-weight: bold;
            color: #222;
            padding: 1.2rem 0;
            line-height: 1.16;
        }

/* ---------- Research Stack × Product Ecosystem ---------- */
    .productEcosystem-section {
        padding: 4rem 0;
    }
    .productEcosystem-section .research-table tbody td:nth-child(2) {
        border-right: 1px solid #D6D6D6;
    }
/* ---------- CTA ---------- */
.cta-section {
    padding: 4rem 0;
    background: #fafafa;
}
.cta-section .section-title {
    padding-top: 0;
}
.cta-section .btn-group {
    margin-top: 1.5rem;
}

/* ============================================================
   响应式适配
   ============================================================ */
/* ===== 平板端 (768px ~ 991px) ===== */
@media (max-width: 991px) {
    .process-item {
        flex: 1 0 33.3333%; 
        padding: 0.5rem 0.3rem;
    }
    .process-item .arrow i {
        font-size: 1rem;
    }

    .unit-tag-row {
        border-top: 0;
    }
    .unit-tag,
    .auto-tag .unit-tag {
        flex: 0 0 calc(50% + 1px);   
        min-width: 0;
        font-size: 1.315rem;
        line-height: 1.3;
        padding: 0.3rem 0.6rem;
        border: 1px solid #D6D6D6;
        margin-left: -1px;
        margin-bottom: -1px;
    }
}

@media (max-width: 768px) {
    .btn-group {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 88%;
    }
    .btn-primary-custom,
    .btn-outline-custom {
        width: 100%;
        margin-right: 0;
        white-space: normal;
    }
    .section-title {
        font-size: 2rem;
        line-height: 1.2;
    }
    .process-row {
        flex-direction: column; 
        margin: 1.5rem 0 0.5rem;
    }
    .process-item {
        flex: 1 0 auto;
        width: 100%;
        flex-direction: column;
    }
    .process-item:last-child {
        border-bottom: none;
        padding: 1.05rem 0.5rem;
    }
    .process-item .text {
        white-space: normal;
        width: 100%;
        text-align: center;
        line-height: 1.3;
    }
    .process-item .arrow {
        margin-left: 0;
        margin-top: 0.1rem;
    }
    .process-item .arrow i {
        transform: rotate(90deg);
        opacity: 0.7;
    }

    .research-unit-section .single1 {
        max-width: 100%;
    }

    .research-table tbody td:first-child {
        white-space: normal;
    }
    .thesis-section,
    .research-unit-section,
    .stack-section,
    .layer-section,
    .productEcosystem-section {
        padding: 2rem 0 1rem;
    }
    .cta-section {
        padding: 2rem 0;
    }

    /* transform-table */
        .transform-table thead {
            display: none !important;
        }
        .transform-table,
        .transform-table tbody,
        .transform-table tr,
        .transform-table td {
            display: block;
            width: 100%;
            border: 0;
        }
        .transform-table tr {
            border: 1px solid #D6D6D6;
            margin-bottom: 1rem;
        }
        .transform-table td {
            display: grid;
            grid-template-columns: 40% 1fr;   /* 左侧标签 40%，右侧内容 60% */
            padding: 0.75rem;
            border-bottom: 1px solid #D6D6D6;
            background: #fff;
            min-height: 3.5rem;
            align-items: center; 
            text-align: left;
            position: relative;
            flex: unset !important;
        }
        /* 左侧标签标题 */
        .transform-table td::before {
            content: attr(data-label);
            grid-column: 1;
            grid-row: 1;
            display: flex;
            align-items: center;
            padding: 0.75rem 1rem;
            border-right: 1px solid #D6D6D6;
            margin: -0.75rem 0 -0.75rem -1rem;  /* 抵消 td 的 padding，撑满高度 */
            padding: 0.75rem 1rem;
            height: calc(100% + 1.5rem);        /* 撑满 td 的整个高度 */
            box-sizing: border-box;
            /* 清除之前的 flex 属性 */
            flex: unset !important;
            margin-right: 0.75rem;
        }
        /* 单元格内容区域 */
        .transform-table td {
            position: relative;
        }
        .transform-table td > span {
            flex: 1;
        }
        .transform-table tbody td:first-child,
        .transform-table tbody td:nth-child(2) {
            border-right: 0!important;
        }
        .transform-table tbody td:nth-child(3) {
            border-bottom: none;
        }
        .transform-table tbody td:first-child::before {
            background-color: #F5F5F5;
        }
        .transform-table tbody td:nth-child(2)::before {
            background-color: #EFEFEF;
        }
        .transform-table tbody td:nth-child(3)::before {
            background-color: #E3E3E3;
        }
}

/* ============================================================
   中文配置 (与 globalCapitalFlow / research 保持一致)
   ============================================================ */
.inCN .section-label {
    font-size: 1.25rem;
}
.inCN .section-title {
    font-size: 1.625rem;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.4;
}
.inCN .section-title > b.red {
    font-weight: 600;
}
.inCN .section-subtitle {
    line-height: 1.48;
    margin-top: 1rem;
    font-size: 1.25rem;
}
.inCN .research-unit p {
    font-size: 1.1875rem;
    line-height: 1.6;
}
.inCN .process-item{
    font-size: 1.25rem;
}
.inCN .sub-heading {
    font-size: 1.625rem;
}
.inCN .stack-box span {
    font-size: 1.063rem;
    line-height: 1.6;
}
.inCN .unit-tag {
    padding: 1rem;
    font-size: 1.188rem;
}
.inCN .research-table thead th {
    font-size: 1.3125rem;
}
.inCN .research-table tbody td {
    font-size: 1.188rem;
}
.inCN .problem-box h5 {
    font-size: 1.188rem;
}
.inCN .problem-box p {
    font-size: 1.063rem;
    margin: 0;
    line-height: 1.6;
}

@media(max-width:768px) {
    .section-title {
        line-height: 1;
        font-size: 2rem;
    }
    .btn-group {
        padding: 1.5625rem 0 0 0;
    }
    .btn-group button {
        white-space: normal;
    }
}