/* Strategy call booking modal, shared by every page (see booking.js) */
.bk{--bk-ink:#03101e;--bk-ink2:#071d31;--bk-blue:#007bff;--bk-blue2:#4fc3ff;--bk-ice:#b0e0e6;--bk-paper:#f1f6fa;--bk-muted:rgba(233,244,252,.66);--bk-rule:rgba(176,224,230,.16);--bk-ease:cubic-bezier(.22,1,.36,1);--bk-in:320ms;--bk-out:240ms}
html.bk-lock,html.bk-lock body{overflow:hidden}
.bk{position:fixed;inset:0;z-index:10001;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;font-family:inherit;overflow:hidden}
.bk:not([open]){display:none}
.bk::backdrop{background:transparent}
.bk__backdrop{position:absolute;inset:0;background:rgba(2,11,20,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity var(--bk-in) ease}
.bk__frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(.5rem,3vw,2rem);pointer-events:none}
.bk__panel{position:relative;display:flex;flex-direction:column;width:min(1060px,100%);height:min(880px,100%);background:var(--bk-ink2);border:1px solid var(--bk-rule);border-radius:6px;box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(0,123,255,.06);overflow:hidden;isolation:isolate;pointer-events:auto;opacity:0;transform:translate3d(0,16px,0) scale(.97);transition:opacity var(--bk-in) var(--bk-ease),transform var(--bk-in) var(--bk-ease)}
.bk__panel::before{content:"";position:absolute;inset:-40% -10% auto;height:80%;z-index:-1;background:radial-gradient(45% 50% at 80% 40%,rgba(0,123,255,.32),transparent 70%),radial-gradient(35% 45% at 15% 70%,rgba(79,195,255,.14),transparent 72%);pointer-events:none}
.bk.is-open .bk__backdrop{opacity:1}
.bk.is-open .bk__panel{opacity:1;transform:none}
.bk.is-closing .bk__backdrop{opacity:0;transition-duration:var(--bk-out)}
.bk.is-closing .bk__panel{opacity:0;transform:translate3d(0,10px,0) scale(.98);transition-duration:var(--bk-out);transition-timing-function:ease-in}
.bk__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1.1rem,2.6vw,1.75rem) clamp(1.1rem,3vw,2.25rem) clamp(.9rem,2vw,1.35rem);border-bottom:1px solid var(--bk-rule)}
.bk__eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--bk-ice);font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.bk__eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bk-blue);box-shadow:0 0 12px var(--bk-blue2)}
.bk__title{margin:.55rem 0 0;padding-bottom:.1em;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:800;line-height:1.08;letter-spacing:-.045em;background:linear-gradient(100deg,#fff 30%,var(--bk-blue2),var(--bk-ice));-webkit-background-clip:text;background-clip:text;color:transparent}
.bk__title:focus{outline:none}
.bk__copy{max-width:56ch;margin:.6rem 0 0;color:var(--bk-muted);font-size:clamp(.92rem,1.2vw,1.02rem);line-height:1.55}
.bk__close{flex:none;position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(176,224,230,.28);background:rgba(3,16,30,.5);color:#fff;cursor:pointer;transition:background .28s var(--bk-ease),border-color .28s var(--bk-ease),transform .28s var(--bk-ease)}
.bk__close svg{width:16px;height:16px;transition:transform .45s var(--bk-ease)}
.bk__close:hover{background:rgba(0,123,255,.22);border-color:var(--bk-blue2)}
.bk__close:hover svg{transform:rotate(90deg)}
.bk__close:active{transform:scale(.94)}
.bk__close:focus-visible,.bk__btn:focus-visible,.bk__link:focus-visible{outline:2px solid var(--bk-blue2);outline-offset:3px}
.bk__body{position:relative;flex:1 1 auto;min-height:0;background:var(--bk-paper)}
.bk__embed{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}
.bk__embed.is-ready{opacity:1}
.bk__embed .calendly-inline-widget,.bk__embed iframe{width:100%!important;height:100%!important;min-width:0!important;border:0}
.bk__embed .calendly-spinner{display:none!important}
.bk__state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center;color:var(--bk-ink);background:var(--bk-paper);transition:opacity .35s ease,visibility 0s}
.bk__state[hidden]{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s .35s}
.bk__spinner{width:38px;height:38px;border-radius:50%;border:2px solid rgba(0,98,204,.16);border-top-color:var(--bk-blue);animation:bkSpin .8s linear infinite}
.bk__state p{margin:0;max-width:40ch;color:#41627e;font-size:.95rem}
.bk__state strong{color:var(--bk-ink);font-size:1.15rem;letter-spacing:-.02em}
.bk__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.25rem}
.bk__btn{display:inline-flex;align-items:center;padding:.85rem 1.4rem;border-radius:2px;background:var(--bk-blue);color:#fff;font:inherit;font-size:.9rem;font-weight:800;border:0;cursor:pointer;transition:transform .3s var(--bk-ease),background .3s var(--bk-ease)}
.bk__btn:hover{transform:translateY(-3px);background:var(--bk-ink)}
.bk__btn:active{transform:translateY(1px)}
.bk__link{color:#0062cc;font-size:.9rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;align-self:center}
@keyframes bkSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .bk__frame{padding:.5rem;padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}
  .bk__panel{width:100%;height:100%;border-radius:10px}
  .bk__head{padding:1rem 1rem .85rem 1.1rem}
  .bk__copy{font-size:.88rem}
}
/* short screens and landscape phones: compact header, let the panel scroll instead of clipping the scheduler */
@media(max-height:620px){
  .bk__panel{height:100%}
  .bk__head{padding-block:.75rem .65rem}
  .bk__title{margin-top:.3rem;font-size:1.45rem}
  .bk__copy{margin-top:.35rem;font-size:.85rem}
}
@media(max-height:480px){
  .bk__panel{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .bk__eyebrow,.bk__copy{display:none}
  .bk__title{margin:0}
  .bk__body{flex:none;height:520px}
  .bk__state{justify-content:flex-start;padding-top:2.5rem}
}
@media(prefers-reduced-motion:reduce){
  .bk__panel,.bk.is-closing .bk__panel{transform:none!important}
  .bk__backdrop,.bk__panel{transition-duration:120ms!important}
  .bk__close svg,.bk__btn{transition:none}
  .bk__spinner{animation-duration:2.4s}
}
