.contact-form{flex-direction:column;gap:24px;width:100%;max-width:560px;margin:0 auto;display:flex}.form-field{flex-direction:column;gap:8px;display:flex}.form-label{font-family:var(--font-body);color:var(--text-primary);letter-spacing:.01em;align-items:center;gap:6px;font-size:.9rem;font-weight:500;display:flex}.required-indicator{color:#c53030;font-weight:400}.optional-indicator{color:var(--text-muted);font-size:.8rem;font-style:italic;font-weight:400}.input-wrapper{align-items:center;display:flex;position:relative}.textarea-wrapper{align-items:flex-start}.field-icon{color:var(--text-muted);pointer-events:none;z-index:1;transition:color .3s;position:absolute;left:16px}.textarea-wrapper .field-icon{top:16px}.form-field:focus-within .field-icon{color:var(--accent-color)}.form-field.error .field-icon{color:#c53030}.form-field.valid .field-icon{color:#2f855a}.validation-icon{opacity:0;transition:opacity .3s,transform .3s cubic-bezier(.4,0,.2,1);position:absolute;right:16px;transform:scale(.8)}.validation-icon.valid{color:#2f855a;opacity:1;transform:scale(1)}.textarea-validation{top:16px}.form-input,.form-textarea{width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--white);border:1.5px solid var(--border-color);border-radius:12px;outline:none;padding:14px 16px 14px 48px;font-size:.95rem;transition:border-color .3s,box-shadow .3s,background-color .3s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted);transition:color .3s}.form-input:focus,.form-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #54545514}.form-input:focus::placeholder,.form-textarea:focus::placeholder{color:#0000}.form-field.error .form-input,.form-field.error .form-textarea{background:#fff5f5;border-color:#c53030}.form-field.error .form-input:focus,.form-field.error .form-textarea:focus{box-shadow:0 0 0 3px #c530301a}.form-field.valid .form-input,.form-field.valid .form-textarea{border-color:#2f855a}.form-field.valid .form-input:focus,.form-field.valid .form-textarea:focus{box-shadow:0 0 0 3px #2f855a1a}.form-textarea{resize:vertical;min-height:140px;padding:14px 48px 14px 16px;line-height:1.6}.form-input:disabled,.form-textarea:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed;opacity:.7}.error-message{font-family:var(--font-body);color:#c53030;opacity:0;align-items:center;gap:6px;min-height:0;max-height:0;font-size:.8rem;transition:min-height .3s,max-height .3s,opacity .3s,transform .3s;display:flex;overflow:hidden;transform:translateY(-4px)}.error-message.visible{opacity:1;min-height:20px;max-height:40px;transform:translateY(0)}.status-message{font-family:var(--font-body);opacity:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;max-height:0;padding:0;font-size:.9rem;font-weight:500;transition:max-height .4s,opacity .4s,padding .4s;display:flex;overflow:hidden}.status-message.visible{opacity:1;max-height:60px;padding:14px 20px}.status-message.success{color:#2f855a;background:#f0fff4;border:1px solid #9ae6b4}.status-message.error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2}.submit-btn{width:100%;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;color:var(--white);background:var(--text-primary);cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:16px 32px;font-size:.95rem;font-weight:600;transition:background-color .3s,transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 20px #00000026}.submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 30px #0003}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.8}.submit-btn svg{transition:transform .3s}.submit-btn:hover:not(:disabled) svg{transform:translate(4px)translateY(-4px)}.submit-btn.submitting{background:var(--accent-color)}.submit-btn.submitting svg{transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:var(--white);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.contact-form{gap:20px}.form-input,.form-textarea{border-radius:10px;padding:12px 14px 12px 44px;font-size:16px}.form-textarea{min-height:120px;padding:12px 44px 12px 14px}.field-icon{left:14px}.validation-icon{right:14px}.form-label{font-size:.85rem}.submit-btn{padding:14px 28px;font-size:.9rem}}@media (max-width:480px){.form-field{gap:6px}.optional-indicator{margin-top:2px;margin-left:0;display:block}.form-label{flex-wrap:wrap}}
.contact-section{background:linear-gradient(180deg,var(--white)0%,var(--bg-subtle)100%);justify-content:center;align-items:center;min-height:calc(100vh - 72px);padding:50px 0;display:flex}.contact-container{width:100%;max-width:640px;margin:135px auto 0;padding:0 40px}.contact-header{text-align:center;margin-bottom:48px}.contact-title{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(2rem,5vw,3rem);font-weight:400}.contact-ornament{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;display:flex}.contact-ornament .ornament-line{background:linear-gradient(to right,transparent,var(--border-color));width:50px;height:1px}.contact-ornament .ornament-line:last-child{background:linear-gradient(to left,transparent,var(--border-color))}.contact-ornament .ornament-diamond{background:var(--accent-color);opacity:.6;width:8px;height:8px;transform:rotate(45deg)}.contact-subtitle{font-family:var(--font-body);color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:clamp(1rem,2vw,1.1rem);line-height:1.7}@media (max-width:768px){.contact-section{padding:40px 0}.contact-container{margin-top:45px;padding:0 24px}.contact-header{margin-bottom:36px}}@media (max-width:480px){.contact-section{padding:40px 0}.contact-container{padding:0 20px}.contact-ornament .ornament-line{width:35px}}
