          /* ========== Hero Banner ========== */
          .hero {
            position: relative;
            height: 520px;
            background: linear-gradient(135deg, #0a3d6b 0%, #158BDA 40%, #4FABE9 70%, #7ec8f8 100%);
            display: flex;
            align-items: center;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: -60%;
            right: -20%;
            width: 700px;
            height: 700px;
            background: rgba(255,255,255,0.04);
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }

        .hero::after {
            content: '';
            position: absolute;
            bottom: -30%;
            left: -10%;
            width: 400px;
            height: 400px;
            background: rgba(255,255,255,0.03);
            border-radius: 50%;
            animation: float 8s ease-in-out infinite reverse;
        }

        .hero .geometric-pattern {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.06) 0%, transparent 50%),
                radial-gradient(circle at 80% 70%, rgba(255,255,255,0.05) 0%, transparent 40%),
                radial-gradient(circle at 50% 20%, rgba(255,255,255,0.04) 0%, transparent 30%);
        }

        .hero .hero-grid {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
            background-size: 60px 60px;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 800px;
        }

        .hero-content h1 {
            font-size: 2.8rem;
            font-weight: bold;
            color: var(--white);
            margin-bottom: 20px;
            line-height: 1.3;
            text-shadow: 0 2px 10px rgba(0,0,0,0.2);
        }

        .hero-content .hero-slogan {
            font-size: 1.3rem;
            color: rgba(255,255,255,0.85);
            margin-bottom: 36px;
            line-height: 1.8;
            letter-spacing: 2px;
        }

        .hero-content .hero-btns {
            display: flex;
            gap: 16px;
        }

        /* ========== Hero 轮播 ========== */
        .hero-slider::before,
        .hero-slider::after { display: none; }

        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            background-size: cover;
            background-position: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.8s ease, visibility 0.8s;
        }

        .hero-slide.active {
            opacity: 1;
            visibility: visible;
        }

        .hero-slide::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, rgba(10,61,107,0.78) 0%, rgba(10,61,107,0.5) 55%, rgba(10,61,107,0.25) 100%);
        }

        .hero-slide .container {
            position: relative;
            z-index: 2;
        }

        /* 文案逐级入场：用 animation 而非 transition，
           动画失效时文字仍是可见状态，不会出现整页无文字 */
        .hero-slide .hero-content {
            position: relative;
            z-index: 3;
        }

        .hero-slide .hero-content > * {
            opacity: 1;
            transform: none;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
        }

        .hero-slide.active .hero-content > h1 {
            animation: heroTextIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.1s both;
        }

        .hero-slide.active .hero-content > .hero-slogan {
            animation: heroTextIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.25s both;
        }

        .hero-slide.active .hero-content > .hero-btns {
            animation: heroTextIn 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.4s both;
        }

        @keyframes heroTextIn {
            from { opacity: 0; transform: translateY(28px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* 背景缓慢推进 */
        .hero-slide::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: inherit;
            background-size: cover;
            background-position: center;
            transform: scale(1);
            transition: transform 8s ease-out;
            z-index: 0;
        }

        .hero-slide.active::before {
            transform: scale(1.08);
        }

        .hero-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(255,255,255,0.18);
            border: 1px solid rgba(255,255,255,0.45);
            border-radius: 50%;
            color: var(--white);
            font-size: 1.1rem;
            cursor: pointer;
            z-index: 3;
            transition: var(--transition);
        }

        .hero-arrow:hover {
            background: rgba(255,255,255,0.35);
        }

        .hero-arrow.prev { left: 30px; }
        .hero-arrow.next { right: 30px; }

        .hero-dots {
            position: absolute;
            bottom: 24px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 3;
        }

        .hero-dots span {
            width: 28px;
            height: 4px;
            border-radius: 2px;
            background: rgba(255,255,255,0.45);
            cursor: pointer;
            transition: var(--transition);
        }

        .hero-dots span.active {
            width: 40px;
            background: var(--white);
        }
        
        /* ========== About 模块 ========== */
        .about-section {
            background: var(--white);
        }

        .about-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .about-text p {
            color: var(--text-light);
            line-height: 2;
            margin-bottom: 16px;
        }

        .about-text .spirit {
            margin-top: 20px;
            font-size: 1.1rem;
            font-weight: bold;
            color: var(--primary);
            letter-spacing: 4px;
        }

        .about-stats {
            display: flex;
            justify-content: center;
            gap: 60px;
            margin-top: 30px;
        }

        .about-image {
            height: 360px;
            border-radius: var(--radius-lg);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            overflow: hidden;
        }

        .about-image img{
            max-width: 100%;
            border-radius: var(--radius-lg);
        }

/* ========== 产品展示模块 ========== */
.products-section {
    background: var(--bg);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

.product-category-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 30px 20px;
    text-align: center;
    box-shadow: var(--shadow);
    transition: var(--transition);
    cursor: pointer;
    display: block;
    color: inherit;
}

.product-category-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
    color: inherit;
}

.product-category-card .cat-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    color: var(--white);
}
.product-category-card .cat-icon img{
    max-width:70%;
}

.product-category-card h3 {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 6px;
}

.product-category-card .cat-count {
    font-size: 0.8rem;
    color: var(--text-lighter);
}


 /* ========== 新闻模块 ========== */
 .news-section {
    background: var(--white);
}

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 40px;
}

.news-more {
    text-align: center;
}

/* ========== 新闻卡片 ========== */
.news-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    transition: var(--transition);
}

.news-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-3px);
}

.news-card .news-img {
    height: 180px;
    background: linear-gradient(135deg, #E8F4FD, #D0E8F8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: var(--primary);
}

/* 图片固定高度裁切，避免超出卡片头部区域 */
.news-card .news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-card .news-body {
    padding: 20px;
}

.news-card .news-date {
    font-size: 0.8rem;
    color: var(--text-lighter);
    margin-bottom: 8px;
}

.news-card .news-title {
    font-size: 1rem;
    font-weight: bold;
    color: var(--text);
    line-height: 40px;
    height: 40px;
    margin-bottom: 8px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card .news-excerpt {
    font-size: 0.85rem;
    color: var(--text-light);
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ========== 荣誉模块 ========== */
.honors-preview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 30px;
}

/* ========== 响应式 ========== */
@media (max-width: 992px) {
    .hero { height: 400px; }
    .hero-content h1 { font-size: 2rem; }
    .about-content { grid-template-columns: 1fr; gap: 30px; }
    .products-grid { grid-template-columns: repeat(2, 1fr); }
    .news-grid { grid-template-columns: repeat(2, 1fr); }
    .honors-preview { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .hero { height: 340px; }
    .hero-content h1 { font-size: 1.5rem; }
    .hero-content .hero-slogan { font-size: 1rem; }
    .hero-content .hero-btns { flex-direction: row; flex-wrap: nowrap; gap: 10px; }
    .hero-content .hero-btns .btn { padding: 9px 20px; font-size: 0.875rem; white-space: nowrap; }
    .hero-arrow { width: 34px; height: 34px; font-size: 0.9rem; }
    .hero-arrow.prev { left: 10px; }
    .hero-arrow.next { right: 10px; }
    .hero-dots { bottom: 16px; }
    .products-grid { grid-template-columns: 1fr 1fr; }
    .news-grid { grid-template-columns: 1fr; }
    .honors-preview { grid-template-columns: 1fr; }
    .about-stats { gap: 30px; }
}