.contact-hero{color:#fff;text-align:center;background:linear-gradient(135deg,#2c3e50 0%,#3498db 100%);padding:4rem 0}.contact-hero h1{margin-bottom:1rem;font-size:2.5rem}.contact-hero p{max-width:700px;margin:0 auto;font-size:1.2rem}.contact-container{padding:4rem 0}.contact-container .container{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.contact-form-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 5px 15px #0000000d}.contact-form-section h2{color:#2c3e50;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;width:100%;padding:.8rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;outline:none}.form-group textarea{resize:vertical;min-height:150px}.contact-info{grid-template-columns:1fr;gap:1.5rem;display:grid}.info-card{text-align:center;background:#fff;border-radius:8px;flex-direction:column;align-items:center;padding:1.5rem;display:flex;box-shadow:0 5px 15px #0000000d}.info-icon{color:#fff;background-color:#3498db;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:1rem;font-size:1.5rem;display:flex}.info-card h3{color:#2c3e50;margin-bottom:.5rem}.info-card p{color:#7f8c8d;line-height:1.6}.info-card a{color:#7f8c8d;line-height:1.6;text-decoration:none}.map-section{background-color:#f8f9fa;padding:3rem 0}.map-section h2{text-align:center;color:#2c3e50;margin-bottom:3rem}.map-container{border-radius:8px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.contact-cta{color:#fff;text-align:center;background-color:#2c3e50;padding:3rem 0}.contact-cta h2{margin-bottom:.5rem}.contact-cta p{color:#fffc;max-width:600px;margin:0 auto 1.5rem}@media (max-width:992px){.contact-container .container{grid-template-columns:1fr}.contact-info{grid-template-columns:1fr 1fr;margin-top:2rem}}@media (max-width:768px){.contact-hero h1{font-size:2rem}.contact-hero p{font-size:1rem}.info-card{padding:1rem}}@media (max-width:576px){.contact-info{grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea{padding:.7rem}}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#e74c3c}.form-group .field-error{color:#e74c3c;margin-top:.3rem;font-size:.8rem;display:none}
