.contact-page{background-color:#fff;min-height:100vh;padding:3rem 1rem}.contact-container{max-width:72rem;margin:0 auto}.contact-header{text-align:center;margin-bottom:3rem}.contact-title{color:#111827;margin:0 0 .75rem;font-size:2.5rem;font-weight:700}.contact-subtitle{color:#4b5563;margin:0;font-size:1.125rem}.contact-grid{grid-template-columns:1fr;gap:2rem;margin-bottom:3rem;display:grid}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.contact-info-header h2{color:#111827;margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.contact-info-header p{color:#4b5563;margin:0 0 .5rem;line-height:1.6}.contact-info-header .highlight{font-weight:500}.action-buttons{flex-direction:column;gap:.75rem;display:flex}.btn{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.btn-primary{color:#fff;background-color:#2563eb;border:2px solid #2563eb}.btn-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.btn-primary:focus{outline:none;box-shadow:0 0 0 3px #2563eb4d}.btn-secondary{color:#2563eb;background-color:#fff;border:2px solid #2563eb}.btn-secondary:hover{background-color:#eff6ff}.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #2563eb4d}.btn-icon{width:1.25rem;height:1.25rem;margin-right:.5rem}.contact-details{flex-direction:column;gap:1rem;padding-top:1rem;display:flex}.contact-detail-item{flex-direction:column;display:flex}.contact-detail-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;font-size:.75rem;font-weight:500}.contact-detail-link{color:#111827;font-size:1.125rem;text-decoration:none;transition:color .2s}.contact-detail-link:hover{color:#2563eb}.graphic-column{justify-content:center;align-items:center;display:flex}.contact-graphic{object-fit:cover;border-radius:1rem;width:100%;height:100%}.contact-form-section{background-color:#f9fafb;border-radius:1rem;padding:1.5rem}.contact-form-title{color:#111827;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem}.success-message p{color:#166534;margin:0}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;display:flex}.form-label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.required{color:#ef4444}.form-input,.form-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-input.error,.form-textarea.error{background-color:#fef2f2;border-color:#fca5a5}.form-textarea{resize:vertical;min-height:8rem}.form-error{color:#dc2626;margin-top:.25rem;font-size:.875rem}.form-submit{justify-content:flex-start;display:flex}.btn-submit{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:.5rem;width:100%;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:background-color .2s}.btn-submit:hover:not(:disabled){background-color:#1d4ed8}.btn-submit:focus{outline:none;box-shadow:0 0 0 3px #2563eb4d}.btn-submit:disabled{opacity:.5;cursor:not-allowed}@media (min-width:640px){.contact-page{padding:3rem 1.5rem}.contact-title{font-size:3rem}.action-buttons{flex-direction:row}.contact-form-section{padding:2rem}.form-submit{justify-content:flex-end}.btn-submit{width:auto}}@media (min-width:768px){.contact-grid{grid-template-columns:1fr 1fr;gap:3rem}}@media (min-width:1024px){.contact-page{padding:3rem 2rem}.contact-form-section{padding:2.5rem}}
