/* Sumvant — the booking modal. Markup is injected by assets/js/site.js; every "Book a 20-minute call"
   link keeps href="discovery.html#book" as the no-JS road. Self-contained tokens: the discovery
   workbook page does not load site.css and must render the same modal. 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: #1f2547; 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; }
@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%; }
}
@media (prefers-reduced-motion: reduce) { .bk, .bk-panel { transition: none; } }
@media print { .bk { display: none !important; } }
