/* CONTACT MODAL ("cm-") — opened by the navbar / mobile "Contact Us" button (script.js sets display:flex). */
.cm-overlay{display:none;position:fixed;inset:0;z-index:10050;align-items:center;justify-content:center;padding:clamp(.75rem,3vw,2rem);
 background:radial-gradient(60% 60% at 80% 10%,rgba(123,47,247,.35),transparent 60%),rgba(8,6,32,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
body:has(.cm-overlay[style*="flex"]){overflow:hidden}
.cm-box{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);width:min(1040px,100%);max-height:calc(100svh - 2rem);overflow:hidden;border-radius:28px;background:#fff;color:#0a0b2e;box-shadow:0 40px 100px rgba(5,3,24,.6);animation:cm-in .45s cubic-bezier(.22,.8,.24,1)}
@keyframes cm-in{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
.cm-close{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;cursor:pointer;font-size:1.7rem;line-height:1;color:#0a0b2e;background:#f1ecfb;transition:transform .3s,background .3s,color .3s}
.cm-close:hover{transform:rotate(90deg);background:linear-gradient(120deg,#7b2ff7,#B51BB5);color:#fff}

/* left info panel */
.cm-info{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.8rem,4vw,3rem);color:#fff;overflow:hidden;
 background:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.5px) 0 0/26px 26px,radial-gradient(90% 70% at 100% 0,rgba(123,47,247,.55),transparent 60%),linear-gradient(160deg,#3339e0,#14083a 55%,#4a128c)}
.cm-eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#43D2E0}
.cm-info h2{margin:.9rem 0 1rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;font-weight:600;letter-spacing:-.015em;color:#fff}
.cm-info h2 em{font-style:normal;background:linear-gradient(100deg,#43D2E0,#B51BB5 55%,#F0A400);-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-lead{color:rgba(255,255,255,.78);line-height:1.65;margin-bottom:1.6rem}
.cm-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.cm-list li{display:flex;align-items:center;gap:.9rem;line-height:1.45;color:rgba(255,255,255,.92)}
.cm-list a{color:inherit;text-decoration:none}.cm-list a:hover{color:#43D2E0}
.cm-ic{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#43D2E0}
.cm-ic svg{width:19px;height:19px}

/* right form */
.cm-formwrap{overflow-y:auto;padding:clamp(1.6rem,3.5vw,2.8rem)}
.cm-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem;margin-bottom:1rem}
.cm-f{display:flex;flex-direction:column;gap:.4rem;font-size:.88rem;font-weight:600;color:rgba(10,11,46,.75)}
.cm-f input,.cm-f select,.cm-f textarea{font:inherit;font-weight:400;font-size:1rem;color:#0a0b2e;padding:.85rem 1rem;border:1.5px solid #e3dcf3;border-radius:14px;background:#faf8ff;outline:0;transition:border-color .25s,box-shadow .25s,background .25s}
.cm-f textarea{resize:vertical;min-height:110px}
.cm-f input:focus,.cm-f select:focus,.cm-f textarea:focus{border-color:#7b2ff7;background:#fff;box-shadow:0 0 0 4px rgba(123,47,247,.14)}
.cm-check{display:flex;gap:.7rem;align-items:flex-start;margin:1rem 0 1.4rem;font-size:.86rem;line-height:1.5;color:rgba(10,11,46,.65);cursor:pointer}
.cm-check input{flex:none;width:18px;height:18px;margin-top:.15rem;accent-color:#7b2ff7}
.cm-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1.05rem 1.5rem;border:0;border-radius:999px;cursor:pointer;font:inherit;font-weight:600;font-size:1.05rem;color:#fff;background:linear-gradient(105deg,#4a128c,#7b2ff7 55%,#B51BB5);box-shadow:0 16px 36px rgba(123,47,247,.35);transition:transform .3s,box-shadow .3s}
.cm-submit:hover{transform:translateY(-3px);box-shadow:0 22px 44px rgba(123,47,247,.45)}
.cm-done{display:grid;place-items:center;text-align:center;gap:.6rem;min-height:340px}
.cm-done[hidden]{display:none}.cm-done h3{font-size:1.9rem}.cm-done p{max-width:26rem;color:rgba(10,11,46,.7);line-height:1.6}
.cm-tick{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:2rem;color:#fff;background:linear-gradient(120deg,#43D2E0,#7b2ff7)}

@media(max-width:860px){.cm-box{grid-template-columns:1fr;overflow-y:auto}.cm-info{padding:1.6rem 1.4rem}.cm-lead,.cm-list li:nth-child(n+3){display:none}.cm-info h2{margin-bottom:.6rem;padding-right:2.5rem}.cm-formwrap{overflow:visible}}
@media(max-width:520px){.cm-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cm-box{animation:none}}
.cm-err{margin:1rem 0 0;padding:.7rem 1rem;border-radius:12px;font-size:.92rem;color:#a4132f;background:#ffe9ee;border:1px solid #ffc2cf}
.cm-err[hidden]{display:none}
.cm-submit:disabled{opacity:.7;pointer-events:none}
.cm-box .cm-f{margin:0}
