

/* ---------- 页面横幅 ---------- */
.page-banner.about-banner { height: 260px; background: linear-gradient(145deg, #1e3a1e, #4caf50); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2.6rem; font-weight: 700; letter-spacing: 4px; }
.page-banner.about-banner span { background: rgba(0,0,0,0.2); padding: 12px 44px; border-radius: 30px; }

/* ---------- 模块标题（居中） ---------- */
.section-title-center { text-align: center; margin-bottom: 40px; }
.section-title-center h2 { font-size: 2.2rem; font-weight: 700; color: #1e3a1e; letter-spacing: 1px; margin-bottom: 8px; }
.section-title-center p { font-size: 1.05rem; color: #6a8a6a; }

/* ---------- 模块一：公司概况 ---------- */
.about-overview { padding: 50px 0 40px; background: #f9fcf9; }
.overview-wrapper { display: flex; gap: 50px; align-items: center; }
.overview-text { flex: 1.2; }
.overview-image { flex: 1; }
.overview-title { font-size: 2rem; font-weight: 700; color: #1e3a1e; margin: 0 0 18px 0; letter-spacing: 0.5px; line-height: 1.3; }
.overview-desc { font-size: 1.05rem; color: #2d4a2d; line-height: 1.9; margin-bottom: 16px; text-align: justify; }
.overview-stats { display: flex; gap: 30px; margin-top: 24px; flex-wrap: wrap; }
.stat-item { text-align: center; padding: 12px 20px; background: #fff; border-radius: 12px; box-shadow: 0 4px 16px rgba(0, 40, 0, 0.06); min-width: 80px; flex: 1; }
.stat-num { display: block; font-size: 1.8rem; font-weight: 700; color: #2e7d32; }
.stat-label { font-size: 0.85rem; color: #6a8a6a; }
.overview-placeholder { width: 100%; aspect-ratio: 4 / 3; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: rgba(255,255,255,0.85); font-weight: 500; letter-spacing: 1px; box-shadow: 0 8px 24px rgba(0, 40, 0, 0.10); }
.overview-placeholder span { background: rgba(0,0,0,0.15); padding: 8px 28px; border-radius: 30px; }

/* ---------- 模块二：发展历程 ---------- */
.about-timeline { padding: 50px 0 40px; background: #fff; }
.timeline-wrapper { position: relative; max-width: 820px; margin: 0 auto; padding-left: 40px; }
.timeline-line { position: absolute; left: 14px; top: 0; bottom: 0; width: 3px; background: #c8e6c9; }
.timeline-item { position: relative; padding: 0 0 36px 36px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-dot { position: absolute; left: -26px; top: 6px; width: 16px; height: 16px; background: #2e7d32; border-radius: 50%; border: 3px solid #e8f5e9; box-shadow: 0 0 0 3px #2e7d32; }
.timeline-content { background: #f9fcf9; padding: 16px 22px; border-radius: 12px; transition: transform 0.3s, box-shadow 0.3s; }
.timeline-content:hover { transform: translateX(6px); box-shadow: 0 4px 16px rgba(0, 40, 0, 0.06); }
.timeline-year { display: inline-block; font-size: 0.8rem; font-weight: 600; color: #2e7d32; background: #e8f5e9; padding: 2px 14px; border-radius: 20px; margin-bottom: 6px; }
.timeline-content h4 { font-size: 1.15rem; font-weight: 600; color: #1e3a1e; margin: 0 0 4px 0; }
.timeline-content p { font-size: 0.92rem; color: #4d6a4d; line-height: 1.6; margin: 0; }

/* ---------- 模块三：企业文化 ---------- */
.about-culture { padding: 50px 0 40px; background: #f9fcf9; }
.culture-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.culture-card { background: #fff; padding: 32px 28px 28px; border-radius: 16px; text-align: center; box-shadow: 0 4px 16px rgba(0, 40, 0, 0.04); transition: transform 0.3s, box-shadow 0.3s; border: 1px solid #e8f0e8; }
.culture-card:hover { transform: translateY(-6px); box-shadow: 0 12px 32px rgba(0, 60, 0, 0.08); }
.culture-icon { font-size: 2.8rem; display: block; margin-bottom: 12px; }
.culture-card h4 { font-size: 1.2rem; font-weight: 600; color: #1e3a1e; margin: 0 0 10px 0; }
.culture-card p { font-size: 0.95rem; color: #4d6a4d; line-height: 1.7; margin: 0; }

/* ---------- 模块四：资质荣誉 ---------- */
.about-honors { padding: 50px 0 40px; background: #fff; }
.honors-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.honor-card { text-align: center; transition: transform 0.3s; }
.honor-card:hover { transform: translateY(-6px); }
.honor-img { width: 100%; aspect-ratio: 1 / 1; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: rgba(255,255,255,0.7); margin-bottom: 10px; }
.honor-card p { font-size: 0.88rem; color: #2d4a2d; font-weight: 500; margin: 0; }

/* ---------- 模块五：组织架构 ---------- */
.about-org { padding: 50px 0 40px; background: #f9fcf9; }
.org-chart { max-width: 100%; margin: 0 auto; text-align: center; }
.org-level { display: flex; justify-content: center; gap: 30px; margin-bottom: 20px; flex-wrap: wrap; }
.org-level:last-child { margin-bottom: 0; }
.org-node { background: #fff;  border-radius: 10px; font-size: 1.05rem; font-weight: 600; color: #1e3a1e; box-shadow: 0 4px 12px rgba(0, 40, 0, 0.06); border: 2px solid #c8e6c9; min-width: 100px; transition: border-color 0.3s; text-align: left; }
.org-node:hover { border-color: #2e7d32; }
.org-top .org-node { background: #2e7d32; color: #fff; border-color: #2e7d32; font-size: 1.2rem;  }
.org-mid .org-node { background: #4caf50; color: #fff; border-color: #4caf50;  }
.org-level + .org-level::before { content: ''; display: block; width: 100%; height: 2px; background: #c8e6c9; margin-bottom: 20px; }

/* ---------- 模块六：联系我们 ---------- */
.about-contact { padding: 50px 0 40px; background: #fff; }
.contact-wrapper { display: flex; gap: 40px; align-items: stretch; }
.contact-info { flex: 1; display: flex; flex-direction: column; gap: 18px; }
.contact-item { display: flex; gap: 16px; align-items: flex-start; background: #f9fcf9; padding: 16px 20px; border-radius: 12px; transition: background 0.3s; }
.contact-item:hover { background: #e8f5e9; }
.contact-item .contact-icon { font-size: 1.4rem; flex-shrink: 0; padding-top: 2px; }
.contact-item strong { display: block; font-size: 0.95rem; color: #1e3a1e; }
.contact-item p { font-size: 0.95rem; color: #4d6a4d; margin: 0; }
.contact-map { flex: 1; }
.map-placeholder { width: 100%; height: 100%; min-height: 260px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: rgba(255,255,255,0.85); font-weight: 500; letter-spacing: 1px; }
.map-placeholder span { background: rgba(0,0,0,0.15); padding: 8px 28px; border-radius: 30px; }

/* ============================================================
   响应式适配
   ============================================================ */

/* 平板 (≤ 991px) */
@media (max-width: 991px) {
.page-banner.about-banner { height: 200px; font-size: 2rem; }
.page-banner.about-banner span { padding: 10px 30px; }
.section-title-center h2 { font-size: 1.8rem; }
.overview-title { font-size: 1.7rem; }
.honors-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.culture-grid { gap: 20px; }
}

/* 手机 (≤ 767px) */
@media (max-width: 767px) {
.page-banner.about-banner { height: 150px; font-size: 1.5rem; }
.page-banner.about-banner span { padding: 8px 22px; }
.section-title-center { margin-bottom: 28px; }
.section-title-center h2 { font-size: 1.5rem; }
.section-title-center p { font-size: 0.92rem; }
.about-overview { padding: 30px 0 20px; }
.overview-wrapper { flex-direction: column; gap: 24px; }
.overview-title { font-size: 1.4rem; }
.overview-desc { font-size: 0.95rem; }
.overview-stats { gap: 12px; }
.stat-item { min-width: 60px; padding: 10px 14px; }
.stat-num { font-size: 1.4rem; }
.overview-placeholder { aspect-ratio: 16 / 10; }
.about-timeline { padding: 30px 0 20px; }
.timeline-wrapper { padding-left: 20px; }
.timeline-item { padding: 0 0 28px 22px; }
.timeline-dot { left: -16px; width: 14px; height: 14px; }
.timeline-content { padding: 12px 16px; }
.timeline-content h4 { font-size: 1rem; }
.timeline-content p { font-size: 0.85rem; }
.about-culture { padding: 30px 0 20px; }
.culture-grid { grid-template-columns: 1fr; gap: 16px; }
.culture-card { padding: 24px 20px; }
.about-honors { padding: 30px 0 20px; }
.honors-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.honor-img { font-size: 2.2rem; }
.honor-card p { font-size: 0.8rem; }
.about-org { padding: 30px 0 20px; }
.org-level { gap: 12px; }
.org-node { padding: 10px 20px; font-size: 0.9rem; min-width: 70px; }
.org-top .org-node { font-size: 1rem; padding: 12px 28px; }
.org-mid .org-node { padding: 10px 24px; }
.about-contact { padding: 30px 0 20px; }
.contact-wrapper { flex-direction: column; gap: 24px; }
.contact-item { padding: 14px 16px; }
.contact-item .contact-icon { font-size: 1.2rem; }
.map-placeholder { min-height: 180px; }
}

/* 小屏手机 (≤ 480px) */
@media (max-width: 480px) {
.page-banner.about-banner { height: 120px; font-size: 1.2rem; }
.page-banner.about-banner span { padding: 6px 16px; }
.section-title-center h2 { font-size: 1.3rem; }
.overview-title { font-size: 1.2rem; }
.overview-stats { gap: 8px; }
.stat-item { padding: 8px 12px; }
.stat-num { font-size: 1.2rem; }
.stat-label { font-size: 0.75rem; }
.honors-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.honor-img { font-size: 1.8rem; }
.org-level { gap: 8px; }
.org-node { padding: 8px 14px; font-size: 0.8rem; min-width: 56px; }
.org-top .org-node { font-size: 0.9rem; padding: 10px 20px; }
.org-mid .org-node { padding: 8px 18px; }
}

/* ===== 左右布局核心样式 ===== */
        .page-main {
            padding: 40px 0 60px;
            background: #f8faf9;
        }

        .layout-two-col {
            display: flex;
            gap: 40px;
            align-items: flex-start;
        }

        /* ===== 左侧栏目列表 ===== */
        .sidebar-nav {
            flex: 0 0 260px;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 16px rgba(0, 40, 20, 0.06);
            padding:0 0 16px 0;
            position: sticky;
            top: 100px;
            border: 1px solid #e8efe8;
        }

        .sidebar-nav .nav-title {
            font-size: 26px;
            font-weight: 700;
            background:  #1EA957;
            padding: 14px 24px  ;
            border-bottom: 2px solid #e8efe8;
            margin-bottom: 8px;
            letter-spacing: 1px;
			color: #fff;
			text-align: center;
			line-height: 2;
        }

        .sidebar-nav .nav-title span {
            display: inline-block; text-align: center;
        }

        .sidebar-nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .sidebar-nav ul li {
            padding: 14px 24px;
            font-size: 15px;
            color: #3d5544;
            cursor: pointer;
            transition: all 0.25s ease;
            border-left: 3px solid transparent;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 10px;
            position: relative;
        }

        .sidebar-nav ul li .nav-icon {
            font-size: 18px;
            width: 28px;
            text-align: center;
            flex-shrink: 0;
        }

        .sidebar-nav ul li:hover {
            background: #f2f8f2;
            color: #1a3a2a;
        }

        .sidebar-nav ul li.active {
            background: #e8f3ea;
            color: #1f6e4a;
            border-left-color: #2e7d5e;
            font-weight: 600;
        }

        .sidebar-nav ul li.active::after {
            content: '';
            position: absolute;
            right: 16px;
            top: 50%;
            transform: translateY(-50%);
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #2e7d5e;
        }

        /* ===== 右侧内容区 ===== */
        .content-area {
            flex: 1;
            min-width: 0;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 2px 16px rgba(0, 40, 20, 0.06);
            padding: 40px 44px;
            border: 1px solid #e8efe8;
            min-height: 500px;
        }

        .tab-panel {
            animation: tabFadeIn 0.45s ease forwards;
        }

        .tab-panel.active {
            display: block;
        }

        @keyframes tabFadeIn {
            0% {
                opacity: 0;
                transform: translateY(18px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ===== 各栏目内容样式微调 ===== */
        /* 公司概况 */
        .tab-panel .overview-title {
            font-size: 26px;
            color: #1a3a2a;
            margin-bottom: 24px;
            padding-bottom: 16px;
            border-bottom: 2px solid #e8efe8;
        }

        .tab-panel .overview-desc {
            font-size: 15px;
            line-height: 1.9;
            color: #3d5544;
            margin-bottom: 18px;
        }

        .tab-panel .overview-stats {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            margin-top: 30px;
            padding-top: 28px;
            border-top: 2px solid #e8efe8;
        }

        .tab-panel .stat-item {
            text-align: center;
            padding: 16px 10px;
            background: #f5faf7;
            border-radius: 10px;
            transition: transform 0.2s;
        }

        .tab-panel .stat-item:hover {
            transform: translateY(-2px);
        }

        .tab-panel .stat-num {
            display: block;
            font-size: 28px;
            font-weight: 700;
            color: #1f6e4a;
            line-height: 1.2;
        }

        .tab-panel .stat-label {
            display: block;
            font-size: 13px;
            color: #6a7f72;
            margin-top: 4px;
        }

        /* 组织架构 */
        .tab-panel .org-chart {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
            padding: 20px 0;
        }

        .tab-panel .org-level {
            display: flex;
            gap: 30px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .tab-panel .org-node {
            background: #e8f3ea;
            border: 2px solid #c0d9c8;
            border-radius: 10px;
            font-size: 16px;
            font-weight: 600;
            color: #1a3a2a;
            min-width: 100px;
            text-align: center;
            transition: all 0.2s;
            box-shadow: 0 2px 6px rgba(0, 40, 20, 0.04);
			text-align: left;
        }

        .tab-panel .org-node:hover {
            background: #d4e8da;
            border-color: #2e7d5e;
            transform: translateY(-2px);
        }
		.tab-panel .org-node p{ font-weight: normal; line-height: 2; font-size: 1rem;}
		.tab-panel .org-node span{ font-weight: normal; line-height: 2; font-size: 1rem; padding: 10px 20px ; background: #bde5ce; display: block; margin: 20px 0; border-radius: 30px;}
		.tab-panel .org-node em{ font-weight: normal; line-height: 2; font-size: 1rem; padding: 10px 0 ;   display: block;  font-style: normal;  border-bottom: 1px dashed #93c7a2;}
		.tab-panel .org-node em:last-child{  border-bottom: none;}
		.tab-panel .org-node em strong{   display: block;  font-size: 1.2rem; }

        .tab-panel .org-top .org-node {
			width: 850px;
            background: ##e0efe4;
            border-color: #8fb8a0;
            font-size: 18px;
            padding: 16px 48px;
        }

        .tab-panel .org-mid .org-node {
            background: #e0efe4;
            border-color: #8fb8a0;
            font-size: 17px;
            padding: 14px 40px;
        }

        .tab-panel .org-bottom .org-node {
            background: #f2f8f2;
            border-color: #c8ddce;
            font-size: 15px;
            padding: 12px 28px;
        }

        /* 企业文化 */
        .tab-panel .culture-grid {
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 30px;
            padding: 10px 0;
        }

        .tab-panel .culture-card {
            background: #f5faf7;
            border-radius: 12px;
            padding: 30px 22px 26px;
            text-align: left;
            border: 1px solid #e8efe8;
            transition: all 0.3s;
        }

        .tab-panel .culture-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 24px rgba(0, 40, 20, 0.08);
            border-color: #b8d4c2;
        }

        .tab-panel .culture-icon {
            font-size: 40px;
            margin-bottom: 14px;
            display: block;
        }

        .tab-panel .culture-card h4 {
            font-size: 18px;
            color: #1a3a2a;
            margin-bottom: 10px;
        }

        .tab-panel .culture-card p {
            font-size: 14px;
            line-height: 1.7;
            color: #4a6052;
            margin: 0;
        }

        /* 资质荣誉 */
        .tab-panel .honors-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;
            padding: 10px 0;
        }

        .tab-panel .honor-card {
            background: #f5faf7;
            border-radius: 12px;
            padding: 20px 14px 18px;
            text-align: center;
            border: 1px solid #e8efe8;
            transition: all 0.3s;
        }

        .tab-panel .honor-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(0, 40, 20, 0.06);
            border-color: #b8d4c2;
        }

        .tab-panel .honor-img {
            width: 70px;
            height: 70px;
            margin: 0 auto 12px;
            border-radius: 50%;
            overflow: hidden;
            background: #e8efe8;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .tab-panel .honor-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .tab-panel .honor-card p {
            font-size: 14px;
            color: #3d5544;
            font-weight: 500;
            margin: 0;
            line-height: 1.4;
        }

        /* ===== 响应式 ===== */
        @media (max-width: 1024px) {
            .layout-two-col {
                gap: 28px;
            }
            .sidebar-nav {
                flex: 0 0 220px;
            }
            .content-area {
                padding: 30px 28px;
            }
            .tab-panel .honors-grid {
                grid-template-columns: repeat(3, 1fr);
            }
            .tab-panel .culture-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 768px) {
            .layout-two-col {
                flex-direction: column;
                gap: 24px;
            }
            .sidebar-nav {
                flex: 1 1 auto;
                width: 100%;
                position: static;
                padding: 12px 0;
            }
            .sidebar-nav ul {
                display: flex;
                flex-wrap: wrap;
                gap: 4px;
                padding: 0 16px;
            }
            .sidebar-nav ul li {
                padding: 10px 18px;
                font-size: 14px;
                border-left: none;
                border-bottom: 3px solid transparent;
                flex: 1 0 auto;
                justify-content: center;
                min-width: 80px;
                border-radius: 6px;
            }
            .sidebar-nav ul li.active {
                border-left-color: transparent;
                border-bottom-color: #2e7d5e;
                background: #e8f3ea;
            }
            .sidebar-nav ul li.active::after {
                display: none;
            }
            .sidebar-nav .nav-title {
                padding: 0 16px 10px 16px;
                font-size: 14px;
            }
            .content-area {
                padding: 24px 18px;
            }
            .tab-panel .overview-stats {
                grid-template-columns: repeat(2, 1fr);
            }
            .tab-panel .honors-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .tab-panel .culture-grid {
                grid-template-columns: 1fr;
            }
            .tab-panel .org-level {
                gap: 14px;
            }
            .tab-panel .org-node {
                padding: 10px 18px;
                font-size: 14px;
                min-width: 70px;
            }
            .tab-panel .org-top .org-node {
                padding: 12px 28px;
                font-size: 16px;
            }
            .tab-panel .org-mid .org-node {
                padding: 10px 24px;
                font-size: 15px;
            }
            .tab-panel .org-bottom .org-node {
                padding: 8px 16px;
                font-size: 13px;
            }
            .tab-panel .overview-title {
                font-size: 20px;
            }
        }

        @media (max-width: 480px) {
            .tab-panel .honors-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 14px;
            }
            .tab-panel .overview-stats {
                grid-template-columns: 1fr 1fr;
                gap: 12px;
            }
            .tab-panel .stat-num {
                font-size: 22px;
            }
            .content-area {
                padding: 18px 14px;
            }
            .sidebar-nav ul li {
                padding: 8px 12px;
                font-size: 13px;
                min-width: 60px;
            }
        }
