.contact-container{background:linear-gradient(160deg,#fafbfc,#f1f5f9);min-height:100vh;padding:40px 20px;display:flex;align-items:center;justify-content:center}.contact-content{max-width:1400px;width:100%;margin:0 auto;background:var(--surface);padding:48px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border)}.contact-content h1{text-align:center;font-family:var(--font-heading);color:var(--text-dark);font-size:2.5rem;font-weight:800;margin-bottom:10px;letter-spacing:-.03em}.contact-container .subtitle{text-align:center;color:var(--text-muted);margin-bottom:40px}.contact-form{display:flex;flex-direction:column;gap:30px}.contact-form .form-section{padding-bottom:30px}.contact-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}.contact-form .form-group{display:flex;flex-direction:column;gap:8px}.contact-form .form-group.full-width{grid-column:1/-1}.contact-form .form-group label{color:var(--text-dark);font-weight:500;font-size:.9rem}.contact-form .form-group input,.contact-form .form-group select,.contact-form .form-group textarea{padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--surface)}.contact-form .form-group textarea{height:120px;resize:vertical}.contact-form .form-group input:focus,.contact-form .form-group select:focus,.contact-form .form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(204,0,51,.08)}.contact-container .submit-button{background:var(--primary);color:white;border:none;padding:14px 36px;border-radius:100px;font-size:1.05rem;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:-moz-fit-content;width:fit-content;align-self:center}.contact-container .submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(204,0,51,.3)}.contact-container .submit-button.submitting{opacity:.7;cursor:not-allowed}.contact-container .submit-button.submitting:after{content:"";width:16px;height:16px;margin-left:10px;border:2px solid #fff;border-left-color:transparent;border-radius:50%;display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.contact-content{padding:24px}.contact-content h1{font-size:2rem}.contact-form .form-grid{grid-template-columns:1fr}}