/* =========================================================
   LEAD FORM MODAL
========================================================= */
html.lead-open, html.lead-open body{ overflow:hidden; }

.lead-modal{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.lead-modal[hidden]{ display:none; }

.lead-backdrop{
    position:absolute;
    inset:0;
    background:rgba(3,7,15,.72);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    opacity:0;
    transition:opacity .25s ease;
}

.lead-dialog{
    position:relative;
    width:min(560px, 100%);
    max-height:calc(100vh - 48px);
    max-height:calc(100dvh - 48px);
    overflow:auto;
    padding:34px 34px 28px;
    border-radius:20px;
    background:#08111F;
    border:1px solid rgba(120,185,255,.24);
    box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 40px rgba(22,123,255,.12);
    color:#FFFFFF;
    opacity:0;
    transform:translateY(14px) scale(.98);
    transition:opacity .25s ease, transform .3s cubic-bezier(.22,.61,.36,1);
}
.lead-modal.is-open .lead-backdrop{ opacity:1; }
.lead-modal.is-open .lead-dialog{ opacity:1; transform:none; }

.lead-close{
    position:absolute;
    top:14px;
    right:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border-radius:12px;
    border:1px solid rgba(120,185,255,.3);
    background:transparent;
    color:#FFFFFF;
    cursor:pointer;
    transition:background .25s ease, border-color .25s ease;
}
.lead-close:hover{ background:#167BFF; border-color:#167BFF; }

.lead-label{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
    color:#FFFFFF;
    font-size:12px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
}
.lead-label span{ width:34px; height:2px; background:#167BFF; border-radius:2px; }

.lead-title{ margin:0 0 8px; font-size:clamp(22px, 2.2vw, 28px); line-height:1.2; font-weight:700; }
.lead-intro{ margin:0 0 22px; color:#AEBACB; font-size:15px; line-height:1.6; }
.lead-intro a, .lead-alt a{ color:#4DA3FF; text-decoration:none; white-space:nowrap; }

.lead-field{ display:block; margin-bottom:14px; }
.lead-field > span{ display:block; margin-bottom:6px; color:#C3CEDC; font-size:13.5px; font-weight:600; }
.lead-field i{ color:#4DA3FF; font-style:normal; }
.lead-field input,
.lead-field textarea{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid rgba(120,185,255,.22);
    background:#0B1628;
    color:#FFFFFF;
    font:inherit;
    font-size:15px;
    line-height:1.4;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.lead-field textarea{ resize:vertical; min-height:96px; }
.lead-field input::placeholder,
.lead-field textarea::placeholder{ color:#5E6979; }
.lead-field input:focus,
.lead-field textarea:focus{
    outline:none;
    border-color:#167BFF;
    box-shadow:0 0 0 3px rgba(22,123,255,.22);
}
.lead-field .is-invalid,
.lead-field input.is-invalid{ border-color:#F87171; }

.lead-err{ display:block; min-height:0; margin-top:5px; color:#F87171; font-size:13px; font-style:normal; }
.lead-err:empty{ display:none; }

/* honeypot: off-screen, not display:none (some bots skip hidden fields) */
.lead-hp{
    position:absolute !important;
    left:-10000px !important;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}

.lead-consent{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:6px 0 4px;
    color:#AEBACB;
    font-size:14px;
    line-height:1.5;
    cursor:pointer;
}
.lead-consent input{ flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; accent-color:#167BFF; }
.lead-consent a{ color:#4DA3FF; }

.lead-captcha:empty{ display:none; }

html body .lead-modal .lead-submit{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:52px;
    margin-top:18px;
    font-size:16px;
}
.lead-submit:disabled{ opacity:.6; cursor:progress; }

.lead-status{ margin:12px 0 0; min-height:0; font-size:14px; color:#AEBACB; text-align:center; }
.lead-status:empty{ display:none; }
.lead-status.is-error{ color:#F87171; }
.lead-alt{ margin:14px 0 0; text-align:center; color:#7C8BA1; font-size:14px; }

.lead-done{ text-align:center; padding:18px 0 4px; }
.lead-done[hidden]{ display:none; }
.lead-done-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin:0 auto 18px;
    border-radius:50%;
    border:1px solid rgba(74,222,128,.45);
    color:#4ADE80;
    box-shadow:0 0 30px rgba(74,222,128,.18);
}

/* phones: the form takes the whole screen */
@media (max-width:767px){
    .lead-modal{ padding:0; align-items:stretch; }
    .lead-dialog{
        width:100%;
        max-height:none;
        height:100%;
        border-radius:0;
        border:none;
        padding:64px 20px calc(24px + env(safe-area-inset-bottom, 0px));
    }
    .lead-close{ top:calc(12px + env(safe-area-inset-top, 0px)); right:14px; }
    .lead-field input, .lead-field textarea{ font-size:16px; }   /* no zoom-in on iPhone */
}
