/* Shared PrimLead consultation modal */
.pl-lead-modal[hidden],.pl-lead-modal__success[hidden]{display:none!important}
.pl-lead-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;color:#fff}
.pl-lead-modal__backdrop{position:absolute;inset:0;background:rgba(5,8,10,.82);backdrop-filter:blur(5px)}
.pl-lead-modal__dialog{position:relative;width:min(100%,680px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;border-radius:20px;background:#15191b;box-shadow:0 25px 90px rgba(0,0,0,.5)}
.pl-lead-modal .cta-form-card{border:0;box-shadow:none;background:transparent;padding:32px}
.pl-lead-modal .cta-form-card__head{margin-bottom:22px}
.pl-lead-modal .cta-form-card__icon{width:64px;height:64px}
.pl-lead-modal .cta-form-card__icon svg{width:30px;height:30px}
.pl-lead-modal .cta-form input{height:52px}
.pl-lead-modal .cta-form textarea{min-height:95px}
.pl-lead-modal .cta-form__submit{height:56px}
.pl-lead-modal__close{position:absolute;right:13px;top:12px;z-index:2;width:34px;height:34px;border:1px solid #50504c;border-radius:50%;background:#24282a;color:#e4c17d;font-size:24px;line-height:1;cursor:pointer}
.pl-lead-modal__success{text-align:center;padding:54px 36px 38px}
.pl-lead-modal__check{width:62px;height:62px;border:1px solid #d4a84f;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;color:#d4a84f;font-size:32px}
.pl-lead-modal__success h2{font-size:26px;line-height:1.25;margin:0 0 12px;color:#fff}
.pl-lead-modal__success p{color:#c8c8c8;line-height:1.6;margin:0 0 28px}
.pl-lead-modal__recommend{padding:20px;border:1px solid #484035;border-radius:12px;background:#24231f;text-align:left;display:grid;gap:10px}
.pl-lead-modal__recommend span{color:#b8b9bb;font-size:12px}
.pl-lead-modal__recommend a,.pl-lead-modal__social a{color:#e1b65d;text-decoration:none;line-height:1.5}
.pl-lead-modal__social{margin-top:22px;color:#c8c8c8;font-size:14px}
.pl-lead-modal__done{margin-top:26px;padding:12px 30px;background:#d4a84f;color:#101112;border:0;border-radius:9px;font-weight:700;cursor:pointer}
body.pl-lead-modal-open{overflow:hidden}
@media(max-width:640px){.pl-lead-modal{padding:10px}.pl-lead-modal__dialog{max-height:calc(100dvh - 20px);border-radius:14px}.pl-lead-modal .cta-form-card{padding:22px 16px}.pl-lead-modal .cta-form-card__head{gap:12px;padding-right:28px}.pl-lead-modal .cta-form-card__icon{width:52px;height:52px}.pl-lead-modal .cta-form-card__head h3{font-size:18px}.pl-lead-modal .cta-form__row{grid-template-columns:1fr;gap:10px}.pl-lead-modal .cta-form__row--secondary{grid-template-columns:1fr 1fr}.pl-lead-modal .cta-form input{height:48px;padding:0 12px}.pl-lead-modal .cta-form textarea{min-height:80px}.pl-lead-modal__success{padding:48px 20px 30px}}
@media(prefers-reduced-motion:reduce){.pl-lead-modal *{scroll-behavior:auto!important}}

/* iPhone Safari: preserve viewport scale when a modal input receives focus. */
@media (max-width:767px) {
.pl-lead-modal .cta-form input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), .pl-lead-modal .cta-form textarea, .pl-lead-modal .cta-form select { font-size:16px !important; }
}

/* Confirmation inside the bottom CTA form: reuse the modal success design. */
.cta-section .pl-lead-modal__success--inline { padding:36px 18px; color:#fff; text-align:center; }
.cta-section .pl-lead-modal__success--inline h2 { font-size:26px; line-height:1.25; margin:0 0 12px; color:#fff; }
.cta-section .pl-lead-modal__success--inline p { color:#c8c8c8; line-height:1.6; margin:0 0 28px; }
.cta-section .pl-lead-modal__success--inline .pl-lead-modal__check { width:62px; height:62px; border:1px solid #d4a84f; border-radius:50%; margin:0 auto 20px; display:grid; place-items:center; color:#d4a84f; font-size:32px; }
.cta-section .pl-lead-modal__success--inline .pl-lead-modal__recommend { padding:20px; border:1px solid #484035; border-radius:12px; background:#24231f; text-align:left; display:grid; gap:10px; }
.cta-section .pl-lead-modal__success--inline .pl-lead-modal__recommend span { color:#b8b9bb; font-size:12px; }
.cta-section .pl-lead-modal__success--inline .pl-lead-modal__recommend a, .cta-section .pl-lead-modal__success--inline .pl-lead-modal__social a { color:#e1b65d; text-decoration:none; line-height:1.5; }
.cta-section .pl-lead-modal__success--inline .pl-lead-modal__social { margin-top:22px; color:#c8c8c8; font-size:14px; }
@media(max-width:640px) { .cta-section .pl-lead-modal__success--inline { padding:28px 4px; } .cta-section .pl-lead-modal__success--inline h2 { font-size:22px; } }
