/* FORM */
.form-outer { max-width: 580px; margin: 0 auto; background: var(--white); border: 1px solid var(--gray-light); padding: 44px 40px; }
@media (max-width: 900px) {
  .form-outer { padding: 28px 20px; }
}
.form-progress { display: flex; gap: 3px; margin-bottom: 32px; }
.form-p { flex: 1; height: 3px; background: var(--gray-light); transition: background .3s; }
.form-p.on { background: var(--black); }
.form-step { display: none; }
.form-step.active { display: block; }
.form-t { font-family: var(--font-serif); font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.form-st { font-size: 13px; color: var(--gray-mid); margin-bottom: 24px; }
.fg { margin-bottom: 16px; }
.fl { display: block; font-size: 10px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--gray-mid); margin-bottom: 6px; }
.fi, .fsel, .fta {
  width: 100%; padding: 11px 14px; font-family: var(--font-sans); font-size: 14px; color: var(--black);
  border: 1.5px solid var(--gray-light); background: var(--offwhite);
  outline: none; border-radius: 0; -webkit-appearance: none; transition: border-color .15s, background .15s;
}
.fi:focus, .fsel:focus, .fta:focus { border-color: var(--black); background: var(--white); }
.fi.error, .fsel.error, .fta.error { border-color: #c0392b; }
.fsel {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888884' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; cursor: pointer;
}
.fta { resize: vertical; min-height: 110px; }
.fg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 900px) {
  .fg-row { grid-template-columns: 1fr; }
}

/* HONEYPOT — offscreen, not display:none, since bots skip hidden inputs */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
