 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800;900&display=swap');

        :root {
            --primary-blue: #004191; 
            --light-blue: #EBF2FF;
            --dark-text: #0F172A;
            --gray-bg: #F8FAFC;
        }

        /* 移除原生的 smooth，交由 Lenis 处理 */
        html {
            scroll-behavior: auto; 
        }

        /* Lenis 推荐基础样式 */
        html.lenis { height: auto; }
        .lenis.lenis-smooth { scroll-behavior: auto; }
        .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
        .lenis.lenis-stopped { overflow: hidden; }
        .lenis.lenis-scrolling iframe { pointer-events: none; }

        body {
            font-family: 'Inter', 'PingFang SC', sans-serif;
            color: var(--dark-text);
            background-color: #FFFFFF;
            overflow-x: hidden;
        }

        /* 巨大的水印背景字 */
        .watermark {
            position: absolute;
            font-weight: 900;
            color: rgba(0, 0, 0, 0.02);
            z-index: 0;
            pointer-events: none;
            white-space: nowrap;
            line-height: 0.8;
            text-transform: uppercase;
        }

        .watermark-outline {
            color: transparent;
            -webkit-text-stroke: 2px rgba(0, 65, 145, 0.05);
        }

        /* 轮播图样式 */
        .hero-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.4, 0, 0.2, 1);
            transform: scale(1.05);
            z-index: 0;
            pointer-events: none;
        }
        .hero-slide.active {
            opacity: 1;
            transform: scale(1);
            z-index: 10;
            pointer-events: auto;
        }
        
        .slider-dot {
            transition: all 0.3s ease;
        }
        .slider-dot.active {
            width: 40px;
            background-color: var(--primary-blue);
        }

        /* 融合版产品大卡片 - 图文升级版 */
        .product-card-large {
            background-color: #FFFFFF;
            border-radius: 30px;
            transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
            position: relative;
            overflow: hidden;
            border: 2px solid #E2E8F0;
            display: flex;
            flex-direction: column;
        }
        @media (min-width: 1024px) {
            .product-card-large { border-radius: 40px; }
        }
        
        .product-card-large:hover {
            transform: translateY(-10px);
            box-shadow: 0 30px 60px rgba(0, 65, 145, 0.08);
            border-color: var(--primary-blue);
        }
        
        /* 卡片图片容器 */
        .product-img-box {
            width: 100%;
            aspect-ratio: 1 / 1;
            overflow: hidden;
            position: relative;
        }
        .product-img-box img {
            transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .product-card-large:hover .product-img-box img {
            transform: scale(1.08);
        }

        .product-card-large .text-desc {
            color: #64748B;
        }

        /* 新闻图文卡片 */
        .news-card {
            border-radius: 20px;
            overflow: hidden;
            transition: all 0.4s ease;
            background: #fff;
            border: 1px solid #F1F5F9;
        }
        @media (min-width: 1024px) {
            .news-card { border-radius: 30px; }
        }
        .news-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.06);
            border-color: var(--primary-blue);
        }
        .news-img-box {
            overflow: hidden;
        }
        .news-img-box img {
            transition: transform 0.6s ease;
        }
        .news-card:hover .news-img-box img {
            transform: scale(1.05);
        }

        .news-info{
           line-height: 2;
        }

        /* 合作伙伴 Logo 容器 */
        .partner-logo {
            filter: grayscale(100%) opacity(0.5);
            transition: all 0.4s ease;
        }
        .partner-logo:hover {
            filter: grayscale(0%) opacity(1);
            transform: scale(1.05);
            background-color: #FFFFFF;
        }

        /* 网格背景线 */
        .bg-grid-light {
            background-image: linear-gradient(to right, rgba(0,0,0,0.02) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(0,0,0,0.02) 1px, transparent 1px);
            background-size: 120px 120px;
        }

        /* 滚动缓动入场动画类 (Scroll Reveal) */
        .reveal-up {
            opacity: 0;
            transform: translateY(60px);
            transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-up.active {
            opacity: 1;
            transform: translateY(0);
        }
        .delay-100 { transition-delay: 100ms; }
        .delay-200 { transition-delay: 200ms; }
        .delay-300 { transition-delay: 300ms; }

        /* 视频弹窗样式 */
        .video-modal {
            display: none;
            position: fixed;
            inset: 0;
            background-color: rgba(0, 0, 0, 0.9);
            z-index: 100;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
        }
        .video-modal.active {
            display: flex;
            opacity: 1;
        }
        .video-modal-content {
            position: relative;
            width: 95%;
            max-width: 1200px;
            aspect-ratio: 16 / 9;
        }
        .video-modal-close {
            position: absolute;
            top: -40px;
            right: 0;
            width: 32px;
            height: 32px;
            background: rgba(255, 255, 255, 0.1);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 20px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }
        @media (min-width: 768px) {
            .video-modal-close {
                top: -50px;
                width: 40px;
                height: 40px;
                font-size: 24px;
            }
        }
        .video-modal-close:hover {
            background: rgba(255, 255, 255, 0.3);
            transform: rotate(90deg);
        }
        .video-modal video {
            width: 100%;
            height: 100%;
            border-radius: 12px;
        }

        /* 移动端手风琴动画 */
        .accordion-content {
            transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        .accordion-content.expanded {
            opacity: 1;
        }



        /* 子导航活动状态 */
        .subnav-link.active {
            color: var(--primary-blue);
            font-weight: 800;
        }
        .subnav-link.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background-color: var(--primary-blue);
            border-radius: 3px 3px 0 0;
        }

        /* 员工风采/荣誉证书滑块：提前创建合成层，避免首次 hover 时 GPU 层创建卡顿 */
        #teamSlider .group,
        #honorSlider .group {
            will-change: transform;
            transform: translateZ(0);
        }
        #teamSlider img,
        #honorSlider img {
            will-change: transform;
        }

        /* 隐藏横向滚动条但保留滚动功能 */
        .hide-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .hide-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* 发展历程时间轴样式 */
        .timeline-line {
            position: absolute;
            top: 0;
            bottom: 0;
            left: 24px;
            width: 2px;
            background: #E2E8F0;
        }
        @media (min-width: 768px) {
            .timeline-line {
                left: 50%;
                transform: translateX(-50%);
            }
        }
        .timeline-dot {
            transition: all 0.4s ease;
        }
        .timeline-item:hover .timeline-dot {
            background-color: var(--primary-blue);
            border-color: white;
            box-shadow: 0 0 0 4px rgba(0, 65, 145, 0.2);
        }
        
        /* 组织架构样式 */
        .org-node {
            background-color: #ffffff;
            border: 1px solid #E2E8F0;
            padding: 10px 20px;
            border-radius: 8px;
            font-weight: 600;
            color: #1e293b;
            text-align: center;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
            transition: all 0.3s;
            white-space: nowrap;
        }
        .org-node.primary {
            background-color: var(--primary-blue);
            color: white;
            border-color: var(--primary-blue);
        }
        .org-node:hover {
            border-color: var(--primary-blue);
            box-shadow: 0 10px 25px -5px rgba(0, 65, 145, 0.1);
            transform: translateY(-2px);
        }
        .org-line-v {
            width: 2px;
            height: 24px;
            background-color: #cbd5e1;
            margin: 0 auto;
        }
        .org-line-h {
            height: 2px;
            background-color: #cbd5e1;
        }
        /* 竖向文字 */
        .vertical-text {
            writing-mode: vertical-lr;
            letter-spacing: 0.15em;
            padding: 16px 8px;
            min-height: 140px;
        }


        /* 滚动缓动入场动画类 */
        .reveal-up {
            opacity: 0;
            transform: translateY(60px);
            transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-up.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* 隐藏横向滚动条但保留滚动功能 */
        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        /* 移动端菜单 */
        .mobile-menu {
            position: fixed;
            top: 0;
            right: 0;
            width: 85%;
            max-width: 360px;
            height: 100vh;
            background: white;
            z-index: 100;
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
            overflow-y: auto;
            box-shadow: -10px 0 40px rgba(0,0,0,0.1);
        }
        .mobile-menu.open { transform: translateX(0); }

        .mobile-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background: rgba(0,0,0,0.5);
            z-index: 99;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        .mobile-overlay.open { opacity: 1; pointer-events: auto; }

        /* 地图容器 */
        .map-container {
            background: linear-gradient(135deg, #004191 0%, #002a5c 100%);
            position: relative;
            overflow: hidden;
        }
        .map-container::before {
            content: '';
            position: absolute;
            inset: 0;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
            opacity: 0.5;
        }

        /* 留言表单样式 */
        .form-input {
            width: 100%;
            padding: 14px 18px;
            border: 2px solid #E2E8F0;
            border-radius: 12px;
            font-size: 15px;
            transition: all 0.3s ease;
            background: white;
        }
        .form-input:focus {
            outline: none;
            border-color: #004191;
            box-shadow: 0 0 0 4px rgba(0, 65, 145, 0.1);
        }
        .form-input::placeholder {
            color: #94A3B8;
        }

        .form-textarea {
            min-height: 140px;
            resize: vertical;
        }

        /* 二维码悬浮 */
        .qrcode-hover:hover .qrcode-popup {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }
        .qrcode-popup {
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s ease;
        }



        /* 新闻卡片样式 */
        .news-card {
            background: #FFFFFF;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 0 0 1px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.04);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .news-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 0 0 1px rgba(0,65,145,0.1), 0 20px 60px rgba(0,65,145,0.1);
        }
        .news-card:hover .news-img img {
            transform: scale(1.05);
        }
        .news-img {
            aspect-ratio: 16/9;
            overflow: hidden;
        }
        .news-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        /* 隐藏横向滚动条但保留滚动功能 */
        .hide-scrollbar::-webkit-scrollbar { display: none; }
        .hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

        /* Tab 切换样式 */
        .news-tab { transition: all 0.3s ease; }
        .news-tab.active {
            color: var(--primary-blue);
            border-bottom: 2px solid var(--primary-blue);
        }
        
        /* 隐藏非活动分类 */
        .news-section { display: none; }
        .news-section.active { display: block; }
        
        /* 移动端菜单 */
        .mobile-menu {
            position: fixed;
            top: 0;
            right: 0;
            width: 85%;
            max-width: 360px;
            height: 100vh;
            background: white;
            z-index: 100;
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
            overflow-y: auto;
            box-shadow: -10px 0 40px rgba(0,0,0,0.1);
        }
        .mobile-menu.open { transform: translateX(0); }

        .mobile-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            background: rgba(0,0,0,0.5);
            z-index: 99;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        .mobile-overlay.open { opacity: 1; pointer-events: auto; }

        /* 子导航高亮状态 */
        .subnav-link.active {
            color: var(--primary-blue) !important;
            font-weight: 800 !important;
        }
        .subnav-link.active::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background-color: var(--primary-blue);
            border-radius: 3px 3px 0 0;
        }

        /* 子导航分类 Tab 高亮 */
        .cat-tab.active {
            color: var(--primary-blue) !important;
            border-bottom: 2px solid var(--primary-blue);
        }
        .cat-tab.active .cat-tab-dot {
            background-color: var(--primary-blue) !important;
        }

        /* 产品卡片大样式（与首页一致） */
        .product-card-large {
            background: #FFFFFF;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 0 0 1px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.04);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex;
            flex-direction: column;
            cursor: pointer;
        }
        .product-card-large:hover {
            transform: translateY(-8px);
            box-shadow: 0 0 0 1px rgba(0,65,145,0.1), 0 20px 60px rgba(0,65,145,0.12);
        }
        .product-card-large:hover .product-img-box img {
            transform: scale(1.05);
        }
        .product-img-box {
            position: relative;
            overflow: hidden;
            aspect-ratio: 1 / 1;
            background: #F1F5F9;
        }
        .product-img-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .text-desc { color: #64748B; }

        /* 背景网格 */
        .bg-grid-light {
            background-image: radial-gradient(circle, rgba(0,65,145,0.04) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        /* 英雄区装饰 */
        .hero-decoration {
            position: absolute;
            border-radius: 50%;
            filter: blur(80px);
            pointer-events: none;
        }

        /* Tab 过滤动画 */
        .product-grid { transition: opacity 0.3s ease; }
        .product-grid.hidden { display: none; }
        .product-grid.fading { opacity: 0; }



         /* Tab 切换样式 */
        .cat-tab.active {
            color: var(--primary-blue) !important;
            border-bottom: 2px solid var(--primary-blue);
        }

        /* 产品卡片切换 */
        .product-card { transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
        .product-card.hidden { display: none; }
        .product-card.fade-out { opacity: 0; transform: scale(0.95); }

        /* 产品卡片样式 */
        .product-card {
            background: #FFFFFF;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 0 0 1px rgba(0,0,0,0.04), 0 4px 24px rgba(0,0,0,0.04);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            cursor: pointer;
        }
        .product-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 0 0 1px rgba(0,65,145,0.1), 0 20px 60px rgba(0,65,145,0.12);
        }
        .product-card:hover .product-img-box img {
            transform: scale(1.05);
        }
        .product-img-box {
            position: relative;
            overflow: hidden;
            aspect-ratio: 1 / 1;
            background: #F1F5F9;
        }
        .product-img-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .product-spec{
            padding: 20px;
        }
        .product-spec table{
            width: 100%;
            max-width: 1000px;
            margin: 0 auto;
            border-collapse: collapse;
        }
        .product-spec th,.product-spec td{
            padding: 10px;
            border: 1px solid #000;
        }
        .mypage{
            text-align: center;
            margin-top: calc(20px + 2vw);
            overflow: hidden;
            width: 100%;
        }
        .mypage ul{display: flex;justify-content: center;}
        .mypage a,.mypage span{
            margin: 0 5px;
            width: 30px;
            height: 30px;
            display: block;
            line-height: 30px;
            text-align: center;
            border-radius: 50%;
            background-color: #F1F5F9;
            color: #64748B;
            cursor: pointer;
        }
        .mypage li.active a,.mypage li.active span{
            background-color: #004187;
            color: #FFFFFF;
        }



        ul li{list-style-type: disc;color: #000000;}
