.submit-wrap { max-width: 640px; }
.submit-intro {
  color: var(--gray-500);
  margin-bottom: 1.5rem;
  line-height: 1.5;
  letter-spacing: -0.01em;
}
.submit-form fieldset {
  border: 1px solid var(--border-color);
  border-radius: var(--radius-xl);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  background: var(--color-white);
  box-shadow: var(--shadow-xs);
}
.submit-form legend {
  font-weight: 600;
  letter-spacing: -0.02em;
  padding: 0 0.25rem;
}
.field { display: block; margin-bottom: 1rem; }
.field span {
  display: block;
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--gray-700);
  margin-bottom: 0.4rem;
  letter-spacing: -0.01em;
}
.field input, .field select, .field textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: var(--radius-md);
  background: var(--gray-50);
  box-shadow: inset 0 0 0 1px var(--border-color-strong);
  font: inherit;
  transition: box-shadow var(--transition-smooth), background var(--transition-smooth);
}
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none;
  background: var(--color-white);
  box-shadow: inset 0 0 0 2px var(--color-black), 0 0 0 4px rgba(0, 0, 0, 0.06);
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 560px) { .field-row { grid-template-columns: 1fr; } }
.form-hint { font-size: var(--text-xs); color: var(--gray-500); }
.form-message { margin: 1rem 0; letter-spacing: -0.01em; }
.form-message--ok { color: var(--gray-800); }
.form-message--err { color: var(--color-black); }
