#contact { scroll-margin-top: 110px; min-width: 0; }
.lead-form { display: grid; gap: 14px; margin: 24px 0; color: #f2f3f7; text-align: start; }
.lead-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.lead-form label { display: grid; gap: 7px; font-size: .88rem; min-width: 0; }
.lead-form input:not([type="checkbox"]), .lead-form textarea {
  width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #81899a;
  border-radius: 8px; background: #171c29; color: #f2f3f7; padding: 11px 12px;
  font: inherit; font-size: 16px; min-height: 44px;
}
.lead-form textarea { resize: vertical; }
.lead-form :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.lead-form .lead-consent { display: flex; align-items: flex-start; line-height: 1.65; }
.lead-consent input { width: 20px; height: 20px; flex-shrink: 0; margin: 3px 0; accent-color: #7755bf; }
.lead-form a { color: var(--gold); text-underline-offset: 4px; overflow-wrap: anywhere; }
.lead-form button { min-height: 48px; white-space: normal; justify-content: center; }
.lead-form button:disabled { opacity: .65; cursor: wait; }
.cta-contact .lead-form p { font-size: .85rem; margin: 0; }
.lead-form #contactStatus { min-height: 1.7em; overflow-wrap: anywhere; }
.lead-form[data-state="error"] #contactStatus { color: #ffb4b4; }
.lead-form[data-state="success"] #contactStatus { color: #a6ebbe; }
.lead-form .lead-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
html[data-theme="light"] .lead-form { color: #252b38; }
html[data-theme="light"] .lead-form input:not([type="checkbox"]), html[data-theme="light"] .lead-form textarea { background: #fff; color: #252b38; border-color: #737d90; }
html[data-theme="light"] .lead-form a { color: #6744a3; }
html[data-theme="light"] .lead-form[data-state="error"] #contactStatus { color: #a31b31; }
html[data-theme="light"] .lead-form[data-state="success"] #contactStatus { color: #1b653b; }
@media (max-width: 720px) { .lead-grid { grid-template-columns: minmax(0, 1fr); } }
/* Match the final FAB offsets, including the narrow-screen inline overrides. */
#chatPanel { max-height: min(520px, calc(100vh - 176px)); max-height: min(520px, calc(100dvh - 176px)); }
@media (max-width: 720px) { #chatPanel { max-height: min(480px, calc(100vh - 158px)); max-height: min(480px, calc(100dvh - 158px)); } }
@media (max-height: 480px) {
  #chatPanel { bottom: 16px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); z-index: 1001; }
}
