/* Book a call: inline Calendly + sticky "Book a call" pill (Elevate Growth booking link) */
.cta { text-align: center; overflow: hidden; }
.cta::before { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(60% 60% at 50% 120%, rgba(0, 150, 220, 0.14), transparent 70%); }
.cta__wrap { position: relative; }
.cta__title { margin-bottom: 14px; }
.cta__sub { margin: 0 auto 34px; max-width: 46ch; font-size: 1.04rem; line-height: 1.6; color: var(--text-2); }
.cal-inline { position: relative; width: min(1000px, 100%); margin: 0 auto; height: min(760px, 92vh); border-radius: 20px; overflow: hidden;
  background: var(--surface); border: 1px solid var(--line); box-shadow: 0 30px 80px -40px rgba(18, 26, 34, 0.35); }
.cal-inline__wait { position: absolute; inset: 0; display: grid; place-items: center; font-size: 0.95rem; color: var(--text-3); }
.cal-inline iframe { position: relative; width: 100%; height: 100%; border: 0; display: block; background: var(--surface); }
.cal-alt { margin: 18px 0 0; font-size: 0.9rem; color: var(--text-3); }
.cal-alt a { color: var(--accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.stickycta { position: fixed; right: clamp(16px, 3vw, 28px); bottom: clamp(16px, 3vw, 28px); z-index: 60;
  display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 980px;
  background: var(--accent); color: var(--accent-ink); font-size: 0.98rem; font-weight: 600; letter-spacing: -0.01em; text-decoration: none;
  box-shadow: 0 12px 40px rgba(3, 105, 161, 0.38), 0 0 0 1px rgba(18, 26, 34, 0.06);
  opacity: 0; visibility: hidden; transform: translateY(14px) scale(0.96);
  transition: opacity 0.35s var(--ease), transform 0.35s var(--ease), visibility 0s linear 0.35s; }
.stickycta.is-visible { opacity: 1; visibility: visible; transform: none; transition: opacity 0.35s var(--ease), transform 0.35s var(--ease), visibility 0s; }
.stickycta.is-visible:hover { transform: translateY(-2px) scale(1.02); }
.stickycta__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent-ink); animation: stickyPulse 2.4s var(--ease) infinite; }
@keyframes stickyPulse { 0% { box-shadow: 0 0 0 0 rgba(244, 246, 248, 0.55); } 70%, 100% { box-shadow: 0 0 0 7px transparent; } }

@media (max-width: 700px) { .cal-inline { height: 80vh; border-radius: 16px; } }
@media (max-width: 560px) {
  .stickycta { left: clamp(16px, 3vw, 28px); right: clamp(16px, 3vw, 28px); justify-content: center; padding: 12px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .stickycta, .stickycta.is-visible { transform: none; transition: opacity 0.25s linear; }
  .stickycta__dot { animation: none; }
}
