.CTA[data-style] {
	background: var(--orange);
	position: relative;
}

.CTA .container {
	text-align: center;
	padding: 130rem;
	background: var(--white);
	border-radius: 20rem;
}

.CTA .content h2 {color: var(--blue);}
.CTA .content h5 {margin: 1em 0; font-family: 'Noto Sans', sans-serif; font-weight: 600; }
.CTA .content h2 + :is(h4, h5, p):nth-child(2) { margin: 1em 0; font-family: 'Noto Sans', sans-serif; font-weight: 600; }

/* decorations */

.CTA .deco-1 {
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 100%;
	width: 460rem;
	height: 280rem;
	background: url(images/deco-1.svg) no-repeat center / 100%;
	transform: translate(130rem, 90rem);
}

.CTA .deco-2 {
	pointer-events: none;
	position: absolute;
	bottom: 0;
	left: 100%;
	width: 460rem;
	height: 370rem;
	background: url(images/deco-2.svg) no-repeat center / 100%;
	transform: translate(-130rem, 0);
}

.b-page-body > .CTA:last-child .rounded-mask {
	pointer-events: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 240rem;
	height: 240rem;
	overflow: hidden;
}

.b-page-body > .CTA:last-child .rounded-mask::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 240rem 0 0 0;
	box-shadow: -120rem -120rem 0 120rem var(--orange);
}

@media screen and (max-width: 1600px) {
	.b-page-body > .CTA:last-child .rounded-mask {width: 120rem; height: 120rem;}
	.b-page-body > .CTA:last-child .rounded-mask::after {border-radius: 120rem 0 0 0; box-shadow: -60rem -60rem 0 60rem var(--orange);}
}

@media screen and (max-width: 960px) {
	.CTA .container {padding: 40rem 20rem;}
	.CTA .deco-1 {transform: scale(0.43) translate(652rem, -186rem);}
	.CTA .deco-2 {transform: scale(0.43) translate(-441rem, 246rem);}
	.b-page-body > .CTA:last-child .rounded-mask {display: none;}
}


/* STYLES */

.CTA[data-style='blue'] { background: var(--blue); }

.CTA[data-style='blue'] .image { margin: -60rem -40rem; }

.CTA[data-style='blue'] .b-column + .b-column > .content {
	text-align: left;
	margin-left: 80rem;
}

.CTA[data-style='blue'] .deco-1 {
	top: auto;
	bottom: 0;
	transform: translate(130rem, -90rem) scale(1, -1);
}

.CTA[data-style='blue'] .deco-2 {
	top: 0;
	bottom: auto;
	left: 100%;
	width: 460rem;
	height: 370rem;
	background: url(images/deco-2.svg) no-repeat center / 100%;
	transform: translate(-130rem, 0) scale(1, -1);
}

@media screen and (max-width: 960px) {
	.CTA[data-style='blue'] .image { margin: 0; }
	.CTA[data-style='blue'] .b-column + .b-column > .content { margin-left: 0; }
	.CTA[data-style='blue'] .deco-1 {transform: scale(0.43, -0.43) translate(652rem, -186rem);}
	.CTA[data-style='blue'] .deco-2 {transform: scale(0.43, -0.43) translate(-441rem, 246rem);}
}

/* Mike Overrides */

.b-page-body>.CTA.customer-success-container:last-child .rounded-mask:before {
    box-shadow: -120rem -120rem 0 120rem #fff;
}


/* =========================================================
   Next Gen CTA
========================================================= */

.CTA[data-style='next-gen'] {
	background: var(--white);
	position: relative;
	overflow: visible;
}

.CTA[data-style='next-gen'] .b-frame {
	max-width: 1010rem;
	padding: 140rem 40rem 80rem;
	position: relative;
	z-index: 1;
}

.CTA[data-style='next-gen'] .container {
	position: relative;
	z-index: 3;
	overflow: hidden;
	text-align: center;
	padding: 80rem 70rem 60rem;
	border-radius: 30rem;
	border: 3rem solid rgba(252, 117, 92, 0.75);
	background: linear-gradient(to bottom right, rgba(241, 127, 107, 0.05) 0%, rgba(252, 117, 92, 0.20) 100%);
	box-shadow: 0 6rem 14rem rgba(0, 0, 0, 0.18);
	backdrop-filter: blur(6rem);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.CTA[data-style='next-gen'] .container:hover {
	transform: translateY(-5rem);
}


.CTA[data-style='next-gen'] .b-columns {
	position: relative;
	z-index: 2;
}

.CTA[data-style='next-gen'] .container .b-columns.alt-middle {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	text-align: center;
	gap: 20rem;
}

.CTA[data-style='next-gen'] .content h2,
.CTA[data-style='next-gen'] .content h4,
.CTA[data-style='next-gen'] .content h5,
.CTA[data-style='next-gen'] .content p {
	color: var(--blue);
}

.CTA[data-style='next-gen'] .content h2 {
	padding-bottom: 0.4em;
	font-weight: 600;
}

.CTA[data-style='next-gen'] .image {
	display: flex;
	justify-content: center;
}

.CTA[data-style='next-gen'] .b-img {
	width: 56rem;
	height: auto;
	margin: 0 auto;
}

/* Decorations */

.CTA[data-style='next-gen'] .deco-1,
.CTA[data-style='next-gen'] .deco-2 {
	display: none;

	position: absolute;
	pointer-events: none;

	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.CTA[data-style='next-gen'][data-decorations='next-gen-left'] .deco-1 {
	display: block;
	top: 50%;
	left: 0;
	width: 400rem;
   height: 400rem;
   transform: translate(-52%, -10%);
	background-image: url('./images/deco-3.svg');
	z-index: 2;
}

.CTA[data-style='next-gen'][data-decorations='next-gen-right'] .deco-2 {
	display: block;
	top: 50%;
	right: 0;
	width: 400rem;
   height: 400rem;
   transform: translate(-49%, -25%);
   background-image: url('./images/deco-4.svg');
   z-index: 2;
}

/* Rounded mask */

.b-page-body > .CTA[data-style='next-gen']:last-child .rounded-mask::before {
	box-shadow: -120rem -120rem 0 120rem var(--white);
}

/* Desktop */

@media screen and (min-width: 961px) {

	.CTA[data-style='next-gen'] .content h2 {
		font-size: 38rem;
	}

}

/* Mobile */

@media screen and (max-width: 960px) {

	.CTA[data-style='next-gen'] .b-frame {
		max-width: var(--frame-width) !important;
		padding: 80rem 24rem 60rem;
	}

	.CTA[data-style='next-gen'] .container {
		padding: 60rem 28rem 48rem;
		border-radius: 24rem;
	}

	.CTA[data-style='next-gen'] .b-img {
		width: 52rem;
	}

	.CTA[data-style='next-gen'] .deco-1,
	.CTA[data-style='next-gen'] .deco-2 {
		display: none !important;
	}

}