/* discovery-modal.css — the pop-up consultation form opened by "Book a Discovery Call",
   the contact-hero "Send a Message", and the "Quick Enquiry" tab.
   Redesigned to Figma QSS-2026 node 3255-201: a two-column card — dark aurora aside on the
   left ("Tell Us About your Project") + white form on the right ("Share Your Requirements…").

   IMPORTANT cascade note: this modal is injected into the <body> of pages that run the dark
   site theme, whose styles.css forces `… p,li,span,td,label{color:#E2E8F0!important}` and
   `input[type=text]…{border:…!important}` + a red focus ring. The WHITE panel here therefore
   pins its own dark text + field styling with `!important`, scoped through `.dcm-overlay`.
   Reversible: delete this file + /js/discovery-modal.js + their two tags. */

.dcm-overlay{
  position:fixed; inset:0; z-index:100000;
  background:rgba(0,0,0,.70); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
  display:flex; align-items:flex-start; justify-content:center;
  padding:28px 16px; overflow-y:auto;
  opacity:0; visibility:hidden; transition:opacity .22s ease, visibility .22s ease;
  font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}
.dcm-overlay.is-open{opacity:1; visibility:visible}

.dcm{
  position:relative; width:100%; max-width:900px; margin:auto;
  display:flex; align-items:stretch;
  background:#fff; border-radius:24px; overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,.5);
  transform:translateY(14px) scale(.99); transition:transform .24s ease;
}
.dcm-overlay.is-open .dcm{transform:none}

/* ---------- left aside (dark aurora) ---------- */
.dcm__aside{
  position:relative; flex:0 0 34%; min-width:0;
  display:flex; align-items:flex-start;
  padding:43px 24px;
  background:#0c0d14 url('/assets/pages/shared/modal-aside.webp') no-repeat center/cover;
}
.dcm__aside-in{
  position:relative; z-index:1; max-width:283px;
  display:flex; flex-direction:column; gap:16px;
}
.dcm__aside h2{
  margin:0;
  font-size:32px; font-weight:600; line-height:1.2; letter-spacing:-.01em;
  color:#fff !important;
}
.dcm__aside-sub{
  margin:0; font-size:14px; font-weight:400; line-height:1.35;
  color:#fff !important;
}
.dcm__aside-list{
  margin:0; padding:0; list-style:none;
  font-size:14px; font-weight:400; color:#fff !important;
}
.dcm__aside-list li{
  position:relative; padding-left:20px; line-height:2.26;
  color:#fff !important;
}
.dcm__aside-list li::before{
  content:"\2713"; position:absolute; left:0; color:#fff;
}

/* ---------- right main (white form) ---------- */
.dcm__main{
  flex:1 1 auto; min-width:0;
  display:flex; flex-direction:column; gap:22px;
  padding:24px; background:#fff;
}
.dcm__form{display:flex; flex-direction:column; gap:22px}
.dcm__head{display:flex; gap:16px; align-items:flex-start}
.dcm__head p{
  flex:1 1 0; min-width:0; margin:0;
  font-size:14px; line-height:1.4; font-weight:400; color:#010202 !important;
}
.dcm__head p strong{font-weight:700; color:#010202 !important}

.dcm__close{
  flex:0 0 auto; width:32px; height:32px; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:#f8f7f4; border:0; border-radius:29px; cursor:pointer; color:#010202;
  transition:background .2s, transform .2s;
}
.dcm__close:hover{background:#ececec; transform:rotate(90deg)}

/* rows: two fields side by side */
.dcm__row{display:flex; gap:16px; width:100%}
.dcm__group{display:flex; flex-direction:column; gap:6px; flex:1 1 0; min-width:0}
.dcm__group label{font-size:14px; font-weight:400; line-height:1.2; color:#010202 !important}

/* fields — scoped + !important to beat styles.css's site-wide input rules & red focus ring */
.dcm-overlay .dcm .dcm__group input,
.dcm-overlay .dcm .dcm__group textarea{
  width:100% !important; background:#fff !important;
  border:.5px solid rgba(1,2,2,.2) !important; border-radius:6px !important;
  padding:12px 16px !important; margin:0 !important;
  font:inherit !important; font-size:14px !important; line-height:1.2 !important; color:#010202 !important;
  transition:border-color .18s, box-shadow .18s;
}
.dcm-overlay .dcm .dcm__group textarea{height:109px !important; min-height:109px; resize:vertical}
.dcm-overlay .dcm .dcm__group input::placeholder,
.dcm-overlay .dcm .dcm__group textarea::placeholder{color:rgba(1,2,2,.6) !important; opacity:1}
.dcm-overlay .dcm .dcm__group input:focus,
.dcm-overlay .dcm .dcm__group textarea:focus{
  outline:none !important; border-color:#00b3fb !important; box-shadow:0 0 0 3px rgba(0,179,251,.16) !important;
}

/* honeypot */
.dcm__hp{position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden}

/* submit — cyan pill, auto width */
.dcm__submit{
  align-self:flex-start;
  display:inline-flex; align-items:center; gap:8px;
  background:#00b3fb; color:#010202 !important; border:0;
  border-radius:48px; padding:11px 20px 13px;
  font:inherit; font-size:14px; font-weight:600; line-height:20px; cursor:pointer;
  transition:transform .2s, box-shadow .2s, filter .2s;
}
.dcm__submit:hover:not(:disabled){transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,179,251,.34)}
.dcm__submit:disabled{opacity:.8; cursor:default}

/* footer: fine print + careers note */
.dcm__foot{display:flex; flex-direction:column; gap:12px; width:100%}
.dcm__fine{margin:0; font-size:12px; line-height:1.4; color:#6e6d6d !important}
.dcm__careers{
  margin:0; padding:12px 16px;
  background:rgba(0,179,251,.10); border:.5px solid rgba(0,179,251,.5); border-radius:6px;
  font-size:14px; line-height:1.4; color:#010202 !important;
}
.dcm__careers a{color:#00b3fb !important; font-weight:600; text-decoration:none}
.dcm__careers a:hover{text-decoration:underline}

body.dcm-lock{overflow:hidden}

/* ---------- responsive ---------- */
@media(max-width:720px){
  .dcm{flex-direction:column; max-width:460px}
  .dcm__aside{flex:0 0 auto; padding:26px 24px; background-position:center top}
  .dcm__aside-in{max-width:none}
  .dcm__aside h2{font-size:24px}
  .dcm__row{flex-direction:column; gap:16px}
}

/* ---------- Success "Thank You!" panel (Figma 3508-5) ---------- */
.dcm__thanks{
  display:none; position:absolute; inset:0; z-index:5;
  flex-direction:column; align-items:center; justify-content:center; gap:20px;
  padding:32px; text-align:center; overflow:hidden;
  background:linear-gradient(103.5deg,rgba(1,17,37,0) 40.57%,rgba(31,115,255,.6) 129.08%),#05052B;
  box-shadow:inset 0 0 0 2px #192a42;
}
.dcm.is-thanks .dcm__thanks{display:flex}
.dcm.is-thanks .dcm__aside,.dcm.is-thanks .dcm__main{visibility:hidden}
.dcm__thanks::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url(/images/dcm-thankyou-lines.webp) center/cover no-repeat;
  opacity:.2; filter:blur(4px); pointer-events:none;
}
.dcm__thanks-title{
  position:relative; z-index:1; margin:0;
  font-family:'Plus Jakarta Sans','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:800; font-size:clamp(38px,7vw,68px); line-height:1.2; color:#fff;
}
.dcm__thanks-sub{
  position:relative; z-index:1; margin:0; max-width:557px;
  font-family:'Plus Jakarta Sans','Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:400; font-size:clamp(15px,2.4vw,22px); line-height:1.4; color:#fff;
}
.dcm__thanks-close{
  position:absolute; top:24px; right:24px; z-index:2;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  padding:0; border:0; border-radius:29px; background:rgba(255,255,255,.2); color:#fff;
  cursor:pointer; transition:background .2s;
}
.dcm__thanks-close:hover{background:rgba(255,255,255,.32)}
