/* Motion Prod Service Card */
.cmpw_service_card_module{height:100%}
.cmpw_service_card_module .et_pb_module_inner{height:100%}
.cmpw-service-card{
	--cmpw-green:#57d78a;
	--cmpw-ink:#101010;
	--cmpw-white:#fff;
	position:relative;
	container-type:inline-size;
	display:flex;
	flex-direction:column;
	min-height:315px;
	height:auto;
	padding:28px 24px 22px;
	overflow:hidden;
	background:var(--cmpw-white);
	color:var(--cmpw-ink);
	border:2px solid var(--cmpw-green);
	border-radius:12px;
	box-shadow:0 9px 26px rgba(0,0,0,.09);
	transition:background-color .38s cubic-bezier(.2,.7,.2,1),min-height .42s cubic-bezier(.2,.7,.2,1),transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s cubic-bezier(.2,.7,.2,1),color .38s ease;
	outline:none;
}
.cmpw-service-card__top{display:flex;align-items:flex-start;justify-content:flex-end;min-height:28px}
.cmpw-service-card__plus{
	display:grid;place-items:center;width:27px;height:27px;border:2px solid var(--cmpw-green);border-radius:8px;
	color:var(--cmpw-green);font:400 18px/1 Arial,sans-serif;opacity:.72;transition:.35s ease
}
.cmpw-service-card__content{display:flex;flex:1;min-width:0;flex-direction:column;padding-top:16px}
.cmpw-service-card__title{
	margin:0 0 20px!important;
	padding:0!important;
	max-width:100%;
	color:var(--cmpw-ink);
	font-size:clamp(18px,7.2cqw,30px);
	line-height:1.08;
	letter-spacing:clamp(.025em,.25cqw,.08em);
	font-weight:700;
	text-transform:uppercase;
	overflow-wrap:break-word;
	word-break:normal;
	hyphens:none;
	transition:color .35s ease,transform .35s ease
}
.cmpw-service-card__description{
	font-size:14px;line-height:1.55;color:rgba(16,16,16,.72);transition:color .35s ease
}
.cmpw-service-card__description p{margin:0!important;padding:0!important}
.cmpw-service-card__hover-content{
	max-height:0;overflow:hidden;opacity:0;transform:translateY(12px);
	transition:max-height .46s cubic-bezier(.2,.7,.2,1),opacity .28s ease,transform .38s cubic-bezier(.2,.7,.2,1),margin .38s ease
}
.cmpw-service-card__features{list-style:none!important;margin:18px 0 0!important;padding:15px 0 0!important;border-top:1px solid rgba(16,16,16,.16)}
.cmpw-service-card__features li{display:flex;align-items:flex-start;gap:9px;margin:0 0 8px!important;padding:0!important;font-size:12px;line-height:1.4}
.cmpw-service-card__check{flex:0 0 auto}
.cmpw-service-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:44px;margin-top:auto;padding-top:18px;overflow:visible}
.cmpw-service-card__cta{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:0;max-width:100%;padding:5px 15px;
	background:transparent;
	border:1px solid #1054e5;
	line-height: 23px;
	letter-spacing:1px;
	border-radius:8px;
	color:#1054e5!important;
	text-decoration:none!important;
	font-family:"Acumin Pro Wide","Acumin Variable Concept",Arial,sans-serif;
	font-size:14px;font-weight:400;
	opacity:0;visibility:hidden;transform:translateY(8px);
	transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .32s ease,opacity .32s ease
}
.cmpw-service-card__arrow{display:block;flex:0 0 auto;margin-left:auto;padding-right:2px;font-size:clamp(18px,6.5cqw,25px);line-height:1;transition:.3s ease}
@media (hover:hover) and (pointer:fine){
	.cmpw-service-card:hover,.cmpw-service-card:focus-within,.cmpw-service-card:focus{
		min-height:410px;
		background:var(--cmpw-green);transform:translateY(-5px);box-shadow:0 16px 42px rgba(87,215,138,.22)
	}
	.cmpw-service-card:hover .cmpw-service-card__hover-content,.cmpw-service-card:focus-within .cmpw-service-card__hover-content,.cmpw-service-card:focus .cmpw-service-card__hover-content{
		max-height:320px;opacity:1;transform:translateY(0);margin-top:18px
	}
	.cmpw-service-card:hover .cmpw-service-card__cta,.cmpw-service-card:focus-within .cmpw-service-card__cta,.cmpw-service-card:focus .cmpw-service-card__cta{
		opacity:1;visibility:visible;transform:translateY(0)
	}
	.cmpw-service-card:hover .cmpw-service-card__arrow,.cmpw-service-card:focus-within .cmpw-service-card__arrow,.cmpw-service-card:focus .cmpw-service-card__arrow{
		opacity:0;transform:translateX(10px)
	}
}
.cmpw-service-card.is-active{min-height:410px;background:var(--cmpw-green);box-shadow:0 16px 42px rgba(87,215,138,.22)}
.cmpw-service-card.is-active .cmpw-service-card__plus{color:#fff;border-color:rgba(255,255,255,.75);transform:rotate(45deg)}
.cmpw-service-card.is-active .cmpw-service-card__hover-content{max-height:340px;opacity:1;transform:translateY(0);margin-top:18px}
.cmpw-service-card.is-active .cmpw-service-card__cta{opacity:1;visibility:visible;transform:translateY(0)}
.cmpw-service-card.is-active .cmpw-service-card__arrow{opacity:0}
@media (max-width:767px){
	.cmpw-service-card{min-height:360px;padding:24px 20px 20px}
	.cmpw-service-card__content{padding-top:22px}
}
@media (prefers-reduced-motion:reduce){
	.cmpw-service-card,.cmpw-service-card *{transition:none!important}
}





.cmpw-service-card__cta:hover,
.cmpw-service-card__cta:focus{
	background:transparent;
	border-color:#1054e5;
	color:#1054e5!important;
}


/* Responsive behaviour based on the real card width, not only viewport width. */
@container (max-width:280px){
	.cmpw-service-card{padding-left:20px;padding-right:20px}
	.cmpw-service-card__content{padding-top:24px}
	.cmpw-service-card__title{font-size:clamp(17px,7.4cqw,23px);line-height:1.06;letter-spacing:.025em}
	.cmpw-service-card__arrow{font-size:20px}
}
@container (max-width:230px){
	.cmpw-service-card{padding-left:16px;padding-right:16px}
	.cmpw-service-card__top{min-height:48px}
	.cmpw-service-card__content{padding-top:18px}
	.cmpw-service-card__title{font-size:clamp(16px,7.2cqw,19px);margin-bottom:14px!important;letter-spacing:.015em}
	.cmpw-service-card__description{font-size:13px}
	.cmpw-service-card__footer{gap:8px;padding-top:12px}
	.cmpw-service-card__arrow{font-size:18px}
	.cmpw-service-card__cta{padding-left:10px;padding-right:10px;font-size:12px}
}


/* =========================================================
   MOTION PROD — TEAM CARD
   ========================================================= */
.cmpw_team_card_module{
	height:100%;
	border-radius:15px;
	overflow:hidden;
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}
.cmpw_team_card_module .et_pb_module_inner{height:100%}
.cmpw-team-card{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	display:flex;
	align-items:flex-end;
	width:100%;
	aspect-ratio:417 / 483;
	min-height:360px;
	background:transparent;
	border-radius:15px;
	color:#fff;
}
.cmpw-team-card__overlay{
	position:absolute;
	inset:0;
}
.cmpw-team-card__overlay{
	z-index:-1;
	background:linear-gradient(180deg,rgba(14,13,13,0) 35%,rgba(14,13,13,.18) 58%,rgba(14,13,13,.78) 100%);
}
.cmpw-team-card__content{
	display:flex;
	flex-direction:column;
	align-items:stretch;
	justify-content:flex-end;
	gap:16px;
	width:100%;
	min-width:0;
	padding:0 24px 24px;
}
.cmpw-team-card__copy{
	width:100%;
	max-width:none;
	min-width:0;
}
.cmpw-team-card__title{
	margin:0 0 8px!important;
	padding:0!important;
	color:#57d78a;
	font-family:Quantico,Arial,sans-serif;
	font-size:20px;
	font-weight:400;
	line-height:1.15;
	letter-spacing:.14em;
	text-transform:none;
}
.cmpw-team-card__subtitle{
	margin:0;
	color:#fff;
	font-family:"Acumin Pro","Acumin Variable Concept",Arial,sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.35;
}
.cmpw-team-card__subtitle p{margin:0!important;padding:0!important}
.cmpw-team-card__link,
.cmpw-team-card__plus{
	flex:0 0 auto;
}
.cmpw-team-card__link{
	display:flex;
	align-items:center;
	justify-content:center;
	align-self:flex-end;
	width:30px;
	height:30px;
	border-radius:8px;
	text-decoration:none!important;
}
.cmpw-team-card__plus{
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	background:#57d78a;
	border:1px solid #57d78a;
	border-radius:8px;
	color:#fff;
	font-family:"Acumin Pro Wide","Acumin Variable Concept",Arial,sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1;
	transform:rotate(0deg);transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .32s cubic-bezier(.2,.7,.2,1);
}
.cmpw-team-card__link:hover .cmpw-team-card__plus,
.cmpw-team-card__link:focus .cmpw-team-card__plus{
	background:#57d78a;
	border-color:#57d78a;
	color:#fff;
	transform:rotate(45deg);
}
@media (hover:hover) and (pointer:fine){
	.cmpw-team-card:hover }
@media (max-width:767px){
	.cmpw-team-card{min-height:420px}
	.cmpw-team-card__content{padding:0 20px 20px;gap:14px}
	.cmpw-team-card__copy{width:100%;max-width:none}
	.cmpw-team-card__title{font-size:18px}
	.cmpw-team-card__subtitle{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
	.cmpw-team-card__plus{transition:none!important}
}

@media (hover:hover) and (pointer:fine){
	.cmpw-team-card:hover .cmpw-team-card__plus{
		transform:rotate(45deg);
	}
}
.cmpw-team-card:focus-within .cmpw-team-card__plus{
	transform:rotate(45deg);
}

.cmpw-team-card__content > .cmpw-team-card__plus{
	align-self:flex-end;
}


/* =========================================================
   SERVICE CARD — COMPACT MOBILE VIEW
   ========================================================= */
@media (max-width:767px){
	.cmpw-service-card{
		min-height:0;
		height:auto;
		padding:18px 16px;
		border-radius:8px;
		box-shadow:none;
	}

	.cmpw-service-card__top{
		min-height:0;
		margin-bottom:0;
	}

	
	.cmpw-service-card__plus{
		position:absolute;
		top:12px;
		right:12px;
		width:18px;
		height:18px;
		border-radius:6px;
		font-size:12px;
		background:transparent;
		border-color:var(--cmpw-green);
		color:var(--cmpw-green);
		opacity:1;
		visibility:visible;
	}

	.cmpw-service-card__content{
		padding-top:0;
		min-height:0;
	}

	.cmpw-service-card__title{
		margin:0!important;
		max-width:calc(100% - 34px);
		font-size:clamp(18px,6.5vw,24px);
		line-height:1.12;
		letter-spacing:.08em;
	}

	.cmpw-service-card__default-copy{
		display:none;
	}

	.cmpw-service-card__hover-content{
		max-height:0;
		margin:0;
		opacity:0;
		transform:none;
		overflow:hidden;
	}

	.cmpw-service-card__features{
		margin:12px 0 0!important;
		padding:12px 0 0!important;
	}

	.cmpw-service-card__features li{
		font-size:12px;
		margin-bottom:6px!important;
	}

	.cmpw-service-card__footer{
		display:none;
	}

	.cmpw-service-card.is-active{
		min-height:0;
		padding:18px 16px 20px;
		background:var(--cmpw-green);
		box-shadow:none;
		transform:none;
	}

	.cmpw-service-card.is-active .cmpw-service-card__plus{
		background:transparent;
		border-color:#fff;
		color:#fff;
		opacity:1;
		visibility:visible;
		transform:rotate(45deg);
	}

	.cmpw-service-card.is-active .cmpw-service-card__default-copy{
		display:block;
		margin-top:12px;
		padding-right:26px;
	}

	.cmpw-service-card.is-active .cmpw-service-card__description{
		font-size:12px;
		line-height:1.35;
		color:rgba(16,16,16,.72);
	}

	.cmpw-service-card.is-active .cmpw-service-card__hover-content{
		max-height:260px;
		margin-top:10px;
		opacity:1;
	}

	.cmpw-service-card.is-active .cmpw-service-card__cta,
	.cmpw-service-card.is-active .cmpw-service-card__arrow{
		display:none!important;
	}
}


/* =========================================================
   MOTION PROD — PROJECT ACCORDION
   ========================================================= */
.cmpw_project_accordion_module{width:100%}
.cmpw-project-accordion{
	--cmpw-project-green:#57d78a;
	display:flex;
	align-items:stretch;
	gap:14px;
	width:100%;
	height:430px;
	min-width:0;
}
.cmpw-project-accordion__panel{
	position:relative;
	flex:1 1 0;
	min-width:76px;
	overflow:hidden;
	background:#b4b4b4 center/cover no-repeat;
	border:2px solid var(--cmpw-project-green);
	border-radius:15px;
	cursor:pointer;
	transition:flex .55s cubic-bezier(.2,.7,.2,1),transform .35s ease;
	outline:none;
}
.cmpw-project-accordion__panel.is-active{
	flex:4.6 1 0;
}
.cmpw-project-accordion__shade{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,rgba(14,13,13,0) 58%,rgba(14,13,13,.12) 100%);
	pointer-events:none;
}
.cmpw-project-accordion__link{
	position:absolute;
	right:9px;
	bottom:9px;
	z-index:3;
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	text-decoration:none!important;
}
.cmpw-project-accordion__plus{
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	background:var(--cmpw-project-green);
	border:1px solid var(--cmpw-project-green);
	border-radius:8px;
	color:#0e0d0d;
	font-family:"Acumin Pro Wide","Acumin Variable Concept",Arial,sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1;
	transform:rotate(0deg);
	transition:transform .32s cubic-bezier(.2,.7,.2,1),background-color .25s ease,color .25s ease;
}
.cmpw-project-accordion__panel:hover .cmpw-project-accordion__plus,
.cmpw-project-accordion__panel:focus-within .cmpw-project-accordion__plus{
	transform:rotate(45deg);
}
.cmpw-project-accordion__builder-label{
	position:absolute;
	left:14px;
	bottom:14px;
	max-width:calc(100% - 58px);
	color:#0e0d0d;
	font-size:12px;
	line-height:1.3;
}
.cmpw-project-accordion__empty{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:180px;
	padding:24px;
	border:2px dashed rgba(87,215,138,.5);
	border-radius:15px;
	color:rgba(255,255,255,.7);
	text-align:center;
}
@media (max-width:767px){
	.cmpw-project-accordion{
		flex-direction:column;
		height:auto;
		gap:10px;
	}
	.cmpw-project-accordion__panel{
		flex:none;
		width:100%;
		min-width:0;
		height:76px;
		min-height:76px;
		border-radius:10px;
		transition:height .45s cubic-bezier(.2,.7,.2,1);
	}
	.cmpw-project-accordion__panel.is-active{
		flex:none;
		height:280px;
	}
}
@media (prefers-reduced-motion:reduce){
	.cmpw-project-accordion__panel,
	.cmpw-project-accordion__plus{
		transition:none!important;
	}
}
