/* Loading states for the marketing site (design "Loading screens", states E and F).
   E: the page transition bar (assets/js/site-loading.js). F: .is-loading on buttons.
   Enqueued sitewide by startbuddi-core (Frontend\Loading). */
.sb-pbar{position:fixed;left:0;top:0;z-index:2147483000;height:3px;width:0;background:var(--royal,#2447F5);box-shadow:0 0 10px var(--royal,#2447F5);border-radius:0 3px 3px 0;opacity:0;pointer-events:none;transition:width .4s cubic-bezier(.2,.8,.2,1),opacity .3s}
.sb-pbar.on{opacity:1}
.is-loading,[aria-busy="true"].btn{pointer-events:none;cursor:progress;opacity:.82}
.is-loading::before{content:"";display:inline-block;flex:none;width:16px;height:16px;margin-right:2px;border-radius:50%;border:2.5px solid color-mix(in srgb,currentColor 35%,transparent);border-top-color:currentColor;animation:sb-load-spin .7s linear infinite;vertical-align:-3px}
.is-loading .sbi,.is-loading svg{display:none}
@keyframes sb-load-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sb-pbar{transition:none}.is-loading::before{animation:none;border-style:dotted}}
@media print{.sb-pbar{display:none}}

/* Hand-off screen: sign up, log in, book a demo (assets/js/site-loading.js).
   Same card as the /go/ page (Links\ExternalLinks). Fixed, so nothing shifts. */
.sb-handoff{position:fixed;inset:0;z-index:2147483001;display:grid;place-items:center;padding:24px 16px;background:rgba(246,247,251,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .16s ease-out;font-family:var(--fb,'Instrument Sans','Segoe UI',system-ui,sans-serif);color:var(--ink,#0C1638)}
.sb-handoff[hidden]{display:none}
.sb-handoff.on{opacity:1}
.sb-handoff-card{width:100%;max-width:400px;background:#fff;border:1px solid var(--line,#E2E6F0);border-radius:20px;padding:32px 28px 28px;text-align:center;box-shadow:0 20px 50px -30px rgba(12,22,56,.35);transform:translateY(6px) scale(.98);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.sb-handoff.on .sb-handoff-card{transform:none}
.sb-handoff-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:18px;background:var(--royal-soft,#E8EDFF);color:var(--royal,#2447F5);margin-bottom:18px;font-weight:750;font-size:20px;animation:sb-handoff-pulse 1.6s ease-in-out infinite}
.sb-handoff-mark svg{display:block}
.sb-handoff-title{margin:0 0 6px;font-family:var(--fd,'Bricolage Grotesque','Segoe UI',system-ui,sans-serif);font-size:1.35rem;line-height:1.2;letter-spacing:-.02em;font-weight:700;color:var(--ink,#0C1638)}
.sb-handoff-sub{margin:0 0 18px;font-size:15px;line-height:1.5;color:var(--ink-2,#3A4568)}
.sb-handoff-sub:empty{display:none}
.sb-handoff-bar{height:4px;border-radius:99px;background:var(--royal-soft,#E8EDFF);overflow:hidden}
.sb-handoff-bar i{display:block;height:100%;width:100%;background:var(--royal,#2447F5);border-radius:inherit;transform-origin:left;transform:scaleX(0)}
.sb-handoff.on .sb-handoff-bar i{animation:sb-handoff-fill 6s cubic-bezier(.1,.7,.2,1) forwards}
.sb-handoff-slow{margin:16px 0 0;font-size:14px;line-height:1.5;color:var(--muted,#626C8A)}
.sb-handoff-slow[hidden]{display:none}
.sb-handoff-go{color:var(--royal,#2447F5);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.sb-handoff-stay{display:block;margin:8px auto 0;padding:6px 10px;border:0;background:none;font:inherit;color:var(--ink-2,#3A4568);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.sb-handoff-go:focus-visible,.sb-handoff-stay:focus-visible{outline:2px solid var(--royal,#2447F5);outline-offset:2px;border-radius:4px}
.sb-handoff-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@keyframes sb-handoff-fill{0%{transform:scaleX(0)}15%{transform:scaleX(.35)}60%{transform:scaleX(.75)}100%{transform:scaleX(.92)}}
@keyframes sb-handoff-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media (max-width:420px){.sb-handoff-card{padding:28px 20px 24px}.sb-handoff-title{font-size:1.2rem}}
@media (prefers-reduced-motion:reduce){.sb-handoff,.sb-handoff-card{transition:none}.sb-handoff-card{transform:none}.sb-handoff-mark{animation:none}.sb-handoff.on .sb-handoff-bar i{animation:none;transform:scaleX(.7)}}
@media print{.sb-handoff{display:none}}
