[hidden] { display: none !important; }
.site-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; left: -10000px; }
.site-form-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 20px 0; }
.site-form-fields label,.site-select-label,.site-message-label { display: grid; gap: 8px; font-size: 12px; font-weight: 650; }
.site-form-fields input,.site-select-label select,.site-message-label textarea { width: 100%; min-width: 0; padding: 12px; border: 1px solid #c7cdca; border-radius: 0; background: #fff; color: #101111; font: inherit; font-size: 14px; }
.site-select-label { margin-bottom: 20px; }
.site-message-label { margin-bottom: 20px; }
.site-message-label textarea { min-height: 95px; resize: vertical; }
.site-form-consent { display: flex; align-items: flex-start; gap: 9px; margin: 12px 0; color: #626762; font-size: 11px; line-height: 1.5; }
.site-form-consent input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: #005bff; }
.site-form-consent a { color: #101111; text-decoration: underline; text-underline-offset: 3px; }
[data-lead-form] [aria-invalid="true"] { border-color: #a51e33 !important; }
[data-lead-form] [data-form-status] { overflow-wrap: anywhere; }
[data-lead-form][data-form-state="error"] [data-form-status] { color: #a51e33; }
[data-lead-form][data-form-state="success"] [data-form-status] { color: #166f41; font-weight: 650; }
[data-lead-form] button[type="submit"]:disabled { cursor: wait; opacity: .7; transform: none; }
[data-lead-form][data-form-state="success"] button[type="submit"]:disabled { cursor: default; background: #166f41; border-color: #166f41; opacity: 1; }
.site-direct-contact { display: inline-flex; margin: 14px 0; color: #005bff; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.site-lead-form .lead-fields { margin-top: 4px; }
.site-lead-form .lead-field input { min-width: 0; }
.skip-link { position: fixed; left: 15px; top: -100px; z-index: 9999; padding: 12px 18px; background: #005bff; color: #fff; }
.skip-link:focus { top: 12px; }
@media(max-width:640px) { .site-form-fields { grid-template-columns: 1fr; gap: 15px; } }
@media(prefers-reduced-motion:no-preference) { [data-form-state="success"] [data-form-status] { animation: form-confirm .28s ease; } }
@keyframes form-confirm { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
