/* ---------- lead capture modal ---------- */
.lead-modal{position:fixed;inset:0;z-index:220;background:rgba(54,73,104,.86);backdrop-filter:blur(14px);
  display:grid;place-items:center;padding:var(--pad);opacity:0;visibility:hidden;transition:.35s;overflow-y:auto}
.lead-modal.on{opacity:1;visibility:visible}
.lead-card{width:min(900px,100%);background:var(--paper);border-radius:var(--r);overflow:hidden;
  display:grid;grid-template-columns:.82fr 1.18fr;transform:scale(.96) translateY(12px);
  transition:.4s cubic-bezier(.2,.7,.3,1);box-shadow:0 40px 90px -40px rgba(0,0,0,.5);margin:auto}
.lead-modal.on .lead-card{transform:none}

.lead-aside{background:var(--teal-wash);padding:42px 34px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.lead-aside h3{font-family:var(--disp);font-weight:300;letter-spacing:-.01em;color:var(--ink);line-height:1.2}
.lead-aside p{font-size:13.5px;line-height:1.7}
.lead-list{list-style:none;display:grid;gap:11px;margin-top:6px;padding:0}
.lead-list li{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);line-height:1.6}
.lead-list li::before{content:"";flex:0 0 6px;height:6px;margin-top:7px;border-radius:50%;background:var(--teal)}

.lead-body{padding:38px 34px;position:relative}
.lead-body h4{font-family:var(--disp);font-weight:300;letter-spacing:-.01em;line-height:1.2;font-size:23px;color:var(--ink);margin-bottom:6px}
.lead-body .lead-sub{font-size:13px;color:var(--ink-soft);margin-bottom:22px;line-height:1.6}
.lead-form{display:grid;gap:14px}
.lead-field{display:grid;gap:6px}
.lead-field label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);font-weight:500}
.lead-field input,.lead-field select{font-family:var(--body);font-size:14px;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:2px;padding:12px 13px;transition:.25s;width:100%}
.lead-field input:focus,.lead-field select:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-wash)}
.lead-field.err input,.lead-field.err select{border-color:var(--magenta)}
.lead-field .msg{font-size:11px;color:var(--magenta);display:none}
.lead-field.err .msg{display:block}
.lead-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lead-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--ink-soft);line-height:1.6}
.lead-consent input{margin-top:3px;accent-color:var(--teal)}
.lead-consent .req{font-style:normal;color:var(--magenta);margin-left:2px}
.lead-consent{padding:10px 12px;margin:0 -12px;border:1px solid transparent;border-radius:6px;transition:border-color .2s,background-color .2s}
.consent-msg{font-size:11px;color:var(--magenta);display:none;margin-top:-6px}
.lead-consent.err{border-color:var(--magenta);background:rgba(194,24,126,.06)}
.lead-consent.err input{outline:2px solid var(--magenta);outline-offset:1px}
.lead-consent.err+.consent-msg{display:block}
.lead-consent.err.shake{animation:ncShake .35s}
@keyframes ncShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(prefers-reduced-motion:reduce){.lead-consent.err.shake{animation:none}}
.lead-form .btn{width:100%;justify-content:center;margin-top:4px}
.lead-note{font-size:11px;color:var(--ink-mute);text-align:center}
.lead-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--line);background:#fff;
  border-radius:2px;color:var(--ink);font-size:17px;line-height:1;cursor:pointer;transition:.25s}
.lead-x:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

@media(max-width:820px){
  .lead-card{grid-template-columns:1fr}
  .lead-aside{display:none}
  .lead-body{padding:34px 22px}
  .lead-2{grid-template-columns:1fr}
}
