/* Block: CTA */

.block-cta .cols { gap: var(--spacing-gap-large); }

.block-cta h2 {
    opacity: 0;
    will-change: transform;
}

.block-cta h2 .line {
    padding-bottom: 0.2em;
    margin-bottom: -0.2em;
}

.block-cta .cta-description {
    gap: var(--spacing-gap-medium);
    justify-content: space-between;
    color: var(--color-subtext);
}

.block-cta .cta-description .side-text-large {
    text-wrap: balance;
}

.block-cta .cols.w-90 { gap: var(--spacing-gap-large); }

.block-cta .cta-button-text { overflow: hidden; justify-content:flex-end; }

/* ── CTA button nudge loop ── */
.block-cta .cta-button .cta-button-patch {
    animation: cta-nudge-patch 2.3s cubic-bezier(0.4, 0, 0.2, 1) infinite paused;
    transition: transform 320ms cubic-bezier(0.2, 0.9, 0.2, 1),
                translate 320ms cubic-bezier(0.2, 0.9, 0.2, 1),
                border-radius 320ms cubic-bezier(0.2, 0.9, 0.2, 1);
}

.block-cta .cta-button.cta-nudge-active .cta-button-patch {
    animation-play-state: running;
}

.block-cta .cta-button:hover .cta-button-patch {
    animation-play-state: paused;
    translate: 0 !important;
}

@keyframes cta-nudge-patch {
    0%, 100% { translate: -2px; }
    40%      { translate: 2.5px; }
    70%      { translate: -2px; }
}

@container page-content (max-width: 1024px) {
    .block-cta .text-content p { text-align: center; }
    .block-cta .buttons { justify-content: center; }
    .block-cta .cta-description { gap: var(--spacing-gap-large); }
}