/* GoGoChimp: multi-step Book a Demo form - keeps ActiveCampaign's existing form styling; only adds steps + a subtle progress line */
form._form_3[data-gc-steps="1"] .gc-step { display: none; }
form._form_3[data-gc-steps="1"] .gc-step.is-active { display: block; }
form._form_3 .gc-progress { margin: 0 0 16px; }
form._form_3 .gc-progress__text { font-size: 13px; line-height: 1.4; opacity: .75; margin-bottom: 8px; letter-spacing: .01em; }
form._form_3 .gc-progress__bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
form._form_3 .gc-progress__bar span { display: block; height: 3px; border-radius: 3px; background: currentColor; opacity: .18; transition: opacity .25s ease; }
form._form_3 .gc-progress__bar span.is-done { opacity: .9; background: #8C4FFB; }
form._form_3 .gc-nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
form._form_3 .gc-back { background: none !important; border: 0 !important; padding: 8px 4px !important; color: inherit !important; text-decoration: underline; text-underline-offset: 3px; opacity: .75; cursor: pointer; font: inherit; min-height: 44px; }
form._form_3 .gc-back:hover { opacity: 1; }
form._form_3 .gc-back--last { display: inline-block; margin-top: 4px; }
form._form_3 .gc-next { cursor: pointer; }
@media (prefers-reduced-motion: reduce) { form._form_3 .gc-progress__bar span { transition: none; } }
/* Back stays a quiet text link (ActiveCampaign styles every button in ._button-wrapper) */
form._form_3 ._button-wrapper.gc-nav button.gc-back, form._form_3 .gc-step button.gc-back { border: 0 !important; box-shadow: none !important; background: transparent !important; width: auto !important; min-width: 0 !important; margin: 0 auto !important; display: block; color: inherit !important; }
/* Spacing, microcopy and the Book a Demo card testimonial */
form._form_3 .gc-step button.gc-back { margin-top: 12px !important; }
form._form_3 .gc-hint { margin: 10px 0 0; font-size: 13px; line-height: 1.5; text-align: center; opacity: .72; }
form._form_3 .gc-hint--final { margin-top: 12px; }
form._form_3 .gc-hint a, form._form_3 label a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.static-form.gc-card { display: flex; flex-direction: column; }
.static-form.gc-card > form._form_3 { flex: 0 0 auto; }
.static-form.gc-card .gc-proof { margin: auto 0 0; padding: 20px 0 0; border-top: 1px solid rgba(26, 18, 74, .12); }
.static-form.gc-card .gc-proof blockquote { margin: 0 0 8px; font-size: 16px; line-height: 1.5; quotes: none; }
.static-form.gc-card .gc-proof figcaption { font-size: 13px; opacity: .75; }
.static-form.gc-card .gc-proof figcaption strong { font-weight: 600; opacity: 1; }
.static-form.gc-card .gc-proof:only-child, .static-form.gc-card form[style*="display: none"] ~ .gc-proof { display: none; }
@media (max-width: 767px) { .static-form.gc-card .gc-proof { margin-top: 0; } }
.static-form.gc-card.gc-final .gc-proof { display: none; } /* step 3 needs the room; its reassurance line sits under the button */
.static-form.gc-card > * { width: 100%; align-self: stretch; box-sizing: border-box; } /* keep the form full width inside the flex card */
form._form_3 .gc-hint--privacy { margin-top: 6px; font-size: 12px; opacity: .65; } /* UK GDPR right to be informed: notice where data entry starts */
/* Testimonial photo on the left */
.static-form.gc-card .gc-proof { display: flex; align-items: flex-start; gap: 14px; }
.static-form.gc-card .gc-proof__img { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 0 0 2px #fff, 0 1px 4px rgba(26, 18, 74, .18); }
.static-form.gc-card .gc-proof__body { flex: 1 1 auto; min-width: 0; }
.static-form.gc-card.gc-final .gc-proof { display: none; }
/* Button gap matches the 33 px box-to-box rhythm between fields (10 px field margin + 23 px) */
form._form_3 .gc-step .gc-nav, form._form_3 .gc-step ._button-wrapper:not(.gc-nav) { margin-top: 23px !important; }
form._form_3 .gc-step .gc-nav, form._form_3 .gc-step ._button-wrapper:not(.gc-nav) { margin-top: 33px !important; } /* margins collapse, so 33 px gives the 33 px box-to-box gap */
/* Phones: reCAPTCHA is a fixed 304 px and stretched the card on step 3; scale it to fit the card's inner width */
@media (max-width: 420px) {
  form._form_3 .g-recaptcha { width: 274px !important; height: 70px; transform: scale(.9); transform-origin: 0 0; overflow: visible; }
}
@media (max-width: 370px) {
  form._form_3 .g-recaptcha { width: 258px !important; height: 66px; transform: scale(.85); }
}
.static-form.gc-card:not(.gc-final) > form._form_3 { margin-bottom: 28px !important; } /* minimum gap above the testimonial on every screen; on desktop the spare card height is still absorbed above it */
/* No flash of the original form: until the multi-step script runs, show only step 1's fields (needs the gc-js class from the head script) */
.gc-js form._form_3:not([data-gc-steps]) ._form-content > ._form_element:not(:has([name="firstname"])):not(:has([name="lastname"])):not(:has([name="email"])),
.gc-js form._form_3:not([data-gc-steps]) ._form-content > ._button-wrapper { display: none !important; }
