:root {
            --primary-color: #007bff;
            --primary-dark: #0056b3;
            --text-color: #333;
            --text-secondary: #666;
            --bg-color: #f8f9fa;
            --white-color: #ffffff;
            --header-height: 70px;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;
            margin: 0;
            padding-top: var(--header-height); 
            background-color: var(--bg-color);
            color: var(--text-color);
            line-height: 1.7;
        }

        .container {
            max-width: 1140px;
            margin: 0 auto;
            padding: 0 20px;
        }

        section {
            padding: 100px 0;
            background-color: var(--white-color);
            overflow: hidden;
        }

        main section:nth-child(odd) {
            background-color: var(--white-color);
        }
        main section:nth-child(even) {
            background-color: var(--bg-color);
        }

        h1, h2, h3 { font-weight: 600; margin-top: 0; }
        h1 { font-size: 3.5rem; letter-spacing: 1px; }
        h2 { font-size: 2.5rem; margin-bottom: 2rem; }
        h3 { font-size: 1.25rem; margin-bottom: 0.75rem; }

        .two-column-layout { display: flex; align-items: center; gap: 40px; }
        .two-column-layout .column { flex: 1; }
        .two-column-layout .column img { max-width: 100%; height: auto; border-radius: 8px; display: block; }
        .btn { padding: 12px 28px; border-radius: 50px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; display: inline-block; border: 2px solid transparent; }
        .btn-primary { background-color: var(--primary-color); color: var(--white-color); border-color: var(--primary-color); }
        .btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); transform: translateY(-3px); box-shadow: 0 4px 15px rgba(0, 123, 255, 0.3); }

        .fade-in-section { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease-out, transform 0.8s ease-out; }
        .fade-in-section.is-visible { opacity: 1; transform: translateY(0); }

        .header { background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: fixed; top: 0; left: 0; width: 100%; height: var(--header-height); z-index: 1000; display: flex; align-items: center; }
        .header .container { display: flex; justify-content: space-between; align-items: center; width: 100%; }
        .logo { font-size: 1.5rem; font-weight: 700; color: var(--text-color); text-decoration: none; }
        .logo i { color: var(--primary-color); }
        .nav-links { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; align-items: center; }
        .nav-links a:not(.btn) { text-decoration: none; color: var(--text-secondary); font-weight: 500; transition: color 0.3s ease; }
        .nav-links a:not(.btn):hover { color: var(--primary-color); }
        .hamburger-menu { display: none; font-size: 1.8rem; cursor: pointer; }
        
        @keyframes ken-burns { 0% { transform: scale(1.0); } 100% { transform: scale(1.05); } }
        @keyframes fade-in-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-10px); } 60% { transform: translateY(-5px); } }
        
        .hero-section { position: relative; height: calc(100vh - var(--header-height)); display: flex; align-items: center; justify-content: center; text-align: center; color: var(--white-color); padding: 0 20px; overflow: hidden; background-color: #222; }
        .hero-section::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('../img/image2.png') center/cover no-repeat; z-index: 1; animation: ken-burns 20s infinite alternate ease-in-out; }
        .hero-section::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 2; }
        .hero-content { position: relative; z-index: 3; max-width: 800px; animation: fade-in-up 1.2s ease-out 0.3s backwards; }
        .hero-content h1 { font-size: 3.8rem; margin-bottom: 0.5rem; font-weight: 700; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
        .hero-content .subtitle { font-size: 1.8rem; margin-bottom: 2rem; font-weight: 300; letter-spacing: 2px; opacity: 0.9; }
        .scroll-down-indicator { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); z-index: 5; animation: bounce 2s infinite; }
        .scroll-down-indicator a { color: var(--white-color); font-size: 1.5rem; text-decoration: none; opacity: 0.7; }
        
        .info-item { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; }
        .info-icon-bg { min-width: 60px; height: 60px; background-color: #e9ecef; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 1.5rem; color: var(--primary-color); flex-shrink: 0; }
        .core-business-grid { display: grid; grid-template-columns: repeat(3, 1fr); text-align: center; gap: 30px; }
        .business-item img { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; margin-bottom: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
        .milestone-item { display: flex; align-items: center; gap: 20px; margin-bottom: 30px; }
        .milestone-number { min-width: 50px; height: 50px; background-color: #e9ecef; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 1.5rem; font-weight: bold; color: var(--primary-color); }
        .benefits-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
        .benefit-item i { font-size: 2.5rem; color: var(--primary-color); margin-bottom: 10px; }
        .final-cta { text-align: center; padding: 0; }
        .final-cta img { width: 100%; display: block; height: 40vh; object-fit: cover; }
        .final-cta-text-block { background-color: var(--white-color); padding: 80px 20px; }
        .final-cta-text-block h1 { color: var(--primary-color); }

        .footer { background-color: #2c3e50; color: #ecf0f1; padding: 60px 0 20px 0; }
        .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; margin-bottom: 40px; }
        .footer-col h4 { font-size: 1.2rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; }
        .footer-col h4::after { content: ''; position: absolute; left: 0; bottom: 0; width: 40px; height: 2px; background-color: var(--primary-color); }
        .footer-col p, .footer-col a { color: #bdc3c7; text-decoration: none; transition: color 0.3s ease; }
        .footer-col a:hover { color: var(--primary-color); }
        .footer-col ul { list-style: none; padding: 0; }
        .footer-col ul li { margin-bottom: 10px; }
        .social-links a { display: inline-block; width: 40px; height: 40px; line-height: 40px; text-align: center; border-radius: 50%; background-color: rgba(255,255,255,0.1); color: var(--white-color); margin-right: 10px; }
        .social-links a:hover { background-color: var(--primary-color); }
        .footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 0.9rem; color: #bdc3c7; }
        
        .advantages-timeline {
            position: relative;
            display: flex;
            justify-content: space-between;
            margin-top: 50px;
            padding: 20px 0;
        }
        .advantages-timeline::before {
            content: '';
            position: absolute;
            top: 40px; 
            left: 15%;
            width: 70%;
            height: 2px;
            background-color: #e0e0e0;
            z-index: 1;
        }
        .advantage-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            width: 30%;
        }
        .advantage-item .number-box {
            width: 40px;
            height: 40px;
            background-color: #f5f2f2;
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.2rem;
            color: #bcaaa4; 
            position: relative;
            z-index: 2;
            margin-bottom: 40px; 
        }
        .advantage-item .number-box::after {
            content: '';
            position: absolute;
            bottom: -30px; 
            left: 50%;
            transform: translateX(-50%);
            width: 2px;
            height: 30px;
            background-color: #e0e0e0;
        }
        .advantage-text {
            color: var(--text-secondary);
        }
        .advantage-text strong {
            color: var(--text-color);
            font-size: 1rem;
            display: block;
            margin-bottom: 5px;
        }
        .advantage-text p {
            font-size: 0.9rem;
            margin: 0;
            line-height: 1.4;
        }

        .production-grid {
            display: flex;
            gap: 60px;
            justify-content: center;
            align-items: flex-start;
        }
        .production-item {
            flex: 1;
            max-width: 400px;
            text-align: center;
        }
        .production-item img {
            width: 280px; 
            height: 280px;
            border-radius: 50%; 
            object-fit: cover;
            margin-bottom: 25px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .production-item img:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
        }
        .production-item h3 {
            margin-bottom: 15px;
            font-size: 1.5rem;
        }

        .platform-container {
            display: flex;
            gap: 20px; 
            margin-top: 40px;
        }
        .platform-list {
            flex: 1;
            padding: 0 15px;
        }
        .platform-list .platform-icon {
            font-size: 3rem;
            color: var(--text-color);
            margin-bottom: 15px;
            display: block;
        }
        .platform-list h4 {
            font-size: 1.1rem;
            margin-bottom: 15px;
        }
        .platform-list ul {
            list-style-type: none;
            padding: 0;
            margin: 0;
            color: var(--text-secondary);
        }
        .platform-list ul li {
            margin-bottom: 8px;
        }

        #partners {
            padding: 0; 
        }
        #partners .banner-image {
            width: 100%;
            height: 40vh; 
            object-fit: cover;
            display: block;
        }
        #partners .partners-content-area {
            padding: 100px 0; 
        }
        .partners-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 50px;
            text-align: center;
        }
        .partner-item .icon {
            font-size: 3rem;
            color: var(--text-color);
            margin-bottom: 25px;
            display: inline-block;
        }
        .partner-item h3 {
            font-size: 1.3rem;
            margin-bottom: 15px;
        }
        .partner-item p {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.7;
            margin: 0;
        }

        .culture-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 30px;
        }
        .benefit-box {
            background-color: #f9f7f6; 
            padding: 40px 30px;
            border-radius: 8px;
            text-align: center;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); 
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .benefit-box:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
        }
        .benefit-box h3 {
            font-size: 1.2rem;
            margin-top: 0;
            margin-bottom: 15px;
            color: var(--text-color);
        }
        .benefit-box p {
            margin: 0;
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.8;
        }

        .welfare-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr); 
            gap: 40px 20px;
        }
        .welfare-item {
            text-align: center;
        }
        .welfare-icon-box {
            width: 100px;
            height: 100px;
            background-color: #f8f9fa; 
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 20px auto;
            transition: transform 0.3s ease;
        }
        .welfare-item:hover .welfare-icon-box {
            transform: translateY(-5px);
        }
        .welfare-icon-box i {
            font-size: 2.8rem;
            color: var(--text-color);
        }
        .welfare-item p {
            margin: 0;
            font-size: 1rem;
            color: var(--text-secondary);
            line-height: 1.5;
        }

        .contact-section {
            padding-bottom: 40px;
        }
        .contact-section .main-title {
            font-size: 2.8rem; 
            color: var(--white-color);
            margin-bottom: 60px; 
            font-weight: 600;
        }
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr; 
            gap: 80px; 
        }
        .contact-column .column-header {
            display: flex;
            align-items: center;
            gap: 20px; 
            margin-bottom: 30px; 
        }
        .contact-column .icon-wrapper {
            width: 50px; 
            height: 50px;
            background-color: rgba(255, 255, 255, 0.1);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .contact-column .icon-wrapper i {
            font-size: 1.8rem; 
            color: var(--white-color);
        }
        .contact-column .column-title {
            margin: 0;
            font-size: 1.5rem; 
            color: var(--white-color);
            font-weight: 500;
        }
        .contact-column p, .contact-column li {
            color: #bdc3c7;
            font-size: 1rem;
            line-height: 1.8;
            margin-bottom: 15px; 
        }
        .contact-column a {
            color: #bdc3c7;
            text-decoration: none;
            transition: color 0.3s ease;
        }
        .contact-column a:hover {
            color: var(--primary-color);
        }
        .contact-column ul {
            list-style: none;
            padding-left: 0;
            margin-top: 15px;
        }
        .contact-column ul li {
            padding-left: 20px;
            position: relative;
        }

        .contact-column ul li::before {
            content: '•';
            position: absolute;
            left: 0;
            color: var(--primary-color);
            font-weight: bold;
        }
        .contact-section .final-tagline {
            font-size: 2rem; 
            font-weight: 500;
            color: var(--white-color);
            margin-top: 80px; 
        }

        @media (max-width: 992px) {
            h1 { font-size: 2.5rem; }
            h2 { font-size: 2rem; }
            .hero-content h1 { font-size: 2.8rem; }
            .hero-content .subtitle { font-size: 1.2rem; }
            .two-column-layout { flex-direction: column; }
            .production-grid {
                flex-direction: column;
                align-items: center;
                gap: 40px;
            }
            .two-column-layout.reverse-mobile { flex-direction: column-reverse; }
            .nav-links { position: fixed; top: var(--header-height); left: -100%; width: 100%; height: calc(100vh - var(--header-height)); background-color: var(--white-color); flex-direction: column; align-items: center; justify-content: center; gap: 40px; transition: left 0.5s ease; z-index: 999; }
            .nav-links.is-open { left: 0; }
            .hamburger-menu { display: block; z-index: 1000; }
            .core-business-grid { grid-template-columns: 1fr; }
            .partners-grid { grid-template-columns: 1fr; gap: 50px; } 
            .culture-grid { grid-template-columns: 1fr; }
            .welfare-grid { grid-template-columns: repeat(3, 1fr); }
            .contact-grid {
                grid-template-columns: 1fr; 
                gap: 50px;
            }
            .benefits-grid { grid-template-columns: 1fr; text-align: center; }
        }
        @media (max-width: 576px) {
            .welfare-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }