.contact-info-section{padding:var(--space-xl) 0}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.contact-card{background-color:#fff;border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);text-align:center;transition:all var(--transition-medium)}.contact-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.card-icon{width:80px;height:80px;background-color:var(--primary-light);border-radius:50%;margin:0 auto var(--space-md);display:flex;align-items:center;justify-content:center;font-size:2rem}.contact-card h3{margin-bottom:var(--space-sm)}.contact-card p{margin-bottom:var(--space-sm);color:var(--gray-700)}.contact-link{display:block;font-size:1.2rem;font-weight:600;color:var(--primary);margin-bottom:var(--space-sm)}.note{font-size:.9rem;color:var(--gray-600);margin-bottom:0}.contact-form-section{padding:var(--space-xl) 0;background-color:var(--gray-100)}.contact-form-section .two-column{align-items:flex-start}.form-intro{margin-bottom:var(--space-md)}.contact-form{max-width:800px;margin:0 auto;background-color:#fff;padding:var(--space-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-md)}.form-group{margin-bottom:var(--space-md)}label{display:block;margin-bottom:var(--space-xs);font-weight:500;color:var(--gray-700)}input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;padding:var(--space-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0077b61a}input.touched:invalid,select.touched:invalid,textarea.touched:invalid{border-color:var(--danger)}input.touched:invalid+.error-message,select.touched:invalid+.error-message,textarea.touched:invalid+.error-message{display:block}input:invalid,select:invalid,textarea:invalid{border-color:var(--gray-300)!important}input:invalid+.error-message,select:invalid+.error-message,textarea:invalid+.error-message{display:none}.error-message{color:var(--danger);font-size:.875rem;margin-top:var(--space-xs);display:none}.help-text{color:var(--gray-600);font-size:.875rem;margin-top:var(--space-xs)}.consent-group{display:flex;align-items:flex-start;gap:var(--space-sm)}.consent-group input[type=checkbox]{margin-top:.25rem}.consent-group label{margin-bottom:0;font-size:.875rem}.btn-primary{position:relative;min-width:200px}.btn-loader{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.btn-primary.loading .btn-text{visibility:hidden}.btn-primary.loading .btn-loader{display:block}.form-note{margin-top:var(--space-sm);font-size:.875rem;color:var(--gray-600)}.map-container{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);margin-bottom:var(--space-lg)}.emergency-contact{background-color:#fff;padding:var(--space-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center}.emergency-contact h3{color:var(--primary);margin-bottom:var(--space-sm)}.emergency-phone{display:block;font-size:1.5rem;font-weight:700;color:var(--danger);margin:var(--space-sm) 0}.available{font-weight:600;color:var(--gray-700)}.faq-section{padding:var(--space-xl) 0}.faq-container{max-width:800px;margin:0 auto}.faq-item{margin-bottom:var(--space-md);border:1px solid var(--gray-300);border-radius:var(--radius-md);overflow:hidden}.faq-question{width:100%;background-color:#fff;padding:var(--space-md);border:none;text-align:left;font-size:1.1rem;font-weight:600;color:var(--dark);cursor:pointer;position:relative;transition:all var(--transition-fast)}.faq-question:hover{background-color:var(--gray-100)}.faq-question.active{background-color:var(--primary);color:#fff}.faq-icon{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%)}.faq-icon:before,.faq-icon:after{content:"";position:absolute;background-color:currentColor;transition:all var(--transition-fast)}.faq-icon:before{width:16px;height:2px;top:0;left:-8px}.faq-icon:after{width:2px;height:16px;top:-7px;left:-1px}.faq-question.active .faq-icon:after{transform:rotate(90deg);opacity:0}.faq-answer{background-color:#fff;padding:0 var(--space-md);max-height:0;overflow:hidden;transition:all var(--transition-medium)}.faq-answer.active{padding:var(--space-md);max-height:1000px}.faq-answer p{margin-bottom:0}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.card-icon{animation:bounce 2s infinite}.contact-card:hover .card-icon{animation-play-state:paused}@keyframes pulse{0%{box-shadow:0 0 #dc354566}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 #dc354500}}.emergency-phone{animation:pulse 2s infinite;border-radius:var(--radius-md);display:inline-block;padding:var(--space-xs) var(--space-sm)}@media (max-width: 991px){.contact-form-section .two-column{flex-direction:column;gap:var(--space-xl)}.right-column{width:100%}}@media (max-width: 768px){.contact-cards,.form-row{grid-template-columns:1fr}.map-container{height:300px}.map-container iframe{height:100%}.faq-question{font-size:1rem;padding:var(--space-sm)}.faq-icon{right:var(--space-sm)}.btn-primary{width:100%}}@media (max-width: 480px){.contact-card,.contact-form,.emergency-contact{padding:var(--space-md)}}
