/* "Get a free demo call" — lead form popup + floating button (assets/js/lead.js). */
.lead-fab { position: fixed; left: 18px; bottom: 18px; z-index: 900; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 800; font-size: 15px; color: #fff; background: linear-gradient(120deg, #4f46e5, #7c3aed 45%, #ec4899); box-shadow: 0 14px 34px -12px rgba(124,58,237,.75); animation: leadFab 3.6s ease-in-out infinite; }
.lead-fab:hover { transform: translateY(-2px); }
@keyframes leadFab { 0%,100% { box-shadow: 0 14px 34px -12px rgba(124,58,237,.75); } 50% { box-shadow: 0 14px 34px -12px rgba(124,58,237,.75), 0 0 0 8px rgba(124,58,237,.15); } }

.lead-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgba(15,23,42,.55); backdrop-filter: blur(4px); opacity: 0; transition: opacity .2s; }
.lead-overlay.open { opacity: 1; }
.lead-box { width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; color: #0f172a; border-radius: 24px; padding: 26px 24px 22px; box-shadow: 0 40px 90px -30px rgba(15,23,42,.6); transform: translateY(16px) scale(.98); transition: transform .25s cubic-bezier(.2,.9,.3,1.2); position: relative; }
.lead-overlay.open .lead-box { transform: none; }
.lead-close { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: #f1f5f9; cursor: pointer; font-size: 18px; color: #475569; }
.lead-box h3 { font-size: 22px; line-height: 1.2; margin: 0 30px 6px 0; }
.lead-box .lead-sub { color: #55607a; font-size: 14px; margin: 0 0 16px; }
.lead-box label { display: block; font-size: 13px; font-weight: 700; color: #475569; margin-top: 12px; }
.lead-box input, .lead-box select, .lead-box textarea { width: 100%; margin-top: 6px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(15,23,42,.18); background: #fff; color: #0f172a; font: inherit; font-size: 15px; box-sizing: border-box; }
.lead-box input:focus, .lead-box select:focus, .lead-box textarea:focus { outline: none; border-color: #7c3aed; box-shadow: 0 0 0 4px rgba(124,58,237,.12); }
.lead-box .lead-prods { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.lead-box .lead-prods label { margin: 0; }
.lead-box .lead-prods input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lead-box .lead-prods span { display: block; text-align: center; padding: 10px 6px; border-radius: 12px; border: 1px solid rgba(15,23,42,.15); font-weight: 800; font-size: 13px; cursor: pointer; color: #334155; }
.lead-box .lead-prods input:checked + span { border-color: #7c3aed; background: rgba(124,58,237,.08); color: #5b21b6; }
.lead-box .lead-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lead-box .lead-send { width: 100%; margin-top: 18px; padding: 14px; border: 0; border-radius: 14px; cursor: pointer; font: inherit; font-weight: 800; font-size: 16px; color: #fff; background: linear-gradient(120deg, #4f46e5, #7c3aed 45%, #ec4899); }
.lead-box .lead-send[disabled] { opacity: .6; cursor: wait; }
.lead-box .lead-err { margin-top: 10px; color: #be123c; font-size: 13.5px; font-weight: 600; min-height: 1em; }
.lead-box .lead-fine { margin-top: 10px; font-size: 12px; color: #8891a6; text-align: center; }
.lead-box .lead-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lead-done { text-align: center; padding: 10px 0 4px; }
.lead-done .big { font-size: 46px; animation: leadPop .5s cubic-bezier(.2,1.4,.4,1); }
.lead-done h3 { margin: 8px 0 6px; }
.lead-done p { color: #55607a; }
.lead-done a { display: inline-block; margin-top: 14px; padding: 12px 18px; border-radius: 14px; background: #22c55e; color: #052e16; font-weight: 800; text-decoration: none; }
@keyframes leadPop { from { transform: scale(.3); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 480px) {
  .lead-fab { left: 12px; bottom: 12px; padding: 11px 15px; font-size: 14px; }
  .lead-box .lead-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .lead-fab { animation: none; } }
