
    /* --- CSS Tokens --- */
    :root {
        --hz-navy: #0F172A;
        --hz-orange: #ec682e;
        --hz-text: #334155;
        --hz-gray-bg: #F8FAFC;
        --hz-border: #E2E8F0;
    }
    
    body { 
        margin: 0; 
        font-family: 'Open Sans', sans-serif; 
        font-weight: 400;
        background-color: #f8fafc;
    }

    /* --- Container --- */
    .voiceprint-module {
        width: 100%;
        background-color: #ffffff;
        padding: 100px 0;
        position: relative;
        overflow: hidden;
    }
    
    /* Background Animation */
    .bg-wave-container {
        position: absolute; top: 50%; left: 0; width: 100%; height: 400px; transform: translateY(-50%);
        display: flex; align-items: center; justify-content: center; gap: 12px; 
        opacity: 0.6; pointer-events: none; z-index: 0;
    }
    .wave-bar { 
        width: 12px; 
        background: #F1F5F9; 
        border-radius: 50px; 
        animation: wave-pulse 1.2s infinite ease-in-out; 
    }
    .wave-bar:nth-child(4), .wave-bar:nth-child(7) { 
        background: rgba(236, 104, 46, 0.15); 
    }

    .wave-bar:nth-child(odd) { height: 80px; animation-duration: 1.5s; }
    .wave-bar:nth-child(even) { height: 140px; animation-duration: 1.1s; }
    .wave-bar:nth-child(3n) { height: 200px; animation-duration: 1.3s; }
    
    @keyframes wave-pulse { 
        0%, 100% { transform: scaleY(1); opacity: 1; } 
        50% { transform: scaleY(0.6); opacity: 0.7; } 
    }

    .module-inner { 
        max-width: 1400px; 
        margin: 0 auto; 
        padding: 0 40px; 
        display: flex; 
        align-items: center; 
        gap: 80px; 
        position: relative; 
        z-index: 1; 
        box-sizing: border-box;
    }

    /* --- Left Text --- */
    .text-col { flex: 1; }
    
    .eyebrow {
        color: #ec682e; 
        font-family: 'Poppins', sans-serif;
        font-weight: 600; 
        text-transform: uppercase; font-size: 0.875rem;
        letter-spacing: 1.5px; margin-bottom: 16px; display: inline-flex; align-items: center; gap: 8px;
        border-bottom: 2px solid rgba(236, 104, 46, 0.2); 
        padding-bottom: 4px;
    }
    .rec-dot { width: 8px; height: 8px; background: #ec682e; border-radius: 50%; animation: blink 2s infinite; }
    @keyframes blink { 50% { opacity: 0.3; } }

    .headline { 
        font-family: 'Poppins', sans-serif;
        font-weight: 500;
        font-size: 3rem; 
        color: var(--hz-navy); line-height: 1.1; margin: 0 0 24px 0; letter-spacing: -1px;
    }
    .highlight-text { color: #ec682e; } 
    
    .body-text { 
        color: var(--hz-text); 
        font-family: 'Open Sans', sans-serif;
        font-size: 1.125rem; line-height: 1.8; margin-bottom: 40px; max-width: 90%; 
    }

    /* Algorithm Grid */
    .algorithm-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 45px; }
    
    .algo-card {
        background: #fff; 
        border: 1px solid var(--hz-border); 
        padding: 20px;
        border-radius: 12px; 
        transition: all 0.3s ease;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.02);
    }
    .algo-card:hover { 
        transform: translateY(-3px); 
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05); 
        border-color: #ec682e; 
    }
    
    .algo-title { 
        color: var(--hz-navy); 
        font-family: 'Open Sans', sans-serif;
        font-weight: 700; 
        font-size: 1rem; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; 
    }
    .algo-title svg { stroke: #ec682e !important; }

    .algo-desc { color: #64748B; font-size: 0.85rem; line-height: 1.4; font-family: 'Open Sans', sans-serif; }

    /* Button Style */
    .btn-primary {
        display: inline-flex; align-items: center; justify-content: center;
        background-color: #ec682e; 
        color: #ffffff; 
        border: 2px solid #ec682e;
        padding: 16px 40px; border-radius: 100px; font-weight: 600; text-decoration: none;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 10px 20px -10px rgba(236, 104, 46, 0.4);
        font-family: 'Open Sans', sans-serif;
    }
    .btn-primary:hover {
        background-color: #ffffff !important; 
        color: #ec682e !important;
        border-color: #ec682e !important;
        transform: translateY(-2px); 
        box-shadow: 0 15px 30px -10px rgba(236, 104, 46, 0.2);
    }

    /* --- Right Visual --- */
    .visual-col { 
        flex: 1.1; 
        position: relative; 
        height: 500px; 
        display: flex; align-items: center; justify-content: center; 
        min-width: 0;
    }
    
    /* 🟢 新增：矿山背景浮窗 */
    .mining-scene-bg {
        position: absolute;
        top: 50%; left: 50%; transform: translate(-50%, -50%);
        width: 100%; height: 100%;
        background-image: url('https://upbh596.myueeshop.com/u_file/2602/06/photo/c-m-zY8WM82id0s-unsplash.jpg?text=Mining+Tunnel+Environment'); /* 占位图，请替换为真实矿山图 */
        background-size: cover;
        background-position: center;
        border-radius: 20px;
        opacity: 0.4; /* 低透明度，作为氛围背景 */
        filter: grayscale(100%) contrast(1.2); /* 去色处理，保持专业感 */
        z-index: 0; /* 在最底层 */
        mix-blend-mode: multiply;
    }

    .glow-effect { 
        position: absolute; width: 400px; height: 400px; 
        background: radial-gradient(circle, rgba(236, 104, 46, 0.15) 0%, rgba(255, 255, 255, 0) 70%); 
        top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; 
    }
    
    .img-hardware {
        position: absolute; bottom: 40px; left: 20px; width: 70%; z-index: 2;
        border-radius: 16px; 
        box-shadow: 0 20px 50px -10px rgba(15, 23, 42, 0.3); 
        border: 4px solid #fff; 
        transition: transform 0.4s;
    }
    
    .img-software {
        position: absolute; top: 40px; right: 20px; width: 55%; z-index: 3;
        border-radius: 12px; 
        box-shadow: 0 30px 60px -12px rgba(15, 23, 42, 0.35);
        border: 2px solid #fff;
        background: #fff; 
        transform: translateY(0); 
        animation: float 6s ease-in-out infinite;
    }
    
    @keyframes float { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-15px); } }
    
    .visual-col:hover .img-hardware { transform: scale(1.02); }
    .visual-col:hover .img-software { transform: scale(1.05) translateY(-15px); }

    /* Responsive */
    @media (max-width: 1024px) {
        .module-inner { flex-direction: column; padding: 0 24px; gap: 60px; }
        .visual-col { width: 100%; height: 450px; }
        .img-hardware { width: 75%; left: 0; bottom: 20px;}
        .img-software { width: 60%; right: 0; top: 20px; }
        .headline { font-size: 2.5rem; }
        .algorithm-grid { grid-template-columns: 1fr; }
    }
