/* Premium CTA lead modal */
.cta-modal-root[hidden]{display:none!important}
.cta-modal-root{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  padding:20px;overflow:hidden;overscroll-behavior:none;
}
.cta-modal-backdrop{position:absolute;inset:0;background:rgba(4,8,14,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  animation:ctaFade .28s ease;touch-action:none}
.cta-modal-panel{
  position:relative;z-index:1;width:min(560px,100%);
  max-height:min(calc(100dvh - 40px),820px);
  overflow-x:hidden;overflow-y:auto;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  border-radius:22px;padding:34px 32px 30px;
  background:linear-gradient(165deg,rgba(14,21,38,.98) 0%,rgba(9,13,24,.99) 100%);
  border:1px solid rgba(233,238,246,.14);
  box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 1px rgba(134,188,37,.08) inset;
  animation:ctaRise .35s cubic-bezier(.2,.8,.2,1);
  scrollbar-gutter:stable;
}
.cta-modal-panel::before{content:"";position:absolute;top:0;left:12%;right:12%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--jade),transparent)}
.cta-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:12px;border:1px solid rgba(233,238,246,.12);
  background:rgba(255,255,255,.03);color:rgba(233,238,246,.8);font-size:22px;line-height:1;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s}
.cta-modal-close:hover{border-color:rgba(134,188,37,.4);color:#d4f28a;background:rgba(134,188,37,.08)}
.cta-modal-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--jade);
  display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cta-modal-eyebrow::before{content:"";width:18px;height:1px;background:var(--jade)}
.cta-modal-panel h2{font-size:clamp(24px,3vw,30px);font-weight:800;letter-spacing:-.03em;margin:0 0 8px;line-height:1.15;
  background:linear-gradient(110deg,#fff 10%,#d4f28a 70%,var(--jade));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cta-modal-lead{color:rgba(233,238,246,.68);font-size:14.5px;line-height:1.55;margin:0 0 22px}
.cta-form{display:flex;flex-direction:column;gap:14px}
.cta-field{display:flex;flex-direction:column;gap:7px}
.cta-field label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(148,161,181,.9)}
.cta-field label span{color:var(--jade)}
.cta-field input,.cta-field textarea,.cta-field select{width:100%;background:rgba(6,10,18,.85);border:1px solid rgba(233,238,246,.12);
  border-radius:14px;padding:13px 15px;color:var(--text);font-family:var(--body);font-size:14.5px;outline:none;
  transition:border-color .2s,box-shadow .2s}
.cta-field select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a1b5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:14px}
.cta-field select option{background:#0b1120;color:var(--text)}
.cta-field textarea{min-height:110px;resize:vertical;line-height:1.5}
.cta-field input:focus,.cta-field textarea:focus,.cta-field select:focus{border-color:rgba(134,188,37,.45);box-shadow:0 0 0 3px rgba(134,188,37,.12)}
.cta-field input.is-invalid,.cta-field textarea.is-invalid,.cta-field select.is-invalid{border-color:rgba(255,107,107,.55);box-shadow:0 0 0 3px rgba(255,107,107,.1)}
.cta-field-error{font-size:12px;color:#ff8f8f;min-height:0;display:none}
.cta-field-error.show{display:block}
.cta-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cta-form-actions{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.cta-form-actions .btn{width:100%;justify-content:center;padding:15px 22px}
.cta-form-note{font-size:12.5px;color:rgba(148,161,181,.75);text-align:center;line-height:1.45;margin:0}
.cta-form-status{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-align:center;min-height:1.2em;color:var(--muted)}
.cta-form-status.is-error{color:#ff8f8f}
.cta-form-status.is-ok{color:var(--jade)}
html.cta-modal-open,body.cta-modal-open{overflow:hidden;overscroll-behavior:none}
body.cta-modal-open{position:fixed;width:100%;left:0;right:0}
@keyframes ctaFade{from{opacity:0}to{opacity:1}}
@keyframes ctaRise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .cta-modal-panel{padding:28px 18px 22px;border-radius:18px}
  .cta-form-row{grid-template-columns:1fr}
}
