/* ══════════════════════════════════════════════
   LEAD POPUP v2 — two-column card (benefits panel + form), smooth entrance,
   bottom sheet on phones. Layout is upgraded at runtime by popup-v2.js;
   the form, its ids and field names are unchanged so forms.js keeps working.
   ══════════════════════════════════════════════ */
/* base layer — lets the popup work on pages that don't load styles.css */
#contact-popup-overlay{--cream:#faf3e1;--orange:#ff5555;position:fixed;inset:0;z-index:99000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.78);opacity:0;pointer-events:none;transition:opacity .4s ease;font-family:"Nunito",system-ui,-apple-system,sans-serif}
#contact-popup-overlay.visible{opacity:1;pointer-events:all}
#contact-popup-overlay .popup-card{position:relative;width:100%;max-width:520px;color:var(--cream);box-sizing:border-box}
#contact-popup-overlay .popup-card *{box-sizing:border-box}
#contact-popup-overlay .popup-close{position:absolute;cursor:pointer;border-radius:50%;font-size:1rem}
#contact-popup-overlay .popup-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 15px;border-radius:50px;background:rgba(163,215,138,.1);border:1px solid rgba(163,215,138,.35);color:#a3d78a;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}
#contact-popup-overlay .popup-card h3{font-family:"Unbounded",var(--font-display,system-ui),sans-serif;color:var(--cream);line-height:1.15;margin:0}
#contact-popup-overlay .popup-card h3 em{color:var(--orange);font-style:normal}
#contact-popup-overlay .popup-form{display:flex;flex-direction:column;margin:0}
#contact-popup-overlay .popup-row{display:grid;grid-template-columns:1fr 1fr}
#contact-popup-overlay .popup-form input,#contact-popup-overlay .popup-form select{width:100%;color:var(--cream);font:inherit}
#contact-popup-overlay .popup-form input::placeholder{color:rgba(250,243,225,.35)}
#contact-popup-overlay .popup-form select option{background:#111;color:#fff}
#contact-popup-overlay .popup-submit{width:100%;border:0;color:#fff;cursor:pointer}
#contact-popup-overlay .popup-trust{text-align:center;margin:0}

#contact-popup-overlay.pv{background:rgba(6,3,5,.72);backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);transition:opacity .45s ease}
#contact-popup-overlay.pv .popup-card{max-width:880px;padding:0;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid rgba(250,243,225,.1);border-radius:28px;background:#0d0a0b;box-shadow:0 40px 120px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,85,85,.08);transform:translateY(30px) scale(.96);opacity:0;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .4s ease}
#contact-popup-overlay.pv.visible .popup-card{transform:none;opacity:1}
#contact-popup-overlay.pv .popup-card::before{display:none}

/* left: benefits panel */
.pv-side{position:relative;overflow:hidden;padding:2.6rem 2.2rem;display:flex;flex-direction:column;gap:1.4rem;color:#fff;background:linear-gradient(150deg,#ff5555 0%,#e8434f 45%,#a92a3e 100%)}
.pv-side::before{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%);animation:pv-float 9s ease-in-out infinite alternate}
.pv-side::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%);pointer-events:none}
@keyframes pv-float{to{transform:translate(-40px,40px) scale(1.1)}}
.pv-side>*{position:relative;z-index:1}
.pv-logo{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:2px}
.pv-logo span{opacity:.75;margin-left:.3em}
.pv-side h4{margin:0;font-family:var(--font-display);font-size:1.35rem;line-height:1.2;font-weight:800}
.pv-list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
.pv-list li{display:flex;gap:.7rem;align-items:flex-start;font-family:var(--font-body);font-size:.92rem;font-weight:600;line-height:1.4;opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(.35s + var(--i) * 90ms)}
#contact-popup-overlay.visible .pv-list li{opacity:1;transform:none}
.pv-list i{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);font-style:normal;font-size:.72rem;font-weight:900}
.pv-proof{margin-top:auto;display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:16px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.18);font-family:var(--font-body);font-size:.82rem;line-height:1.35}
.pv-proof b{display:block;font-size:.95rem}
.pv-proof .pv-stars{color:#ffd166;letter-spacing:1px}

/* right: form */
.pv-main{position:relative;padding:2.6rem 2.4rem 2.2rem}
.pv-main::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 45% at 100% 0%,rgba(255,85,85,.12),transparent 70%)}
.pv-main>*{position:relative}
#contact-popup-overlay.pv .popup-badge{margin-bottom:.9rem}
#contact-popup-overlay.pv .popup-card h3{font-size:1.65rem;margin-bottom:.45rem}
#contact-popup-overlay.pv .pv-main>p:not(.popup-trust){font-size:.9rem;color:rgba(250,243,225,.55);margin:0 0 1.4rem;line-height:1.6}
#contact-popup-overlay.pv .popup-form{gap:.75rem}
#contact-popup-overlay.pv .popup-row{gap:.75rem}
#contact-popup-overlay.pv .popup-form input,#contact-popup-overlay.pv .popup-form select{padding:14px 16px;border-radius:14px;background:rgba(250,243,225,.045);border:1.5px solid rgba(250,243,225,.1);color:var(--cream);font-family:var(--font-body);font-size:.92rem;transition:border-color .2s,background .2s,box-shadow .2s}
#contact-popup-overlay.pv .popup-form input:focus,#contact-popup-overlay.pv .popup-form select:focus{outline:none;border-color:rgba(255,85,85,.7);background:rgba(255,85,85,.05);box-shadow:0 0 0 4px rgba(255,85,85,.12)}
#contact-popup-overlay.pv .popup-submit{position:relative;overflow:hidden;margin-top:.3rem;padding:16px;border-radius:999px;font-family:var(--font-body);font-size:1rem;font-weight:800;letter-spacing:.2px;background:linear-gradient(135deg,#ff5555,#ff7a5c);box-shadow:0 12px 30px -10px rgba(255,85,85,.75),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s,box-shadow .25s}
#contact-popup-overlay.pv .popup-submit::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);animation:pv-shine 3.2s 1s ease-in-out infinite}
@keyframes pv-shine{55%,100%{transform:translateX(100%)}}
#contact-popup-overlay.pv .popup-submit:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(255,85,85,.9),inset 0 1px 0 rgba(255,255,255,.25)}
#contact-popup-overlay.pv .popup-trust{margin-top:.9rem;font-size:.76rem;color:rgba(250,243,225,.4)}
#contact-popup-overlay.pv .popup-close{z-index:3;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;background:rgba(250,243,225,.07);border:1px solid rgba(250,243,225,.14);color:var(--cream);transition:background .2s,transform .3s}
#contact-popup-overlay.pv .popup-close:hover{transform:rotate(90deg)}

@media (max-width:760px){
  #contact-popup-overlay.pv{align-items:flex-end;padding:0}
  #contact-popup-overlay.pv .popup-card{grid-template-columns:1fr;max-width:none;max-height:92vh;overflow-y:auto;border-radius:26px 26px 0 0;transform:translateY(100%);opacity:1}
  #contact-popup-overlay.pv.visible .popup-card{transform:none}
  #contact-popup-overlay.pv .popup-card::after{content:"";position:absolute;top:8px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:4px;background:rgba(250,243,225,.25);z-index:4}
  .pv-side{padding:1.6rem 3.6rem 1.2rem 1.4rem;gap:.8rem}
  .pv-side h4,.pv-logo{display:none}
  .pv-list{grid-template-columns:1fr 1fr;gap:.55rem .8rem}
  .pv-list li{font-size:.78rem}
  .pv-list i{width:18px;height:18px;font-size:.62rem}
  .pv-proof{display:none}
  .pv-main{padding:1.5rem 1.3rem 1.6rem}
  #contact-popup-overlay.pv .popup-card h3{font-size:1.35rem}
  #contact-popup-overlay.pv .popup-row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  #contact-popup-overlay.pv .popup-card,.pv-list li{transition:none}
  .pv-side::before,#contact-popup-overlay.pv .popup-submit::after{animation:none}
}
