.contact-form {
  width: min(820px, 100%);
  margin: 40px auto 0;
  padding: 32px;
  background: #0d2a49;
  border: 1px solid #ffffff1f;
  text-align: left;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.form-grid label.full { grid-column: 1 / -1; }
.form-grid label > span { color: #d8e5ee; font-size: .78rem; font-weight: 700; }

.form-grid input,
.form-grid select,
.form-grid textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #ffffff2c;
  border-radius: 3px;
  outline: none;
  background: #071a30;
  color: white;
  font: inherit;
}

.form-grid textarea { min-height: 135px; resize: vertical; }
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px #18c7e822; }
.form-grid input::placeholder,
.form-grid textarea::placeholder { color: #8197aa; }
.form-grid option { background: white; color: #122033; }

.consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 22px 0;
  color: #b9c9d5;
  font-size: .8rem;
}

.consent input { margin-top: 4px; accent-color: var(--cyan); }
.form-submit { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.form-submit button { border: 0; cursor: pointer; }
.form-submit button:disabled { opacity: .65; cursor: wait; }
.form-submit span { color: #90a5b5; font-size: .78rem; }
.form-status { min-height: 24px; margin: 16px 0 0 !important; color: #b8cad7 !important; font-size: .85rem !important; }
.form-status.success { color: #8ee2c3 !important; }
.form-status.error { color: #ffc0b8 !important; }
.botcheck { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

@media (max-width: 560px) {
  .contact-form { padding: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid label.full { grid-column: auto; }
  .form-submit .button { width: 100%; }
}
