/* === Index 首页专用样式 === */

/* 1. 背景层：粒子动画容器锁定 */
#banner-wrap {
    position: absolute;
    inset: 0; /* 替代 top/left/width/height 的简写 */
    overflow: hidden;
    z-index: 0;
}

#luxCanvas {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    pointer-events: none; /* 确保不阻挡点击 */
    image-rendering: -webkit-optimize-contrast;
    will-change: transform;
    transform: translateZ(0); /* 开启硬件加速 */
}

/* 2. 内容层：布局定位（解决不跟手） */
.home-hero-content {
    position: relative !important;
    z-index: 10;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    top: -100px !important; 
    text-align: center;
    will-change: transform, opacity;
}

/* 3. 标题：六字一体流光 */
#home-p .hero-title {
    font-size: 64px !important;
    font-weight: 700;
    margin-bottom: 24px;
    display: inline-block;
    
    /* 流光核心逻辑 */
    background: linear-gradient(90deg, #1D9BF0, #00d4ff, #ffffff, #00d4ff, #1D9BF0) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-size: 200% auto !important;
    animation: shine 5s linear infinite !important;
    filter: drop-shadow(0 0 15px rgba(29, 155, 240, 0.6)) !important;
    
    pointer-events: auto !important;
    will-change: background-position;
}

/* 清理标题内部 span 的干扰颜色 */
#home-p .hero-title span {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    background: none !important;
}

/* --- 副标题：流光与排版一体化方案 --- */
#home-p .hero-subtitle {
    /* 1. 排版锁定：强制独占一行并居中 */
    display: block !important;       /* 确保它是块级元素，自动换行 */
    width: 100% !important;         /* 占据全宽 */
    margin: 10px auto 32px !important; /* 上边距10px，下边距32px，左右居中 */
    text-align: center !important;  /* 文字水平居中 */
    
    /* 2. 字体基础 */
    font-size: 32px !important;
    font-weight: 500 !important;
    letter-spacing: 2px;            /* 适当字间距，让流光更好看 */

    /* 3. 核心：大尺寸流光渐变 */
    /* 增加到 400% 让颜色过渡空间更大、更稀疏，看起来更高级 */
    background-size: 400% auto !important; 
    background-image: linear-gradient(
        90deg, 
        #7856ff 0%,   /* 起始紫色 */
        #00d4ff 25%,  /* 青色 */
        #ffffff 50%,  /* 亮白色（高光） */
        #00d4ff 75%,  /* 青色回滚 */
        #7856ff 100%  /* 结束紫色 */
    ) !important;

    /* 4. 剪裁与透明 */
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    /* 5. 动画与发光 */
    /* 时间调长到 12秒，让大范围渐变流动得更丝滑 */
    animation: subtitleShine 36s linear infinite !important;
    /* 增强紫色阴影光晕 */
    filter: drop-shadow(0 0 15px rgba(120, 86, 255, 0.5)) !important;
    
    will-change: background-position;
}

/* 对应的动画函数（如果之前有可以不重复，但建议确认一下） */
@keyframes subtitleShine {
    from { background-position: 0% center; }
    to { background-position: 400% center; } /* 对应 400% 的背景尺寸 */
}

/* 4. 精致半透明玻璃按钮 */
.home-btn-glass {
    padding: 12px 36px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    background: rgba(15, 23, 42, 0.8) !important; 
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.1) !important; 
    color: #ffffff !important;
    transition: all 0.3s ease;
}

.home-btn-glass:hover {
    background: rgba(15, 23, 42, 0.9) !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
}

/* 5. 动画初始状态与流光 Keyframes */
.animate-hero {
    opacity: 0;
    transform: translateY(30px);
}

@keyframes shine {
    to { background-position: 200% center; }
}





/* === Product 产品中心页  === */

/* === =========  === */

/* 产品页 Hero 背景专用样式 */


/* ============================================================
   PRODUCTS (产品页)    hero字体样式  
   ============================================================ */

#products-p .hero-container {
    position: relative !important;
    z-index: 10;
    text-align: center;
    
    /* 1. 确保 top 为 0 */
    top: 0 !important; 

    /* 2. 核心移动代码：使用负的 translateY 向上平移 */
    /* -100px 是向上移动的距离，你可以根据感觉改为 -150px 或 -50px */
    transform: translateY(-200px) !important; 

    /* 3. 辅助：如果是 flex 布局，确保它不是被强行垂直居中的 */
    margin-top: 0 !important;
}

/* 确保前缀是 #products-p */
#products-p .hero-title {
    filter: drop-shadow(0 0 20px rgba(0, 230, 195, 0.9)) !important;
    background: linear-gradient(90deg, #00e6c3, #00b8ff, #4cc9f0) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-size: 200% auto;
    animation: shine 5s linear infinite !important;
    font-size: 64px !important;
    pointer-events: auto !important;
    user-select: text !important;
    
    /* 建议保留这个，防止文字太靠顶或紧贴 */
    font-weight: 700 !important; 
    text-align: center !important;
    display: block !important;
}
/* 专门针对产品页的副标题进行调整 */
#products-p .hero-subtitle {
    /* 1. 调整字号：你可以根据感觉修改这个值 */
    font-size: 24px !important;  /* 默认建议 24px，如果觉得小了可以改成 28px 或 32px */
    
    /* 2. 调整字重与间距：让它更精致 */
    font-weight: 500 !important;
    letter-spacing: 2px !important; /* 让字符之间有一点点呼吸感 */
    
    /* 3. 确保居中与间距 */
    display: block !important;
    text-align: center !important;
    margin-top: 15px !important;   /* 与上方“产品中心”的距离 */
    
    /* 4. 保留你想要的流光效果（可选，保持全站统一） */
    background: linear-gradient(90deg, #7856ff, #00d4ff, #ffffff, #00d4ff, #7856ff) !important;
    background-size: 400% auto !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    animation: subtitleShine 36s linear infinite !important;
}







/* === Services 页面专属样式 === */

          
/* ============================================================
                     hero字体样式  
   ============================================================ */
/* --- Services 页面样式：适配 Product 结构 --- */

/* 1. 容器样式：取消绝对定位，使用与 Product 一致的布局 */
#services-p .hero-container {
    pointer-events: auto !important;
    user-select: text !important;
    /* 注意：这里不要写 top:50%, transform 等，直接让它继承全局居中 */
}

/* 2. 主标题：保留 Service 专属的 0.9 强发光 */
#services-p .hero-title {
    font-size: 4em !important;
    font-weight: 800 !important;
    letter-spacing: 4px !important;
    margin-bottom: 20px !important;
    text-transform: uppercase !important;
    
    /* 流光渐变参数 */
    background: linear-gradient(90deg, #00e6c3, #00b8ff, #4cc9f0) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-size: 200% auto !important;
    
    /* 你最看重的 0.9 发光滤镜 */
    filter: drop-shadow(0 0 20px rgba(0, 230, 195, 0.9)) !important;
    animation: shine 5s linear infinite !important;
}

/* 3. 副标题：参考 Product 结构修改，彻底解决闪烁 */
#services-p .hero-subtitle {
    /* --- 1. 基础维度 (100%保留你的要求) --- */
    font-size: 1.2em !important;
    letter-spacing: 8px !important;    /* 关键：Service 特有的 8px 间距 */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    
    /* --- 2. 布局属性 (参考 Product 的 display 逻辑) --- */
    display: block !important;
    text-align: center !important;
    margin-top: 15px !important; 
    
    /* --- 3. 核心流光逻辑 (这是解决闪烁的关键！) --- */
    /* 使用背景渐变而不是 text-shadow，这样渲染压力最小，不会闪烁 */
    background: linear-gradient(90deg, #00b8ff, #ffffff, #00b8ff) !important;
    background-size: 400% auto !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    
    /* 必须让文字颜色透明，背景渐变才能显示出来 */
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    
    /* --- 4. 辅助效果 --- */
    /* 用 filter 代替 text-shadow，性能更好 */
    filter: drop-shadow(0 0 10px rgba(0, 184, 255, 0.4)) !important;
    
    /* 动画保持平滑 */
    animation: subtitleShine 36s linear infinite !important;
}








/* =========================================
   About 页面专属样式 (从 HTML 挪动至此)
   ========================================= */

/* 1. 公司概览区域 */
#about-p .company-overview {
    background: white;
}

/* 2. 公司介绍网格布局 */
#about-p .company-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
}

/* 3. 公司介绍标题 */
#about-p .company-content h2 {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 24px;
    color: var(--primary-dark);
}

/* 4. 时间轴基础样式 */
#about-p .timeline {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 0;
}

/* 5. 时间轴中心线 */
#about-p .timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    width: 2px;
    height: 100%;
    background: var(--border-gray);
    transform: translateX(-50%);
}

/* ... 后面所有的选择器(如 .timeline-item, .value-card等) 
   请全部在前面加上 #about-p ... */

        /* About Page Specific Styles */
        .company-overview {
            background: white;
        }
        
        .company-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 80px;
            align-items: center;
        }
        
        .company-content h2 {
            font-size: 42px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 32px;
        }
        
        .company-content p {
            font-size: 18px;
            color: var(--text-gray);
            margin-bottom: 24px;
            line-height: 1.8;
        }
        
        .company-stats {
            display: flex;
            gap: 40px;
            margin-top: 40px;
        }
        
        .stat-item {
            text-align: center;
        }
        
        .stat-number {
            font-size: 48px;
            font-weight: 700;
            color: var(--primary-blue);
            display: block;
        }
        
        .stat-label {
            font-size: 16px;
            color: var(--text-gray);
            margin-top: 8px;
        }
        
        .mission-card {
            background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
            border-radius: 20px;
            padding: 50px;
            border: 1px solid #bae6fd;
        }
        
        .mission-card h3 {
            font-size: 32px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 20px;
        }
        
        .mission-card p {
            font-size: 18px;
            color: var(--text-gray);
            line-height: 1.8;
            margin-bottom: 16px;
        }
        
        .mission-slogan {
            font-size: 22px;
            font-weight: 700;
            color: var(--primary-blue);
            font-style: italic;
        }
        
        /* Values Section */
        .values {
            background: var(--light-gray);
        }
        
        .values-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 40px;
        }
        
        .value-card {
            background: white;
            border: 1px solid var(--border-gray);
            border-radius: 20px;
            padding: 50px 30px;
            text-align: center;
            transition: all 0.4s ease;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }
        
        .value-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
            border-color: var(--primary-blue);
        }
        
        .value-icon {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, var(--primary-blue), #3b82f6);
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 32px;
            color: white;
            font-size: 36px;
        }
        
        .value-title {
            font-size: 26px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 20px;
        }
        
        .value-description {
            font-size: 16px;
            color: var(--text-gray);
            line-height: 1.7;
        }
        
        /* History Section */
        .history {
            background: white;
        }
        
        .timeline {
            max-width: 800px;
            margin: 0 auto;
        }
        
        .timeline-item {
            position: relative;
            padding-left: 60px;
            margin-bottom: 50px;
        }
        
        .timeline-item::before {
            content: '';
            position: absolute;
            left: 0;
            top: 8px;
            width: 16px;
            height: 16px;
            background: var(--primary-blue);
            border-radius: 50%;
            border: 4px solid white;
            box-shadow: 0 0 0 4px var(--primary-blue);
        }
        
        .timeline-item::after {
            content: '';
            position: absolute;
            left: 7px;
            top: 24px;
            width: 2px;
            height: calc(100% + 30px);
            background: var(--border-gray);
        }
        
        .timeline-item:last-child::after {
            display: none;
        }
        
        .timeline-content {
            background: white;
            border: 1px solid var(--border-gray);
            border-radius: 16px;
            padding: 40px;
            transition: all 0.3s ease;
        }
        
        .timeline-content:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.1);
            border-color: var(--primary-blue);
        }
        
        .timeline-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
        }
        
        .timeline-title {
            font-size: 26px;
            font-weight: 700;
            color: var(--primary-dark);
        }
        
        .timeline-year {
            font-size: 18px;
            color: var(--primary-blue);
            font-weight: 600;
        }
        
        .timeline-description {
            font-size: 16px;
            color: var(--text-gray);
            line-height: 1.7;
        }
        
        /* CTA Section */
        .cta {
            background: linear-gradient(135deg, var(--light-gray), white);
        }
        
        .cta-content {
            text-align: center;
            max-width: 900px;
            margin: 0 auto;
        }
        
        .cta-title {
            font-size: 52px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 28px;
        }
        
        .cta-subtitle {
            font-size: 22px;
            color: var(--text-gray);
            margin-bottom: 50px;
            line-height: 1.7;
        }
        
        /* Hero Section */
        .hero { 
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); 
            padding: 120px 0 60px; 
        }
        
        .hero-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
            text-align: center;
        }
     

        
        /* Responsive */
        @media (max-width: 1024px) {
            .company-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }
            .values-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        
        @media (max-width: 768px) {
            .hero-title {
                font-size: 40px;
            }
            .values-grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }
            .timeline-item {
                padding-left: 40px;
            }
        }
        
        @media (max-width: 480px) {
            .hero-title {
                font-size: 32px;
            }
            .timeline-content {
                padding: 30px 20px;
            }
        }
		
		
		
		

/* === Contact 页面专属样式 === */
#contact-p .contact-section {
    min-height: 100vh;
    padding: 100px 0;
    display: flex;
    align-items: center;
    background: white;
}
#contact-p .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}
/* ... 请以此类推，把原本 .info-item, .form-group 等所有类名都加上 #contact-p ... */
        /* Contact Page Specific Styles */
        .contact-section {
            min-height: 100vh;
            padding: 100px 0;
            display: flex;
            align-items: center;
            background: white;
        }
        
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 80px;
            align-items: start;
        }
        
        .contact-card {
            background: white;
            border: 1px solid var(--border-gray);
            border-radius: 20px;
            padding: 50px;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
        }
        
        .contact-card h2 {
            font-size: 32px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 32px;
        }
        
        .form-group {
            margin-bottom: 28px;
        }
        
        .form-label {
            display: block;
            font-weight: 600;
            color: var(--primary-dark);
            margin-bottom: 10px;
            font-size: 16px;
        }
        
        .form-input {
            width: 100%;
            padding: 16px 20px;
            border: 2px solid var(--border-gray);
            border-radius: 10px;
            font-size: 16px;
            transition: all 0.3s ease;
            background-color: white;
        }
        
        .form-input:focus {
            outline: none;
            border-color: var(--primary-blue);
            box-shadow: 0 0 0 3px rgba(29, 155, 240, 0.1);
        }
        
        .form-textarea {
            min-height: 140px;
            resize: vertical;
        }
        
        .success-message {
            background: #10b981;
            color: white;
            padding: 16px 20px;
            border-radius: 10px;
            margin-bottom: 24px;
            display: none;
            font-size: 16px;
            font-weight: 500;
        }
        
        .error-message {
            background: #ef4444;
            color: white;
            padding: 16px 20px;
            border-radius: 10px;
            margin-bottom: 24px;
            display: none;
            font-size: 16px;
            font-weight: 500;
        }
        
        .contact-info-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 32px;
        }
        
        .contact-icon {
            width: 56px;
            height: 56px;
            background: var(--primary-blue);
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 20px;
            flex-shrink: 0;
        }
        
        .contact-icon svg {
            width: 28px;
            height: 28px;
            color: white;
        }
        
        .contact-details h3 {
            font-size: 22px;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 10px;
        }
        
        .contact-details p {
            font-size: 18px;
            color: var(--text-gray);
            line-height: 1.6;
        }
        
        .map-placeholder {
            background: var(--light-gray);
            border-radius: 16px;
            height: 300px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 40px;
            border: 1px solid var(--border-gray);
        }
        
        .map-content {
            text-align: center;
        }
        
        .map-icon {
            width: 60px;
            height: 60px;
            color: var(--text-gray);
            margin: 0 auto 16px;
        }
        
        .map-text {
            font-size: 18px;
            color: var(--text-gray);
        }
        

        /* Responsive */
        @media (max-width: 1024px) {
            .contact-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }
        }
        
        @media (max-width: 768px) {
            .hero-title {
                font-size: 40px;
            }
            .contact-card {
                padding: 40px 20px;
            }
        }
        
        @media (max-width: 480px) {
            .hero-title {
                font-size: 32px;
            }
            .contact-card {
                padding: 30px 16px;
            }
        }