.contact-section{background-color:var(--color-warm-white);padding:0;transition:padding .5s ease-in-out}.contact-section--open{padding:var(--section-padding)}.contact-collapsible{max-height:0;transition:max-height .5s ease-in-out;overflow:hidden}.contact-collapsible--open{max-height:2000px}.contact-container{max-width:700px}.contact-header{text-align:center}.contact-form-wrapper{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);background:#fff;padding:3rem}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-charcoal);font-size:.95rem;font-weight:600}.form-group input,.form-group textarea{width:100%;color:var(--color-text);background-color:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:.875rem 1rem;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-sage);background-color:#fff;outline:none;box-shadow:0 0 0 3px rgba(95,125,95,.15)}.form-group input::-ms-input-placeholder{color:var(--color-text-light)}.form-group input::placeholder{color:var(--color-text-light)}.form-group textarea::-ms-input-placeholder{color:var(--color-text-light)}.form-group textarea::placeholder{color:var(--color-text-light)}.submit-btn{justify-content:center;width:100%;margin-top:.5rem}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.contact-error{color:#e53e3e;border-radius:var(--radius-md);background-color:#fff5f5;border:1px solid #feb2b2;padding:.75rem 1rem;font-size:.9rem}.contact-success-message{text-align:center;padding:2rem 0}.success-icon{width:64px;height:64px;color:var(--color-sage);background:rgba(95,125,95,.1);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.success-icon svg{width:32px;height:32px}.contact-success-message h3{color:var(--color-charcoal);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.contact-success-message p{color:var(--color-text-muted);margin-bottom:2rem}@media (max-width:640px){.contact-form-wrapper{padding:2rem 1.5rem}}
