/* CTA banner — dark card, title + text on one side, gradient button on the other */
.cta-banner { padding-block: var(--space-4); }
/* Between two sections the banner shares their spacing instead of adding its own on top */
.section + .cta-banner { margin-block-start: calc(var(--section-gap) * -0.5); }
.cta-banner + .section { padding-block-start: calc(var(--section-gap) * 0.5); }
.cta-banner__card { position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); padding: var(--space-6) var(--space-8); overflow: hidden; border-radius: var(--radius-lg); background: var(--color-primary); color: var(--color-bg); isolation: isolate; }
.cta-banner__glow { position: absolute; inset-block: -40%; inset-inline-end: -10%; z-index: -1; width: 55%; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--color-secondary) 35%, transparent), transparent); pointer-events: none; }
.cta-banner__title { margin: 0; color: var(--color-bg); font-size: var(--text-2xl); font-weight: var(--weight-bold); line-height: 1.1; }
.cta-banner__text { margin: var(--space-3) 0 0; max-width: 46ch; font-size: var(--text-base); opacity: 0.85; }
.cta-banner__btn { flex: none; }

@media (max-width: 767px) {
	.cta-banner { padding-block: var(--space-7); }
	.cta-banner__card { flex-direction: column; align-items: stretch; gap: var(--space-5); padding: var(--space-6) var(--space-5); text-align: center; }
	.cta-banner__glow { inset-inline-end: -30%; width: 120%; inset-block: auto -50%; height: 100%; }
	.cta-banner__text { margin-inline: auto; }
	.cta-banner__btn { justify-content: center; }
}
