 :root {
     --primary: #3B82F6;
     --primary-dark: #2563EB;
     --secondary: #10B981;
     --accent: #8B5CF6;
     --dark: #1F2937;
     --light: #F9FAFB;
     --gray: #6B7280;
     --danger: #EF4444;
     --success: #10B981;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     color: var(--dark);
     background-color: var(--light);
 }

 .gradient-bg {
     background: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 100%);
 }

 .faq-content {
     transition: all 0.3s ease;
 }

 .hero-pattern {
     background-color: #f9fafb;
     background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%233b82f6' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
 }

 .card {
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
 }

 .btn-primary {
     background-color: var(--primary);
     color: white;
     transition: all 0.3s ease;
     margin-left: 12px;
 }

 .btn-primary:hover {
     background-color: var(--primary-dark);
     transform: translateY(-2px);
 }

 .btn-secondary {
     background-color: var(--secondary);
     color: white;
     transition: all 0.3s ease;
 }

 .btn-secondary:hover {
     background-color: #0DA271;
     transform: translateY(-2px);
 }

 .form-input:focus {
     border-color: var(--primary);
     box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.3);
 }

 .step-number {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 40px;
     height: 40px;
     border-radius: 50%;
     background-color: var(--primary);
     color: white;
     font-weight: bold;
 }

 /* Animations */
 @keyframes fadeIn {
     from {
         opacity: 0;
         transform: translateY(20px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .animate-fadeIn {
     animation: fadeIn 0.8s ease forwards;
 }

 .delay-100 {
     animation-delay: 0.1s;
 }

 .delay-200 {
     animation-delay: 0.2s;
 }

 .delay-300 {
     animation-delay: 0.3s;
 }

 /* Progress bar animation for multistep form */
 .progress-bar {
     height: 4px;
     background-color: #e5e7eb;
     border-radius: 2px;
     position: relative;
     overflow: hidden;
 }

 .progress-bar-fill {
     height: 100%;
     background-color: var(--primary);
     border-radius: 2px;
     transition: width 0.5s ease;
 }

 /* Accessibility */
 .sr-only {
     position: absolute;
     width: 1px;
     height: 1px;
     padding: 0;
     margin: -1px;
     overflow: hidden;
     clip: rect(0, 0, 0, 0);
     white-space: nowrap;
     border-width: 0;
 }

 /* Focus styles for accessibility */
 a:focus,
 button:focus,
 input:focus,
 select:focus,
 textarea:focus {
     outline: 2px solid var(--primary);
     outline-offset: 2px;
 }

 :root {
     --primary-color: #0056b3;
     --secondary-color: #e63946;
     --light-gray: #f8f9fa;
 }

 .form-step {
     display: none;
 }

 .form-step.active {
     display: block;
 }

 .step-indicator {
     width: 30px;
     height: 30px;
     border-radius: 50%;
     background-color: #ddd;
     display: flex;
     justify-content: center;
     align-items: center;
     margin: 0 auto 10px;
     color: black;
     font-weight: bold;
 }

 .step-indicator.active {
     background-color: var(--primary-color);
     color: white;
 }

 .step-indicator.complete {
     background-color: #28a745;
     color: white;
 }

 .service-card {
     cursor: pointer;
     transition: all 0.3s ease;
     border: 2px solid transparent;
 }

 .service-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
 }

 .service-card.selected {
     border-color: var(--primary-color);
     background-color: rgba(0, 86, 179, 0.05);
 }

 .progress-bar {
     height: 8px;
     background-color: #e9ecef;
     border-radius: 4px;
     overflow: hidden;
 }

 .progress-bar-fill {
     height: 100%;
     background-color: var(--primary-color);
     transition: width 0.3s ease;
 }

 .custom-select {
     appearance: none;
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: right 10px center;
     background-size: 16px;
 }

 .btn-primary {
     background-color: var(--primary-color);
     color: white;
     padding: 12px 24px;
     font-weight: 600;
     border-radius: 4px;
     transition: all 0.3s ease;
 }

 .btn-primary:hover {
     background-color: #004494;
     transform: translateY(-2px);
 }

 .btn-secondary {
     background-color: #6c757d;
     color: white;
     padding: 12px 24px;
     font-weight: 600;
     border-radius: 4px;
     transition: all 0.3s ease;
 }

 .btn-secondary:hover {
     background-color: #004494;
 }

 .step-title {
     font-size: 1.5rem;
     font-weight: 600;
     margin-bottom: 1.5rem;
     color: black;
 }

 /* .hero-section {
            background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
            padding: 3rem 0;
        } */

 /* .service-icon {
            font-size: 2.5rem;
            margin-bottom: 1rem;
            color: var(--primary-color);
        } */

 /* .benefits-section {
            background-color: #f8f9fa;
            padding: 3rem 0;
        } */

 .benefit-card {
     background: white;
     border-radius: 8px;
     padding: 1.5rem;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
     transition: transform 0.3s ease;
 }

 .benefit-card:hover {
     transform: translateY(-5px);
 }

 .benefit-icon {
     color: var(--primary-color);
     font-size: 2rem;
     margin-bottom: 1rem;
 }

 input:focus,
 select:focus,
 textarea:focus {
     outline: none;
     border-color: var(--primary-color);
     box-shadow: 0 0 0 3px rgba(0, 86, 179, 0.25);
 }

 .steps-container {
     position: relative;
 }

 .steps-container:before {
     content: "";
     position: absolute;
     top: 15px;
     left: 0;
     right: 0;
     height: 2px;
     background-color: #ddd;
     z-index: 1;
 }

 .step-indicator {
     position: relative;
     z-index: 2;
 }

 body.modal-open {
     overflow: hidden;
 }

 input:invalid,
 select:invalid,
 textarea:invalid {
     border-color: red;
 }

 .btn-primary {
     background-color: #007bff;
     color: white;
     padding: 10px 20px;
     border: none;
     border-radius: 5px;
     cursor: pointer;
     transition: background-color 0.3s ease;
 }

 .btn-primary:disabled {
     background-color: #cccccc;
     cursor: not-allowed;
 }

 .service-card.selected {
     border: 2px solid #007bff;
     /* Highlight selected card */
     background-color: #f0f8ff;
 }