<style>
        /* 定制滚动条样式 */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }
        ::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #555;
        }

        /* 咨询表单容器样式 */
        #contact-form-container {
            position: fixed;
            bottom: 20px;
            left: 20px;
            z-index: 100;
            transition: all 0.3s ease-in-out;
            width: 300px; /* 默认宽度 */
        }

        /* 咨询表单内容样式 */
        #contact-form-content {
            background-color: #fff;
            border-radius: 0 0 8px 8px; /* Only bottom corners rounded */
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            padding: 20px;
            overflow: hidden;
            /* Removed height/opacity transition for simpler toggle */
        }

        /* 咨询表单头部样式 */
        #contact-form-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            background-color: #ff5959; /* Blue 700 */
            color: white;
            padding: 10px 20px;
            border-radius: 8px 8px 0 0;
        }

        /* 咨询表单缩小按钮样式 */
        #toggle-form-btn {
            background: none;
            border: none;
            font-size: 1.5rem;
            cursor: pointer;
            color: white;
            line-height: 1;
        }

        /* 隐藏表单内容时的样式 */
        .form-hidden #contact-form-content {
            display: none; /* Use display: none for simpler toggle */
        }
         .form-hidden #contact-form-header {
             border-radius: 8px; /* Fully rounded when hidden */
         }

        /* Hide contact form on mobile */
        @media (max-width: 767px) { /* Tailwind's 'sm' breakpoint is 640px, 'md' is 768px. Hiding below md */
             #contact-form-container {
                 display: none;
             }
        }


        /* 动画效果 */
        .fade-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

         /* 新的服务流程样式 */
        #process .process-steps-container {
            display: flex;
            flex-wrap: wrap; /* Allow wrapping on smaller screens */
            justify-content: center; /* Center items when they wrap */
            gap: 2rem; /* Add spacing between items */
            padding: 0 1rem; /* Add some horizontal padding */
        }

        #process .process-step-card {
            background-color: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            padding: 20px;
            text-align: center;
            flex: 1 1 180px; /* Allow growing/shrinking, base width 180px */
            max-width: 200px; /* Max width for each card */
            opacity: 0; /* Initially hidden for animation */
            transform: translateY(20px); /* Initially moved down for animation */
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        #process .process-step-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        #process .process-step-card .process-number {
            font-size: 2rem;
            font-weight: bold;
            color: #0284c7; /* Blue 700 */
            margin-bottom: 10px;
        }

        #process .process-step-card .process-icon {
            width: 50px;
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #0ea5e9; /* Cyan 500 */
            color: white;
            border-radius: 50%;
            font-size: 1.8rem;
            margin: 0 auto 10px; /* Center icon */
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        }

        #process .process-step-card h3 {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 5px;
        }

        #process .process-step-card p {
            font-size: 0.9rem;
            color: #555;
        }


        @media (min-width: 1024px) { /* On large screens (lg) */
            #process .process-steps-container {
                flex-wrap: nowrap; /* Prevent wrapping */
                justify-content: space-between; /* Distribute items evenly */
                gap: 1rem; /* Add a small gap between items */
                padding: 0; /* Remove padding */
            }
             #process .process-step-card {
                 flex: 1; /* Allow steps to grow and shrink */
                 max-width: none; /* Remove max width on large screens */
                 margin-right: 0 !important; /* Ensure no extra margin */
             }
        }


        /* 滚动容器外层父容器 */
        .scroll-wrapper {
            position: relative; /* Establishes positioning context for absolute buttons */
            margin: 0 auto; /* Center the wrapper */
            max-width: 1200px; /* Optional: Limit max width if needed */
        }

        /* 滚动容器 */
        .scroll-container {
            overflow-x: auto;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch; /* Enable smooth scrolling on iOS */
            /* Adjusted padding to be consistent with button width */
            padding: 0 40px; /* Add padding to make space for buttons */
        }

        /* 隐藏滚动条 */
        .scroll-container::-webkit-scrollbar {
            display: none;
        }
        .scroll-container {
            -ms-overflow-style: none;  /* IE and Edge */
            scrollbar-width: none;  /* Firefox */
        }

        /* 滚动按钮通用样式 */
        .scroll-button {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background-color: rgba(2, 132, 199, 0.7); /* Blue 700 with transparency */
            color: white;
            border: none;
            padding: 8px 12px;
            cursor: pointer;
            z-index: 10;
            border-radius: 4px;
            font-size: 1.2rem;
            line-height: 1;
            transition: background-color 0.3s ease;
        }

        .scroll-button:hover {
             background-color: rgba(2, 132, 199, 1); /* Solid Blue 700 on hover */
        }

        .scroll-button.left {
            left: 0; /* Position relative to the scroll-wrapper */
        }

        .scroll-button.right {
            right: 0; /* Position relative to the scroll-wrapper */
        }

        /* 项目类型图片悬浮文字 */
        .project-card {
            position: relative;
            overflow: hidden;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }

        .project-card img {
            width: 100%;
            height: 250px; /* Fixed height for consistency */
            object-fit: cover;
            transition: transform 0.3s ease;
        }

        .project-card:hover img {
            transform: scale(1.05);
        }

        .project-card-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(0, 0, 0, 0.4); /* Semi-transparent overlay */
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            color: white;
            text-align: center;
            padding: 20px;
            opacity: 1;
            transition: opacity 0.3s ease;
        }

         .project-card:hover .project-card-overlay {
             opacity: 1; /* Keep overlay visible on hover */
         }

        .project-card-overlay h3 {
            font-size: 1.8rem;
            font-weight: bold;
            margin-bottom: 10px;
        }

        .project-card-overlay p {
            font-size: 1rem;
        }


         /* 客户评价卡片样式 */
         .review-card {
             background-color: #fff;
             padding: 20px;
             border-radius: 8px;
             box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
             text-align: left;
             display: flex;
             flex-direction: column;
             justify-content: space-between; /* Push name/date to bottom */
         }

         .review-card p.review-text {
             text-gray-700 italic mb-4;
         }

         .review-meta {
             font-size: 0.9rem;
             color: #555;
             margin-top: 10px;
             border-top: 1px solid #eee;
             padding-top: 10px;
         }

         .review-meta .reviewer-name {
             font-weight: bold;
             margin-right: 10px;
         }

         /* CTA Section 样式 */
         #cta {
             /* Adjusted gradient for more vibrancy */
             background: linear-gradient(to right, #0ea5e9, #38bdf8); /* Cyan 500 to Light Blue 400 */
             color: white;
             padding: 6rem 1rem; /* Increased padding */
             text-align: center;
             box-shadow: 0 -8px 16px rgba(0, 0, 0, 0.2); /* Stronger shadow */
         }

         #cta h2 {
             font-size: 3.5rem; /* Larger font size */
             font-weight: extrabold; /* More bold */
             margin-bottom: 1.5rem;
             text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4); /* Stronger text shadow */
         }

         #cta p {
             font-size: 1.2rem;
             margin-bottom: 2rem;
             max-width: 800px;
             margin-left: auto;
             margin-right: auto;
         }

         #cta a {
             background-color: #fcd34d; /* Amber 300 */
             color: #1e3a8a; /* Blue 900 */
             font-bold py-4 px-12 rounded-full text-2xl hover:bg-yellow-300 transition duration-300 ease-in-out transform hover:scale-110; /* Enhanced button style */
             box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
             display: inline-block; /* Ensure padding works */
         }

        /* 关于我们视频容器 */
        .about-video-container {
            position: relative;
            width: 100%;
            max-width: 800px; /* Match image max-width */
            margin: 2rem auto 0;
            border-radius: 0.5rem; /* rounded-lg */
            overflow: hidden; /* Hide overflow from border-radius */
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* shadow-lg */
        }

        .about-video-container video {
            width: 100%;
            height: auto;
            display: block; /* Remove extra space below video */
        }

        /* News Section Content Box Style */
        #news .news-card {
            background-color: #e0f2f7; /* Light blue background */
            color: #333; /* Darker text for contrast */
            padding: 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            /* Ensure the whole card is clickable */
            position: relative;
            z-index: 1;
        }

        #news .news-card a {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2; /* Place link above content */
            text-decoration: none; /* Remove underline from link */
            color: inherit; /* Inherit text color */
        }

        #news .news-card a:hover {
            text-decoration: none; /* Ensure no underline on hover */
        }

        #news .news-card h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: #0284c7; /* Blue 700 for title */
        }

        #news .news-card p {
            font-size: 0.875rem;
            color: #555; /* Slightly lighter text for body */
            margin-bottom: 0.75rem;
        }

        /* Success Case Card Link Style */
        #cases .case-link {
             position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2; /* Place link above content */
            text-decoration: none; /* Remove underline from link */
            color: inherit; /* Inherit text color */
        }
         #cases .case-link:hover {
             text-decoration: none; /* Ensure no underline on hover */
         }

        /* Header Styles */
        header {
            background-color: #fff;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            position: sticky;
            top: 0;
            z-index: 50;
        }

        .top-bar {
            background-color: #f8f8f8;
            padding: 0.5rem 0;
            font-size: 0.875rem;
            color: #555;
        }

        .main-nav {
            padding: 1rem 0;
        }

        .main-nav .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo img {
            height: 60px; /* Adjust as needed */
        }

        .nav-links a {
            margin-left: 1.5rem;
            color: #333;
            font-weight: 500;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .nav-links a:hover {
            color: #0284c7; /* Blue 700 */
        }

        /* Footer Styles */
        footer {
            background-color: #2d3748; /* Dark gray */
            color: #cbd5e0; /* Light gray */
            padding: 3rem 1rem;
            font-size: 0.9rem;
        }

        footer h3 {
            color: #fff;
            font-size: 1.1rem;
            font-weight: bold;
            margin-bottom: 1rem;
        }

        footer a {
            color: #cbd5e0;
            text-decoration: none;
            transition: color 0.2s ease;
        }

        footer a:hover {
            color: #fff;
        }

        .footer-bottom {
            margin-top: 2rem;
            padding-top: 1.5rem;
            border-top: 1px solid #4a5568; /* Slightly lighter gray border */
            text-align: center;
            font-size: 0.8rem;
            color: #a0aec0; /* Even lighter gray */
        }

        /* Mobile Fixed Bottom Bar Styles */
        #mobile-bottom-bar {
            position: fixed;
            bottom: 0; /* Set bottom to 0 */
            left: 0;
            width: 100%;
            background-color: #fff;
            box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
            z-index: 100;
            display: flex;
            justify-content: space-around;
            align-items: center;
            padding: 0.5rem 0;
            padding-bottom: calc(0.5rem + env(safe-area-inset-bottom)); /* Account for notch */
            min-height: 50px; /* Minimum height */
        }

        #mobile-bottom-bar a,
        #mobile-bottom-bar button {
            flex: 1; /* Distribute space evenly */
            text-align: center;
            color: #0284c7; /* Blue 700 */
            font-size: 0.9rem; /* Increased font size */
            font-weight: bold; /* Made text bold */
            text-decoration: none;
            padding: 0.8rem 0; /* Increased padding for larger touch area */
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border: none;
            background: none;
            cursor: pointer;
            transition: color 0.2s ease, background-color 0.2s ease;
        }

         #mobile-bottom-bar a:hover,
         #mobile-bottom-bar button:hover {
             color: #fff; /* White text on hover */
             background-color: #0284c7; /* Blue 700 background on hover */
         }

        #mobile-bottom-bar svg {
            width: 1.8rem; /* Increased icon size */
            height: 1.8rem; /* Increased icon size */
            margin-bottom: 0.3rem; /* Adjusted margin */
        }

        /* Hide mobile bottom bar on larger screens */
        @media (min-width: 768px) { /* Tailwind's 'md' breakpoint */
            #mobile-bottom-bar {
                display: none !important; /* Use !important to override flex */
            }
        }

        /* Ensure body has enough padding at the bottom on mobile */
        @media (max-width: 767px) {
            body {
                /* Adjusted padding-bottom based on estimated mobile bottom bar height */
                padding-bottom: 70px; /* Increased padding to account for the bar */
            }
        }

        /* Styles for the city list section - Not used in this version */
        /* #city-list-section { ... } */
        /* #city-list-section h2 { ... } */
        /* .province-list { ... } */
        /* .province-block { ... } */
        /* .province-name { ... } */
        /* .province-name a { ... } */
        /* .city-grid { ... } */
        /* .city-link { ... } */

        /* Captcha Styles */
        .captcha-container {
            display: flex;
            align-items: center;
            margin-bottom: 1rem;
        }

        .captcha-display {
            flex-shrink: 0; /* Prevent shrinking */
            width: 100px; /* Fixed width for captcha display */
            height: 40px; /* Fixed height */
            background-color: #e0f2f7; /* Light blue background */
            border: 1px solid #0284c7; /* Blue border */
            border-radius: 4px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            font-weight: bold;
            color: #0284c7; /* Blue text */
            margin-right: 0.5rem; /* Space between captcha and input */
            cursor: pointer; /* Indicate it's clickable to refresh */
            user-select: none; /* Prevent text selection */
        }

        .captcha-input {
            flex-grow: 1; /* Allow input to grow */
        }
    </style>