:root {
            --primary-color: #001c41; /* Dark Blue */
            --secondary-color: #0a66c2; /* LinkedIn Blue */
            --success-color: #28a745; /* Green */
            --light-gray: #f0f2f5;   /* Light background */
            --medium-gray: #e9ecef;  /* Slightly darker gray */
            --dark-text: #333;       /* Main text */
            --heading-color: #202124; /* Darker headings */
            --light-text: #ffffff;   /* White text */
            --border-color: #dee2e6; /* Borders */
        }

        html { box-sizing: border-box; }
        *, *:before, *:after { box-sizing: inherit; }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            margin: 0;
            background-color: var(--light-gray);
            color: var(--dark-text);
            line-height: 1.6;
            padding-top: 20px; /* Add padding for content */
        }

        .container-main { /* Changed from just container to avoid conflicts */
             max-width: 1100px;
             margin: 0 auto;
             padding: 0 20px; /* Padding for smaller screens */
        }

        a { color: var(--secondary-color); text-decoration: none; transition: color 0.2s ease; }
        a:hover { text-decoration: underline; color: #074a8c; }

        h1, h2, h3, h4 { color: var(--heading-color); margin-bottom: 0.75em; font-weight: 600; }
        h1 {
            text-align: center;
            font-size: 2.4em;
            margin-bottom: 1.5rem;
            border-bottom: 3px solid var(--secondary-color);
            padding-bottom: 0.6rem;
            color: var(--primary-color);
        }
        h2 {
             font-size: 1.8em;
             margin-top: 2rem;
             margin-bottom: 1rem;
             padding-bottom: 0.5rem;
             border-bottom: 2px solid var(--medium-gray);
        }
        h3 {
             font-size: 1.3em;
             color: var(--primary-color);
             margin-bottom: 0.5rem;
        }

        /* --- Intro and Contact --- */
        .intro { text-align: center; margin-bottom: 25px; color: #555; font-size: 1.1em; max-width: 850px; margin-left: auto; margin-right: auto; }
        .contact-section { text-align: center; margin: 30px auto; padding: 25px; background-color: var(--light-text); border-radius: 8px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); max-width: 850px; border-top: 4px solid var(--secondary-color); }
        .contact-section p { margin: 0.6em 0; font-size: 1.05em; }
        .contact-section a { font-weight: 500; }

        /* --- Section Styling --- */
        .content-section {
            background-color: #fff;
            border-radius: 10px;
            padding: 30px;
            margin-bottom: 30px;
            box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
        }


        /* --- Process Section --- */
        .process-step {
            margin-bottom: 25px;
            padding: 20px;
            border-left: 4px solid var(--medium-gray);
            transition: border-color 0.3s ease, background-color 0.3s ease;
            cursor: pointer;
            border-radius: 0 8px 8px 0; /* Rounded corners on the right */
        }
        .process-step:hover {
            border-left-color: var(--secondary-color);
            background-color: #f8f9fa; /* Slight highlight on hover */
        }
        .process-step h3 {
            display: flex;
            align-items: center; /* Align icon and text */
            color: var(--primary-color);
            font-size: 1.3em;
            margin-bottom: 10px;
        }
         .process-step h3 .step-number { /* Styling for the number */
             display: inline-flex;
             align-items: center;
             justify-content: center;
             width: 30px;
             height: 30px;
             background-color: var(--primary-color);
             color: var(--light-text);
             border-radius: 50%;
             font-size: 0.85em;
             font-weight: bold;
             margin-right: 12px;
             flex-shrink: 0; /* Prevent shrinking */
         }
        .process-step p, .process-step ul { color: #444; line-height: 1.7; font-size: 1rem; margin-left: 42px; /* Indent text relative to number */ }
        .process-step ul { padding-left: 20px; list-style: disc; margin-top: 10px; }
        .process-step ul li { margin-bottom: 0.6em; }

        /* --- Process Popup Styles --- */
        .process-popup-overlay {
            display: none; /* Hidden by default */
            position: fixed;
            z-index: 1050; /* High z-index */
            left: 0; top: 0;
            width: 100%; height: 100%;
            overflow: hidden; /* Prevent background scroll */
            background-color: rgba(0, 0, 0, 0.6); /* Dim background */
            backdrop-filter: blur(3px);
            opacity: 0;
            transition: opacity 0.3s ease-in-out;
        }
         .process-popup-overlay.active {
            display: block;
            opacity: 1;
        }
        .process-popup-content {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%) scale(0.95);
            background-color: #fff;
            padding: 30px 35px;
            border: none;
            width: 90%;
            max-width: 750px; /* Limit max width */
            max-height: 85vh; /* Limit max height */
            overflow-y: auto; /* Scroll if content overflows */
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
            border-radius: 12px;
            opacity: 0;
            transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
        }
        .process-popup-overlay.active .process-popup-content {
             transform: translate(-50%, -50%) scale(1);
             opacity: 1;
        }
        .process-popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 1px solid var(--border-color);
        }
        .process-popup-title {
            font-size: 1.6em;
            margin: 0;
            font-weight: 600;
            color: var(--primary-color);
        }
        .process-popup-close-btn {
            background: none; border: none;
            font-size: 1.6em; /* Make X larger */
            font-weight: bold;
            color: #888;
            cursor: pointer;
            padding: 0 5px;
            line-height: 1;
            transition: color 0.2s ease;
        }
        .process-popup-close-btn:hover { color: var(--primary-color); }
        .process-popup-body { font-size: 1rem; color: var(--dark-text); }
        .process-popup-body h4 { /* Sub-heading inside popup */
            font-size: 1.1em;
            color: var(--secondary-color);
            margin-top: 1.5em;
            margin-bottom: 0.5em;
            font-weight: 600;
        }
        .process-popup-body ul { padding-left: 25px; margin-top: 0.5em; }
        .process-popup-body li { margin-bottom: 0.5em; }


        /* --- Testimonial Styles --- */
        .testimonial-card-integrated { /* Renamed to avoid conflicts */
            background-color: var(--medium-gray);
            border-left: 5px solid var(--secondary-color); /* Use secondary color */
            padding: 25px;
            margin-bottom: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.06);
            height: 100%; /* Ensure cards in a row have equal height */
            display: flex;
            flex-direction: column; /* Align content vertically */
        }
        .testimonial-quote-icon {
            font-size: 1.7em;
            color: var(--secondary-color);
            opacity: 0.7;
            margin-bottom: 10px;
        }
        .testimonial-card-integrated p {
            margin-bottom: 15px;
            font-style: italic;
            font-size: 0.95rem;
            line-height: 1.6;
            flex-grow: 1; /* Allow paragraph to take available space */
        }
        .testimonial-author-integrated { /* Renamed */
            display: flex;
            align-items: center;
            margin-top: auto; /* Push author to bottom */
            padding-top: 15px; /* Space above author */
            border-top: 1px solid var(--border-color); /* Separator line */
        }
        .testimonial-author-integrated img {
            width: 55px;
            height: 55px;
            border-radius: 50%;
            margin-right: 15px;
            border: 2px solid var(--light-text);
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }
        .testimonial-author-integrated div { font-size: 0.9rem; line-height: 1.3; }
        .testimonial-author-integrated strong { display: block; font-weight: bold; color: var(--dark-text); }
        .testimonial-author-integrated span { color: #555; font-size: 0.85rem; }


        /* --- Drive Link & Floating Button --- */
         #driveLinkSection .btn-lg { /* Style the drive button */
            padding: 12px 25px;
            font-size: 1.1em;
            font-weight: 500;
            background-color: var(--primary-color);
            border-color: var(--primary-color);
         }
          #driveLinkSection .btn-lg:hover {
             background-color: #00112a; /* Slightly darker */
             border-color: #00112a;
          }
        .floating-hire-me-container { position: fixed; bottom: 25px; right: 25px; z-index: 1000; }
        .floating-hire-me-button {
            display: inline-block; padding: 14px 28px; background-color: var(--secondary-color);
            color: white; border: none; border-radius: 8px; font-size: 1.1em; font-weight: 500;
            cursor: pointer; text-decoration: none; transition: all 0.3s ease;
            box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
        }
        .floating-hire-me-button:hover { background-color: #074a8c; transform: translateY(-2px); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); }


        /* --- Media Queries --- */
        @media screen and (max-width: 768px) {
            body { padding-top: 15px; }
            .container-main { padding: 0 15px; }
            h1 { font-size: 2em; } h2 { font-size: 1.5em; } h3 { font-size: 1.2em; }
            .content-section { padding: 20px; }
            .process-step { padding: 15px; }
            .process-step h3 { font-size: 1.15em; }
            .process-step p, .process-step ul { font-size: 0.95rem; margin-left: 0; padding-left: 15px;} /* Adjust indentation on mobile */
             .process-step h3 .step-number { width: 26px; height: 26px; font-size: 0.8em; margin-right: 10px; }
            .process-popup-content { width: 92%; padding: 20px 25px; max-height: 90vh; }
            .process-popup-title { font-size: 1.4em; }
            .testimonial-card-integrated { height: auto; } /* Let height adjust */
            #driveLinkSection .btn-lg { font-size: 1em; padding: 10px 20px; }
            .floating-hire-me-container { right: 15px; bottom: 15px; }
            .floating-hire-me-button { padding: 12px 24px; font-size: 1em; }
        }
        @media screen and (max-width: 480px) {
            h1 { font-size: 1.8em; }
            .contact-section { padding: 20px; }
            .content-section { padding: 15px; }
            .process-step h3 { font-size: 1.1em; }
            .process-popup-content { padding: 15px 20px; }
            .process-popup-title { font-size: 1.3em; }
            .testimonial-card-integrated { padding: 20px; }
            .testimonial-author-integrated img { width: 45px; height: 45px; }
            .floating-hire-me-container { right: 10px; bottom: 10px; }
            .floating-hire-me-button { padding: 10px 20px; }
        }