/* Contact page: "Send us a message" form (posts to /lead.php) */
.ct-form { margin-top: 12px; padding: clamp(28px, 1.1rem + 2.6vw, 56px); }
@media (min-width: 600px) { .ct-form { margin-top: 16px; } }
@media (min-width: 1280px) { .ct-form { margin-top: 24px; } }
.ct-form__grid { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .ct-form__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; } }
.ct-form__head h2 em { display: block; }
.ct-form__head p:not(.kicker) { margin: 16px 0 0; color: var(--fg-2); max-width: 44ch; }
.lf { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .lf { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lf__full { grid-column: 1 / -1; } }
.lf__field { display: flex; flex-direction: column; gap: 8px; }
.lf__field label { font-size: var(--fs-kicker); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--fg-2); }
.lf__field label span { letter-spacing: 0; text-transform: none; font-weight: 400; opacity: 0.8; }
.lf input, .lf select, .lf textarea {
  width: 100%; min-height: 52px; padding: 13px 16px;
  font: inherit; font-size: 16px; color: var(--fg);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line-soft); border-radius: var(--radius-sm);
  transition: border-color 0.2s var(--ease), background-color 0.2s var(--ease);
}
.lf select { appearance: none; -webkit-appearance: none; padding-right: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--pink) 50%), linear-gradient(135deg, var(--pink) 50%, transparent 50%);
  background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; }
.lf select option { color: #120a2e; background: #fff; }
.lf textarea { min-height: 140px; resize: vertical; line-height: 1.5; }
.lf input::placeholder, .lf textarea::placeholder { color: var(--fg-2); opacity: 0.6; }
.lf input:hover, .lf select:hover, .lf textarea:hover { border-color: var(--line); }
.lf input:focus, .lf select:focus, .lf textarea:focus { outline: none; border-color: var(--pink); background-color: rgba(255, 81, 214, 0.06); }
.lf [aria-invalid="true"] { border-color: #ff8a9a; }
.lf__err { min-height: 0; margin: 0; font-size: var(--fs-small); color: #ff9fb0; }
.lf__err:empty { display: none; }
.lf__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lf__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.lf__foot .btn[disabled] { opacity: 0.6; cursor: progress; transform: none; }
.lf__note { margin: 0; font-size: var(--fs-small); color: var(--fg-2); }
.lf__status { margin: 0; font-size: var(--fs-small); }
.lf__status:empty { display: none; }
.lf__status.is-ok { color: var(--green); }
.lf__status.is-bad { color: #ff9fb0; }
.lf__done { display: none; }
.lf.is-sent > :not(.lf__done) { display: none; }
.lf.is-sent .lf__done { display: block; grid-column: 1 / -1; }
.lf__done h3 { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.25rem); margin: 0 0 12px; }
.lf__done p { margin: 0; color: var(--fg-2); }
