/* Lead form parts shared by the homepage and /contacts (base .form styles live on each page) */
.form .hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.form .pair { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: end; }
.form .pair .or { padding-bottom: 18px; font-family: var(--mono); font-size: 13px; color: var(--text-3); }
.form .hint { font-size: 13px; font-weight: 400; color: var(--text-3); margin-top: -12px; }
.form .err { color: var(--text); font-size: 13px; font-weight: 400; line-height: 1.5; }
.form .err::before { content: "! "; font-family: var(--mono); color: var(--text-2); }
.form .err a { text-decoration: underline; text-underline-offset: 3px; }
.form button[disabled] { opacity: .6; cursor: progress; }
.form .sent { display: none; }
.form.is-sent > :not(.sent) { display: none !important; }
.form.is-sent .sent { display: block; }
.form .sent h2 { font-family: var(--display); font-weight: 400; font-size: 28px; letter-spacing: -.02em; }
.form .sent p { margin-top: 12px; color: var(--text-2); line-height: 1.6; }
@media (max-width: 520px) {
  .form .pair { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .form .pair .or { padding: 0; }
}
