.contact-section,.map-section,.faq-section{padding: 80px 0;position: relative;background: #f8f9fa}.contact-section .container,.map-section .container,.faq-section .container{max-width: 1100px;margin: 0 auto;padding: 0 24px}.contact-section .section-heading,.map-section .section-heading,.faq-section .section-heading{margin-bottom: 32px}.contact-section .section-heading h2,.map-section .section-heading h2,.faq-section .section-heading h2{font-size: 1.5rem;font-weight: 700;color: #1a1a2e;margin-bottom: 8px}.contact-section .section-heading p,.map-section .section-heading p,.faq-section .section-heading p{color: #6c757d;font-size: 1rem}.map-section .section-heading.text-center,.faq-section .section-heading.text-center{text-align: center;margin-bottom: 40px}.map-section .section-heading.text-center h2,.faq-section .section-heading.text-center h2{font-size: 2.2rem}.contact-grid{position: relative;z-index: 1;display: grid;grid-template-columns: 1fr 1fr;gap: 30px;align-items: stretch}.contact-info{background: #ffffff;padding: 32px;border-radius: 20px;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);border: 1px solid rgba(67, 97, 238, 0.06);display: flex;flex-direction: column;gap: 24px;height: 100%}.contact-cards{display: grid;grid-template-columns: 1fr;gap: var(--spacing-lg)}.contact-card{background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);border: 1px solid rgba(67, 97, 238, 0.1);border-radius: var(--border-radius-lg);padding: var(--spacing-xl);display: flex;align-items: center;gap: var(--spacing-lg);transition: all var(--transition-normal)}.contact-card:hover{transform: translateY(-5px);box-shadow: 0 15px 30px rgba(67, 97, 238, 0.1);border-color: var(--primary-color)}.contact-card-icon{width: 60px;height: 60px;background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end));border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 1.4rem;color: white;flex-shrink: 0;transition: all var(--transition-normal);box-shadow: 0 8px 20px rgba(67, 97, 238, 0.2)}.contact-card:hover .contact-card-icon{transform: scale(1.1) rotate(5deg);box-shadow: 0 10px 20px rgba(67, 97, 238, 0.2)}.contact-card-content h3{font-size: 1.2rem;color: var(--text-dark);margin-bottom: var(--spacing-xs);font-weight: 600}.contact-card-content p{color: var(--text-muted);line-height: 1.6;margin-bottom: var(--spacing-xs)}.contact-card-content p:last-child{margin-bottom: 0}.social-connect{text-align: center;padding: 28px;background: linear-gradient(135deg, rgba(67, 97, 238, 0.04) 0%, rgba(114, 9, 183, 0.02) 100%);border-radius: 16px;margin-top: auto;border: 1px solid rgba(67, 97, 238, 0.06)}.social-connect h3{font-size: 1.1rem;color: #1a1a2e;margin-bottom: 20px;font-weight: 600}.social-connect .social-links{display: flex;justify-content: center;align-items: center;gap: 16px;flex-wrap: wrap}.contact-section .social-link{display: inline-flex;align-items: center;justify-content: center;width: 50px;height: 50px;background: linear-gradient(135deg, #4361ee, #7209b7);border-radius: 50%;color: white;font-size: 1.2rem;text-decoration: none;transition: all 0.3s ease;box-shadow: 0 6px 20px rgba(67, 97, 238, 0.25)}.contact-section .social-link:hover{transform: translateY(-4px) scale(1.05);box-shadow: 0 10px 30px rgba(67, 97, 238, 0.35)}.contact-section .social-link i{font-family: "Font Awesome 6 Brands" !important;font-weight: 400 !important}.contact-form-container{background: #ffffff;padding: 32px;border-radius: 20px;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);border: 1px solid rgba(67, 97, 238, 0.06);height: 100%}.contact-form{display: grid;grid-template-columns: repeat(2, 1fr);gap: var(--spacing-lg)}.contact-section .form-group{position: relative;display: flex;flex-direction: column}.contact-section .form-group.full-width{grid-column: span 2}.contact-section .form-group label{font-weight: 500;margin-bottom: var(--spacing-sm);color: var(--text-dark)}.contact-form input,.contact-form textarea{width: 100%;padding: var(--spacing-md) var(--spacing-lg);background: #f8f9ff;border: 2px solid transparent;border-radius: var(--border-radius-lg);font-size: 1rem;color: var(--text-dark);transition: all var(--transition-normal);font-family: inherit}.contact-form input:focus,.contact-form textarea:focus{background: white;border-color: var(--primary-color);box-shadow: 0 10px 20px rgba(67, 97, 238, 0.1);outline: none}.contact-form input::placeholder,.contact-form textarea::placeholder{color: var(--text-muted);opacity: 0.7}.contact-form textarea{min-height: 150px;resize: vertical}.contact-form button{grid-column: span 2;background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);color: white;border: none;padding: 16px 40px;border-radius: 12px;font-size: 1rem;font-weight: 600;cursor: pointer;transition: all 0.3s ease;position: relative;overflow: hidden;box-shadow: 0 4px 15px rgba(67, 97, 238, 0.2)}.contact-form button:hover{transform: translateY(-2px);box-shadow: 0 8px 25px rgba(67, 97, 238, 0.3)}.checkbox-group{display: flex;align-items: flex-start;gap: var(--spacing-sm);font-size: 0.9rem;color: var(--text-muted)}.checkbox-group input[type="checkbox"]{margin-top: 4px;width: auto}.checkbox-group label{margin: 0;font-size: 0.9rem}.checkbox-group a{color: var(--primary-color);text-decoration: none}.checkbox-group a:hover{text-decoration: underline}.btn-submit{display: inline-flex;align-items: center;justify-content: center;gap: 10px;padding: 16px 40px;background: linear-gradient(135deg, #4361ee 0%, #7209b7 100%);color: #fff;border: none;border-radius: 12px;font-size: 1rem;font-weight: 600;cursor: pointer;transition: all 0.3s ease;box-shadow: 0 4px 15px rgba(67, 97, 238, 0.2)}.btn-submit:hover{transform: translateY(-2px);box-shadow: 0 8px 25px rgba(67, 97, 238, 0.3)}.btn-submit:disabled{opacity: 0.7;cursor: not-allowed;transform: none}.btn-submit i{font-size: 0.9rem}.alert{padding: var(--spacing-md);border-radius: var(--border-radius-md);margin-bottom: var(--spacing-lg)}.alert-success{background-color: #d4edda;color: #155724;border: 1px solid #c3e6cb}.alert-danger{background-color: #f8d7da;color: #721c24;border: 1px solid #f5c6cb}.map-container{background: #ffffff;border-radius: 20px;overflow: hidden;box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);border: 1px solid rgba(67, 97, 238, 0.06);position: relative}.map-container iframe{width: 100%;height: 350px;border: none;display: block;filter: saturate(0.95) contrast(1.02);transition: filter 0.3s ease}.map-container:hover iframe{filter: saturate(1) contrast(1.05)}.faq-accordion{max-width: 100%;margin: 0 auto;display: flex;flex-direction: column;gap: 16px}.faq-item{background: #ffffff;border-radius: 16px;box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);border: 1px solid rgba(67, 97, 238, 0.06);overflow: hidden;transition: all 0.3s ease}.faq-item:hover{box-shadow: 0 8px 30px rgba(67, 97, 238, 0.08)}.faq-item.active{box-shadow: 0 8px 30px rgba(67, 97, 238, 0.12);border-color: rgba(67, 97, 238, 0.15)}.faq-question{cursor: pointer;font-size: 1.1rem;font-weight: 600;color: #1a1a2e;padding: 24px 28px;display: flex;align-items: center;justify-content: space-between;background: transparent;border: none;outline: none;transition: all 0.2s;text-align: left}.faq-question:hover{color: #4361ee}.faq-toggle{font-size: 1.5rem;color: #4361ee;font-weight: 600;margin-left: 20px;transition: transform 0.3s ease;user-select: none;flex-shrink: 0}.faq-item.active .faq-toggle{transform: rotate(45deg)}.faq-answer{max-height: 0;overflow: hidden;background: transparent;color: #6c757d;font-size: 1rem;line-height: 1.7;padding: 0 28px;transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s}.faq-item.active .faq-answer{padding: 0 28px 24px 28px;max-height: 400px}.success-modal{position: fixed;z-index: 9999;left: 0;top: 0;right: 0;bottom: 0;background: rgba(35, 41, 70, 0.45);display: flex;align-items: center;justify-content: center;transition: opacity 0.3s}.success-modal-content{background: #fff;border-radius: 20px;box-shadow: 0 8px 32px rgba(67, 97, 238, 0.15);padding: 2.5rem 2rem 2rem 2rem;text-align: center;min-width: 320px;max-width: 90vw;animation: modalPopIn 0.5s cubic-bezier(0.4, 0, 0.2, 1)}.success-animation{margin-bottom: 1.5rem;display: flex;justify-content: center;align-items: center}.success-animation svg{display: block;margin: 0 auto;animation: successCheck 0.7s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes modalPopIn{0%{transform: scale(0.8);opacity: 0} 100%{transform: scale(1);opacity: 1}}@keyframes successCheck{0%{stroke-dasharray: 0 100;opacity: 0} 40%{opacity: 1} 100%{stroke-dasharray: 100 0;opacity: 1}}.success-modal h3{color: #4361ee;font-size: 1.5rem;margin-bottom: 0.5rem;font-weight: 700}.success-modal p{color: #232946;font-size: 1.05rem;margin-bottom: 1.5rem}.close-success-modal{margin-top: 0.5rem;padding: 0.75rem 2.5rem;font-size: 1rem;border-radius: 8px;background: #4361ee;color: #fff;border: none;font-weight: 600;cursor: pointer;transition: background 0.2s}.close-success-modal:hover{background: #3a56d4}@media (max-width: 992px){.contact-grid{grid-template-columns: 1fr;gap: 30px} .contact-form{grid-template-columns: 1fr} .contact-section .form-group.full-width{grid-column: span 1} .contact-form button{grid-column: span 1}}@media (max-width: 768px){.contact-section, .map-section, .faq-section{padding: 60px 0} .contact-info, .contact-form-container{padding: 24px} .contact-form{gap: 16px} .contact-card{flex-direction: column;text-align: center;padding: 20px} .contact-card-icon{margin-bottom: 12px} .map-section .section-heading h2, .faq-section .section-heading h2{font-size: 2rem} .map-container{border-radius: 16px} .map-container iframe{height: 300px} .faq-question{font-size: 1rem;padding: 20px} .faq-item.active .faq-answer{padding: 0 20px 20px 20px}}@media (max-width: 500px){.contact-section, .map-section, .faq-section{padding: 50px 0} .contact-section .container, .map-section .container, .faq-section .container{padding: 0 16px} .success-modal-content{min-width: 0;padding: 24px 16px}}