.cards__container {
	--card-padding: 2rem;
}
.cards__card {
	display:flex;
	flex-direction:column;
	background-repeat:no-repeat;
	background-size: var(--card-back-size,cover);
}
@media only screen and (max-width: 1200px) {
	.cards__card {
		background-size: var(--card-mob-back-size, var(--card-back-size));
	}
}

.cards__card--double {
	grid-column: span 2;
	text-align: center;
	align-items: center;
	background-color:#07C;
	justify-content: center;
}
.cards__card--double .component__ctas {
	justify-content:center;
}
@media only screen and (max-width:960px) {
	.cards__card--double {
		grid-column: span 1;
	}
}

.cards__card__image {
	display:flex;
	align-items:stretch;
	width:100%;
	position:relative;
}
.cards__card__image--padding{
	padding: var(--card-padding);
    padding-bottom: 0;
}
.cards__card__image::before {
	content:'';
	width:1px;
	margin-left:-1px;
}
.cards__card__image--16by9:before{
    padding-bottom: calc(100% / (16/9));
}
.cards__card__image--3by2:before{
    padding-bottom: calc(100% / (3/2));
}
.cards__card__image--4by3:before{
    padding-bottom: calc(100% / (4/3));
}
.cards__card__image--1by1:before{
    padding-bottom: calc(100% / (1/1));
}
.cards__card__image--2by3:before{
    padding-bottom: calc(100% / (2/3));
}
.cards__card__img {
    object-fit: cover;
    object-position: center;
	width:100%;
	height:100%;
	position:absolute;
	inset:0;
}
.cards__card__img--source {
	position:static;
	width:revert-layer;
	height:revert-layer;
	object-fit: contain;
}
.cards__card__img--full-width {
	position:static;
}
.cards__card__image--padding .cards__card__img:not(.cards__card__img--source,.cards__card__img--full-width){ 
    inset:var(--card-padding);
	bottom:0;
	width: calc(100% - (var(--card-padding) * 2));
    height: calc(100% - (var(--card-padding)));
}

.cards__card__container {
	padding: var(--card-padding);
	display:flex;
	flex-direction:column;
	flex:1;
	background-size: cover;
	background-repeat: no-repeat;
}
.cards__card--double .cards__card__container  {
	flex:none;
}

.cards__card a:not(.btn--custom, .btn--nt,.cta_button,[class*="hs-inline-web"]) {
	text-decoration:inherit;
	font-weight: inherit;
	color:inherit;
}
.cards__card a:not(.btn--custom, .btn--nt,.cta_button,[class*="hs-inline-web"]):hover {
	text-decoration:inherit;
	font-weight: inherit;
    color: inherit;
}

.cards__card__title--icon {
	display:flex;
	align-items: baseline;
}
.cards__card__title--icon::before {
	content: '';
	margin-right: 1.3rem;
    width: var(--header-icon-width);
    height: var(--header-icon-height);
    background-image: var(--header-icon-image);
    background-size: contain;
    background-repeat: no-repeat;
	translate: 0 calc(50% - 0.5ex);
	translate: 0 calc(50% - (0.5cap + 0.5ex)/2); /* 50% moves the center of the icon to the baseline of the text we then subtract the average of the lower height and capital height to move it to an optically central position */
}

.cards__card__text p:first-of-type{
	margin-top: 0;
}
.cards__card__text p:last-child {
    margin-bottom: 0;
}

.cards__card:has(.icon-frame) img,
.cards__card__text.icon-frame img {
	--frame-padding-ratio: 0.42;
	--frame-padding: calc(var(--icon-size,70px) * var(--frame-padding-ratio));
	
	padding: var(--frame-padding);
	background: var(--framing-color);
	box-sizing: content-box;
	--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 .134 C.096 .073 .283 0 .5 0 C.717 0 .904 .072 1 .134 L1 .866 C.904 .928 .717 1 .5 1 C.283 1 .096 .928 0 .866 Z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
    center / 100% 100% no-repeat;
	-webkit-mask: var(--mask);
	mask: var(--mask);
}

.cards__card__bullets {
    list-style: none;
    padding-left: 0;
	margin-bottom:3rem;
}
.cards__card__bullets li {
	margin-bottom: 0.7rem;
}
.cards__card__bullets--icon li {
	display: grid;
	grid-template-columns: var(--bullet-width) auto;
	gap: 1rem;
	align-items:baseline;
    position: relative;
    /* padding-left: 1.5rem; */
}
.cards__card__bullets--icon li::before {
    content: '';
	margin-right: 0.9rem;
    width: var(--bullet-width);
    height: var(--bullet-height);
    background-image: var(--bullet-image);
    background-size: contain;
    background-repeat: no-repeat;
	translate: 0 calc(50% - 0.5ex);
	translate: 0 calc(50% - (0.5cap + 0.5ex)/2); /* 50% moves the center of the icon to the baseline of the text we then subtract the average of the lower middle height and capital middle height to move it to an optically central position */
}

.cards__card__arrow {
    display: block;
	text-align:right;
	font-size:2.7rem;
    margin-top: 1rem;
	line-height:1;
}

:not(.cards__card--double) > .cards__card__container .component__ctas {
	margin-top: auto;
}



@media only screen and (min-width: 1101px) and (max-width: 1250px) {

	.cards__container.grid-row--3pr:has(.cards__card--double){
		--card-padding: 3.5rem !important;
	}
}

@media only screen and (max-width: 1100px) {
	.cards__container.grid-row--3pr:has(.cards__card--double){
		grid-template-columns: 100% !important;
	}

	.cards__container.grid-row--3pr:has(.cards__card--double) .cards__card--double{
		grid-column: auto;
	}

	.cards__container.grid-row--3pr:has(.cards__card--double) .cards__card__container .component__ctas{
		margin-top: 0;
	}
}