/* Atomic CTA bridge: image presence switches the complete card variant. */
.elementor .cta-card__overlay {
	pointer-events: none;
	background: transparent;
	transition: background 220ms cubic-bezier(.2, .7, .2, 1);
}

.elementor .cta-card:has(> .cta-card__media) .cta-card__overlay {
	background: linear-gradient(180deg, rgb(20 25 26 / 8%) 15%, rgb(20 25 26 / 38%) 54%, rgb(20 25 26 / 88%) 100%);
}

.elementor .cta-card {
	transition-timing-function: cubic-bezier(.2, .7, .2, 1);
}

.elementor .cta-card > .cta-card__media,
.elementor .cta-card > .cta-icon {
	transition: transform 220ms cubic-bezier(.2, .7, .2, 1);
}

.elementor .cta-card:hover > .cta-card__media,
.elementor .cta-card:focus-visible > .cta-card__media {
	transform: scale(1.035);
}

.elementor .cta-card:has(> .cta-card__media):hover > .cta-card__overlay,
.elementor .cta-card:has(> .cta-card__media):focus-visible > .cta-card__overlay {
	background: linear-gradient(180deg, rgb(20 25 26 / 12%) 15%, rgb(20 25 26 / 46%) 54%, rgb(20 25 26 / 92%) 100%);
}

.elementor .cta-card:hover > .cta-icon,
.elementor .cta-card:focus-visible > .cta-icon {
	transform: translateX(3px);
}

.elementor .cta-card:focus-visible {
	outline: 3px solid var(--teal-feature);
	outline-offset: 4px;
}

.elementor .cta-card:has(> .cta-card__media) .cta-title {
	color: var(--white);
}

.elementor .cta-card:has(> .cta-card__media) .cta-text {
	color: var(--teal-tint);
}

.elementor .cta-card > .cta-icon svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
}

/* Dynamic child-page navigation in standard-page template 90. */
.elementor.elementor-90 .ges-child-page-navigation,
.elementor.elementor-90 .ges-child-page-loop,
.elementor.elementor-90 .ges-child-page-loop .elementor-loop-container {
	width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

.elementor.elementor-90 .ges-child-page-loop .elementor-loop-container {
	gap: var(--spacing-flow, 24px);
}

.elementor.elementor-90 .ges-child-page-loop :where(.e-loop-item, .e-loop-item > .elementor, .e-loop-item > .elementor > .e-con) {
	min-height: 100%;
}

.elementor.elementor-90 .ges-child-page-loop .cta-card--compact {
	height: 100%;
	cursor: pointer;
}

.elementor.elementor-90 .ges-child-page-loop .e-loop-item:nth-child(3n + 1) .cta-card--compact {
	background: var(--teal-feature, var(--ges-teal-feature));
}

.elementor.elementor-90 .ges-child-page-loop .e-loop-item:nth-child(3n + 2) .cta-card--compact {
	background: var(--teal-deep, var(--ges-teal-deep));
}

.elementor.elementor-90 .ges-child-page-loop .e-loop-item:nth-child(3n) .cta-card--compact {
	background: var(--orange-deep, var(--ges-orange-deep));
}

.elementor.elementor-90 .ges-child-page-loop .cta-card--compact > .cta-card__overlay {
	background: linear-gradient(180deg, rgb(20 25 26 / 8%) 12%, rgb(20 25 26 / 28%) 52%, rgb(20 25 26 / 78%) 100%);
}

.elementor.elementor-90 .ges-child-page-loop .cta-card--compact:is(:hover, :focus-visible) > .cta-card__overlay {
	background: linear-gradient(180deg, rgb(20 25 26 / 12%) 12%, rgb(20 25 26 / 36%) 52%, rgb(20 25 26 / 86%) 100%);
}

.elementor.elementor-90 .ges-child-page-loop .cta-card--compact .cta-title {
	color: var(--white, var(--ges-white));
}

/* Defensive fallback while an external full-page cache is being refreshed. */
.elementor.elementor-90 .child-navigation:has(.e-loop-nothing-found-message) {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.elementor .cta-card,
	.elementor .cta-card > .cta-card__media,
	.elementor .cta-card > .cta-card__overlay,
	.elementor .cta-card > .cta-icon {
		transition-duration: 0.01ms !important;
	}

	.elementor .cta-card:hover,
	.elementor .cta-card:focus-visible,
	.elementor .cta-card:hover > .cta-card__media,
	.elementor .cta-card:focus-visible > .cta-card__media,
	.elementor .cta-card:hover > .cta-icon,
	.elementor .cta-card:focus-visible > .cta-icon {
		transform: none;
	}
}

/* Atomic utility: append the normalized Figma arrow path to text elements. */
.elementor .arrow {
	max-inline-size: 100%;
	--ges-arrow-scale: .62em;
}

.elementor .arrow::after {
	display: inline-block;
	font-size: var(--ges-arrow-scale);
	width: 1.31em;
	height: 1em;
	margin-inline-start: .5em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.768 15.064'%3E%3Cpath d='M13.384 15.064 11.144 12.824 13.888 10.08 15.036 9.38 14.868 8.904 13.524 9.128H0V5.936h13.524l1.344.224.168-.476-1.148-.7-2.744-2.744L13.384 0l6.384 6.384V8.68l-6.384 6.384Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19.768 15.064'%3E%3Cpath d='M13.384 15.064 11.144 12.824 13.888 10.08 15.036 9.38 14.868 8.904 13.524 9.128H0V5.936h13.524l1.344.224.168-.476-1.148-.7-2.744-2.744L13.384 0l6.384 6.384V8.68l-6.384 6.384Z'/%3E%3C/svg%3E") center / contain no-repeat;
	vertical-align: -.1em;
	content: "";
}
