
.cy-cta-band {
	font-family: var(--cy-font-body);
}

.cta-content {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.cta-content h2 {
	color: var(--cy-text-primary);
	font: var(--cy-display-md);
	margin: 0;
	max-width: 670px;
}

@media (max-width: 1080px) {
	.cy-cta-band {
		padding: 80px 0;
	}
	
	.cta-content {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 720px) {
	.cy-cta-band {
		padding: 64px 0;
	}
	
	.cy-cta-band:not(.cy-cta-band-flat) > .cy-col {
		padding-inline: 20px;
	}
	
	.cy-cta-band:not(.cy-cta-band-flat) .cta-content {
		align-items: center;
		isolation: isolate;
		position: relative;
		text-align: center;
	}
	
	.cy-cta-band:not(.cy-cta-band-flat) .cta-content:before {
		background: var(--cy-surface-band);
		border-radius: 50%;
		content: "";
		filter: blur(22px);
		inset: -28px -20px;
		pointer-events: none;
		position: absolute;
		z-index: -1;
	}
	
	.cy-cta-band:not(.cy-cta-band-flat) .cta-content h2 {
		font-size: 28px;
		line-height: 34px;
		max-width: none;
		width: 100%;
	}
}

.cy-cta-band.cy-cta-band-flat {
	background: var(--cy-surface-band);
	border-bottom: 1px solid var(--cy-border-subtle);
	border-top: 1px solid var(--cy-border-subtle);
	padding: 120px 0;
}

.cy-cta-band.cy-cta-band-flat > .cy-col {
	padding-inline: 0;
}

.cy-cta-band.cy-cta-band-flat .ctaf-glyph-host {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cy-cta-band.cy-cta-band-flat .ctaf-glyph {
	display: block;
	height: 100%;
	width: 100%;
}

.cy-cta-band.cy-cta-band-flat .cta-copy {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-width: 0;
}

.cy-cta-band.cy-cta-band-flat .cta-desc {
	color: var(--cy-text-secondary);
	font: var(--cy-body-md);
	margin: 0;
	max-width: 1004px;
}

.cy-cta-band.cy-cta-band-flat .cta-content--desc h2 {
	font: var(--cy-display-sm);
	max-width: 832px;
}

@media (max-width: 1080px) {
	.cy-cta-band.cy-cta-band-flat {
		padding: 80px 0;
	}
}

@media (max-width: 720px) {
	.cy-cta-band.cy-cta-band-flat {
		padding: 64px 0;
	}
	
	.cy-cta-band.cy-cta-band-flat .cta-content > a {
		height: auto;
		justify-content: center;
		min-height: 48px;
		padding-block: 12px;
		text-align: center;
		white-space: normal;
		width: 100%;
	}
}
