
.jm [hidden]{display:none!important}
.jm{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:20px}
.jm.on{display:flex}
.jm-bg{position:absolute;inset:0;background:rgba(15,23,42,.45)}
.jm-card{position:relative;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;scrollbar-width:none;background:#fff;border-radius:26px;padding:30px 30px 26px;box-shadow:0 30px 80px rgba(15,23,42,.25);animation:jmIn .32s cubic-bezier(.2,.85,.25,1)}
.jm-card::-webkit-scrollbar{display:none}
@keyframes jmIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.jm-x{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;border:none;background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center}
.jm-prog{display:flex;gap:6px;margin-bottom:22px}
.jm-prog i{height:4px;flex:1;border-radius:999px;background:var(--border-soft)}
.jm-prog i.on{background:var(--blue)}
.jm .eyebrow{color:var(--blue)}
.jm h3{font-size:clamp(22px,2.6vw,27px);font-weight:800;letter-spacing:-.6px;line-height:1.12;margin-top:8px}
.jm h3 em{font-style:normal;color:var(--blue)}
.jm p.sub{margin:8px 0 0;font-size:15px;color:var(--text2);font-weight:500}
.jm-step{display:none}.jm-step.on{display:block}
.jm-roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.jm-role{text-align:left;padding:18px 18px 16px;border-radius:18px;border:1.5px solid var(--border);background:#fff;cursor:pointer;transition:border-color .18s,background .18s}
.jm-role b{display:block;font-size:16px;font-weight:800;letter-spacing:-.3px;margin-top:12px}
.jm-role span{display:block;margin-top:4px;font-size:13.5px;color:var(--text2);font-weight:500;line-height:1.45}
.jm-role.cli:hover,.jm-role.cli.on{border-color:var(--blue);background:var(--blue-soft)}
.jm-role.pro:hover,.jm-role.pro.on{border-color:var(--ink);background:var(--card)}
.jm-lbl{display:block;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text2);margin:20px 0 8px}
.jm input,.jm select{width:100%;height:50px;border-radius:14px;border:1.5px solid var(--border);padding:0 16px;font:inherit;font-size:15px;font-weight:600;color:var(--text);background:#fff;outline:none;appearance:none;-webkit-appearance:none}
.jm input:focus,.jm select:focus{border-color:var(--blue)}
.jm-sel{position:relative}
.jm-sel::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;border-right:2px solid var(--text2);border-bottom:2px solid var(--text2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.jm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.jm-phone{display:flex;align-items:center;height:50px;border-radius:14px;border:1.5px solid var(--border);background:#fff;overflow:hidden}
.jm-phone:focus-within{border-color:var(--blue)}
.jm-cc{padding:0 12px 0 16px;font-size:15px;font-weight:700;color:var(--text2);border-right:1.5px solid var(--border);height:100%;display:flex;align-items:center;flex-shrink:0}
.jm .jm-phone input{height:100%;border:none;border-radius:0;padding:0 14px;letter-spacing:.5px}
.jm .jm-phone input:focus{border:none}
.jm-chips{display:flex;flex-wrap:wrap;gap:8px}
.jm-chip{padding:9px 14px;border-radius:999px;border:1.5px solid var(--border);background:#fff;font:inherit;font-size:13.5px;font-weight:700;color:var(--text);cursor:pointer;transition:all .15s}
.jm-chip.on{border-color:var(--ink);background:var(--ink);color:#fff}
.jm.cli .jm-chip.on{border-color:var(--blue);background:var(--blue)}
.jm-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}
.jm-consent{display:flex;gap:11px;align-items:flex-start;margin-top:22px;font-size:13px;color:var(--text2);font-weight:500;line-height:1.5;cursor:pointer}
.jm .jm-consent input{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;margin:2px 0 0;padding:0;border:none;flex-shrink:0;accent-color:var(--blue);cursor:pointer}
.jm-consent a{font-weight:700}
.jm-back{border:none;background:none;font:inherit;font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;padding:8px 4px}
.jm-foot .btn{height:50px;padding:0 22px}
.jm-foot .btn:disabled{opacity:.45;cursor:default}
.jm-note{margin:14px 0 0;font-size:12.5px;color:var(--text3);font-weight:500;text-align:center}
.jm-done{text-align:center;padding:8px 0 4px}
.jm-done .ok{width:96px;height:96px;margin:0 auto;display:flex;align-items:center;justify-content:center;animation:jmPop .45s cubic-bezier(.34,1.56,.64,1)}.jm-done .ok img{width:96px;height:96px;object-fit:contain;display:block}
@keyframes jmPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.jm-done h3{margin-top:18px}
.jm-done .pos{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 16px;border-radius:999px;background:var(--card);font-size:14px;font-weight:700}
.jm-done .pos b{color:var(--blue)}
.jm-done .btn{margin-top:22px}

.jm-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}

.jm-ts{margin-top:18px;min-height:0}
.jm-ts:empty{margin-top:0}
.jm-ts-note{margin:10px 0 0;font-size:12.5px;font-weight:600;color:var(--text3)}
@media (max-width:600px){
  .jm{padding:0;align-items:flex-end}
  .jm-card{border-radius:26px 26px 0 0;max-height:92vh;padding:24px 20px 28px;animation-name:jmUp}
  @keyframes jmUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
  .jm-roles{grid-template-columns:1fr}
  .jm-role{display:grid;grid-template-columns:24px 1fr;column-gap:14px;align-items:center;padding:14px 16px}
  .jm-role b{margin-top:0}.jm-role span{grid-column:2}
  .jm-row{grid-template-columns:1fr}
}
