/* Sumvant — the booking modal, and the booking step before the calendar (forms.js: name, work email, the spam
   check). Markup is injected by assets/js/site.js; every "Book a demo" link keeps href="discovery.html#book" as
   the no-JS road. Self-contained tokens: the discovery workbook page must render the same modal and step.
   No dollar-sign character. */
.bk { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 0; transition: opacity .22s ease; }
.bk.on { opacity: 1; }
.bk:not(.on) { pointer-events: none; }   /* while it fades out the page is already clickable */
.bk[hidden] { display: none; }
.bk-back { position: absolute; inset: 0; background: rgba(26, 35, 50, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.bk-panel { position: relative; width: min(720px, 100%); display: flex; flex-direction: column; background: #fff; color: #1a2332; border: 1px solid #d8dee7; border-radius: 16px; box-shadow: 0 30px 80px -24px rgba(26, 35, 50, .5); overflow: hidden; transform: translateY(12px) scale(.985); transition: transform .26s cubic-bezier(.19, 1, .22, 1); }
.bk.on .bk-panel { transform: none; }
.bk-guard { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.bk-head { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 20px; border-bottom: 1px solid #e6eaf0; background: #fff; }
.bk-wm { display: inline-flex; color: #0f1e36; font-size: 20px; line-height: 1; }
.bk-wm svg { display: block; width: 7.479em; height: 1.111em; fill: currentColor; }
.bk-title { margin: 0; padding-left: 14px; border-left: 1px solid #d8dee7; color: #1a2332; font: 600 15px/1.25 var(--sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); letter-spacing: -.01em; text-transform: none; max-width: none; }
.bk-close { margin-left: auto; flex: none; width: 36px; height: 36px; padding: 0; border: 1px solid #d8dee7; border-radius: 50%; background: #fff; color: #5b6575; font: 400 22px/1 var(--sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); cursor: pointer; transition: border-color .2s, color .2s; }
.bk-close:hover { border-color: #0f7b52; color: #0a5c3d; }
.bk-close:focus-visible { outline: 2px solid #0f7b52; outline-offset: 2px; }
.bk-frame { flex: 1 1 auto; min-height: 0; background: #fff; }
.bk-frame iframe { display: block; width: 100%; height: 600px; height: min(600px, calc(100vh - 130px)); border: 0; }
html.bk-lock, html.bk-lock body { overflow: hidden; }
/* the booking step */
.bk-gate { padding: 20px 20px 16px; }
.bk-gate-lead { margin: 0 0 14px; color: #0f1e36; font: 400 16px/1.5 var(--body, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.bk-gate-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bk-gate-f { display: grid; gap: 6px; font: 500 12px/1.4 var(--mono, ui-monospace, Menlo, monospace); letter-spacing: .06em; text-transform: uppercase; color: #5f6e85; }
.bk-gate-f input { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid #c9dcf3; border-radius: 8px; background: #fff; color: #0f1e36; font: 400 15px/1.4 var(--body, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif); }
.bk-gate-f input:focus { outline: none; border-color: #1a4fbf; box-shadow: 0 0 0 3px rgba(26, 79, 191, .16); }
.bk-gate-send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; }
.bk-gate .status { margin: 8px 0 0; min-height: 1.2em; font-size: 14px; line-height: 1.5; color: #44546a; }
.bk-gate .status.err { color: #8a5f12; }
.bk-gate .fine { margin: 8px 0 0; font-size: 12px; color: #5f6e85; }
.book .bk-gate { padding: 0 0 18px; }
@media (max-width: 719px) {
  /* phones: a full-screen sheet */
  .bk { padding: 0; align-items: stretch; }
  .bk-panel { width: 100%; height: 100%; border: 0; border-radius: 0; }
  .bk-wm { font-size: 18px; }
  .bk-title { padding-left: 12px; font-size: 14px; }
  .bk-frame iframe { height: 100%; }
  .bk-gate-fields { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .bk, .bk-panel { transition: none; } }
@media print { .bk { display: none !important; } }
