/* Lead form modal (Book Demo / Scope a build / Talk to the team) — book.js */
.bk-overlay{position:fixed;inset:0;z-index:1000;background:rgba(16,15,15,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s ease;}
.bk-overlay.on{opacity:1;}
.bk-card{position:relative;width:100%;max-width:540px;max-height:calc(100vh - 40px);overflow:auto;background:var(--card);color:var(--t-strong);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow);padding:34px 34px 30px;transform:translateY(10px);transition:transform .25s cubic-bezier(.22,1,.36,1);}
.bk-overlay.on .bk-card{transform:none;}
.bk-eyebrow{font-family:'DM Mono',monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-faint);margin:0 0 10px;}
.bk-card h3{font-size:26px;font-weight:500;letter-spacing:-.025em;line-height:1.15;margin:0 0 8px;color:var(--t-strong);}
.bk-card h3 .dot{color:var(--accent);}
.bk-lead{font-size:14.5px;color:var(--t-mut);margin:0 0 22px;line-height:1.55;}
.bk-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--t);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;transition:border-color .15s,color .15s;}
.bk-close:hover{border-color:var(--ink);color:var(--ink);}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bk-f{display:flex;flex-direction:column;gap:6px;min-width:0;}
.bk-f.full{grid-column:1/-1;}
.bk-f label{font-size:12.5px;font-weight:500;color:var(--t);}
.bk-f input,.bk-f select,.bk-f textarea{font-family:'DM Sans',sans-serif;font-size:14.5px;color:var(--t-strong);background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:10px 12px;outline:none;width:100%;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;}
.bk-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237f7d7b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}
.bk-f input:focus,.bk-f select:focus,.bk-f textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);}
.bk-f input[aria-invalid="true"]{border-color:var(--accent-deep);}
.bk-f textarea{min-height:92px;resize:vertical;}
.bk-hp{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;opacity:0;}
.bk-actions{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap;}
.bk-submit{background:var(--accent);color:#fff;border-color:var(--accent);}
.bk-submit:hover{background:var(--accent-deep);border-color:var(--accent-deep);}
.bk-submit[disabled]{opacity:.6;cursor:progress;}
.bk-err{font-size:13px;color:var(--accent-deep);margin:12px 0 0;display:none;line-height:1.5;}
.bk-err.on{display:block;}
.bk-note{font-size:12px;color:var(--t-faint);margin:14px 0 0;line-height:1.5;}
.bk-note a{color:var(--t-mut);text-decoration:underline;}
.bk-done{text-align:center;padding:18px 0 6px;}
.bk-done .ck{width:54px;height:54px;border-radius:999px;background:var(--verified-tint);color:var(--verified);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.bk-done h3{margin-bottom:10px;}
.bk-done .bk-lead{margin-bottom:22px;}
body.bk-lock{overflow:hidden;}
@media(max-width:560px){.bk-grid{grid-template-columns:1fr;}.bk-card{padding:26px 22px 22px;}}
@media(prefers-reduced-motion:reduce){.bk-overlay,.bk-card{transition:none;}}
