/* ---- Scoped reset — only inside popup overlays ---- */
  .mycpe-overlay *, .mycpe-overlay *::before, .mycpe-overlay *::after { box-sizing: border-box; margin: 0; padding: 0; }

  /* ---- Modal overlay ---- */
  .mycpe-overlay {
    font-family: 'Inter', sans-serif; color: #28324A; -webkit-font-smoothing: antialiased;
    position: fixed; inset: 0; background: rgba(10,23,70,0.55);
    display: flex; align-items: center; justify-content: center;
    z-index: 9999; padding: 20px; overflow-y: auto;
  }
  .mycpe-overlay.is-hidden { display: none; }

  .mycpe-overlay .mycpe-modal {
    background: #fff; border-radius: 14px; width: 100%; max-width: 940px;
    box-shadow: 0 24px 70px rgba(10,23,70,0.35);
    overflow: hidden; position: relative;
    display: grid; grid-template-columns: 0.9fr 1.1fr;
  }

  /* Left brand panel */
  .mycpe-overlay .modal-left {
    background: #0A1746; color: #fff; padding: 44px 38px;
    display: flex; flex-direction: column; justify-content: center;
  }
  .mycpe-overlay .modal-left .logo { display:flex; align-items:center; gap:8px; margin-bottom:30px; }
  .mycpe-overlay .modal-left .logo-mark {
    width:26px; height:26px; border-radius:6px;
    background: linear-gradient(135deg,#3556E8,#a855f7);
    display:flex; align-items:center; justify-content:center;
  }
  .mycpe-overlay .modal-left .logo-mark svg { width:13px; height:13px; }
  .mycpe-overlay .modal-left .logo-text { font-weight:800; font-size:16px; letter-spacing:.02em; }
  .mycpe-overlay .modal-left .logo-text span { color:#7B96FF; font-weight:600; }
  .mycpe-overlay .modal-left .dd_popup_title { font-size:27px; font-weight:800; line-height:1.2; margin-bottom:14px;color:#fff; }
  .mycpe-overlay .modal-left .dd_popup_title .accent { color:#7B96FF; }
  .mycpe-overlay .modal-left p { font-size:14px; color: rgba(255,255,255,0.72); line-height:1.65; }

  .mycpe-overlay .chris-card { display:flex; align-items:center; gap:14px; margin-top:30px; }
  .mycpe-overlay .chris-card img {
    width:72px; height:72px; border-radius:12px; object-fit:cover;
    border:2px solid rgba(123,150,255,0.4);
  }
  .mycpe-overlay .chris-card .name { font-size:16px; font-weight:700; color:#fff; }
  .mycpe-overlay .chris-card .role { font-size:12.5px; color:rgba(255,255,255,0.6); margin-top:2px; }

  /* Right form panel */
  .mycpe-overlay .modal-right { padding: 44px 40px; position: relative; }
  .mycpe-overlay .modal-right #mycpeHeading { font-size:23px; font-weight:800; color:#0A1746; line-height:1.25; margin-bottom:10px; }
  .mycpe-overlay .modal-right .sub { font-size:14px; color:#6B7280; line-height:1.6; margin-bottom:26px; }

  .mycpe-overlay .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .mycpe-overlay .field { display:flex; flex-direction:column; }
  .mycpe-overlay .field.full { grid-column: 1 / -1; }
  .mycpe-overlay .field label { font-size:12px; font-weight:600; color:#0A1746; margin-bottom:6px; }
  .mycpe-overlay .field label .req { color:#3556E8; }
  .mycpe-overlay .field input {
    padding:11px 14px; border:1px solid #E8EBF5; border-radius:7px;
    font-size:14px; color:#28324A; background:#fff; font-family:inherit; outline:none;
    transition:border-color .15s, box-shadow .15s;
  }
  .mycpe-overlay .field input:focus { border-color:#3556E8; box-shadow:0 0 0 3px rgba(53,86,232,0.12); }
  .mycpe-overlay .field input.error { border-color:#E5484D; box-shadow:0 0 0 3px rgba(229,72,77,0.12); }
  .mycpe-overlay .err-msg { font-size:11px; color:#E5484D; margin-top:4px; display:none; }
  .mycpe-overlay .field input.error + .err-msg { display:block; }

  .mycpe-overlay .submit-btn {
    grid-column:1 / -1; background:#3556E8; color:#fff; font-weight:700; font-size:15px;
    padding:14px; border:none; border-radius:7px; cursor:pointer; margin-top:6px;
    transition:background .2s; font-family:inherit;
  }
  .mycpe-overlay .submit-btn:hover { background:#4163F2; }
  .mycpe-overlay .privacy { grid-column:1/-1; font-size:11.5px; color:#9aa1b2; text-align:center; margin-top:2px; }

  .mycpe-overlay .modal-close {
    position:absolute; top:14px; right:16px; width:30px; height:30px; border-radius:6px;
    border:1px solid #E8EBF5; background:#fff; color:#6B7280; cursor:pointer;
    display:flex; align-items:center; justify-content:center; font-size:16px; line-height:1; z-index:2;
    transition:background .15s, color .15s;
  }
  .mycpe-overlay .modal-close:hover { background:#F7F8FC; color:#0A1746; }

  .mycpe-overlay .thanks-modal {
    background:#fff; border-radius:14px; width:100%; max-width:440px;
    box-shadow:0 24px 70px rgba(10,23,70,0.35); padding:48px 40px;
    text-align:center; position:relative;
  }
  .mycpe-overlay .thanks-modal .check {
    width:64px; height:64px; border-radius:50%; background:#E6F4EA; color:#1E9E5A;
    display:flex; align-items:center; justify-content:center; margin:0 auto 22px; font-size:30px;
  }
  .mycpe-overlay .thanks-modal #thanksHeading { font-size:23px; font-weight:800; color:#0A1746; margin-bottom:12px; }
  .mycpe-overlay .thanks-modal p { font-size:14px; color:#6B7280; line-height:1.65; }

  /* Success state */
  .mycpe-overlay .success-state { display:none; text-align:center; padding:24px 10px; }
  .mycpe-overlay .success-state .check {
    width:64px; height:64px; border-radius:50%; background:#E6F4EA; color:#1E9E5A;
    display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:30px;
  }
  .mycpe-overlay .success-state h3 { font-size:22px; font-weight:800; color:#0A1746; margin-bottom:10px; }
  .mycpe-overlay .success-state p { font-size:14px; color:#6B7280; line-height:1.65; }
  .mycpe-overlay .btn-primary {
    background:#3556E8; color:#fff; font-weight:600; font-size:14px;
    padding:12px 26px; border-radius:5px; border:none; cursor:pointer; display:inline-block;
  }
  .mycpe-overlay .btn-primary:hover { background:#4163F2; }

  @media (max-width: 760px) {
    .mycpe-overlay .mycpe-modal { grid-template-columns: 1fr; max-width: 440px; }
    .mycpe-overlay .modal-left { padding: 32px 26px; }
    .mycpe-overlay .modal-left h2 { font-size:22px; }
    .mycpe-overlay .modal-right { padding: 32px 24px; }
    .mycpe-overlay .form-grid { grid-template-columns: 1fr; }
  }