<style>
        /* General Styles */
        body {
            background-color: #f9f9f9;
            overflow-x: hidden;
            font-family: 'Poppins', sans-serif;
            margin: 0;
            padding: 0;
            color: #333;
        }

        h1, h2, h3, h4 {
            font-family: 'Montserrat', sans-serif;
        }

        /* 1. Header Section - Hero Banner */
        .hero-section {
           
            background-size: cover;
            background-position: center;
            background-attachment: fixed; /* Parallax effect */
            color: #fff;
            height: 80vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            position: relative;
            padding: 0 20px;
        }

        .hero-section h1 {
            font-size: 4.5rem;
            letter-spacing: 3px;
            margin: 0 0 10px 0;
            text-transform: uppercase;
            font-weight: 700;
            text-shadow: 0 0 10px rgba(13, 110, 253, 0.5), 0 0 20px rgba(13, 110, 253, 0.3);
            animation: glowText 3s infinite alternate;
        }

        .hero-section h2 {
            font-size: 1.5rem;
            font-weight: 300;
            color: #e0e0e0;
            margin-bottom: 40px;
            opacity: 0;
            animation: fadeUp 1s ease-out 0.5s forwards;
        }

        /* Scroll Down Arrow */
        .scroll-down-arrow {
            position: absolute;
            bottom: 40px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 2.5rem;
            color: rgba(255, 255, 255, 0.7);
            cursor: pointer;
            animation: bounceArrow 2s infinite;
            transition: color 0.3s;
        }

        .scroll-down-arrow:hover {
            color: #0d6efd;
        }

        /* 2. Introduction Section */
        #introduction {
            padding: 100px 20px;
            background-color: #ffffff;
            /* Subtle pattern */
            background-image: radial-gradient(#e5e5e5 1px, transparent 1px);
            background-size: 20px 20px;
            text-align: center;
            position: relative;
        }

        .intro-container {
            max-width: 800px;
            margin: 0 auto;
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.8s ease-out;
        }

        .intro-container.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .intro-text {
            font-size: 1.2rem;
            line-height: 1.8;
            color: #555;
            margin-bottom: 30px;
        }

        .divider {
            height: 4px;
            width: 80px;
            background: linear-gradient(90deg, #0d6efd, #00d25b);
            margin: 0 auto;
            border-radius: 2px;
        }

        /* 3. Process Steps Section */
        #process-steps {
            padding: 100px 20px;
            background-color: #f4f6f9;
            position: relative;
            overflow: hidden;
        }

        /* Background Particle Animation Placeholder (CSS only implementation) */
        .particle-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            pointer-events: none;
        }
        
        .particle {
            position: absolute;
            background: rgba(13, 110, 253, 0.05);
            border-radius: 50%;
            animation: float 20s infinite linear;
        }

        .steps-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
            max-width: 1200px;
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        /* Connector Line */
        .connector-line {
            position: absolute;
            top: 50px; /* Adjust based on icon center */
            left: 10%;
            right: 10%;
            height: 3px;
            background: #e0e0e0;
            z-index: -1;
            display: block;
        }

        .step-card {
            background: #fff;
            border-radius: 15px;
            padding: 40px 20px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0,0,0,0.05);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
            border-bottom: 4px solid transparent;
            opacity: 0;
            transform: translateY(50px);
        }

        .step-card.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .step-card:hover {
            transform: translateY(-15px) scale(1.02);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
        }

        /* Step Colors & Borders */
        .step-card.strategy { border-bottom-color: #0d6efd; }
        .step-card.design { border-bottom-color: #00d25b; }
        .step-card.develop { border-bottom-color: #fd7e14; }
        .step-card.support { border-bottom-color: #6f42c1; }

        /* Icons */
        .icon-wrapper {
            width: 100px;
            height: 100px;
            margin: 0 auto 25px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.5rem;
            color: #fff;
            position: relative;
            z-index: 2;
            transition: transform 0.5s ease;
        }

        .step-card:hover .icon-wrapper {
            transform: rotateY(360deg);
        }

        .strategy .icon-wrapper { background: linear-gradient(135deg, #0d6efd, #0a58ca); box-shadow: 0 10px 20px rgba(13, 110, 253, 0.3); }
        .design .icon-wrapper { background: linear-gradient(135deg, #00d25b, #00a346); box-shadow: 0 10px 20px rgba(0, 210, 91, 0.3); }
        .develop .icon-wrapper { background: linear-gradient(135deg, #fd7e14, #e36a0d); box-shadow: 0 10px 20px rgba(253, 126, 20, 0.3); }
        .support .icon-wrapper { background: linear-gradient(135deg, #6f42c1, #59359a); box-shadow: 0 10px 20px rgba(111, 66, 193, 0.3); }

        .step-number {
            font-size: 4rem;
            font-weight: 700;
            color: rgba(0,0,0,0.03);
            position: absolute;
            top: 10px;
            right: 20px;
            line-height: 1;
        }

        .step-title {
            font-size: 1.5rem;
            font-weight: 700;
            margin-bottom: 15px;
            color: #333;
        }

        .step-desc {
            font-size: 0.95rem;
            color: #666;
            margin-bottom: 20px;
            min-height: 60px; /* Uniform height */
        }

        /* Accordion / Read More */
        .read-more-btn {
            background: none;
            border: none;
            color: inherit; /* Takes card accent color logic below */
            font-weight: 600;
            cursor: pointer;
            font-size: 0.9rem;
            display: inline-flex;
            align-items: center;
            transition: color 0.3s;
        }
        
        .read-more-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-out;
            text-align: left;
            font-size: 0.9rem;
            color: #555;
            background: #f8f9fa;
            border-radius: 8px;
            padding: 0 15px;
            margin-top: 10px;
        }

        .read-more-content.open {
            max-height: 200px; /* Adjust based on content */
            padding: 15px;
            border: 1px solid #eee;
        }

        /* Step Card Specific Text Colors */
        .strategy .read-more-btn { color: #0d6efd; }
        .design .read-more-btn { color: #00d25b; }
        .develop .read-more-btn { color: #fd7e14; }
        .support .read-more-btn { color: #6f42c1; }

        /* 5. Call to Action Section */
        #cta {
            padding: 80px 20px;
            background: linear-gradient(45deg, #0d6efd, #00d25b);
            text-align: center;
            color: #fff;
            position: relative;
            overflow: hidden;
        }

        /* Moving Wave Background Animation */
        .wave-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 200%;
            height: 100%;
            background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 1200 120" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V0H0V27.35A600.21,600.21,0,0,0,321.39,56.44Z" fill="rgba(255,255,255,0.1)"></path></svg>');
            background-repeat: repeat-x;
            background-size: 50% 100%;
            opacity: 0.3;
            animation: waveMove 10s linear infinite;
        }

        .cta-content {
            position: relative;
            z-index: 2;
            max-width: 800px;
            margin: 0 auto;
        }

        .cta-content h2 {
            font-size: 2.5rem;
            margin-bottom: 15px;
            font-weight: 700;
        }

        .cta-content p {
            font-size: 1.2rem;
            margin-bottom: 30px;
            font-weight: 300;
        }

        .cta-btn {
            display: inline-block;
            padding: 15px 40px;
            background-color: #fff;
            color: #0d6efd;
            font-weight: 700;
            border-radius: 50px;
            text-decoration: none;
            box-shadow: 0 5px 15px rgba(0,0,0,0.2);
            transition: all 0.3s;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .cta-btn:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px rgba(0,0,0,0.3);
            background-color: #f8f9fa;
        }

        /* 6. Footer Section */
        /* Styles handled by footer.php include, but ensuring sticky/fixed overrides if needed */
        /* Assuming footer.php has standard styles, we might add enhancements here if specific class names are known. 
           Otherwise, relying on include. */

        /* Animations Keyframes */
        @keyframes glowText {
            from { text-shadow: 0 0 10px rgba(13, 110, 253, 0.5), 0 0 20px rgba(13, 110, 253, 0.3); }
            to { text-shadow: 0 0 20px rgba(13, 110, 253, 0.8), 0 0 30px rgba(0, 210, 91, 0.6); }
        }

        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes bounceArrow {
            0%, 20%, 50%, 80%, 100% { transform: translate(-50%, 0); }
            40% { transform: translate(-50%, -10px); }
            60% { transform: translate(-50%, -5px); }
        }

        @keyframes float {
            0% { transform: translateY(0) rotate(0deg); }
            100% { transform: translateY(-100vh) rotate(360deg); }
        }

        @keyframes waveMove {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* Responsive Design */
        @media (max-width: 992px) {
            .steps-grid {
                grid-template-columns: repeat(2, 1fr);
            }
            .connector-line {
                display: none; /* Hide horizontal connector on smaller grids */
            }
        }

        @media (max-width: 768px) {
            .hero-section h1 { font-size: 2.5rem; }
            .hero-section h2 { font-size: 1.1rem; }
            
            .steps-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .connector-line {
                display: none;
            }

            /* Add vertical connector line for mobile */
            .steps-grid::before {
                content: '';
                position: absolute;
                top: 0;
                bottom: 0;
                left: 50%;
                width: 2px;
                background: #e0e0e0;
                transform: translateX(-50%);
                z-index: 0;
                display: block;
            }

            .step-card {
                z-index: 1; /* Sit above vertical line */
            }
        }
       </style>