/* ============================================================
   UNFO · LEAD FORM — native contact form (posts to BOS)
   Lives inside .cta__form on the home, service pages and contacto.
   ============================================================ */
.cta__form { width: min(920px, 100%); text-align: left; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.1rem,2vw,1.6rem) clamp(1rem,2vw,1.6rem); padding: clamp(1.6rem,3vw,2.6rem); }
.lead-form .field { display: flex; flex-direction: column; gap: 0.5rem; }
.lead-form .field.full { grid-column: 1 / -1; }
.lead-form .field--hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead-form label { font-family: var(--body); font-weight: 600; font-size: 0.68rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-dim); }
.lead-form .input, .lead-form .select, .lead-form .textarea {
  width: 100%; background: var(--surface-2); border: 1px solid var(--line); border-radius: 4px; color: var(--ink);
  font-family: var(--body); font-size: 0.95rem; padding: 0.9rem 1rem; outline: none;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.lead-form .input::placeholder, .lead-form .textarea::placeholder { color: var(--ink-faint); }
.lead-form .input:focus, .lead-form .select:focus, .lead-form .textarea:focus { border-color: var(--red); box-shadow: 0 0 0 3px color-mix(in srgb, var(--red) 22%, transparent); }
.lead-form .select { appearance: none; -webkit-appearance: none; padding-right: 2.6rem; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23f7f7f7' stroke-opacity='0.62' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1rem center; }
.lead-form .select option { background: var(--surface-2); color: var(--ink); }
.lead-form .textarea { resize: vertical; min-height: 130px; line-height: 1.5; }
.lead-form .field--error .input, .lead-form .field--error .select { border-color: var(--red); }
.lead-form .field__err { font-family: var(--body); font-size: 0.74rem; color: var(--red); letter-spacing: 0.02em; min-height: 1em; }
.lead-form .field__err:empty { display: none; }
.lead-form__foot { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 0.4rem; }
.lead-form__note { font-family: var(--body); font-size: 0.76rem; color: var(--ink-faint); max-width: 40ch; }
.lead-form .submit[aria-busy="true"] { opacity: 0.6; pointer-events: none; }
.lead-form__status { grid-column: 1 / -1; font-family: var(--body); font-size: 0.86rem; color: var(--red); }
.lead-form__status:empty { display: none; }


@media (max-width: 640px) {
  .lead-form { grid-template-columns: 1fr; padding: 1.3rem; }
}
