#contact-overlay{display:none;position:fixed;inset:0;background:rgba(4,6,16,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000}
#contact-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);background:rgba(10,14,26,.98);border:1px solid rgba(124,58,237,.35);border-radius:18px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:none;flex-direction:column;z-index:10001;box-shadow:0 0 0 1px rgba(124,58,237,.1),0 24px 80px rgba(0,0,0,.7);font-family:'DM Sans','Segoe UI',sans-serif;opacity:0;transition:all .3s cubic-bezier(.34,1.2,.64,1)}
#contact-modal.open{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cm-topbar{height:3px;background:linear-gradient(90deg,#7c3aed,#1ad176,#0ea5e9);flex-shrink:0}
.cm-head{padding:18px 22px 14px;border-bottom:1px solid rgba(124,58,237,.15);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:rgba(0,0,0,.2)}
.cm-head h3{font-family:'Syne','Segoe UI',sans-serif;font-size:1rem;font-weight:800;margin:0;color:#e2e8f0;display:flex;align-items:center;gap:9px}
.cm-head h3 i{color:#7c3aed}
.cm-close{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;color:#64748b;width:30px;height:30px;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}
.cm-close:hover{background:rgba(239,68,68,.15);color:#ef4444;border-color:rgba(239,68,68,.3)}
.cm-body{overflow-y:auto;padding:20px 22px;scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.3) transparent}
.cm-body::-webkit-scrollbar{width:4px}
.cm-body::-webkit-scrollbar-thumb{background:rgba(124,58,237,.3);border-radius:2px}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cm-field{margin-bottom:14px}
.cm-field label{display:block;font-size:.72rem;font-weight:600;color:#64748b;margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px}
.cm-field label .req{color:#7c3aed;margin-left:2px}
.cm-input{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:9px;color:#e2e8f0;font-family:'DM Sans',sans-serif;font-size:.88rem;padding:10px 13px;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.cm-input::placeholder{color:#374151}
.cm-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.12)}
textarea.cm-input{resize:vertical;min-height:110px}
select.cm-input option{background:#0f1422;color:#e2e8f0}
.cm-err{display:none;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:9px;padding:10px 14px;font-size:.82rem;color:#fca5a5;margin-bottom:14px}
.cm-success{display:none;text-align:center;padding:32px 20px}
.cm-success .s-ring{width:70px;height:70px;border-radius:50%;background:rgba(26,209,118,.12);border:2px solid rgba(26,209,118,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 0 24px rgba(26,209,118,.25);font-size:2rem;color:#1ad176}
.cm-success h4{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;color:#1ad176;margin-bottom:6px}
.cm-success p{font-size:.85rem;color:#64748b;line-height:1.6;margin-bottom:20px}
.cm-foot{padding:14px 22px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;background:rgba(0,0,0,.15)}
.btn-send{width:100%;padding:12px;background:linear-gradient(135deg,#7c3aed,#5b21b6);color:#fff;border:none;cursor:pointer;border-radius:9px;font-family:'Syne',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.3px;transition:all .25s;box-shadow:0 4px 18px rgba(124,58,237,.35);position:relative;overflow:hidden}
.btn-send::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}
.btn-send:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(124,58,237,.55)}
.btn-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-close-ok{margin-top:4px;background:rgba(26,209,118,.12);border:1px solid rgba(26,209,118,.25);color:#1ad176;padding:9px 22px;border-radius:9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;font-size:.875rem;transition:background .2s}
.btn-close-ok:hover{background:rgba(26,209,118,.25)}
@media(max-width:500px){.cm-row{grid-template-columns:1fr}}