.contact-main {
  max-width: 430px; margin: 0 auto; padding: 0 12px 40px 12px;
}
.contact-header {
  margin: 27px 0 20px 0; text-align: left;
}
.contact-title {
  font-size: 1.22rem; font-weight: 700; color: #233559; margin-bottom: 6px;
}
.contact-desc {
  color: #6B7588; font-size: .98em; line-height: 1.55;
}
.contact-form {
  background: #fff; border-radius: 16px; box-shadow: 0 3px 15px #23355918;
  padding: 25px 18px 18px 18px;
}
.form-group { margin-bottom: 17px; }
label { font-weight: 600; color: #233559; font-size: .97em; margin-bottom: 3px; display: block; }
input, select, textarea {
  width: 100%; border-radius: 8px; border: 1.4px solid #E3E7EE;
  padding: 11px 13px; font-size: 1.04em; color: #181C23;
  background: #FAFAFA; margin-top: 3px; font-family: inherit;
  box-sizing: border-box; transition: border .15s;
}
input:focus, select:focus, textarea:focus { border-color: #5063B1; outline: none; }
textarea { resize: vertical; }
.contact-btn {
  width: 100%; padding: 13px 0; background: linear-gradient(90deg,#233559,#5063B1);
  color: #fff; font-weight: 700; border-radius: 10px; border: none; font-size: 1.07em;
  margin-top: 10px; cursor: pointer; transition: box-shadow .17s;
  box-shadow: 0 2px 8px #5063b10b;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.contact-btn:active { box-shadow: 0 1px 4px #5063b113; }
.contact-feedback {
  margin-top: 13px; text-align: center; font-weight: 600; font-size: .99em;
}
.contact-feedback.success { color: #18B888; }
.contact-feedback.error { color: #ED3A24; }
input[type="file"] { background: transparent; border: none; padding: 0; }
