/* Book-a-demo modal — uses the site's design tokens (:root vars) */
.dm-overlay{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:24px;
  background:rgba(20,22,58,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.dm-overlay.open{display:flex}
.dm-card{
  width:100%;max-width:468px;background:var(--glass-strong,#fff);
  border:1px solid var(--glass-border,rgba(255,255,255,.9));border-radius:18px;
  box-shadow:0 20px 60px rgba(60,70,140,.28);padding:30px 30px 26px;
  max-height:calc(100vh - 48px);overflow-y:auto;
  font-family:var(--font,-apple-system,sans-serif);
  animation:dm-in .22s ease;
}
@keyframes dm-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.dm-close{
  position:absolute;top:16px;right:18px;width:32px;height:32px;border:none;cursor:pointer;
  background:transparent;color:var(--text-3,#9CA0B5);font-size:22px;line-height:1;border-radius:8px;
}
.dm-close:hover{background:rgba(60,70,140,.06);color:var(--text-1,#20223A)}
.dm-card{position:relative}
.dm-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--indigo-deep,#3F66CC)}
.dm-title{font-size:1.5rem;color:var(--ink,#20223A);letter-spacing:-.02em;margin-top:8px;font-weight:600}
.dm-sub{margin-top:8px;font-size:.95rem;color:var(--text-2,#6B6F86)}
.dm-form{margin-top:20px;display:flex;flex-direction:column;gap:14px}
.dm-field{display:flex;flex-direction:column;gap:6px}
.dm-field label{font-size:12.5px;font-weight:600;color:var(--text-2,#6B6F86)}
.dm-field label .req{color:var(--red,#E9533B)}
.dm-field input,.dm-field select{
  font-family:inherit;font-size:14px;color:var(--text-1,#20223A);
  padding:11px 13px;border:1px solid var(--line,rgba(60,70,140,.18));border-radius:10px;
  background:#fff;transition:border-color .15s,box-shadow .15s;width:100%;
}
.dm-field input:focus,.dm-field select:focus{
  outline:none;border-color:var(--indigo,#5C84E6);box-shadow:0 0 0 3px rgba(92,132,230,.15);
}
.dm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:460px){.dm-row{grid-template-columns:1fr}}
.dm-submit{width:100%;justify-content:center;margin-top:6px}
.dm-submit[disabled]{opacity:.6;cursor:not-allowed}
.dm-error{font-size:13px;color:var(--red-text,#C23A24);background:var(--red-soft,#FCE2DC);
  padding:9px 12px;border-radius:8px;display:none}
.dm-error.show{display:block}
.dm-legal{margin-top:2px;font-size:11.5px;color:var(--text-3,#9CA0B5);text-align:center}

/* success state */
.dm-success{display:none;text-align:center;padding:16px 4px 6px}
.dm-success.show{display:block}
.dm-check{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;
  background:var(--green,#35C46A);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(53,196,106,.32)}
.dm-check svg{width:32px;height:32px;stroke:#fff;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dm-success h3{font-size:1.4rem;color:var(--ink,#20223A);font-weight:600}
.dm-success p{margin-top:10px;font-size:.98rem;color:var(--text-2,#6B6F86);max-width:40ch;margin-left:auto;margin-right:auto}
.dm-success .btn{margin-top:22px}
/* Calendly inline widget host */
.dm-cal{min-width:280px;height:640px;margin-top:18px}
/* widen the card once the scheduler is shown */
.dm-card:has(.dm-success.show){max-width:520px}
