/*
Theme Name: Blocksy Child
Theme URI: https://creativethemes.com/blocksy/
Template: blocksy
Author: Ewebia
Author URI: https://www.ewebia.com/
Description: Blocksy is a fast, modern WordPress theme with advanced WooCommerce support and full compatibility with the block editor.
Tags: accessibility-ready,blog,block-patterns,e-commerce,wide-blocks,block-styles,grid-layout,one-column,two-columns,three-columns,four-columns,right-sidebar,left-sidebar,translation-ready,custom-colors,custom-logo,custom-menu,featured-images,footer-widgets,full-width-template,theme-options,threaded-comments
Version: 2.1.56.1782330295
Updated: 2026-05-12 08:40:21

*/

/* Kreyalab - Hero Elementor natif */
:root {
	--kl-hero-magenta: #e32298;
	--kl-hero-violet: #6a22c9;
	--kl-hero-night: #12144f;
	--kl-hero-white: #ffffff;
	--kl-hero-soft-white: rgba(255, 255, 255, 0.82);
	--kl-hero-line: rgba(255, 255, 255, 0.075);
	--kl-hero-stroke: rgba(255, 255, 255, 0.58);
	--kl-hero-shadow: rgba(10, 7, 42, 0.32);
	--kl-section2-purple: #23175c;
	--kl-section2-magenta: #a81976;
	--kl-section2-violet: #6226b6;
	--kl-section2-white: #ffffff;
	--kl-section2-soft: rgba(255, 255, 255, 0.86);
	--kl-section2-line: rgba(255, 255, 255, 0.065);
	--kl-services-pink: #de2491;
	--kl-services-purple: #7a24e3;
	--kl-services-night: #15154d;
	--kl-services-line: rgba(255, 255, 255, 0.065);
}

/* Kreyalab - correction finale sections À propos, sans toucher au hero */
body .kreyalab-about-meaning,
body .kreyalab-about-pillars,
body .kreyalab-about-team,
body .kreyalab-about-stats {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	padding-right: 24px !important;
	padding-left: 24px !important;
	background: #fff !important;
}

body .kreyalab-about-meaning > .e-con-inner,
body .kreyalab-about-pillars > .e-con-inner,
body .kreyalab-about-team > .e-con-inner,
body .kreyalab-about-stats > .e-con-inner {
	width: min(100%, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto !important;
	align-items: center !important;
}

body .kreyalab-about-meaning {
	padding-top: 58px !important;
	padding-bottom: 22px !important;
}

body .kreyalab-about-pillars {
	padding-top: 18px !important;
	padding-bottom: 56px !important;
}

body .kreyalab-about-team {
	padding-top: 58px !important;
	padding-bottom: 66px !important;
	background: linear-gradient(180deg, #fbf8ff 0%, #ffffff 100%) !important;
}

body .kreyalab-about-stats {
	padding-top: 46px !important;
	padding-bottom: 18px !important;
}

body .kl-about-eyebrow {
	width: 100% !important;
	margin: 0 auto 14px !important;
	text-align: center !important;
}

body .kl-about-eyebrow p {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	margin: 0 !important;
	color: #7b199f !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

body .kl-about-eyebrow p::before,
body .kl-about-eyebrow p::after {
	content: "" !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #de2491, #7a24e3) !important;
}

body .kl-about-meaning__title .elementor-heading-title,
body .kl-about-section-title .elementor-heading-title {
	margin: 0 !important;
	color: #080914 !important;
	font-size: clamp(32px, 3.4vw, 48px) !important;
	font-weight: 950 !important;
	line-height: 1.14 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

body .kl-about-meaning__title span,
body .kl-about-section-title span,
body .kl-about-pillar-card__title span {
	background: linear-gradient(135deg, #de2491 0%, #7a24e3 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
}

body .kl-about-meaning__text,
body .kl-about-section-subtitle {
	width: min(100%, 760px) !important;
	margin: 14px auto 0 !important;
}

body .kl-about-meaning__text p,
body .kl-about-section-subtitle p {
	margin: 0 !important;
	color: #343241 !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

body .kl-about-pillars__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	width: 100% !important;
	margin: 34px auto 0 !important;
	--display: grid !important;
}

body .kl-about-pillar-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
	min-height: 322px !important;
	padding: 32px 30px 28px !important;
	border: 1px solid rgba(122, 36, 227, 0.28) !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: 0 15px 34px rgba(18, 13, 42, 0.08) !important;
	text-align: left !important;
}

body .kl-about-pillar-card__icon {
	width: 62px !important;
	height: 62px !important;
	margin: 0 0 22px !important;
	border: 1px solid rgba(222, 36, 145, 0.55) !important;
	border-radius: 50% !important;
	background: rgba(222, 36, 145, 0.08) !important;
}

body .kl-about-pillar-card__icon .elementor-icon {
	display: grid !important;
	width: 62px !important;
	height: 62px !important;
	place-items: center !important;
	color: #8a19bc !important;
	font-size: 27px !important;
}

body .kl-about-pillar-card__icon svg,
body .kl-about-pillar-card__icon i {
	color: #8a19bc !important;
	fill: #8a19bc !important;
}

body .kl-about-pillar-card__title .elementor-heading-title {
	margin: 0 0 16px !important;
	color: #080914 !important;
	font-size: clamp(24px, 2.2vw, 30px) !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	text-align: left !important;
}

body .kl-about-pillar-card__text p {
	margin: 0 !important;
	color: #2f2d3d !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	text-align: left !important;
}

body .kl-about-link-button {
	margin-top: auto !important;
}

body .kl-about-link-button .elementor-button,
body .kl-about-recruit__button .elementor-button {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #7413a6 !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 900 !important;
}

body .kl-about-recruit__button .elementor-button {
	padding: 11px 22px !important;
	border: 1px solid rgba(222, 36, 145, 0.6) !important;
	border-radius: 6px !important;
}

body .kl-about-team__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px 36px !important;
	width: min(100%, 1080px) !important;
	margin: 28px auto 34px !important;
	--display: grid !important;
}

body .kl-about-team-card {
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
	border: 1px solid rgba(20, 17, 40, 0.08) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 15px 34px rgba(20, 17, 40, 0.1) !important;
}

body .kl-about-team-card__image {
	overflow: hidden !important;
	width: 100% !important;
	background: #eef0f2 !important;
}

body .kl-about-team-card__image img {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1.55 / 1 !important;
	object-fit: cover !important;
	object-position: center top !important;
}

body .kl-about-team-card__name .elementor-heading-title {
	margin: 13px 8px 2px !important;
	color: #080914 !important;
	font-size: 14px !important;
	font-weight: 950 !important;
	text-align: center !important;
}

body .kl-about-team-card__role p {
	margin: 0 8px 10px !important;
	color: #3d3b4a !important;
	font-size: 12px !important;
	text-align: center !important;
}

body .kl-about-team-card__bio {
	display: none !important;
}

body .kl-about-team-card__socials p {
	margin: 0 0 15px !important;
	color: #080914 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	text-align: center !important;
	word-spacing: 13px !important;
}

body .kl-about-recruit__title .elementor-heading-title {
	margin: 0 0 8px !important;
	color: #080914 !important;
	font-size: 30px !important;
	font-weight: 950 !important;
	text-align: center !important;
}

body .kl-about-recruit__text p {
	margin: 0 0 16px !important;
	color: #343241 !important;
	font-size: 15px !important;
	text-align: center !important;
}

body .kl-about-stats__content {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr) !important;
	gap: 24px !important;
	width: min(100%, 1120px) !important;
	margin: 28px auto 0 !important;
	align-items: stretch !important;
}

body .kl-about-stats__image {
	overflow: hidden !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 34px rgba(17, 13, 40, 0.12) !important;
}

body .kl-about-stats__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 250px !important;
	object-fit: cover !important;
}

body .kl-about-stats__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px !important;
}

body .kl-about-stat-card {
	justify-content: center !important;
	align-items: center !important;
	min-height: 250px !important;
	padding: 30px 18px !important;
	border: 1px solid rgba(122, 36, 227, 0.5) !important;
	border-radius: 8px !important;
	background: #fff !important;
	text-align: center !important;
}

body .kl-about-stat-card__number .elementor-heading-title {
	margin: 0 !important;
	color: #080914 !important;
	font-size: 52px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-align: center !important;
}

body .kl-about-stat-card__label .elementor-heading-title {
	margin: 8px 0 0 !important;
	color: #080914 !important;
	font-size: 18px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

body .kl-about-final-cta-v2 {
	position: relative !important;
	overflow: hidden !important;
	width: min(100% - 56px, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto 36px !important;
	padding: 46px 28px !important;
	border-radius: 10px !important;
	background:
		radial-gradient(circle at 10% 10%, rgba(222, 36, 145, 0.55) 0, transparent 34%),
		radial-gradient(circle at 88% 85%, rgba(122, 36, 227, 0.45) 0, transparent 32%),
		linear-gradient(135deg, #3b126b, #101149) !important;
	color: #fff !important;
}

body .kl-about-final-cta__title .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(30px, 4vw, 42px) !important;
	font-weight: 950 !important;
	text-align: center !important;
}

body .kl-about-final-cta__text p {
	max-width: 560px !important;
	margin: 0 auto 24px !important;
	color: rgba(255, 255, 255, .86) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	text-align: center !important;
}

body .kl-about-final-cta__actions {
	display: flex !important;
	justify-content: center !important;
	gap: 18px !important;
}

@media (max-width: 900px) {
	body .kl-about-pillars__grid,
	body .kl-about-team__grid,
	body .kl-about-stats__content,
	body .kl-about-stats__grid {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 767px) {
	body .kreyalab-about-meaning,
	body .kreyalab-about-pillars,
	body .kreyalab-about-team,
	body .kreyalab-about-stats {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	body .kl-about-pillars__grid,
	body .kl-about-team__grid,
	body .kl-about-stats__content,
	body .kl-about-stats__grid {
		grid-template-columns: 1fr !important;
	}

	body .kl-about-final-cta-v2 {
		width: min(100% - 28px, 520px) !important;
	}

	body .kl-about-final-cta__actions {
		flex-direction: column !important;
	}
}

/* Kreyalab - section formations accueil */
.kreyalab-academie {
	width: min(100% - 56px, 1320px) !important;
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 92px 0 !important;
	align-items: center !important;
	gap: 78px !important;
	background: #ffffff !important;
	color: #0b0b14;
}

.kreyalab-academie > .e-con {
	min-width: 0;
}

.kreyalab-academie > .e-con:first-child {
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 22px 52px rgba(17, 13, 40, 0.12);
}

.kreyalab-academie > .e-con:first-child img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
	object-position: center;
}

.kreyalab-academie > .e-con:nth-child(2) {
	gap: 32px !important;
}

.kreyalab-academie > .e-con:nth-child(2) > .e-con {
	position: relative;
	display: grid !important;
	grid-template-columns: 78px minmax(0, 1fr);
	align-items: start !important;
	column-gap: 34px !important;
	padding: 0 0 30px !important;
}

.kreyalab-academie > .e-con:nth-child(2) > .e-con:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: rgba(122, 36, 227, 0.18);
}

.kreyalab-academie .elementor-widget-icon {
	width: 78px !important;
	height: 78px !important;
	border-radius: 14px;
	background: linear-gradient(145deg, #de2491, #7a24e3);
	box-shadow: 0 18px 38px rgba(122, 36, 227, 0.18);
}

.kreyalab-academie .elementor-widget-icon .elementor-icon {
	display: grid;
	width: 78px;
	height: 78px;
	place-items: center;
	color: #ffffff !important;
	font-size: 35px;
}

.kreyalab-academie .elementor-widget-icon svg,
.kreyalab-academie .elementor-widget-icon i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.kreyalab-academie .elementor-heading-title {
	margin: 0 0 14px !important;
	color: #0b0b14 !important;
	font-size: clamp(24px, 2.4vw, 32px) !important;
	font-weight: 900 !important;
	line-height: 1.16 !important;
}

.kreyalab-academie .elementor-widget-text-editor p {
	margin: 0 !important;
	color: #3f3c4b !important;
	font-size: clamp(16px, 1.5vw, 20px) !important;
	line-height: 1.55 !important;
}

.kreyalab-academie .elementor-widget-button .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 18px 28px !important;
	border: 1px solid #7a24e3 !important;
	border-radius: 7px !important;
	background: transparent !important;
	color: #5f179c !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.kreyalab-academie .elementor-widget-button .elementor-button:hover {
	background: linear-gradient(135deg, #de2491, #7a24e3) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
}

.kreyalab-academie .elementor-widget-button .elementor-button-icon,
.kreyalab-academie .elementor-widget-button svg,
.kreyalab-academie .elementor-widget-button i {
	color: currentColor !important;
	fill: currentColor !important;
}

@media (max-width: 900px) {
	.kreyalab-academie {
		width: min(100% - 36px, 720px) !important;
		flex-direction: column !important;
		gap: 42px !important;
		padding: 64px 0 !important;
	}

	.kreyalab-academie > .e-con {
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	.kreyalab-academie {
		width: min(100% - 28px, 520px) !important;
	}

	.kreyalab-academie > .e-con:first-child img {
		min-height: 360px;
	}

	.kreyalab-academie > .e-con:nth-child(2) > .e-con {
		grid-template-columns: 64px minmax(0, 1fr);
		column-gap: 20px !important;
	}

	.kreyalab-academie .elementor-widget-icon,
	.kreyalab-academie .elementor-widget-icon .elementor-icon {
		width: 64px !important;
		height: 64px !important;
	}
}

/* Kreyalab - hero À propos sans menu interne */
#kl-about-hero .kl-about-hero__nav {
	display: none !important;
}

#kl-about-hero .kl-about-hero__content {
	padding-top: 0 !important;
}

#kl-about-hero .kl-about-hero__features {
	margin-top: 86px !important;
}

/* Kreyalab - sections À propos après hero */
.kreyalab-about-meaning,
.kreyalab-about-pillars,
.kreyalab-about-team,
.kreyalab-about-stats,
.kreyalab-about-cta {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding-inline: 28px !important;
	background: #ffffff !important;
	color: #080915;
}

.kreyalab-about-meaning {
	padding-top: 54px !important;
	padding-bottom: 34px !important;
	align-items: center !important;
	text-align: center;
}

.kreyalab-about-pillars {
	padding-top: 18px !important;
	padding-bottom: 58px !important;
	align-items: center !important;
	text-align: center;
}

.kreyalab-about-team {
	padding-top: 52px !important;
	padding-bottom: 64px !important;
	align-items: center !important;
	background:
		radial-gradient(circle at 15% 30%, rgba(222, 36, 145, 0.06) 0, transparent 28%),
		radial-gradient(circle at 85% 20%, rgba(122, 36, 227, 0.07) 0, transparent 32%),
		#fbf9ff !important;
	text-align: center;
}

.kreyalab-about-stats {
	padding-top: 46px !important;
	padding-bottom: 24px !important;
	align-items: center !important;
	text-align: center;
}

.kl-about-eyebrow {
	margin-bottom: 12px !important;
}

.kl-about-eyebrow p {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	color: #7a149f !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.kl-about-eyebrow p::before,
.kl-about-eyebrow p::after {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: linear-gradient(135deg, #de2491, #7a24e3);
}

.kl-about-meaning__title .elementor-heading-title,
.kl-about-section-title .elementor-heading-title {
	margin: 0 !important;
	color: #080915 !important;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(34px, 4vw, 50px) !important;
	font-weight: 950 !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

.kl-about-meaning__title span,
.kl-about-section-title span,
.kl-about-pillar-card__title span {
	color: #8a19bc;
	background: linear-gradient(135deg, #de2491 0%, #7a24e3 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.kl-about-meaning__text,
.kl-about-section-subtitle {
	width: min(100%, 760px) !important;
	margin: 14px auto 0 !important;
}

.kl-about-meaning__text p,
.kl-about-section-subtitle p {
	margin: 0 !important;
	color: #3d3b4a !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

.kl-about-pillars__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px !important;
	width: min(100%, 1060px) !important;
	margin: 34px auto 0 !important;
}

.kl-about-pillar-card {
	align-items: flex-start !important;
	min-height: 320px;
	padding: 34px 34px 30px !important;
	border: 1px solid rgba(122, 36, 227, 0.24);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 16px 38px rgba(17, 13, 40, 0.08);
	text-align: left;
}

.kl-about-pillar-card__icon {
	width: 64px !important;
	height: 64px !important;
	margin-bottom: 24px !important;
	border-radius: 50%;
	background: rgba(222, 36, 145, 0.08);
	border: 1px solid rgba(222, 36, 145, 0.55);
}

.kl-about-pillar-card__icon .elementor-icon {
	display: grid;
	width: 64px;
	height: 64px;
	place-items: center;
	color: #8a19bc !important;
	font-size: 28px;
}

.kl-about-pillar-card__icon svg,
.kl-about-pillar-card__icon i {
	color: #8a19bc !important;
	fill: #8a19bc !important;
}

.kl-about-pillar-card__title .elementor-heading-title {
	margin: 0 0 18px !important;
	color: #080915 !important;
	font-size: 30px !important;
	font-weight: 950 !important;
	line-height: 1.05 !important;
	text-align: left !important;
}

.kl-about-pillar-card__text p {
	margin: 0 !important;
	color: #2f2d3d !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	text-align: left !important;
}

.kl-about-link-button {
	margin-top: auto !important;
}

.kl-about-link-button .elementor-button,
.kl-about-recruit__button .elementor-button {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #7413a6 !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 900 !important;
}

.kl-about-link-button svg,
.kl-about-link-button i,
.kl-about-recruit__button svg,
.kl-about-recruit__button i {
	color: #7413a6 !important;
	fill: #7413a6 !important;
}

.kl-about-team__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px 36px !important;
	width: min(100%, 1080px) !important;
	margin: 28px auto 34px !important;
}

.kl-about-team-card {
	overflow: hidden;
	border: 1px solid rgba(20, 17, 40, 0.08);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 15px 34px rgba(20, 17, 40, 0.1);
}

.kl-about-team-card__image {
	width: 100% !important;
	background: #edf0f2;
}

.kl-about-team-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1.55 / 1;
	object-fit: cover;
	object-position: center top;
}

.kl-about-team-card__name .elementor-heading-title {
	margin: 13px 10px 2px !important;
	color: #080915 !important;
	font-size: 15px !important;
	font-weight: 950 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

.kl-about-team-card__role p {
	margin: 0 10px 10px !important;
	color: #3d3b4a !important;
	font-size: 13px !important;
	line-height: 1.25 !important;
	text-align: center !important;
}

.kl-about-team-card__bio {
	display: none !important;
}

.kl-about-team-card__socials p {
	margin: 0 0 16px !important;
	color: #080915 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-align: center !important;
	word-spacing: 14px;
}

.kl-about-recruit__title .elementor-heading-title {
	margin: 0 0 10px !important;
	color: #080915 !important;
	font-size: 30px !important;
	font-weight: 950 !important;
	text-align: center !important;
}

.kl-about-recruit__text p {
	margin: 0 0 16px !important;
	color: #3d3b4a !important;
	font-size: 15px !important;
	text-align: center !important;
}

.kl-about-recruit__button .elementor-button {
	padding: 12px 24px !important;
	border: 1px solid rgba(222, 36, 145, 0.58) !important;
	border-radius: 6px !important;
}

.kl-about-stats__content {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr);
	gap: 24px !important;
	width: min(100%, 1120px) !important;
	margin: 28px auto 0 !important;
	align-items: stretch !important;
}

.kl-about-stats__image {
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(17, 13, 40, 0.12);
}

.kl-about-stats__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 250px;
	object-fit: cover;
}

.kl-about-stats__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px !important;
}

.kl-about-stat-card {
	position: relative;
	justify-content: center !important;
	align-items: center !important;
	min-height: 250px;
	padding: 30px 18px !important;
	border: 1px solid rgba(122, 36, 227, 0.5);
	border-radius: 8px;
	background: #ffffff;
	text-align: center;
}

.kl-about-stat-card::before {
	content: "";
	width: 58px;
	height: 58px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: rgba(222, 36, 145, 0.08);
}

.kl-about-stat-card__number .elementor-heading-title {
	margin: 0 !important;
	color: #080915 !important;
	font-size: 52px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	text-align: center !important;
}

.kl-about-stat-card__label .elementor-heading-title {
	margin: 8px 0 0 !important;
	color: #080915 !important;
	font-size: 18px !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

.kl-about-final-cta-v2 {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: min(100% - 56px, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto 36px !important;
	padding: 46px 28px !important;
	border-radius: 10px;
	background:
		radial-gradient(circle at 10% 10%, rgba(222, 36, 145, 0.55) 0, transparent 34%),
		radial-gradient(circle at 88% 85%, rgba(122, 36, 227, 0.45) 0, transparent 32%),
		linear-gradient(135deg, #3b126b, #101149) !important;
	color: #ffffff;
}

.kl-about-final-cta__title .elementor-heading-title {
	margin: 10px 0 10px !important;
	color: #ffffff !important;
	font-size: clamp(30px, 4vw, 42px) !important;
	font-weight: 950 !important;
	text-align: center !important;
}

.kl-about-final-cta__text p {
	margin: 0 auto 24px !important;
	max-width: 560px;
	color: rgba(255,255,255,.86) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	text-align: center !important;
}

.kl-about-final-cta__actions {
	display: flex !important;
	justify-content: center !important;
	gap: 18px !important;
}

.kl-about-final-cta__actions .elementor-button {
	min-width: 190px;
	border-radius: 6px !important;
	color: #ffffff !important;
}

@media (max-width: 900px) {
	.kl-about-pillars__grid,
	.kl-about-team__grid,
	.kl-about-stats__content,
	.kl-about-stats__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.kreyalab-about-meaning,
	.kreyalab-about-pillars,
	.kreyalab-about-team,
	.kreyalab-about-stats,
	.kreyalab-about-cta {
		padding-inline: 18px !important;
	}

	.kl-about-pillars__grid,
	.kl-about-team__grid,
	.kl-about-stats__content,
	.kl-about-stats__grid {
		grid-template-columns: 1fr;
	}

	.kl-about-final-cta-v2 {
		width: min(100% - 28px, 520px) !important;
	}

	.kl-about-final-cta__actions {
		flex-direction: column !important;
	}
}


/* Kreyalab - hero page À propos */
#kl-about-hero,
.kl-about-hero-v2 {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100vw !important;
	max-width: 100vw !important;
	min-height: 100vh !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding: 38px 32px 64px !important;
	background-position: center center !important;
	background-size: cover !important;
	color: #ffffff;
}

#kl-about-hero::before,
.kl-about-hero-v2::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(circle at 6% 62%, rgba(222, 36, 145, 0.45) 0, transparent 28%),
		radial-gradient(circle at 100% 0%, rgba(122, 36, 227, 0.35) 0, transparent 34%),
		linear-gradient(90deg, rgba(7, 10, 26, 0.66), rgba(7, 9, 25, 0.72));
}

#kl-about-hero::after,
.kl-about-hero-v2::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(closest-side, transparent 70%, rgba(222, 36, 145, 0.32) 71%, transparent 72%) -170px 120px / 560px 560px no-repeat,
		radial-gradient(closest-side, transparent 70%, rgba(153, 75, 255, 0.34) 71%, transparent 72%) calc(100% - 120px) 120px / 560px 560px no-repeat;
	pointer-events: none;
}

.kl-about-hero__nav {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: min(100%, 1320px) !important;
	margin: 0 auto !important;
	padding: 15px 18px 15px 22px !important;
	border-radius: 22px !important;
	background: rgba(255, 255, 255, 0.96) !important;
	box-shadow: 0 22px 60px rgba(5, 7, 25, 0.24);
	backdrop-filter: blur(14px);
}

.kl-about-hero__logo {
	width: 250px !important;
	max-width: 250px !important;
}

.kl-about-hero__logo img {
	display: block;
	width: 100%;
	height: auto;
}

.kl-about-hero__menu {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 30px !important;
	width: auto !important;
}

.kl-about-hero__menu-link,
.kl-about-hero__menu-link .elementor-button {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.kl-about-hero__menu-link .elementor-button-text {
	color: #0a0b13 !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

.kl-about-hero__menu-link .elementor-button:hover .elementor-button-text {
	color: #de2491 !important;
}

.kl-about-hero__whatsapp .elementor-button {
	min-width: 162px;
	padding: 16px 22px !important;
	border: 0 !important;
	border-radius: 13px !important;
	background: #20195d !important;
	color: #ffffff !important;
	box-shadow: 0 16px 32px rgba(32, 25, 93, 0.22) !important;
}

.kl-about-hero__whatsapp .elementor-button-text {
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
}

.kl-about-hero__content {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: min(100%, 1040px) !important;
	margin: auto !important;
	padding-top: 80px !important;
	text-align: center;
}

.kl-about-hero__title .elementor-heading-title {
	margin: 0 !important;
	color: #ffffff !important;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(56px, 6.7vw, 86px) !important;
	font-weight: 950 !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-shadow: 0 22px 54px rgba(0, 0, 0, 0.22);
}

.kl-about-hero__title span {
	background: linear-gradient(135deg, #ff95be 0%, #ec3c9e 52%, #b982ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.kl-about-hero__title::after {
	content: "";
	display: block;
	width: 78px;
	height: 5px;
	margin: 28px auto 22px;
	border-radius: 999px;
	background: linear-gradient(90deg, #de2491, #b056ff);
}

.kl-about-hero__lead {
	max-width: 860px !important;
}

.kl-about-hero__lead p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: clamp(20px, 2vw, 25px) !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

.kl-about-hero__actions {
	display: flex !important;
	flex-direction: row !important;
	justify-content: center !important;
	gap: 32px !important;
	width: 100% !important;
	margin-top: 42px !important;
}

.kl-about-hero__button .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 275px;
	min-height: 70px;
	padding: 21px 36px !important;
	border-radius: 16px !important;
	color: #ffffff !important;
	font-size: 20px !important;
	font-weight: 850 !important;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.kl-about-hero__button--primary .elementor-button {
	border: 0 !important;
	background: linear-gradient(135deg, #de2491, #7625e7) !important;
	box-shadow: 0 22px 46px rgba(122, 36, 227, 0.34) !important;
}

.kl-about-hero__button--secondary .elementor-button {
	border: 2px solid rgba(236, 62, 158, 0.78) !important;
	background: rgba(0, 0, 0, 0.18) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08) !important;
}

.kl-about-hero__button .elementor-button:hover {
	transform: translateY(-3px);
}

.kl-about-hero__button .elementor-button-icon,
.kl-about-hero__button svg,
.kl-about-hero__button i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.kl-about-hero__features {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 44px !important;
	width: min(100%, 1120px) !important;
	margin: 72px auto 0 !important;
}

.kl-about-hero__feature {
	position: relative;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 18px !important;
	min-width: 0;
}

.kl-about-hero__feature:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -22px;
	width: 1px;
	height: 68px;
	background: linear-gradient(to bottom, transparent, rgba(222, 36, 145, 0.7), transparent);
	transform: translateY(-50%);
}

.kl-about-hero__feature-icon {
	flex: 0 0 70px;
	width: 70px !important;
	height: 70px !important;
	border: 2px solid rgba(222, 36, 145, 0.9);
	border-radius: 50%;
	background: rgba(20, 11, 52, 0.42);
	box-shadow: 0 16px 36px rgba(222, 36, 145, 0.16);
}

.kl-about-hero__feature-icon .elementor-icon {
	display: grid;
	width: 70px;
	height: 70px;
	place-items: center;
	color: #ffffff !important;
	font-size: 28px;
}

.kl-about-hero__feature-icon svg,
.kl-about-hero__feature-icon i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.kl-about-hero__feature-text {
	align-items: flex-start !important;
	gap: 3px !important;
	min-width: 0;
}

.kl-about-hero__feature-title .elementor-heading-title {
	margin: 0 !important;
	color: #ffffff !important;
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-align: left !important;
}

.kl-about-hero__feature-desc p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	text-align: left !important;
}

@media (max-width: 1024px) {
	#kl-about-hero,
	.kl-about-hero-v2 {
		padding: 24px 20px 46px !important;
	}

	.kl-about-hero__nav {
		border-radius: 18px !important;
	}

	.kl-about-hero__logo {
		width: 205px !important;
	}

	.kl-about-hero__menu {
		gap: 16px !important;
	}

	.kl-about-hero__menu-link .elementor-button-text {
		font-size: 13px !important;
	}

	.kl-about-hero__features {
		gap: 24px !important;
	}
}

@media (max-width: 767px) {
	#kl-about-hero,
	.kl-about-hero-v2 {
		min-height: auto !important;
		padding: 16px 14px 42px !important;
		background-position: center center !important;
	}

	.kl-about-hero__nav {
		flex-wrap: wrap !important;
		gap: 12px !important;
		padding: 12px !important;
	}

	.kl-about-hero__logo {
		width: 180px !important;
	}

	.kl-about-hero__menu {
		order: 3;
		display: grid !important;
		grid-template-columns: repeat(3, auto);
		width: 100% !important;
		gap: 10px 16px !important;
		justify-content: center !important;
	}

	.kl-about-hero__whatsapp .elementor-button {
		min-width: 0;
		padding: 12px 14px !important;
	}

	.kl-about-hero__content {
		padding-top: 96px !important;
	}

	.kl-about-hero__title .elementor-heading-title {
		font-size: clamp(38px, 11.8vw, 54px) !important;
	}

	.kl-about-hero__lead p {
		font-size: 17px !important;
	}

	.kl-about-hero__actions {
		flex-direction: column !important;
		gap: 14px !important;
		margin-top: 30px !important;
	}

	.kl-about-hero__button,
	.kl-about-hero__button .elementor-button {
		width: 100% !important;
		min-width: 0 !important;
	}

	.kl-about-hero__features {
		grid-template-columns: 1fr;
		gap: 18px !important;
		margin-top: 54px !important;
		padding-inline: 8px;
	}

	.kl-about-hero__feature {
		padding: 14px 0;
	}

	.kl-about-hero__feature:not(:last-child)::after {
		top: auto;
		right: auto;
		bottom: -9px;
		left: 0;
		width: 100%;
		height: 1px;
		background: linear-gradient(90deg, transparent, rgba(222, 36, 145, 0.55), transparent);
		transform: none;
	}
}
.page-id-874 #header,
.page-id-874 .ct-header {
	display: block;
}

.kl-native-hero {
	position: relative;
	isolation: isolate;
	background:
		radial-gradient(circle at 19% 17%, rgba(214, 25, 130, 0.78), transparent 37%),
		radial-gradient(circle at 78% 48%, rgba(102, 32, 179, 0.66), transparent 38%),
		linear-gradient(128deg, #c11475 0%, #602071 48%, var(--kl-hero-night) 100%) !important;
	color: var(--kl-hero-white);
}

#kl-native-hero {
	position: relative;
	isolation: isolate;
}

.kl-native-hero * {
	box-sizing: border-box;
}

.kl-native-hero::before,
.kl-native-hero::after,
#kl-native-hero::before,
#kl-native-hero::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: -1;
}

.kl-native-hero::before,
#kl-native-hero::before {
	inset: 0;
	background-image:
		linear-gradient(var(--kl-hero-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--kl-hero-line) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.64;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.95), rgba(0, 0, 0, 0.58));
}

.kl-native-hero::after,
#kl-native-hero::after {
	width: 54vw;
	height: 56vw;
	right: -17vw;
	bottom: -29vw;
	border-radius: 47% 53% 44% 56%;
	background: rgba(116, 35, 192, 0.34);
	animation: klHeroMorph 12s ease-in-out infinite alternate;
}

.kl-native-hero__body {
	position: relative;
	z-index: 1;
	min-height: calc(100vh - 112px);
}

#kl-native-hero-body {
	position: relative;
	z-index: 1;
	min-height: calc(100vh - 112px);
	overflow: visible !important;
}

.kl-native-hero__body::before,
.kl-native-hero__body::after,
#kl-native-hero-body::before,
#kl-native-hero-body::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: -1;
}

.kl-native-hero__body::before,
#kl-native-hero-body::before {
	width: 38vw;
	height: 105vh;
	left: 39%;
	bottom: -33vh;
	border-radius: 48% 52% 40% 60%;
	background: rgba(17, 14, 62, 0.22);
	transform: rotate(27deg);
}

.kl-native-hero__body::after,
#kl-native-hero-body::after {
	width: 31vw;
	height: 31vw;
	left: 34%;
	top: 5%;
	border-radius: 50%;
	background: rgba(22, 16, 64, 0.16);
	animation: klHeroDrift 10s ease-in-out infinite alternate;
}

.kl-native-hero__header {
	position: relative;
	z-index: 5;
	min-height: 64px;
	overflow: visible;
}

#kl-native-hero-header {
	position: relative;
	z-index: 5;
	min-height: 64px;
	overflow: visible;
}

.kl-native-hero__header::before,
.kl-native-hero__header::after,
.kl-native-hero__visual::before,
#kl-native-hero-header::before,
#kl-native-hero-header::after,
#kl-native-hero-visual::before {
	content: "";
	position: absolute;
	z-index: 2;
	width: 38px;
	height: 38px;
	background: #e8bfdc;
	clip-path: polygon(50% 0, 66% 34%, 100% 50%, 66% 66%, 50% 100%, 34% 66%, 0 50%, 34% 34%);
	opacity: 0.84;
	pointer-events: none;
	animation: klHeroSparkle 5.5s ease-in-out infinite alternate;
}

.kl-native-hero__header::before,
#kl-native-hero-header::before {
	display: none;
}

.kl-native-hero__header::after,
#kl-native-hero-header::after {
	right: 318px;
	top: 152px;
	width: 28px;
	height: 28px;
	animation-delay: 0.9s;
}

.kl-native-hero__visual::before,
#kl-native-hero-visual::before {
	right: 108px;
	top: 88px;
	width: 32px;
	height: 32px;
	animation-delay: 1.5s;
}

.kl-native-hero__logo img {
	filter: brightness(0) invert(1);
	width: 174px;
}

.kl-native-hero__nav .elementor-nav-menu--main .elementor-item,
.kl-native-hero__nav .elementor-nav-menu .elementor-item {
	color: var(--kl-hero-white) !important;
	font-size: 19px;
	font-weight: 500;
	padding-inline: 28px;
}

.kl-native-hero__nav {
	margin-left: auto;
	margin-right: 48px;
}

.kl-native-hero__nav .elementor-item:hover {
	color: var(--kl-hero-soft-white) !important;
}

.kl-native-hero__menu-button .elementor-button {
	min-width: 146px;
	padding: 14px 22px;
	border: 1px solid var(--kl-hero-stroke);
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--kl-hero-white);
	backdrop-filter: blur(10px);
}

.kl-native-hero__content {
	width: 59% !important;
	padding-top: 13vh !important;
	transform: none !important;
}

#kl-native-hero-content {
	width: 59% !important;
	padding-top: 13vh !important;
	transform: none !important;
}

.kl-native-hero__content > .elementor-element {
	width: 100%;
	max-width: 100%;
}

.kl-native-hero__visual {
	position: relative;
	justify-content: flex-end;
	width: 41% !important;
	overflow: visible;
}

#kl-native-hero-visual {
	position: static;
	justify-content: flex-end;
	width: 41% !important;
	overflow: visible !important;
}

.kl-native-hero__title .elementor-heading-title {
	margin: 0;
	color: var(--kl-hero-white);
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(88px, 7.8vw, 122px);
	line-height: 0.88;
	letter-spacing: 0;
	overflow-wrap: normal;
	word-break: normal;
	text-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
}

.kl-native-hero__title {
	width: 112% !important;
	max-width: 112% !important;
}

.kl-native-hero__title--light + .kl-native-hero__title--strong .elementor-heading-title {
	font-size: clamp(80px, 7.1vw, 108px);
}

.kl-native-hero__title--strong .elementor-heading-title {
	font-weight: 900;
}

.kl-native-hero__title--light .elementor-heading-title {
	font-weight: 300;
	font-size: clamp(66px, 5.9vw, 90px);
	line-height: 0.9;
}

.kl-native-hero__description {
	max-width: 650px;
	margin-top: 20px;
}

.kl-native-hero__description p {
	margin: 0;
	color: var(--kl-hero-soft-white);
	font-size: 21px;
	line-height: 1.34;
	overflow-wrap: break-word;
}

.kl-mobile-break {
	display: none;
}

.kl-native-hero__actions {
	margin-top: 28px;
}

.kl-native-hero__cta .elementor-button {
	min-width: 238px;
	padding: 20px 28px;
	border-radius: 14px;
	font-size: 23px;
	font-weight: 700;
	box-shadow: 0 18px 45px var(--kl-hero-shadow);
	transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.kl-native-hero__cta .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 58px rgba(10, 7, 42, 0.42);
}

.kl-native-hero__cta--primary .elementor-button {
	background: linear-gradient(135deg, var(--kl-hero-magenta), var(--kl-hero-violet));
	color: var(--kl-hero-white);
}

.kl-native-hero__cta--secondary .elementor-button {
	border: 1px solid var(--kl-hero-stroke);
	background: transparent;
	color: var(--kl-hero-white);
}

.kl-native-hero__socials {
	margin-top: 78px;
}

.kl-native-hero__socials .elementor-social-icon {
	width: 30px;
	height: 30px;
	margin-right: 20px;
	border-radius: 0;
	background: transparent !important;
	color: var(--kl-hero-white);
	font-size: 27px;
	transition: transform 220ms ease, opacity 220ms ease;
}

.kl-native-hero__socials .elementor-social-icon:hover {
	transform: translateY(-3px);
	opacity: 0.78;
}

.kl-native-hero__socials .elementor-social-icon i,
.kl-native-hero__socials .elementor-social-icon svg {
	color: var(--kl-hero-white);
	fill: var(--kl-hero-white);
}

.kl-native-hero__vr-image {
	position: absolute;
	right: 20px;
	top: 45px;
	bottom: auto;
	width: min(47vw, 690px);
	max-width: none !important;
	margin: 0;
	z-index: 2;
	overflow: visible !important;
	animation: klHeroFloat 6.5s ease-in-out infinite;
	filter: drop-shadow(0 34px 58px rgba(8, 5, 30, 0.32));
}

.kl-native-hero__vr-image img {
	width: min(47vw, 690px) !important;
	max-width: none !important;
}

.kl-native-hero__vr-image .elementor-widget-container {
	width: min(47vw, 690px) !important;
	max-width: none !important;
	overflow: visible !important;
}

@keyframes klHeroFloat {
	0%, 100% { transform: translate3d(0, 0, 0); }
	50% { transform: translate3d(0, -18px, 0); }
}

@keyframes klHeroMorph {
	0% { transform: rotate(0deg) scale(1); }
	100% { transform: rotate(8deg) scale(1.08); }
}

@keyframes klHeroDrift {
	0% { transform: translate3d(-18px, 0, 0) scale(1); }
	100% { transform: translate3d(18px, 24px, 0) scale(1.06); }
}

@keyframes klHeroSparkle {
	0% { transform: rotate(11deg) translate3d(0, 0, 0) scale(1); opacity: 0.64; }
	100% { transform: rotate(23deg) translate3d(0, -9px, 0) scale(1.08); opacity: 0.95; }
}

@media (max-width: 1024px) {
	.kl-native-hero__nav,
	.kl-native-hero .elementor-widget-nav-menu,
	.kl-native-hero .elementor-menu-toggle {
		display: none !important;
	}

	.kl-native-hero__content {
		width: 60% !important;
		padding-top: 11vh;
		transform: none !important;
	}

	#kl-native-hero-content {
		width: 60% !important;
		padding-top: 11vh !important;
		transform: none !important;
	}

	.kl-native-hero__visual {
		width: 40% !important;
	}

	#kl-native-hero-visual {
		width: 40% !important;
	}

	.kl-native-hero__title .elementor-heading-title {
		font-size: clamp(50px, 7vw, 70px);
	}

	.kl-native-hero__title {
		width: 100% !important;
		max-width: 100% !important;
	}

	.kl-native-hero__description p {
		font-size: 19px;
	}

	.kl-native-hero__cta .elementor-button {
		font-size: 20px;
		padding: 18px 24px;
	}

	.kl-native-hero__vr-image {
		width: min(52vw, 560px);
		margin-left: -4vw;
		top: 260px;
		right: -22px;
	}
}

@media (max-width: 767px) {
	.kl-native-hero,
	#kl-native-hero {
		min-height: auto !important;
		overflow: hidden !important;
	}

	.kl-native-hero__header {
		gap: 14px;
		flex-wrap: nowrap !important;
	}

	.kl-native-hero__logo {
		max-width: 148px;
	}

	.kl-native-hero__menu-button .elementor-button {
		min-width: 112px;
		padding: 12px 16px;
	}

	.kl-native-hero__body {
		min-height: auto;
		padding-top: 54px;
		text-align: center;
		overflow: hidden;
	}

	.kl-native-hero__content {
		width: 100% !important;
		align-items: center !important;
		padding-top: 0;
		transform: none !important;
	}

	#kl-native-hero-content {
		width: 100% !important;
		padding-top: 0 !important;
		transform: none !important;
	}

	.kl-native-hero__content > .elementor-element,
	.kl-native-hero__description,
	.kl-native-hero__description .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
		transform: none;
	}

	.kl-native-hero__title .elementor-heading-title {
		font-size: clamp(38px, 10.5vw, 42px);
		line-height: 0.94;
	}

	.kl-native-hero__title--light + .kl-native-hero__title--strong .elementor-heading-title {
		font-size: clamp(38px, 10.5vw, 42px);
	}

	#kl-native-hero-header::before,
	#kl-native-hero-header::after,
	#kl-native-hero-visual::before {
		display: none;
	}

	.kl-native-hero__description {
		max-width: 100%;
		margin-top: 22px;
	}

	.kl-native-hero__description .elementor-widget-container {
		width: 260px !important;
		max-width: calc(100vw - 96px) !important;
		margin-right: auto;
		margin-left: auto;
	}

	.kl-native-hero__description p {
		font-size: 17px;
		text-align: center;
	}

	.kl-mobile-break {
		display: block;
	}

	.kl-native-hero__actions {
		width: min(100%, 300px) !important;
		flex-direction: column !important;
		margin-top: 28px;
		align-items: stretch !important;
		margin-right: auto;
		margin-left: auto;
	}

	.kl-native-hero__cta,
	.kl-native-hero__cta .elementor-button-wrapper,
	.kl-native-hero__cta .elementor-button {
		width: 300px !important;
		max-width: calc(100vw - 80px) !important;
	}

	.kl-native-hero__socials {
		margin-top: 36px;
	}

	.kl-native-hero__visual {
		width: 100% !important;
		min-height: 200px;
	}

.kl-native-hero__vr-image {
		position: relative;
		top: auto;
		right: auto;
		width: min(60vw, 400px) !important;
		margin: 0 auto;
		padding: 0 auto;
	}

	.kl-native-hero__vr-image img,
	.kl-native-hero__vr-image .elementor-widget-container{
	width: min(60vw, 400px) !important;
	}
	.elementor-874 .elementor-element.elementor-element-e495f4c {
	width: min(60vw, 400px) !important;
    display: block;
    margin: 0 auto;
}
}

/* Kreyalab - Section 2 Elementor native */
#kl-section2,
.kl-section2 {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-top: 0 !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

#kl-section2 *,
.kl-section2 * {
	box-sizing: border-box;
}

#kl-section2-intro {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 40% 1%, rgba(179, 28, 120, 0.72), transparent 36%),
		radial-gradient(circle at 94% 0%, rgba(86, 36, 168, 0.5), transparent 30%),
		linear-gradient(125deg, #24155e 0%, #33155f 42%, #20164f 100%);
	color: var(--kl-section2-white);
	width: 100% !important;
	max-width: 100% !important;
}

#kl-section2-intro::before,
#kl-section2-intro::after,
#kl-section2-left::before,
#kl-section2-right::before {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

#kl-section2-intro::before {
	inset: 0;
	background-image:
		linear-gradient(var(--kl-section2-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--kl-section2-line) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.66;
}

#kl-section2-intro::after {
	width: 54vw;
	height: 68vw;
	right: -23vw;
	top: -45vw;
	border-radius: 50%;
	background: rgba(111, 44, 188, 0.3);
}

#kl-section2-left,
#kl-section2-right {
	position: relative;
	z-index: 1;
}

#kl-section2-left::before {
	width: 39vw;
	height: 39vw;
	left: -18vw;
	bottom: -31vw;
	border-radius: 50%;
	background: rgba(101, 38, 169, 0.34);
}

#kl-section2-right::before {
	width: 56vw;
	height: 46vw;
	right: -12vw;
	bottom: -29vw;
	border-radius: 49% 51% 0 0;
	background: rgba(122, 39, 190, 0.22);
	transform: rotate(12deg);
}

.kl-section2__eyebrow {
	position: relative;
	margin-bottom: 22px;
	padding-top: 34px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 22px;
	font-weight: 400;
}

.kl-section2__eyebrow::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 0;
	width: 48px;
	height: 18px;
	border-radius: 999px;
	background:
		radial-gradient(circle at 28% 50%, #df2a93 0 8px, transparent 9px),
		radial-gradient(circle at 70% 50%, #4e2fc0 0 8px, transparent 9px),
		linear-gradient(90deg, rgba(255,255,255,0.13), rgba(255,255,255,0.04));
}

.kl-section2__title .elementor-heading-title {
	margin: 0;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(86px, 6.8vw, 126px);
	font-weight: 900;
	line-height: 0.96;
	letter-spacing: 0;
	color: var(--kl-section2-white);
}

.kl-section2__title--gradient .elementor-heading-title {
	display: inline-block;
	background: linear-gradient(180deg, #ffffff 0%, #f4d7ff 38%, #ef73c5 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #f2a0de;
}

.kl-section2__text {
	max-width: 660px;
}

.kl-section2__text p {
	margin: 0;
	color: var(--kl-section2-soft);
	font-size: 26px;
	line-height: 1.62;
}

.kl-section2__actions {
	margin-top: 34px;
}

.kl-section2__button .elementor-button {
	min-width: 236px;
	padding: 20px 27px;
	border-radius: 13px;
	font-size: 23px;
	font-weight: 600;
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.kl-section2__button .elementor-button:hover {
	transform: translateY(-3px);
}

.kl-section2__button--primary .elementor-button {
	min-width: 344px;
	background: linear-gradient(135deg, #dd248d 0%, #7623de 100%);
	color: var(--kl-section2-white);
	box-shadow: 0 20px 44px rgba(18, 11, 52, 0.28);
}

.kl-section2__button--secondary .elementor-button {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.72);
	color: var(--kl-section2-white);
}

#kl-section2-clients {
	background: #ffffff;
	color: #070707;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 318px;
}

.kl-section2__clients-title .elementor-heading-title {
	margin: 0 0 50px;
	color: #5c189b;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

.kl-section2__client-list {
	width: 100%;
	max-width: 1370px;
	margin-inline: auto;
}

.kl-section2__client {
	min-width: 160px;
}

.kl-section2__client-mark .elementor-heading-title {
	position: relative;
	min-width: 38px;
	margin: 0;
	color: #000000;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: 30px;
	font-weight: 950;
	line-height: 1;
	letter-spacing: -0.08em;
	text-align: center;
}

.kl-section2__client--voila .kl-section2__client-mark .elementor-heading-title {
	transform: skewX(-14deg);
}

.kl-section2__client--bakamono .kl-section2__client-mark .elementor-heading-title {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #000000;
	color: transparent;
	overflow: hidden;
}

.kl-section2__client--bakamono .kl-section2__client-mark .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 13px;
	width: 27px;
	height: 8px;
	border-radius: 999px;
	background: #ffffff;
	transform: rotate(8deg);
}

.kl-section2__client-name .elementor-heading-title {
	margin: 0;
	color: #0b0b0b;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

@media (max-width: 1024px) {
	#kl-section2-intro {
		min-height: auto;
	}

	.kl-section2__title .elementor-heading-title {
		font-size: clamp(64px, 8vw, 84px);
	}

	.kl-section2__text p {
		font-size: 21px;
		line-height: 1.52;
	}

	.kl-section2__button .elementor-button {
		font-size: 19px;
	}

	.kl-section2__button--primary .elementor-button {
		min-width: 292px;
	}

	.kl-section2__client-list {
		flex-wrap: wrap;
		justify-content: center !important;
	}
}

@media (max-width: 767px) {
	#kl-section2-intro {
		flex-direction: column !important;
		text-align: center;
		gap: 34px !important;
	}

	#kl-section2-left,
	#kl-section2-right {
		width: 100% !important;
		align-items: center !important;
	}

	.kl-section2__eyebrow {
		margin-bottom: 18px;
		font-size: 18px;
	}

	.kl-section2__eyebrow::before {
		left: 50%;
		transform: translateX(-50%);
	}

	.kl-section2__title .elementor-heading-title {
		font-size: clamp(50px, 14vw, 64px);
		line-height: 0.98;
	}

	.kl-section2__text p {
		font-size: 18px;
		line-height: 1.5;
	}

	.kl-section2__actions {
		width: min(100%, 330px) !important;
		flex-direction: column !important;
		margin-top: 28px;
	}

	.kl-section2__button,
	.kl-section2__button .elementor-button-wrapper,
	.kl-section2__button .elementor-button {
		width: 100% !important;
		min-width: 0 !important;
	}

	.kl-section2__clients-title .elementor-heading-title {
		margin-bottom: 30px;
		font-size: 20px;
	}

	.kl-section2__client-list {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(130px, 1fr));
		gap: 24px 18px !important;
	}

	.kl-section2__client {
		min-width: 0;
	}

	.kl-section2__client-name .elementor-heading-title {
		font-size: 18px;
	}
}

/* Kreyalab - Services / troisiÃ¨me section */
#kl-services,
.kl-services {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding: 66px 68px 82px !important;
	background:
		radial-gradient(circle at 46% 0%, rgba(195, 30, 133, 0.7), transparent 30%),
		radial-gradient(circle at 88% 58%, rgba(111, 34, 206, 0.45), transparent 34%),
		linear-gradient(130deg, #2b155b 0%, #31115d 44%, var(--kl-services-night) 100%) !important;
	background-color: #211458 !important;
	color: #ffffff;
}

#kl-services::before,
#kl-services::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

#kl-services::before {
	inset: 0;
	background-image:
		linear-gradient(var(--kl-services-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--kl-services-line) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.68;
}

#kl-services::after {
	width: 56vw;
	height: 62vw;
	right: -26vw;
	top: -19vw;
	border-radius: 50%;
	background: rgba(102, 39, 189, 0.24);
}

#kl-services-header,
#kl-services-grid {
	position: relative;
	z-index: 1;
	width: 100% !important;
}

#kl-services > .e-con-inner {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none !important;
	margin-inline: auto;
	background:
		radial-gradient(circle at 46% 0%, rgba(195, 30, 133, 0.7), transparent 30%),
		radial-gradient(circle at 88% 58%, rgba(111, 34, 206, 0.45), transparent 34%),
		linear-gradient(130deg, #2b155b 0%, #31115d 44%, var(--kl-services-night) 100%) !important;
}

#kl-services > .e-con-inner::before {
	content: "";
	position: absolute;
	inset: -66px -68px -82px;
	z-index: -1;
	background:
		radial-gradient(circle at 46% 0%, rgba(195, 30, 133, 0.7), transparent 30%),
		radial-gradient(circle at 88% 58%, rgba(111, 34, 206, 0.45), transparent 34%),
		linear-gradient(130deg, #2b155b 0%, #31115d 44%, var(--kl-services-night) 100%);
}

#kl-services-header,
#kl-services-grid {
	background: transparent !important;
	background-color: transparent !important;
}

#kl-services .e-con,
#kl-services .e-con-inner,
#kl-services .elementor-widget-wrap {
	background-color: transparent !important;
}

#kl-services-header {
	max-width: 920px;
	margin: 0 auto 58px;
	text-align: center;
	align-items: center !important;
}

.kl-services__eyebrow {
	position: relative;
	margin-bottom: 22px;
	padding-top: 28px;
	color: rgba(255, 255, 255, 0.86);
	font-size: 22px;
	font-weight: 400;
}

.kl-services__eyebrow::before,
.kl-services__eyebrow::after {
	content: "";
	position: absolute;
	top: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--kl-services-pink), var(--kl-services-purple));
	box-shadow: 18px 0 0 rgba(122, 36, 227, 0.72);
}

.kl-services__eyebrow::before {
	left: calc(50% - 42px);
}

.kl-services__eyebrow::after {
	left: calc(50% + 12px);
	transform: scale(0.86);
}

.kl-services__title .elementor-heading-title {
	margin: 0;
	color: #ffffff;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(58px, 5.1vw, 82px);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: 0;
	text-align: center;
	text-shadow: 0 22px 46px rgba(8, 5, 34, 0.28);
}

.kl-services__title .elementor-heading-title span {
	display: block;
	width: max-content;
	margin-inline: auto;
	background: linear-gradient(180deg, #ffffff 0%, #f5d9ff 34%, #ec6bc2 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: #ee89d0;
}

.kl-services__subtitle {
	max-width: 760px;
	margin-top: 22px;
}

.kl-services__subtitle p {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 24px;
	line-height: 1.35;
	text-align: center;
}

#kl-services-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px !important;
	width: 100%;
	max-width: 1400px;
	margin-inline: auto;
}

#kl-service-card-1 {
	background-image:
		linear-gradient(180deg, rgba(30, 16, 76, 0.98) 0%, rgba(46, 22, 92, 0.72) 46%, rgba(20, 14, 58, 0.2) 100%),
		url("http://localhost/kreyalab/wp-content/uploads/2026/06/De.png") !important;
	background-position: center bottom !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

#kl-service-card-2 {
	background-image:
		linear-gradient(180deg, rgba(30, 16, 76, 0.98) 0%, rgba(46, 22, 92, 0.66) 42%, rgba(20, 14, 58, 0.16) 100%),
		url("http://localhost/kreyalab/wp-content/uploads/2026/06/o.png") !important;
	background-position: center bottom !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

#kl-service-card-3 {
	background-image:
		linear-gradient(180deg, rgba(30, 16, 76, 0.98) 0%, rgba(46, 22, 92, 0.58) 44%, rgba(20, 14, 58, 0.16) 100%),
		url("http://localhost/kreyalab/wp-content/uploads/2026/06/h.png") !important;
	background-position: center bottom !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

#kl-service-card-1,
#kl-service-card-2,
#kl-service-card-3,
.kl-service-card {
	position: relative;
	min-height: 560px;
	padding: 134px 38px 42px !important;
	border: 1px solid rgba(255, 255, 255, 0.24);
	border-radius: 18px;
	overflow: hidden;
	background-position: center bottom !important;
	background-size: cover !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 30px 70px rgba(8, 5, 34, 0.22);
	transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease;
}

#kl-service-card-1:hover,
#kl-service-card-2:hover,
#kl-service-card-3:hover,
.kl-service-card:hover {
	transform: translateY(-8px);
	border-color: rgba(255, 255, 255, 0.42);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 38px 86px rgba(8, 5, 34, 0.32);
}

#kl-service-card-1::before,
#kl-service-card-2::before,
#kl-service-card-3::before,
#kl-service-card-1::after,
#kl-service-card-2::after,
#kl-service-card-3::after,
.kl-service-card::before,
.kl-service-card::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
}

#kl-service-card-1::before,
#kl-service-card-2::before,
#kl-service-card-3::before,
.kl-service-card::before {
	inset: 0;
	background:
		radial-gradient(circle at 20% 8%, rgba(222, 36, 145, 0.24), transparent 30%);
}

#kl-service-card-1::after,
#kl-service-card-2::after,
#kl-service-card-3::after,
.kl-service-card::after {
	left: 38px;
	top: 34px;
	width: 82px;
	height: 82px;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--kl-services-pink), var(--kl-services-purple));
	box-shadow: 0 18px 35px rgba(16, 7, 58, 0.34);
}

#kl-service-card-1 .kl-service-card__eyebrow::before,
#kl-service-card-2 .kl-service-card__eyebrow::before,
#kl-service-card-3 .kl-service-card__eyebrow::before {
	content: "";
	position: absolute;
	left: 65px;
	top: -96px;
	z-index: 2;
	width: 44px;
	height: 44px;
	background: #ffffff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
}

#kl-service-card-1 .kl-service-card__eyebrow::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6l10 18-10 34-10-34z'/%3E%3Cpath d='M32 6v22'/%3E%3Ccircle cx='32' cy='32' r='4' fill='black'/%3E%3Cpath d='M13 13c-7 8-7 20 0 28M51 13c7 8 7 20 0 28M20 10l-4 4M48 10l-4 4M20 46l-4 5M48 46l-4 5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6l10 18-10 34-10-34z'/%3E%3Cpath d='M32 6v22'/%3E%3Ccircle cx='32' cy='32' r='4' fill='black'/%3E%3Cpath d='M13 13c-7 8-7 20 0 28M51 13c7 8 7 20 0 28M20 10l-4 4M48 10l-4 4M20 46l-4 5M48 46l-4 5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-service-card-2 .kl-service-card__eyebrow::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 22h6l4-6h8l4 6h6a7 7 0 0 1 7 7v19a7 7 0 0 1-7 7H18a7 7 0 0 1-7-7V29a7 7 0 0 1 7-7z'/%3E%3Ccircle cx='32' cy='39' r='10'/%3E%3Cpath d='M46 29h.1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 22h6l4-6h8l4 6h6a7 7 0 0 1 7 7v19a7 7 0 0 1-7 7H18a7 7 0 0 1-7-7V29a7 7 0 0 1 7-7z'/%3E%3Ccircle cx='32' cy='39' r='10'/%3E%3Cpath d='M46 29h.1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-service-card-3 .kl-service-card__eyebrow::before {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='14' width='44' height='42' rx='5'/%3E%3Cpath d='M20 8v12M44 8v12M10 26h44'/%3E%3Cpath d='M32 35l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='14' width='44' height='42' rx='5'/%3E%3Cpath d='M20 8v12M44 8v12M10 26h44'/%3E%3Cpath d='M32 35l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-service-card-1 > .elementor-element,
#kl-service-card-2 > .elementor-element,
#kl-service-card-3 > .elementor-element,
.kl-service-card > .elementor-element {
	position: relative;
	z-index: 1;
}

.kl-service-card__eyebrow p {
	margin: 0 0 16px;
	color: #f33fac;
	font-size: 21px;
	line-height: 1.2;
}

.kl-service-card__title .elementor-heading-title {
	max-width: 330px;
	margin: 0;
	color: #ffffff;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(30px, 2.4vw, 42px);
	font-weight: 850;
	line-height: 1.06;
	letter-spacing: 0;
}

.kl-service-card__title::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin: 26px 0 24px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--kl-services-pink), var(--kl-services-purple));
}

.kl-service-card__text {
	max-width: 285px;
}

.kl-service-card__text p {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 18px;
	line-height: 1.5;
}

.kl-service-card__button {
	margin-top: 76px;
}

.kl-service-card__button .elementor-button {
	min-width: 168px;
	padding: 17px 23px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--kl-services-pink), var(--kl-services-purple)) !important;
	color: #ffffff !important;
	font-size: 18px;
	font-weight: 650;
	border: 0 !important;
	box-shadow: 0 18px 38px rgba(17, 8, 60, 0.34);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.kl-service-card__button .elementor-button .elementor-button-icon {
	margin-left: 12px;
}

.kl-service-card__button .elementor-button svg,
.kl-service-card__button .elementor-button i {
	color: #ffffff;
	fill: #ffffff;
}

.kl-service-card__button .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 48px rgba(17, 8, 60, 0.42);
}

.kl-service-card--photo .kl-service-card__button {
	margin-top: 58px;
}

.kl-service-card--event .kl-service-card__button {
	margin-top: 46px;
}

@media (max-width: 1180px) {
	#kl-services {
		padding: 56px 34px 70px !important;
	}

	#kl-services-grid {
		gap: 18px !important;
	}

	#kl-service-card-1,
	#kl-service-card-2,
	#kl-service-card-3,
	.kl-service-card {
		min-height: 520px;
		padding: 126px 28px 34px !important;
	}

	.kl-service-card__title .elementor-heading-title {
		font-size: 32px;
	}
}

@media (max-width: 900px) {
	#kl-services-grid {
		grid-template-columns: 1fr;
		max-width: 620px;
	}

	#kl-service-card-1,
	#kl-service-card-2,
	#kl-service-card-3,
	.kl-service-card {
		min-height: 540px;
	}
}

@media (max-width: 767px) {
	#kl-services {
		padding: 54px 20px 62px !important;
	}

	#kl-services-header {
		margin-bottom: 34px;
	}

	.kl-services__eyebrow {
		font-size: 18px;
		margin-bottom: 16px;
	}

	.kl-services__title .elementor-heading-title {
		font-size: clamp(38px, 11vw, 48px);
		line-height: 1.06;
	}

	.kl-services__subtitle {
		margin-top: 16px;
	}

	.kl-services__subtitle p {
		font-size: 17px;
		line-height: 1.45;
	}

	#kl-service-card-1,
	#kl-service-card-2,
	#kl-service-card-3,
	.kl-service-card {
		min-height: 500px;
		padding: 118px 24px 28px !important;
		border-radius: 16px;
	}

	#kl-service-card-1::after,
	#kl-service-card-2::after,
	#kl-service-card-3::after,
	.kl-service-card::after {
		left: 24px;
		top: 28px;
		width: 72px;
		height: 72px;
	}

	#kl-service-card-1 .kl-service-card__eyebrow::before,
	#kl-service-card-2 .kl-service-card__eyebrow::before,
	#kl-service-card-3 .kl-service-card__eyebrow::before {
		left: 48px;
		top: -88px;
		width: 38px;
		height: 38px;
	}

	.kl-service-card__eyebrow p {
		font-size: 18px;
	}

	.kl-service-card__title .elementor-heading-title {
		max-width: 260px;
		font-size: 30px;
	}

	.kl-service-card__text {
		max-width: 250px;
	}

	.kl-service-card__text p {
		font-size: 16px;
	}

	.kl-service-card__button,
	.kl-service-card--photo .kl-service-card__button,
	.kl-service-card--event .kl-service-card__button {
		margin-top: 34px;
	}
}

/* Kreyalab - Portfolio / quatriÃ¨me section */
#kl-portfolio,
.kl-portfolio {
	position: relative;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding: 26px 28px 88px !important;
	background: #ffffff !important;
	color: #111111;
}

#kl-portfolio > .e-con-inner {
	width: 100%;
	max-width: 920px !important;
	margin-inline: auto;
}

#kl-portfolio-header {
	max-width: 760px;
	margin: 0 auto 30px;
	text-align: center;
	align-items: center !important;
}

.kl-portfolio__eyebrow {
	position: relative;
	color: #7020a6;
	font-size: 18px;
	font-weight: 650;
}

.kl-portfolio__eyebrow::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	margin-right: 8px;
	border-radius: 50%;
	background: #ee78d0;
	box-shadow: 15px 0 0 #d842c4;
	vertical-align: -1px;
}

.kl-portfolio__title .elementor-heading-title {
	margin: 10px 0 12px;
	color: #050505;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(42px, 4.1vw, 58px);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: 0;
	text-align: center;
}

.kl-portfolio__title .elementor-heading-title::first-letter {
	color: inherit;
}

.kl-portfolio__subtitle {
	max-width: 660px;
}

.kl-portfolio__subtitle p {
	margin: 0;
	color: #4f4b5f;
	font-size: 16px;
	line-height: 1.55;
	text-align: center;
}

#kl-portfolio-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px !important;
	align-items: start;
	width: 100%;
	margin-inline: auto;
}

.kl-portfolio__column {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
}

#kl-portfolio-column-2 {
	margin-top: 0;
}

#kl-portfolio-column-1,
#kl-portfolio-column-3 {
	margin-top: 0;
}

.kl-portfolio-card,
[id^="kl-portfolio-card-"] {
	overflow: hidden;
	border: 1px solid rgba(135, 28, 175, 0.38);
	border-radius: 4px;
	background: #ffffff;
	box-shadow: 0 18px 42px rgba(30, 14, 52, 0.06);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.kl-portfolio-card:hover,
[id^="kl-portfolio-card-"]:hover {
	transform: translateY(-5px);
	border-color: rgba(135, 28, 175, 0.58);
	box-shadow: 0 26px 54px rgba(30, 14, 52, 0.11);
}

.kl-portfolio-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 1.56 / 1;
	object-fit: cover;
}

.kl-portfolio-card__body {
	padding: 14px 14px 18px !important;
	background: #ffffff;
}

.kl-portfolio-card__title .elementor-heading-title {
	margin: 0 0 12px;
	color: #111111;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: 20px;
	font-weight: 850;
	line-height: 1.2;
}

.kl-portfolio-card__text p {
	margin: 0;
	color: #2f2b36;
	font-size: 13px;
	line-height: 1.7;
}

.kl-portfolio-card__tags {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 10px !important;
	margin-top: 14px;
}

.kl-portfolio-card__tag {
	width: auto !important;
}

.kl-portfolio-card__tag p {
	margin: 0;
	min-width: 62px;
	padding: 6px 13px;
	border: 1px solid rgba(155, 31, 188, 0.58);
	border-radius: 4px;
	color: #cf269c;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
}

.kl-portfolio-card__button {
	margin-top: 14px;
}

.kl-portfolio-card__button .elementor-button {
	padding: 0;
	background: transparent !important;
	color: #6c13ad !important;
	font-size: 15px;
	font-weight: 750;
	border: 0 !important;
	box-shadow: none !important;
}

.kl-portfolio-card__button .elementor-button-icon {
	margin-left: 18px;
}

.kl-portfolio-card__button svg,
.kl-portfolio-card__button i {
	color: #6c13ad;
	fill: #6c13ad;
}

@media (max-width: 900px) {
	#kl-portfolio > .e-con-inner {
		max-width: 620px !important;
	}

	#kl-portfolio-grid {
		grid-template-columns: 1fr;
		max-width: 520px;
	}

	.kl-portfolio__column {
		gap: 22px !important;
	}
}

@media (max-width: 767px) {
	#kl-portfolio {
		padding: 42px 20px 64px !important;
	}

	.kl-portfolio__title .elementor-heading-title {
		font-size: clamp(34px, 10vw, 42px);
	}

	.kl-portfolio__subtitle p {
		font-size: 14px;
	}

	.kl-portfolio-card__body {
		padding: 16px 16px 20px !important;
	}
}

/* Kreyalab - ajustements widgets Elementor services + portfolio */
#kl-services {
	isolation: isolate;
	background:
		radial-gradient(circle at 25% 0%, rgba(229, 35, 146, 0.38) 0, transparent 34%),
		radial-gradient(circle at 78% 5%, rgba(119, 50, 225, 0.35) 0, transparent 32%),
		linear-gradient(135deg, #261057 0%, #351164 46%, #15154d 100%) !important;
}

#kl-services .elementor-widget-text-editor,
#kl-services .elementor-widget-heading,
#kl-services .elementor-widget-button {
	position: relative;
	z-index: 2;
}

#kl-services-grid > .e-con {
	background-color: rgba(18, 10, 49, 0.68) !important;
	background-blend-mode: normal, soft-light, normal;
}

#kl-services-grid > .e-con .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	min-width: 178px;
	min-height: 56px;
	padding: 16px 25px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg, #de2491 0%, #8a24e3 100%) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	box-shadow: 0 16px 32px rgba(120, 22, 208, 0.28) !important;
}

#kl-services-grid > .e-con .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 42px rgba(120, 22, 208, 0.38) !important;
}

#kl-services-grid > .e-con .elementor-button-icon,
#kl-services-grid > .e-con .elementor-button-icon svg,
#kl-services-grid > .e-con .elementor-button-icon i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

#kl-service-card-1 .elementor-widget-text-editor:first-child::before,
#kl-service-card-2 .elementor-widget-text-editor:first-child::before,
#kl-service-card-3 .elementor-widget-text-editor:first-child::before {
	content: "";
	display: block;
	width: 82px;
	height: 82px;
	margin: 0 0 22px;
	border-radius: 50%;
	background: linear-gradient(145deg, #de2491, #7a24e3);
	box-shadow: 0 18px 35px rgba(122, 36, 227, 0.28);
}

#kl-service-card-1 .elementor-widget-text-editor:first-child::after,
#kl-service-card-2 .elementor-widget-text-editor:first-child::after,
#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
	content: "";
	position: absolute;
	top: 25px;
	left: 25px;
	width: 34px;
	height: 34px;
	background: #ffffff;
	z-index: 3;
}

#kl-service-card-1 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19l7-7 3 3-7 7-3-3z'/%3E%3Cpath d='M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z'/%3E%3Cpath d='M2 2l7.586 7.586'/%3E%3Ccircle cx='11' cy='11' r='2'/%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 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19l7-7 3 3-7 7-3-3z'/%3E%3Cpath d='M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z'/%3E%3Cpath d='M2 2l7.586 7.586'/%3E%3Ccircle cx='11' cy='11' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-service-card-2 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%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 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M12 13l1.2 2.4 2.6.4-1.9 1.8.5 2.6-2.4-1.3-2.4 1.3.5-2.6-1.9-1.8 2.6-.4L12 13z'/%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 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3Cpath d='M12 13l1.2 2.4 2.6.4-1.9 1.8.5 2.6-2.4-1.3-2.4 1.3.5-2.6-1.9-1.8 2.6-.4L12 13z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#kl-portfolio-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

#kl-portfolio-grid > .e-con {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
}

#kl-portfolio [id^="kl-portfolio-card-"] {
	overflow: hidden !important;
	border: 1px solid rgba(155, 31, 188, 0.42) !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 42px rgba(30, 14, 52, 0.06) !important;
}

#kl-portfolio [id^="kl-portfolio-card-"] .elementor-widget-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1.55 / 1 !important;
	object-fit: cover !important;
}

#kl-portfolio [id^="kl-portfolio-card-"] > .e-con,
#kl-portfolio [id^="kl-portfolio-card-"] .kl-portfolio-card__body {
	padding: 14px 14px 18px !important;
	background: #ffffff !important;
}

#kl-portfolio [id^="kl-portfolio-card-"] .elementor-heading-title {
	margin: 0 0 12px !important;
	color: #111111 !important;
	font-size: 20px !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
}

#kl-portfolio [id^="kl-portfolio-card-"] .elementor-widget-text-editor p,
#kl-portfolio [id^="kl-portfolio-card-"] .elementor-widget-text-editor .elementor-widget-container {
	color: #2f2b36 !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

#kl-portfolio .kl-portfolio-card__tags {
	display: flex !important;
	flex-flow: row wrap !important;
	gap: 10px !important;
	margin-top: 14px !important;
}

#kl-portfolio .kl-portfolio-card__tag {
	width: auto !important;
	max-width: none !important;
}

#kl-portfolio .kl-portfolio-card__tag .elementor-widget-container,
#kl-portfolio .kl-portfolio-card__tag p {
	min-width: 62px !important;
	padding: 6px 13px !important;
	border: 1px solid rgba(155, 31, 188, 0.58) !important;
	border-radius: 4px !important;
	color: #cf269c !important;
	font-size: 11px !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	text-align: center !important;
}

#kl-portfolio .kl-portfolio-card__button .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #6c13ad !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

@media (max-width: 900px) {
	#kl-portfolio-grid {
		grid-template-columns: 1fr !important;
		max-width: 520px !important;
		margin-inline: auto !important;
	}
}

@media (max-width: 767px) {
	#kl-service-card-1 .elementor-widget-text-editor:first-child::before,
	#kl-service-card-2 .elementor-widget-text-editor:first-child::before,
	#kl-service-card-3 .elementor-widget-text-editor:first-child::before {
		width: 70px;
		height: 70px;
		margin-inline: auto;
	}

	#kl-service-card-1 .elementor-widget-text-editor:first-child::after,
	#kl-service-card-2 .elementor-widget-text-editor:first-child::after,
	#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
		top: 21px;
		left: calc(50% - 14px);
		width: 30px;
		height: 30px;
	}
}

/* Kreyalab - icônes services alignées sur la maquette */
#kl-service-card-1::after,
#kl-service-card-2::after,
#kl-service-card-3::after {
	display: none !important;
}

#kl-service-card-1 .kl-service-card__eyebrow,
#kl-service-card-2 .kl-service-card__eyebrow,
#kl-service-card-3 .kl-service-card__eyebrow {
	position: relative !important;
	margin-bottom: 16px !important;
}

#kl-service-card-1 .kl-service-card__eyebrow::before,
#kl-service-card-2 .kl-service-card__eyebrow::before,
#kl-service-card-3 .kl-service-card__eyebrow::before,
#kl-service-card-1 .elementor-widget-text-editor:first-child::before,
#kl-service-card-2 .elementor-widget-text-editor:first-child::before,
#kl-service-card-3 .elementor-widget-text-editor:first-child::before {
	content: "" !important;
	position: relative !important;
	inset: auto !important;
	display: block !important;
	width: 82px !important;
	height: 82px !important;
	margin: 0 0 22px !important;
	border-radius: 50% !important;
	background: linear-gradient(145deg, #de2491 0%, #7a24e3 100%) !important;
	box-shadow: 0 18px 34px rgba(16, 7, 58, 0.32) !important;
	-webkit-mask: none !important;
	mask: none !important;
	pointer-events: none !important;
}

#kl-service-card-1 .elementor-widget-text-editor:first-child::after,
#kl-service-card-2 .elementor-widget-text-editor:first-child::after,
#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
	content: "" !important;
	position: absolute !important;
	top: 22px !important;
	left: 22px !important;
	z-index: 4 !important;
	display: block !important;
	width: 38px !important;
	height: 38px !important;
	background: #ffffff !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	pointer-events: none !important;
}

#kl-service-card-1 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6l10 18-10 34-10-34z'/%3E%3Cpath d='M32 6v22'/%3E%3Ccircle cx='32' cy='32' r='4' fill='black'/%3E%3Cpath d='M13 13c-7 8-7 20 0 28M51 13c7 8 7 20 0 28M20 10l-4 4M48 10l-4 4M20 46l-4 5M48 46l-4 5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6l10 18-10 34-10-34z'/%3E%3Cpath d='M32 6v22'/%3E%3Ccircle cx='32' cy='32' r='4' fill='black'/%3E%3Cpath d='M13 13c-7 8-7 20 0 28M51 13c7 8 7 20 0 28M20 10l-4 4M48 10l-4 4M20 46l-4 5M48 46l-4 5'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
}

#kl-service-card-2 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 22h6l4-6h8l4 6h6a7 7 0 0 1 7 7v19a7 7 0 0 1-7 7H18a7 7 0 0 1-7-7V29a7 7 0 0 1 7-7z'/%3E%3Ccircle cx='32' cy='39' r='10'/%3E%3Cpath d='M46 29h.1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 22h6l4-6h8l4 6h6a7 7 0 0 1 7 7v19a7 7 0 0 1-7 7H18a7 7 0 0 1-7-7V29a7 7 0 0 1 7-7z'/%3E%3Ccircle cx='32' cy='39' r='10'/%3E%3Cpath d='M46 29h.1'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
}

#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='14' width='44' height='42' rx='5'/%3E%3Cpath d='M20 8v12M44 8v12M10 26h44'/%3E%3Cpath d='M32 35l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 64 64' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='10' y='14' width='44' height='42' rx='5'/%3E%3Cpath d='M20 8v12M44 8v12M10 26h44'/%3E%3Cpath d='M32 35l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
}

@media (max-width: 767px) {
	#kl-service-card-1 .kl-service-card__eyebrow::before,
	#kl-service-card-2 .kl-service-card__eyebrow::before,
	#kl-service-card-3 .kl-service-card__eyebrow::before,
	#kl-service-card-1 .elementor-widget-text-editor:first-child::before,
	#kl-service-card-2 .elementor-widget-text-editor:first-child::before,
	#kl-service-card-3 .elementor-widget-text-editor:first-child::before {
		width: 72px !important;
		height: 72px !important;
		margin: 0 auto 18px !important;
	}

	#kl-service-card-1 .elementor-widget-text-editor:first-child::after,
	#kl-service-card-2 .elementor-widget-text-editor:first-child::after,
	#kl-service-card-3 .elementor-widget-text-editor:first-child::after {
		top: 19px !important;
		left: 50% !important;
		width: 34px !important;
		height: 34px !important;
		transform: translateX(-50%) !important;
	}
}

/* Kreyalab - CTA finale accueil */
.kl-home-cta,
.kreyalab-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: min(100% - 56px, 1480px) !important;
	max-width: 1480px !important;
	margin: 0 auto 96px !important;
	padding: 72px 32px 82px !important;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 14px;
	background:
		radial-gradient(circle at 5% -5%, rgba(229, 35, 146, 0.7) 0, transparent 33%),
		radial-gradient(circle at 100% 0%, rgba(122, 36, 227, 0.45) 0, transparent 27%),
		radial-gradient(circle at 0% 100%, rgba(109, 27, 189, 0.45) 0, transparent 24%),
		linear-gradient(135deg, #39116a 0%, #22105a 52%, #111245 100%) !important;
	box-shadow: 0 28px 70px rgba(20, 11, 52, 0.16);
	text-align: center;
}

.kl-home-cta::before,
.kreyalab-cta::before,
.kl-home-cta::after,
.kreyalab-cta::after {
	content: "";
	position: absolute;
	z-index: -1;
	pointer-events: none;
}

.kl-home-cta::before,
.kreyalab-cta::before {
	inset: 0;
	background:
		radial-gradient(circle, rgba(255, 255, 255, 0.22) 1.8px, transparent 2.2px) 44px 92px / 26px 26px no-repeat,
		radial-gradient(circle, rgba(255, 255, 255, 0.22) 1.8px, transparent 2.2px) calc(100% - 190px) calc(100% - 210px) / 26px 26px repeat;
	opacity: 0.42;
}

.kl-home-cta::after,
.kreyalab-cta::after {
	inset: -150px -110px -170px -120px;
	border-radius: 40px;
	background:
		radial-gradient(closest-side, transparent 70%, rgba(255, 255, 255, 0.13) 71%, transparent 72%) left top / 420px 420px no-repeat,
		radial-gradient(closest-side, transparent 70%, rgba(142, 45, 230, 0.42) 71%, transparent 72%) right bottom / 520px 520px no-repeat;
}

.kl-home-cta > .e-con-inner {
	max-width: 980px !important;
	margin-inline: auto;
}

.kl-home-cta__icon {
	position: relative;
	width: 82px !important;
	height: 82px !important;
	margin: 0 auto 24px !important;
	border-radius: 50%;
	background: linear-gradient(145deg, #de2491, #7a24e3);
	box-shadow: 0 18px 42px rgba(122, 36, 227, 0.36);
}

.kl-home-cta__icon::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -34px;
	width: 1px;
	height: 34px;
	background: linear-gradient(to bottom, rgba(222, 36, 145, 0.75), transparent);
	transform: translateX(-50%);
}

.kl-home-cta__icon .elementor-icon {
	display: grid;
	width: 82px;
	height: 82px;
	place-items: center;
	color: #ffffff !important;
	font-size: 31px;
}

.kl-home-cta__icon svg,
.kl-home-cta__icon i {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.kl-home-cta__title .elementor-heading-title {
	margin: 14px 0 16px !important;
	color: #ffffff !important;
	/*font-family: Inter, Arial, sans-serif;*/
	font-size: clamp(42px, 5.2vw, 66px) !important;
	font-weight: 900 !important;
	line-height: 1.06 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
}

.kl-home-cta__title span {
	background: linear-gradient(135deg, #ff7bbf 0%, #df3fac 48%, #c986ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.kl-home-cta__title::after {
	content: "";
	display: block;
	width: 46px;
	height: 3px;
	margin: 20px auto 0;
	border-radius: 999px;
	background: linear-gradient(90deg, #de2491, #7a24e3);
}

.kl-home-cta__text {
	width: min(100%, 810px) !important;
	margin: 0 auto !important;
}

.kl-home-cta__text p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: clamp(18px, 1.8vw, 25px) !important;
	line-height: 1.48 !important;
	text-align: center !important;
}

.kl-home-cta__actions {
	display: flex !important;
	flex-direction: row !important;
	justify-content: center !important;
	gap: 24px !important;
	width: 100% !important;
	margin-top: 26px !important;
}

.kl-home-cta__button .elementor-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 374px;
	min-height: 78px;
	padding: 22px 34px !important;
	border-radius: 8px !important;
	color: #ffffff !important;
	font-size: 21px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.kl-home-cta__button--primary .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	background: linear-gradient(135deg, #de2491 0%, #7a24e3 100%) !important;
	box-shadow: 0 20px 44px rgba(222, 36, 145, 0.28) !important;
}

.kl-home-cta__button--secondary .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.78) !important;
	background: rgba(255, 255, 255, 0.02) !important;
	box-shadow: none !important;
}

.kl-home-cta__button .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 50px rgba(122, 36, 227, 0.32) !important;
}

.kl-home-cta__button .elementor-button-icon,
.kl-home-cta__button svg,
.kl-home-cta__button i {
	color: #ffffff !important;
	fill: #ffffff !important;
	font-size: 25px;
}

/* Kreyalab - footer accueil */
.kreyalab-footer {
	position: relative;
	overflow: hidden;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding: 82px 28px 28px !important;
	background:
		radial-gradient(circle at 15% 0%, rgba(222, 36, 145, 0.24) 0, transparent 30%),
		radial-gradient(circle at 92% 20%, rgba(122, 36, 227, 0.24) 0, transparent 28%),
		linear-gradient(135deg, #120d3a 0%, #20104f 48%, #090d2b 100%);
	color: #ffffff;
}

.kreyalab-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: 0.4;
	pointer-events: none;
}

.kreyalab-footer__inner,
.kreyalab-footer__bottom {
	position: relative;
	z-index: 1;
	width: min(100%, 1320px) !important;
	margin-inline: auto !important;
}

.kreyalab-footer__inner {
	display: grid !important;
	grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(170px, 0.7fr));
	gap: 46px !important;
	align-items: start !important;
	padding-bottom: 52px;
}

.kreyalab-footer__brand,
.kreyalab-footer__column {
	gap: 14px !important;
}

.kreyalab-footer__logo .elementor-heading-title {
	color: #ffffff !important;
	font-size: 34px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

.kreyalab-footer__description {
	max-width: 360px;
}

.kreyalab-footer__description p,
.kreyalab-footer__contact-text p,
.kreyalab-footer__copy p,
.kreyalab-footer__legal p {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.76) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
}

.kreyalab-footer__heading .elementor-heading-title {
	margin: 0 0 6px !important;
	color: #ffffff !important;
	font-size: 17px !important;
	font-weight: 850 !important;
}

.kreyalab-footer a {
	color: rgba(255, 255, 255, 0.78) !important;
	text-decoration: none !important;
	transition: color 180ms ease, transform 180ms ease;
}

.kreyalab-footer a:hover {
	color: #ff7bbf !important;
}

.kreyalab-footer__links p {
	margin: 0 0 9px !important;
	color: rgba(255, 255, 255, 0.78) !important;
	font-size: 15px !important;
}

.kreyalab-footer__socials {
	display: flex !important;
	gap: 10px !important;
	margin-top: 8px;
}

.kreyalab-footer__social .elementor-button {
	display: grid !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	place-items: center !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #ffffff !important;
}

.kreyalab-footer__social .elementor-button-text {
	display: none;
}

.kreyalab-footer__cta .elementor-button {
	margin-top: 8px;
	padding: 14px 20px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #de2491, #7a24e3) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
}

.kreyalab-footer__bottom {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.kreyalab-footer__legal {
	text-align: right;
}

@media (max-width: 1024px) {
	.kl-home-cta,
	.kreyalab-cta {
		width: min(100% - 36px, 920px) !important;
		padding: 64px 24px 70px !important;
	}

	.kl-home-cta__actions {
		gap: 16px !important;
	}

	.kl-home-cta__button .elementor-button {
		min-width: 300px;
	}

	.kreyalab-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.kl-home-cta,
	.kreyalab-cta {
		width: min(100% - 28px, 520px) !important;
		margin-bottom: 58px !important;
		padding: 50px 18px 56px !important;
		border-radius: 12px;
	}

	.kl-home-cta__icon,
	.kl-home-cta__icon .elementor-icon {
		width: 68px !important;
		height: 68px !important;
	}

	.kl-home-cta__title .elementor-heading-title {
		font-size: clamp(32px, 10vw, 42px) !important;
	}

	.kl-home-cta__text p {
		font-size: 17px !important;
	}

	.kl-home-cta__actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.kl-home-cta__button,
	.kl-home-cta__button .elementor-button {
		width: 100% !important;
		min-width: 0 !important;
	}

	.kl-home-cta__button .elementor-button {
		min-height: 62px;
		font-size: 16px !important;
	}

	.kreyalab-footer {
		padding: 58px 22px 24px !important;
	}

	.kreyalab-footer__inner {
		grid-template-columns: 1fr;
		gap: 34px !important;
	}

	.kreyalab-footer__bottom {
		flex-direction: column !important;
		text-align: left;
	}

	.kreyalab-footer__legal {
		text-align: left;
	}
}

/* Kreyalab - ABOUT LOWER FINAL OVERRIDES */
body .kreyalab-about-meaning,
body .kreyalab-about-pillars,
body .kreyalab-about-team,
body .kreyalab-about-stats {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding-right: 24px !important;
	padding-left: 24px !important;
	background: #ffffff !important;
}

body .kreyalab-about-team {
	background: linear-gradient(180deg, #fbf8ff 0%, #ffffff 100%) !important;
}

body .kreyalab-about-meaning > .e-con-inner,
body .kreyalab-about-pillars > .e-con-inner,
body .kreyalab-about-team > .e-con-inner,
body .kreyalab-about-stats > .e-con-inner {
	width: min(100%, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto !important;
	align-items: center !important;
}

body .kl-about-pillars__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	width: 100% !important;
	margin: 34px auto 0 !important;
}

body .kl-about-pillar-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-height: 322px !important;
	padding: 32px 30px 28px !important;
	border: 1px solid rgba(122, 36, 227, 0.28) !important;
	border-radius: 9px !important;
	background: #ffffff !important;
	box-shadow: 0 15px 34px rgba(18, 13, 42, 0.08) !important;
	text-align: left !important;
}

body .kl-about-pillar-card__icon {
	width: 62px !important;
	height: 62px !important;
	margin-bottom: 22px !important;
	border: 1px solid rgba(222, 36, 145, 0.55) !important;
	border-radius: 50% !important;
	background: rgba(222, 36, 145, 0.08) !important;
}

body .kl-about-team__grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px 36px !important;
	width: min(100%, 1080px) !important;
	margin: 28px auto 34px !important;
}

body .kl-about-team-card {
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	border: 1px solid rgba(20, 17, 40, 0.08) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: 0 15px 34px rgba(20, 17, 40, 0.1) !important;
}

body .kl-about-team-card__image img {
	width: 100% !important;
	aspect-ratio: 1.55 / 1 !important;
	object-fit: cover !important;
	object-position: center top !important;
}

body .kl-about-team-card__bio {
	display: none !important;
}

body .kl-about-stats__content {
	display: grid !important;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr) !important;
	gap: 24px !important;
	width: min(100%, 1120px) !important;
	margin: 28px auto 0 !important;
	align-items: stretch !important;
	--display: grid !important;
}

body .kl-about-stats__image,
body .kl-about-stats__grid {
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
}

body .kl-about-stats__grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 20px !important;
	--display: grid !important;
}

body .kl-about-stat-card {
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
	min-height: 250px !important;
	padding: 30px 18px !important;
	border: 1px solid rgba(122, 36, 227, 0.5) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	text-align: center !important;
}

body .kl-about-final-cta-v2 {
	width: min(100% - 56px, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto 36px !important;
	border-radius: 10px !important;
}

@media (max-width: 900px) {
	body .kl-about-pillars__grid,
	body .kl-about-team__grid,
	body .kl-about-stats__content,
	body .kl-about-stats__grid {
		grid-template-columns: 1fr 1fr !important;
	}
}

@media (max-width: 767px) {
	body .kl-about-pillars__grid,
	body .kl-about-team__grid,
	body .kl-about-stats__content,
	body .kl-about-stats__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Kreyalab - stats À propos style horizontal demandé */
body .kl-about-stats__content {
	display: grid !important;
	grid-template-columns: minmax(0, 1.9fr) minmax(280px, 0.9fr) !important;
	gap: 30px !important;
	width: min(100%, 1120px) !important;
	align-items: stretch !important;
}

body .kl-about-stats__image,
body .kl-about-stats__grid {
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
}

body .kl-about-stats__image {
	border-radius: 8px !important;
	box-shadow: none !important;
}

body .kl-about-stats__image img {
	width: 100% !important;
	height: 100% !important;
	min-height: 480px !important;
	object-fit: cover !important;
}

body .kl-about-stats__grid {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-auto-rows: 1fr !important;
	gap: 24px !important;
	height: 100% !important;
	--display: grid !important;
}

body .kl-about-stat-card {
	width: 100% !important;
	max-width: none !important;
	min-height: 130px !important;
	padding: 22px 18px !important;
	justify-content: center !important;
	align-items: center !important;
	border: 2px solid #111111 !important;
	border-radius: 7px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	text-align: center !important;
	--width: 100% !important;
}

body .kl-about-stat-card::before {
	display: none !important;
}

body .kl-about-stat-card__number .elementor-heading-title {
	margin: 0 !important;
	color: #000000 !important;
	font-size: 58px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}

body .kl-about-stat-card__label .elementor-heading-title {
	margin: 10px 0 0 !important;
	color: #000000 !important;
	font-size: 19px !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
}

@media (max-width: 767px) {
	body .kl-about-stats__content {
		grid-template-columns: 1fr !important;
	}

	body .kl-about-stats__image img {
		min-height: 320px !important;
	}
}

/* Kreyalab - Page Services Elementor */
body .kl-service-local-nav {
	display: none !important;
}

body #kl-service-hero,
body .kl-service-page-hero {
	position: relative !important;
	overflow: hidden !important;
	width: 100vw !important;
	max-width: 100vw !important;
	min-height: 620px !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 72px 24px 0 !important;
	background-size: cover !important;
	background-position: center !important;
	isolation: isolate !important;
}

body #kl-service-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background:
		linear-gradient(90deg, rgba(214, 24, 138, 0.62) 0%, rgba(18, 18, 50, 0.78) 50%, rgba(15, 13, 38, 0.72) 100%),
		radial-gradient(circle at 8% 88%, rgba(126, 35, 221, 0.55), transparent 34%),
		radial-gradient(circle at 88% 14%, rgba(226, 34, 152, 0.32), transparent 28%),
		rgba(8, 7, 20, 0.56);
}

body #kl-service-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 38px 38px;
	opacity: 0.35;
}

body #kl-service-hero > .e-con-inner {
	width: min(100%, 1120px) !important;
	min-height: 548px !important;
	margin: 0 auto !important;
	justify-content: center !important;
	align-items: flex-start !important;
}

body .kl-service-hero__title {
	width: min(100%, 620px) !important;
	margin-top: 34px !important;
	margin-bottom: 16px !important;
}

body .kl-service-hero__title .elementor-heading-title {
	color: #ffffff !important;
	font-size: clamp(44px, 5.4vw, 74px) !important;
	font-weight: 950 !important;
	line-height: 0.98 !important;
	letter-spacing: 0 !important;
	text-wrap: balance;
}

body .kl-service-hero__title span {
	color: #f35bb4 !important;
	background: linear-gradient(135deg, #ff4fb2 0%, #b33cff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

body .kl-service-hero__text {
	width: min(100%, 560px) !important;
	margin-bottom: 24px !important;
}

body .kl-service-hero__text,
body .kl-service-hero__text p {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
}

body .kl-service-hero__actions {
	display: flex !important;
	flex-direction: row !important;
	gap: 18px !important;
	align-items: center !important;
	margin-bottom: 86px !important;
	--display: flex !important;
}

body .kl-service-btn .elementor-button,
body .kl-service-mini-btn .elementor-button,
body .kl-service-process-btn .elementor-button {
	border-radius: 8px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

body .kl-service-btn--primary .elementor-button,
body .kl-service-mini-btn--primary .elementor-button,
body .kl-service-process-btn--primary .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	background: linear-gradient(135deg, #e32298 0%, #6f22d6 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 18px 34px rgba(180, 32, 160, 0.28) !important;
}

body .kl-service-btn--secondary .elementor-button,
body .kl-service-mini-btn--secondary .elementor-button,
body .kl-service-process-btn--secondary .elementor-button {
	border: 1px solid rgba(255, 255, 255, 0.72) !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #ffffff !important;
}

body .kl-service-mini-btn--secondary .elementor-button,
body .kl-service-process-btn--secondary .elementor-button {
	border-color: rgba(144, 40, 218, 0.45) !important;
	color: #7a1ec4 !important;
	background: #ffffff !important;
}

body .kl-service-btn .elementor-button:hover,
body .kl-service-mini-btn .elementor-button:hover,
body .kl-service-process-btn .elementor-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 38px rgba(132, 34, 210, 0.28) !important;
}

body .kl-service-hero__tabs {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 0 !important;
	width: min(100%, 1120px) !important;
	margin-top: auto !important;
	padding: 26px 0 24px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.18) !important;
	--display: grid !important;
}

body .kl-service-hero__tab {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	min-height: 46px !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
}

body .kl-service-hero__tab:not(:last-child) {
	border-right: 1px solid rgba(255, 255, 255, 0.2) !important;
}

body .kl-service-hero__tab::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: #ffffff;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
}

body .kl-service-hero__tab--design::before { content: "\f5ae"; }
body .kl-service-hero__tab--photo::before { content: "\f030"; }
body .kl-service-hero__tab--event::before { content: "\f274"; }
body .kl-service-hero__tab--training::before { content: "\f19d"; }

body .kl-service-hero__tab p {
	margin: 0 !important;
	color: inherit !important;
}

body #kl-service-list,
body .kl-service-list-v2 {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 28px 24px 36px !important;
	background: #ffffff !important;
}

body #kl-service-list > .e-con-inner {
	width: min(100%, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto !important;
	gap: 24px !important;
}

body .kl-service-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	width: 100% !important;
	overflow: hidden !important;
	border: 1px solid rgba(95, 43, 128, 0.12) !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: 0 20px 48px rgba(23, 16, 53, 0.12) !important;
	--display: grid !important;
}

body .kl-service-card-v2,
body .kl-service-image-v2 {
	width: 100% !important;
	max-width: none !important;
	min-height: 350px !important;
	--width: 100% !important;
}

body .kl-service-card-v2 {
	padding: clamp(32px, 5vw, 58px) !important;
	justify-content: center !important;
	align-items: flex-start !important;
	background: #ffffff !important;
}

body .kl-service-image-v2 {
	background-size: cover !important;
	background-position: center !important;
}

body .kl-service-image-v2 .elementor-widget-image {
	display: none !important;
}

body .kl-service-card-v2__eyebrow {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 9px !important;
	margin-bottom: 18px !important;
	color: #c71991 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
}

body .kl-service-card-v2__eyebrow::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: rgba(139, 50, 221, 0.11);
	color: #7f26df;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 16px;
}

body .kl-service-card-v2__eyebrow--design::before { content: "\f5ae"; }
body .kl-service-card-v2__eyebrow--photo::before { content: "\f030"; }
body .kl-service-card-v2__eyebrow--event::before { content: "\f274"; }

body .kl-service-card-v2__eyebrow p {
	margin: 0 !important;
	color: inherit !important;
}

body .kl-service-card-v2__title .elementor-heading-title {
	margin: 0 !important;
	color: #080a18 !important;
	font-size: clamp(32px, 3vw, 42px) !important;
	font-weight: 950 !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
}

body .kl-service-card-v2__text,
body .kl-service-card-v2__text p {
	color: #242636 !important;
	font-size: 16px !important;
	line-height: 1.72 !important;
}

body .kl-service-card-v2__actions {
	display: flex !important;
	flex-direction: row !important;
	gap: 16px !important;
	margin-top: 18px !important;
	--display: flex !important;
}

body .kl-service-mini-btn .elementor-button {
	min-height: 44px !important;
	padding: 12px 22px !important;
	font-size: 14px !important;
}

body #kl-service-process,
body .kl-service-process-v2 {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 34px 24px 30px !important;
	background: #ffffff !important;
}

body #kl-service-process > .e-con-inner {
	width: min(100%, 1120px) !important;
	margin: 0 auto !important;
	padding: 28px 24px !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, #fff4ff 0%, #ffffff 52%, #fff7fd 100%) !important;
	box-shadow: 0 18px 44px rgba(122, 36, 227, 0.08) !important;
}

body .kl-service-process-item {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 100px 140px minmax(0, 1fr) 32px !important;
	gap: 28px !important;
	align-items: center !important;
	width: 100% !important;
	padding: 22px 24px !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.86) !important;
	box-shadow: 0 1px 0 rgba(125, 40, 190, 0.12) !important;
	--display: grid !important;
}

body .kl-service-process-item:not(:last-child) {
	margin-bottom: 10px !important;
}

body .kl-service-process-item::after {
	content: "\f078";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-left: auto;
	border-radius: 50%;
	border: 1px solid rgba(220, 36, 145, 0.28);
	color: #d92798;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 11px;
}

body .kl-service-process-item__icon {
	width: 78px !important;
	height: 78px !important;
	border-radius: 14px !important;
	background: #fff7ff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

body .kl-service-process-item__icon .elementor-icon {
	color: #a126d8 !important;
	font-size: 34px !important;
}

body .kl-service-process-item__number .elementor-heading-title {
	margin: 0 !important;
	background: linear-gradient(180deg, #f02b9d 0%, #8b24d8 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(60px, 7vw, 92px) !important;
	font-weight: 950 !important;
	line-height: 0.9 !important;
}

body .kl-service-process-item__content {
	width: 100% !important;
	max-width: none !important;
	--width: 100% !important;
}

body .kl-service-process-item__eyebrow .elementor-heading-title {
	margin: 0 0 4px !important;
	color: #b91b91 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

body .kl-service-process-item__title .elementor-heading-title {
	margin: 0 !important;
	color: #0b0d1c !important;
	font-size: clamp(24px, 2.4vw, 34px) !important;
	font-weight: 950 !important;
	line-height: 1.08 !important;
}

body .kl-service-process-item__text,
body .kl-service-process-item__text p {
	color: #343545 !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
}

body .kl-service-process-btn .elementor-button {
	min-height: 36px !important;
	padding: 9px 18px !important;
	font-size: 13px !important;
}

body #kl-service-faq,
body .kl-service-faq-v2 {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 22px 24px 58px !important;
	background: #ffffff !important;
}

body #kl-service-faq > .e-con-inner {
	width: min(100%, 1040px) !important;
	margin: 0 auto !important;
	align-items: center !important;
}

body .kl-service-faq__title .elementor-heading-title {
	color: #090b19 !important;
	font-size: clamp(34px, 4vw, 48px) !important;
	font-weight: 950 !important;
	text-align: center !important;
}

body .kl-service-faq__title .elementor-heading-title::after {
	display: block;
	width: 46px;
	height: 4px;
	margin: 8px auto 0;
	border-radius: 999px;
	content: "";
	background: linear-gradient(90deg, #e32298, #7a24e3);
}

body .kl-service-faq__intro,
body .kl-service-faq__intro p {
	color: #373849 !important;
	text-align: center !important;
}

body .kl-service-faq-item {
	position: relative !important;
	width: 100% !important;
	max-width: 980px !important;
	padding: 18px 58px 18px 58px !important;
	border: 1px solid rgba(24, 22, 40, 0.16) !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 8px 24px rgba(21, 16, 44, 0.04) !important;
	--width: 100% !important;
}

body .kl-service-faq-item:not(:last-of-type) {
	margin-bottom: 10px !important;
}

body .kl-service-faq-item::before {
	position: absolute;
	left: 24px;
	top: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 2px solid #e331a1;
	border-radius: 50%;
	color: #e331a1;
	content: "?";
	font-size: 13px;
	font-weight: 900;
}

body .kl-service-faq-item::after {
	position: absolute;
	right: 24px;
	top: 24px;
	color: #e331a1;
	content: "\f078";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-weight: 900;
}

body .kl-service-faq-item .elementor-heading-title {
	margin: 0 0 6px !important;
	color: #080a18 !important;
	font-size: 17px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

body .kl-service-faq-item .elementor-heading-title span,
body .kl-service-faq-item .elementor-heading-title br:last-child {
	display: none !important;
}

body .kl-service-faq-item p {
	margin: 0 !important;
	color: #333544 !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

body .kl-service-faq__bottom-title,
body .kl-service-faq__bottom-text,
body .kl-service-faq__button {
	display: none !important;
}

@media (max-width: 1024px) {
	body #kl-service-hero > .e-con-inner {
		min-height: 520px !important;
	}

	body .kl-service-row {
		grid-template-columns: 1fr 1fr !important;
	}

	body .kl-service-card-v2 {
		padding: 34px !important;
	}

	body .kl-service-process-item {
		grid-template-columns: 82px 112px minmax(0, 1fr) 28px !important;
		gap: 18px !important;
	}
}

@media (max-width: 767px) {
	body #kl-service-hero,
	body .kl-service-page-hero {
		min-height: auto !important;
		padding: 74px 18px 0 !important;
	}

	body #kl-service-hero > .e-con-inner {
		min-height: auto !important;
		align-items: center !important;
		text-align: center !important;
	}

	body .kl-service-hero__title,
	body .kl-service-hero__text {
		width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body .kl-service-hero__title .elementor-heading-title {
		font-size: clamp(40px, 12vw, 56px) !important;
	}

	body .kl-service-hero__actions,
	body .kl-service-card-v2__actions {
		width: 100% !important;
		flex-direction: column !important;
		margin-bottom: 46px !important;
	}

	body .kl-service-btn,
	body .kl-service-btn .elementor-button-wrapper,
	body .kl-service-btn .elementor-button,
	body .kl-service-mini-btn,
	body .kl-service-mini-btn .elementor-button-wrapper,
	body .kl-service-mini-btn .elementor-button {
		width: 100% !important;
	}

	body .kl-service-hero__tabs {
		grid-template-columns: 1fr 1fr !important;
		gap: 1px !important;
		padding: 18px 0 !important;
		border-top-color: rgba(255, 255, 255, 0.16) !important;
	}

	body .kl-service-hero__tab {
		justify-content: flex-start !important;
		padding: 10px 8px !important;
		text-align: left !important;
	}

	body .kl-service-hero__tab:not(:last-child) {
		border-right: 0 !important;
	}

	body #kl-service-list,
	body #kl-service-process,
	body #kl-service-faq {
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	body .kl-service-row {
		grid-template-columns: 1fr !important;
	}

	body .kl-service-card-v2 {
		min-height: auto !important;
		padding: 30px 24px !important;
		text-align: left !important;
	}

	body .kl-service-image-v2 {
		min-height: 280px !important;
	}

	body .kl-service-card-v2__title .elementor-heading-title {
		font-size: 32px !important;
	}

	body #kl-service-process > .e-con-inner {
		padding: 16px !important;
	}

	body .kl-service-process-item {
		grid-template-columns: 74px 1fr !important;
		gap: 14px !important;
		padding: 18px !important;
	}

	body .kl-service-process-item::after {
		position: absolute;
		right: 18px;
		top: 20px;
	}

	body .kl-service-process-item__number {
		grid-column: 2;
		grid-row: 1;
	}

	body .kl-service-process-item__content {
		grid-column: 1 / -1;
	}

	body .kl-service-process-item__number .elementor-heading-title {
		font-size: 58px !important;
	}

	body .kl-service-faq-item {
		padding: 18px 42px 18px 48px !important;
	}

	body .kl-service-faq-item::before {
		left: 16px;
	}

	body .kl-service-faq-item::after {
		right: 16px;
	}
}









/* Kreyalab project page */
.elementor .kreyalab-project-case {
	--kl-purple: #320056;
	--kl-deep: #120821;
	--kl-pink: #d70091;
	--kl-gold: #f7a400;
	--kl-ink: #141024;
	--kl-muted: #565066;
	--kl-line: #e7d9ef;
	--kl-soft: #fbf7ff;
	font-family: "Fractul", Inter, Arial, sans-serif;
	color: var(--kl-ink);
	background: #ffffff;
	overflow: hidden;
}

.elementor .kreyalab-project-case .elementor-widget-heading,
.elementor .kreyalab-project-case .elementor-widget-text-editor,
.elementor .kreyalab-project-case .elementor-widget-button,
.elementor .kreyalab-project-case .elementor-widget-image {
	margin-bottom: 0;
}

.elementor .kreyalab-project-case .case-wrap {
	width: min(1080px, calc(100% - 40px));
	margin-inline: auto;
}

.elementor .kreyalab-project-case .case-hero {
	min-height: 430px;
	padding: 92px 0 66px;
	background:
		radial-gradient(circle at 82% 12%, rgba(215, 0, 145, .22), transparent 30%),
		linear-gradient(105deg, rgba(49, 0, 86, .98) 0%, rgba(49, 0, 86, .92) 48%, rgba(18, 8, 33, .74) 100%);
	position: relative;
}

.elementor .kreyalab-project-case .case-hero:before {
	content: "";
	position: absolute;
	left: 0;
	top: 118px;
	width: 48px;
	height: 82px;
	background-image: radial-gradient(rgba(255, 255, 255, .65) 1.5px, transparent 1.5px);
	background-size: 16px 16px;
}

.elementor .kreyalab-project-case .case-hero .case-wrap {
	position: relative;
	z-index: 1;
}

.elementor .kreyalab-project-case .case-hero-copy {
	max-width: 620px;
}

.elementor .kreyalab-project-case .case-title .elementor-heading-title {
	color: #fff;
	font-size: clamp(42px, 6vw, 72px);
	line-height: .98;
	font-weight: 800;
	letter-spacing: 0;
}

.elementor .kreyalab-project-case .case-lead {
	max-width: 520px;
	margin-top: 24px;
	color: rgba(255, 255, 255, .9);
	font-size: 18px;
	line-height: 1.55;
}

.elementor .kreyalab-project-case .case-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.elementor .kreyalab-project-case .case-tag .elementor-button {
	min-width: 70px;
	padding: 7px 17px;
	border: 1px solid var(--kl-gold);
	border-radius: 6px;
	background: transparent;
	color: var(--kl-gold);
	font-size: 12px;
	font-weight: 700;
}

.elementor .kreyalab-project-case .case-section {
	padding: 56px 0;
}

.elementor .kreyalab-project-case .case-intro-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 6vw, 76px);
	align-items: start;
}

.elementor .kreyalab-project-case .section-kicker {
	display: flex;
	gap: 18px;
	align-items: center;
	margin-bottom: 24px;
}

.elementor .kreyalab-project-case .section-icon {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: #ffe5f7;
	color: var(--kl-pink);
	font-size: 20px;
}

.elementor .kreyalab-project-case .section-heading .elementor-heading-title {
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.12;
	font-weight: 800;
	color: var(--kl-ink);
}

.elementor .kreyalab-project-case .accent-pink {
	color: var(--kl-pink);
}

.elementor .kreyalab-project-case .case-copy {
	color: #2d2738;
	font-size: 15px;
	line-height: 1.78;
}

.elementor .kreyalab-project-case .case-copy p {
	margin: 0 0 18px;
}

.elementor .kreyalab-project-case .case-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / .95;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 18px 45px rgba(39, 8, 69, .16);
}

.elementor .kreyalab-project-case .process-card {
	padding: 28px 28px 22px;
	border: 1px solid var(--kl-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 14px 44px rgba(84, 0, 126, .1);
}

.elementor .kreyalab-project-case .process-row {
	display: grid;
	grid-template-columns: 88px 128px 1fr 34px;
	gap: 22px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid #ded7e8;
}

.elementor .kreyalab-project-case .process-row:last-child {
	border-bottom: 0;
}

.elementor .kreyalab-project-case .process-icon {
	width: 72px;
	height: 72px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #f3e4ff;
	color: #6b009b;
	font-size: 27px;
}

.elementor .kreyalab-project-case .process-number .elementor-heading-title {
	font-size: clamp(54px, 7vw, 76px);
	line-height: .85;
	font-weight: 900;
	background: linear-gradient(135deg, #5c008c 0%, var(--kl-pink) 88%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.elementor .kreyalab-project-case .process-label .elementor-heading-title {
	margin-bottom: 5px;
	color: var(--kl-pink);
	font-size: 12px;
	font-weight: 800;
}

.elementor .kreyalab-project-case .process-title .elementor-heading-title {
	margin-bottom: 7px;
	font-size: 25px;
	line-height: 1.14;
	font-weight: 800;
	color: var(--kl-ink);
}

.elementor .kreyalab-project-case .process-text {
	max-width: 650px;
	color: #41384e;
	font-size: 14px;
	line-height: 1.55;
}

.elementor .kreyalab-project-case .process-actions {
	display: flex;
	gap: 22px;
	align-items: center;
	margin-top: 12px;
}

.elementor .kreyalab-project-case .mini-primary .elementor-button,
.elementor .kreyalab-project-case .mini-secondary .elementor-button {
	padding: 6px 18px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 800;
}

.elementor .kreyalab-project-case .mini-primary .elementor-button {
	background: var(--kl-pink);
	color: #fff;
}

.elementor .kreyalab-project-case .mini-secondary .elementor-button {
	background: transparent;
	color: var(--kl-ink);
	padding-inline: 0;
}

.elementor .kreyalab-project-case .process-toggle {
	width: 28px;
	height: 28px;
	border: 1px solid var(--kl-pink);
	border-radius: 999px;
	display: grid;
	place-items: center;
	color: var(--kl-pink);
	font-size: 13px;
}

.elementor .kreyalab-project-case .centered-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 28px;
}

.elementor .kreyalab-project-case .centered-head .section-heading {
	margin-bottom: 8px;
}

.elementor .kreyalab-project-case .case-gallery {
	display: grid;
	grid-template-columns: 1.38fr .66fr .82fr;
	gap: 20px;
}

.elementor .kreyalab-project-case .case-gallery img {
	width: 100%;
	height: 246px;
	object-fit: cover;
	border-radius: 8px;
}

.elementor .kreyalab-project-case .testimonial {
	position: relative;
	padding: 44px 56px;
	border-radius: 14px;
	background: linear-gradient(90deg, #fff7fd 0%, #ffffff 58%, #fff4fb 100%);
	overflow: hidden;
}

.elementor .kreyalab-project-case .testimonial:after {
	content: "";
	position: absolute;
	right: 28px;
	top: 28px;
	width: 108px;
	height: 108px;
	background-image: radial-gradient(rgba(215, 0, 145, .28) 2px, transparent 2px);
	background-size: 18px 18px;
}

.elementor .kreyalab-project-case .quote-mark {
	width: 68px;
	height: 68px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: #ffd7f2;
	color: var(--kl-pink);
	font-size: 48px;
	font-weight: 900;
}

.elementor .kreyalab-project-case .stars {
	color: var(--kl-pink);
	text-align: center;
	font-size: 16px;
	font-weight: 900;
}

.elementor .kreyalab-project-case .quote-text .elementor-heading-title {
	max-width: 760px;
	margin: 8px auto 22px;
	text-align: center;
	font-size: clamp(23px, 3vw, 33px);
	line-height: 1.13;
	font-weight: 800;
	color: var(--kl-ink);
}

.elementor .kreyalab-project-case .quote-author {
	text-align: center;
	color: #241a30;
	font-size: 14px;
	line-height: 1.35;
}

.elementor .kreyalab-project-case .cta-band {
	position: relative;
	display: grid;
	grid-template-columns: 80px 1fr auto;
	gap: 28px;
	align-items: center;
	padding: 54px 58px;
	border-radius: 14px;
	background:
		radial-gradient(circle at 92% 92%, transparent 0 68px, rgba(215, 0, 145, .42) 69px, transparent 70px),
		linear-gradient(105deg, #d70091 0%, #42005f 46%, #18083e 100%);
	color: #fff;
}

.elementor .kreyalab-project-case .cta-icon {
	width: 70px;
	height: 70px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: var(--kl-pink);
	color: #fff;
	font-size: 28px;
}

.elementor .kreyalab-project-case .cta-title .elementor-heading-title {
	color: #fff;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.05;
	font-weight: 800;
}

.elementor .kreyalab-project-case .cta-copy {
	margin-top: 18px;
	max-width: 510px;
	color: rgba(255, 255, 255, .9);
	font-size: 15px;
	line-height: 1.6;
}

.elementor .kreyalab-project-case .cta-actions {
	display: flex;
	gap: 18px;
	align-items: center;
}

.elementor .kreyalab-project-case .cta-primary .elementor-button,
.elementor .kreyalab-project-case .cta-secondary .elementor-button {
	padding: 13px 30px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 800;
}

.elementor .kreyalab-project-case .cta-primary .elementor-button {
	background: var(--kl-pink);
	color: #fff;
}

.elementor .kreyalab-project-case .cta-secondary .elementor-button {
	border: 1px solid rgba(255, 255, 255, .72);
	background: transparent;
	color: #fff;
}

.elementor .kreyalab-project-case .case-footer {
	padding: 42px 0 22px;
	color: #20172c;
}

.elementor .kreyalab-project-case .footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: clamp(36px, 9vw, 120px);
	padding-bottom: 34px;
	border-bottom: 1px solid #d9d2df;
}

.elementor .kreyalab-project-case .footer-title .elementor-heading-title {
	font-size: 20px;
	font-weight: 800;
}

.elementor .kreyalab-project-case .footer-text,
.elementor .kreyalab-project-case .footer-links {
	color: #2e263b;
	font-size: 13px;
	line-height: 1.75;
}

.elementor .kreyalab-project-case .footer-links a,
.elementor .kreyalab-project-case .footer-text a {
	color: inherit;
	text-decoration: none;
}

.elementor .kreyalab-project-case .footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-top: 20px;
	font-size: 12px;
	color: #42384e;
}

@media (max-width: 900px) {
	.elementor .kreyalab-project-case .case-intro-grid,
	.elementor .kreyalab-project-case .case-gallery,
	.elementor .kreyalab-project-case .cta-band,
	.elementor .kreyalab-project-case .footer-grid {
		grid-template-columns: 1fr;
	}

	.elementor .kreyalab-project-case .process-row {
		grid-template-columns: 70px 96px 1fr;
	}

	.elementor .kreyalab-project-case .process-toggle {
		display: none;
	}

	.elementor .kreyalab-project-case .cta-actions,
	.elementor .kreyalab-project-case .footer-bottom {
		flex-wrap: wrap;
	}
}

@media (max-width: 640px) {
	.elementor .kreyalab-project-case .case-wrap {
		width: min(100% - 28px, 1080px);
	}

	.elementor .kreyalab-project-case .case-hero {
		min-height: 360px;
		padding: 72px 0 48px;
	}

	.elementor .kreyalab-project-case .case-section {
		padding: 40px 0;
	}

	.elementor .kreyalab-project-case .process-card,
	.elementor .kreyalab-project-case .testimonial,
	.elementor .kreyalab-project-case .cta-band {
		padding: 28px 20px;
	}

	.elementor .kreyalab-project-case .process-row {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.elementor .kreyalab-project-case .process-number .elementor-heading-title {
		font-size: 58px;
	}

	.elementor .kreyalab-project-case .case-gallery img {
		height: 230px;
	}
}

/* Existing Elementor widget map for the Projet page */
.elementor .kreyalab-project-case {
	width: 100%;
	max-width: none !important;
}

.elementor .kreyalab-project-case > .e-con-inner {
	max-width: none !important;
	padding: 0 !important;
}

.elementor .kreyalab-project-hero,
.elementor .kreyalab-project-challenge,
.elementor .kreyalab-project-process,
.elementor .kreyalab-project-visuals,
.elementor .kreyalab-project-testimonial,
.elementor .kreyalab-project-cta,
.elementor .kreyalab-project-footer {
	width: min(1080px, calc(100% - 40px));
	margin-inline: auto;
}

.elementor .kreyalab-project-hero {
	width: 100%;
	max-width: none !important;
	min-height: 430px;
	padding: 92px max(24px, calc((100vw - 1080px) / 2)) 66px !important;
	align-items: flex-start !important;
	background:
		radial-gradient(circle at 82% 12%, rgba(215, 0, 145, .22), transparent 30%),
		linear-gradient(105deg, rgba(49, 0, 86, .98) 0%, rgba(49, 0, 86, .92) 48%, rgba(18, 8, 33, .74) 100%);
}

.elementor .kreyalab-project-hero:before {
	content: "";
	position: absolute;
	left: 0;
	top: 118px;
	width: 48px;
	height: 82px;
	background-image: radial-gradient(rgba(255, 255, 255, .65) 1.5px, transparent 1.5px);
	background-size: 16px 16px;
}

.elementor .kreyalab-project-hero > .elementor-element {
	max-width: 620px;
}

.elementor .kreyalab-project-hero .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(42px, 6vw, 72px) !important;
	text-align: left;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor {
	max-width: 520px;
	color: rgba(255, 255, 255, .9) !important;
	text-align: left;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor p {
	margin: 0;
}

.elementor .kreyalab-project-hero .elementor-widget-button .elementor-button,
.elementor .kreyalab-project-hero .elementor-widget-text-editor:not(:first-child) {
	color: var(--kl-gold) !important;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor[style],
.elementor .kreyalab-project-hero .elementor-widget-text-editor p {
	text-align: left !important;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor .elementor-widget-container p {
	color: inherit;
}

.elementor .kreyalab-project-hero .e-con-inner .elementor-widget-text-editor + .elementor-element,
.elementor .kreyalab-project-hero .elementor-widget-button .elementor-button {
	border-color: var(--kl-gold) !important;
	background: transparent !important;
	color: var(--kl-gold) !important;
}

.elementor .kreyalab-project-challenge {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 6vw, 76px) !important;
	padding: 56px 0 36px !important;
	align-items: start !important;
}

.elementor .kreyalab-project-challenge > .elementor-element {
	width: auto !important;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	font-size: clamp(28px, 3vw, 38px) !important;
	line-height: 1.12 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-challenge .elementor-heading-title:before {
	content: "?";
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-right: 18px;
	border-radius: 12px;
	background: #ffe5f7;
	color: var(--kl-pink);
	font-size: 20px;
	vertical-align: middle;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	max-width: 520px;
}

.elementor .kreyalab-project-challenge .elementor-heading-title::first-letter {
	color: inherit;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	background: linear-gradient(90deg, var(--kl-ink) 0 34%, var(--kl-pink) 34% 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.elementor .kreyalab-project-challenge .elementor-widget-text-editor {
	color: #2d2738 !important;
	font-size: 15px !important;
	line-height: 1.78 !important;
}

.elementor .kreyalab-project-challenge .elementor-widget-text-editor p {
	margin: 0 0 18px;
}

.elementor .kreyalab-project-challenge [style*="background-image"],
.elementor .kreyalab-project-challenge > .elementor-element:nth-child(2) {
	min-height: 440px !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 45px rgba(39, 8, 69, .16);
	overflow: hidden;
}

.elementor .kreyalab-project-challenge > .elementor-element:nth-child(2) .elementor-widget-image {
	display: none;
}

.elementor .kreyalab-project-process {
	padding: 36px 0 44px !important;
}

.elementor .kreyalab-project-process:before {
	content: "";
	position: absolute;
	inset: 36px 0 44px;
	border: 1px solid var(--kl-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 14px 44px rgba(84, 0, 126, .1);
	z-index: -1;
}

.elementor .kreyalab-project-process > .elementor-element {
	display: grid !important;
	grid-template-columns: 128px 1fr;
	gap: 28px !important;
	padding: 34px 34px !important;
	border-top: 1px solid #ded7e8 !important;
}

.elementor .kreyalab-project-process > .elementor-element:first-child {
	border-top: 0 !important;
}

.elementor .kreyalab-project-process > .elementor-element:before {
	content: "?";
	width: 72px;
	height: 72px;
	margin-top: 8px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #f3e4ff;
	color: #6b009b;
	font-size: 27px;
	grid-row: 1 / span 2;
}

.elementor .kreyalab-project-process > .elementor-element > .elementor-widget-heading:first-child .elementor-heading-title {
	font-size: clamp(54px, 7vw, 76px) !important;
	line-height: .85 !important;
	font-weight: 900 !important;
	background: linear-gradient(135deg, #5c008c 0%, var(--kl-pink) 88%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}

.elementor .kreyalab-project-process .elementor-widget-text-editor strong {
	color: var(--kl-pink);
	font-size: 12px;
}

.elementor .kreyalab-project-process .elementor-widget-heading:not(:first-child) .elementor-heading-title {
	font-size: 25px !important;
	line-height: 1.14 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-process .elementor-widget-text-editor {
	color: #41384e;
	font-size: 14px;
	line-height: 1.55;
}

.elementor .kreyalab-project-process .elementor-widget-button .elementor-button {
	padding: 6px 18px !important;
	border-radius: 5px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.elementor .kreyalab-project-visuals {
	padding: 34px 0 56px !important;
	text-align: center;
}

.elementor .kreyalab-project-visuals > .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(30px, 3vw, 42px) !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-visuals > .elementor-widget-heading .elementor-heading-title:after {
	content: " projet";
	color: var(--kl-pink);
}

.elementor .kreyalab-project-visuals > .elementor-widget-text-editor {
	color: #5d536a;
	font-size: 14px;
	margin-bottom: 28px;
}

.elementor .kreyalab-project-visuals > .elementor-element:last-child {
	display: grid !important;
	grid-template-columns: 1.38fr .66fr .82fr;
	gap: 20px !important;
	width: 100%;
}

.elementor .kreyalab-project-visuals > .elementor-element:last-child > .elementor-element {
	width: 100% !important;
	min-height: 246px !important;
	border-radius: 8px !important;
	background-size: cover !important;
	background-position: center !important;
	overflow: hidden;
}

.elementor .kreyalab-project-testimonial {
	position: relative;
	margin-top: 10px;
	margin-bottom: 36px;
	padding: 44px 56px !important;
	border-radius: 14px;
	background: linear-gradient(90deg, #fff7fd 0%, #ffffff 58%, #fff4fb 100%);
	overflow: hidden;
}

.elementor .kreyalab-project-testimonial:before {
	content: "“";
	position: absolute;
	left: 42px;
	top: 36px;
	width: 68px;
	height: 68px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: #ffd7f2;
	color: var(--kl-pink);
	font-size: 54px;
	font-weight: 900;
	line-height: 1;
}

.elementor .kreyalab-project-testimonial:after {
	content: "";
	position: absolute;
	right: 28px;
	top: 28px;
	width: 108px;
	height: 108px;
	background-image: radial-gradient(rgba(215, 0, 145, .28) 2px, transparent 2px);
	background-size: 18px 18px;
}

.elementor .kreyalab-project-testimonial .elementor-widget-text-editor:first-child {
	color: var(--kl-pink) !important;
	text-align: center;
	font-size: 16px;
	font-weight: 900;
}

.elementor .kreyalab-project-testimonial .elementor-heading-title {
	max-width: 760px;
	margin: 8px auto 22px;
	text-align: center;
	font-size: clamp(23px, 3vw, 33px) !important;
	line-height: 1.13 !important;
	font-weight: 800 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-testimonial .elementor-widget-text-editor:last-child {
	text-align: center;
	color: #241a30;
	font-size: 14px;
	line-height: 1.35;
}

.elementor .kreyalab-project-cta {
	width: min(1080px, calc(100% - 40px));
	display: grid !important;
	grid-template-columns: 80px 1fr auto;
	gap: 28px !important;
	align-items: center !important;
	margin-bottom: 28px;
	padding: 54px 58px !important;
	border-radius: 14px;
	background:
		radial-gradient(circle at 92% 92%, transparent 0 68px, rgba(215, 0, 145, .42) 69px, transparent 70px),
		linear-gradient(105deg, #d70091 0%, #42005f 46%, #18083e 100%) !important;
	color: #fff;
}

.elementor .kreyalab-project-cta:before {
	content: "?";
	width: 70px;
	height: 70px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: var(--kl-pink);
	color: #fff;
	font-size: 28px;
	grid-row: 1 / span 2;
}

.elementor .kreyalab-project-cta .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(28px, 4vw, 42px) !important;
	line-height: 1.05 !important;
	text-align: left !important;
}

.elementor .kreyalab-project-cta .elementor-widget-text-editor {
	max-width: 510px;
	color: rgba(255, 255, 255, .9) !important;
	text-align: left !important;
}

.elementor .kreyalab-project-cta > .elementor-element:last-child {
	display: flex !important;
	flex-direction: row !important;
	gap: 18px !important;
}

.elementor .kreyalab-project-cta .elementor-widget-button .elementor-button {
	padding: 13px 30px !important;
	border-radius: 7px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.elementor .kreyalab-project-footer {
	padding: 42px 0 22px !important;
}

.elementor .kreyalab-project-footer > .elementor-element:first-child {
	display: grid !important;
	grid-template-columns: 1.5fr 1fr;
	gap: clamp(36px, 9vw, 120px) !important;
	padding-bottom: 34px;
	border-bottom: 1px solid #d9d2df;
}

.elementor .kreyalab-project-footer .elementor-heading-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #20172c !important;
}

.elementor .kreyalab-project-footer .elementor-widget-text-editor {
	color: #2e263b;
	font-size: 13px;
	line-height: 1.75;
}

.elementor .kreyalab-project-footer > .elementor-element:last-child {
	display: flex !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding-top: 20px !important;
	font-size: 12px;
	color: #42384e;
}

@media (max-width: 900px) {
	.elementor .kreyalab-project-challenge,
	.elementor .kreyalab-project-visuals > .elementor-element:last-child,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-footer > .elementor-element:first-child {
		grid-template-columns: 1fr !important;
	}

	.elementor .kreyalab-project-process > .elementor-element {
		grid-template-columns: 1fr !important;
	}

	.elementor .kreyalab-project-process > .elementor-element:before,
	.elementor .kreyalab-project-cta:before {
		grid-row: auto;
	}
}

@media (max-width: 640px) {
	.elementor .kreyalab-project-hero {
		min-height: 360px;
		padding: 72px 20px 48px !important;
	}

	.elementor .kreyalab-project-hero,
	.elementor .kreyalab-project-challenge,
	.elementor .kreyalab-project-process,
	.elementor .kreyalab-project-visuals,
	.elementor .kreyalab-project-testimonial,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-footer {
		width: min(100% - 28px, 1080px);
	}

	.elementor .kreyalab-project-testimonial,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-process > .elementor-element {
		padding: 28px 20px !important;
	}

	.elementor .kreyalab-project-testimonial:before,
	.elementor .kreyalab-project-testimonial:after {
		display: none;
	}
}

/* Projet page fallback without Elementor wrapper */
/* Existing Elementor widget map for the Projet page */
body.page-id-1604 {
	width: 100%;
	max-width: none !important;
}

body.page-id-1604 > .e-con-inner {
	max-width: none !important;
	padding: 0 !important;
}

.elementor .kreyalab-project-hero,
.elementor .kreyalab-project-challenge,
.elementor .kreyalab-project-process,
.elementor .kreyalab-project-visuals,
.elementor .kreyalab-project-testimonial,
.elementor .kreyalab-project-cta,
.elementor .kreyalab-project-footer {
	width: min(1080px, calc(100% - 40px));
	margin-inline: auto;
}

.elementor .kreyalab-project-hero {
	width: 100%;
	max-width: none !important;
	min-height: 430px;
	padding: 92px max(24px, calc((100vw - 1080px) / 2)) 66px !important;
	align-items: flex-start !important;
	background:
		radial-gradient(circle at 82% 12%, rgba(215, 0, 145, .22), transparent 30%),
		linear-gradient(105deg, rgba(49, 0, 86, .98) 0%, rgba(49, 0, 86, .92) 48%, rgba(18, 8, 33, .74) 100%);
}

.elementor .kreyalab-project-hero:before {
	content: "";
	position: absolute;
	left: 0;
	top: 118px;
	width: 48px;
	height: 82px;
	background-image: radial-gradient(rgba(255, 255, 255, .65) 1.5px, transparent 1.5px);
	background-size: 16px 16px;
}

.elementor .kreyalab-project-hero > .elementor-element {
	max-width: 620px;
}

.elementor .kreyalab-project-hero .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(42px, 6vw, 72px) !important;
	text-align: left;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor {
	max-width: 520px;
	color: rgba(255, 255, 255, .9) !important;
	text-align: left;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor p {
	margin: 0;
}

.elementor .kreyalab-project-hero .elementor-widget-button .elementor-button,
.elementor .kreyalab-project-hero .elementor-widget-text-editor:not(:first-child) {
	color: var(--kl-gold) !important;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor[style],
.elementor .kreyalab-project-hero .elementor-widget-text-editor p {
	text-align: left !important;
}

.elementor .kreyalab-project-hero .elementor-widget-text-editor .elementor-widget-container p {
	color: inherit;
}

.elementor .kreyalab-project-hero .e-con-inner .elementor-widget-text-editor + .elementor-element,
.elementor .kreyalab-project-hero .elementor-widget-button .elementor-button {
	border-color: var(--kl-gold) !important;
	background: transparent !important;
	color: var(--kl-gold) !important;
}

.elementor .kreyalab-project-challenge {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: clamp(36px, 6vw, 76px) !important;
	padding: 56px 0 36px !important;
	align-items: start !important;
}

.elementor .kreyalab-project-challenge > .elementor-element {
	width: auto !important;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	font-size: clamp(28px, 3vw, 38px) !important;
	line-height: 1.12 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-challenge .elementor-heading-title:before {
	content: "?";
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-right: 18px;
	border-radius: 12px;
	background: #ffe5f7;
	color: var(--kl-pink);
	font-size: 20px;
	vertical-align: middle;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	max-width: 520px;
}

.elementor .kreyalab-project-challenge .elementor-heading-title::first-letter {
	color: inherit;
}

.elementor .kreyalab-project-challenge .elementor-heading-title {
	background: linear-gradient(90deg, var(--kl-ink) 0 34%, var(--kl-pink) 34% 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

.elementor .kreyalab-project-challenge .elementor-widget-text-editor {
	color: #2d2738 !important;
	font-size: 15px !important;
	line-height: 1.78 !important;
}

.elementor .kreyalab-project-challenge .elementor-widget-text-editor p {
	margin: 0 0 18px;
}

.elementor .kreyalab-project-challenge [style*="background-image"],
.elementor .kreyalab-project-challenge > .elementor-element:nth-child(2) {
	min-height: 440px !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 45px rgba(39, 8, 69, .16);
	overflow: hidden;
}

.elementor .kreyalab-project-challenge > .elementor-element:nth-child(2) .elementor-widget-image {
	display: none;
}

.elementor .kreyalab-project-process {
	padding: 36px 0 44px !important;
}

.elementor .kreyalab-project-process:before {
	content: "";
	position: absolute;
	inset: 36px 0 44px;
	border: 1px solid var(--kl-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 14px 44px rgba(84, 0, 126, .1);
	z-index: -1;
}

.elementor .kreyalab-project-process > .elementor-element {
	display: grid !important;
	grid-template-columns: 128px 1fr;
	gap: 28px !important;
	padding: 34px 34px !important;
	border-top: 1px solid #ded7e8 !important;
}

.elementor .kreyalab-project-process > .elementor-element:first-child {
	border-top: 0 !important;
}

.elementor .kreyalab-project-process > .elementor-element:before {
	content: "?";
	width: 72px;
	height: 72px;
	margin-top: 8px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: #f3e4ff;
	color: #6b009b;
	font-size: 27px;
	grid-row: 1 / span 2;
}

.elementor .kreyalab-project-process > .elementor-element > .elementor-widget-heading:first-child .elementor-heading-title {
	font-size: clamp(54px, 7vw, 76px) !important;
	line-height: .85 !important;
	font-weight: 900 !important;
	background: linear-gradient(135deg, #5c008c 0%, var(--kl-pink) 88%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
}

.elementor .kreyalab-project-process .elementor-widget-text-editor strong {
	color: var(--kl-pink);
	font-size: 12px;
}

.elementor .kreyalab-project-process .elementor-widget-heading:not(:first-child) .elementor-heading-title {
	font-size: 25px !important;
	line-height: 1.14 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-process .elementor-widget-text-editor {
	color: #41384e;
	font-size: 14px;
	line-height: 1.55;
}

.elementor .kreyalab-project-process .elementor-widget-button .elementor-button {
	padding: 6px 18px !important;
	border-radius: 5px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.elementor .kreyalab-project-visuals {
	padding: 34px 0 56px !important;
	text-align: center;
}

.elementor .kreyalab-project-visuals > .elementor-widget-heading .elementor-heading-title {
	font-size: clamp(30px, 3vw, 42px) !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-visuals > .elementor-widget-heading .elementor-heading-title:after {
	content: " projet";
	color: var(--kl-pink);
}

.elementor .kreyalab-project-visuals > .elementor-widget-text-editor {
	color: #5d536a;
	font-size: 14px;
	margin-bottom: 28px;
}

.elementor .kreyalab-project-visuals > .elementor-element:last-child {
	display: grid !important;
	grid-template-columns: 1.38fr .66fr .82fr;
	gap: 20px !important;
	width: 100%;
}

.elementor .kreyalab-project-visuals > .elementor-element:last-child > .elementor-element {
	width: 100% !important;
	min-height: 246px !important;
	border-radius: 8px !important;
	background-size: cover !important;
	background-position: center !important;
	overflow: hidden;
}

.elementor .kreyalab-project-testimonial {
	position: relative;
	margin-top: 10px;
	margin-bottom: 36px;
	padding: 44px 56px !important;
	border-radius: 14px;
	background: linear-gradient(90deg, #fff7fd 0%, #ffffff 58%, #fff4fb 100%);
	overflow: hidden;
}

.elementor .kreyalab-project-testimonial:before {
	content: "“";
	position: absolute;
	left: 42px;
	top: 36px;
	width: 68px;
	height: 68px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	background: #ffd7f2;
	color: var(--kl-pink);
	font-size: 54px;
	font-weight: 900;
	line-height: 1;
}

.elementor .kreyalab-project-testimonial:after {
	content: "";
	position: absolute;
	right: 28px;
	top: 28px;
	width: 108px;
	height: 108px;
	background-image: radial-gradient(rgba(215, 0, 145, .28) 2px, transparent 2px);
	background-size: 18px 18px;
}

.elementor .kreyalab-project-testimonial .elementor-widget-text-editor:first-child {
	color: var(--kl-pink) !important;
	text-align: center;
	font-size: 16px;
	font-weight: 900;
}

.elementor .kreyalab-project-testimonial .elementor-heading-title {
	max-width: 760px;
	margin: 8px auto 22px;
	text-align: center;
	font-size: clamp(23px, 3vw, 33px) !important;
	line-height: 1.13 !important;
	font-weight: 800 !important;
	color: var(--kl-ink) !important;
}

.elementor .kreyalab-project-testimonial .elementor-widget-text-editor:last-child {
	text-align: center;
	color: #241a30;
	font-size: 14px;
	line-height: 1.35;
}

.elementor .kreyalab-project-cta {
	width: min(1080px, calc(100% - 40px));
	display: grid !important;
	grid-template-columns: 80px 1fr auto;
	gap: 28px !important;
	align-items: center !important;
	margin-bottom: 28px;
	padding: 54px 58px !important;
	border-radius: 14px;
	background:
		radial-gradient(circle at 92% 92%, transparent 0 68px, rgba(215, 0, 145, .42) 69px, transparent 70px),
		linear-gradient(105deg, #d70091 0%, #42005f 46%, #18083e 100%) !important;
	color: #fff;
}

.elementor .kreyalab-project-cta:before {
	content: "?";
	width: 70px;
	height: 70px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	background: var(--kl-pink);
	color: #fff;
	font-size: 28px;
	grid-row: 1 / span 2;
}

.elementor .kreyalab-project-cta .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(28px, 4vw, 42px) !important;
	line-height: 1.05 !important;
	text-align: left !important;
}

.elementor .kreyalab-project-cta .elementor-widget-text-editor {
	max-width: 510px;
	color: rgba(255, 255, 255, .9) !important;
	text-align: left !important;
}

.elementor .kreyalab-project-cta > .elementor-element:last-child {
	display: flex !important;
	flex-direction: row !important;
	gap: 18px !important;
}

.elementor .kreyalab-project-cta .elementor-widget-button .elementor-button {
	padding: 13px 30px !important;
	border-radius: 7px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.elementor .kreyalab-project-footer {
	padding: 42px 0 22px !important;
}

.elementor .kreyalab-project-footer > .elementor-element:first-child {
	display: grid !important;
	grid-template-columns: 1.5fr 1fr;
	gap: clamp(36px, 9vw, 120px) !important;
	padding-bottom: 34px;
	border-bottom: 1px solid #d9d2df;
}

.elementor .kreyalab-project-footer .elementor-heading-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #20172c !important;
}

.elementor .kreyalab-project-footer .elementor-widget-text-editor {
	color: #2e263b;
	font-size: 13px;
	line-height: 1.75;
}

.elementor .kreyalab-project-footer > .elementor-element:last-child {
	display: flex !important;
	justify-content: space-between !important;
	gap: 20px !important;
	padding-top: 20px !important;
	font-size: 12px;
	color: #42384e;
}

@media (max-width: 900px) {
	.elementor .kreyalab-project-challenge,
	.elementor .kreyalab-project-visuals > .elementor-element:last-child,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-footer > .elementor-element:first-child {
		grid-template-columns: 1fr !important;
	}

	.elementor .kreyalab-project-process > .elementor-element {
		grid-template-columns: 1fr !important;
	}

	.elementor .kreyalab-project-process > .elementor-element:before,
	.elementor .kreyalab-project-cta:before {
		grid-row: auto;
	}
}

@media (max-width: 640px) {
	.elementor .kreyalab-project-hero {
		min-height: 360px;
		padding: 72px 20px 48px !important;
	}

	.elementor .kreyalab-project-hero,
	.elementor .kreyalab-project-challenge,
	.elementor .kreyalab-project-process,
	.elementor .kreyalab-project-visuals,
	.elementor .kreyalab-project-testimonial,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-footer {
		width: min(100% - 28px, 1080px);
	}

	.elementor .kreyalab-project-testimonial,
	.elementor .kreyalab-project-cta,
	.elementor .kreyalab-project-process > .elementor-element {
		padding: 28px 20px !important;
	}

	.elementor .kreyalab-project-testimonial:before,
	.elementor .kreyalab-project-testimonial:after {
		display: none;
	}
}


/* Kreyalab - Page Projet Elementor final */
body #kl-project-hero,
body .kl-project-hero {
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	min-height: 560px !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 26px 24px 58px !important;
	overflow: hidden !important;
	background-size: cover !important;
	background-position: center right !important;
	isolation: isolate !important;
}
body #kl-project-hero::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	background:
		linear-gradient(90deg, rgba(35, 7, 69, 0.98) 0%, rgba(58, 13, 88, 0.92) 38%, rgba(57, 13, 84, 0.42) 72%, rgba(13, 13, 30, 0.12) 100%),
		radial-gradient(circle at 0 55%, rgba(226, 34, 152, 0.42), transparent 32%);
}
body #kl-project-hero::after {
	position: absolute;
	left: -10px;
	top: 180px;
	width: 86px;
	height: 86px;
	content: "";
	background-image: radial-gradient(rgba(255,255,255,.62) 2px, transparent 2px);
	background-size: 18px 18px;
	opacity: .52;
}
body #kl-project-hero > .e-con-inner {
	width: min(100%, 1120px) !important;
	max-width: 1120px !important;
	margin: 0 auto !important;
	align-items: flex-start !important;
}
body .kl-project-nav {
	display: grid !important;
	grid-template-columns: 1fr auto auto !important;
	align-items: center !important;
	gap: 28px !important;
	width: 100% !important;
	min-height: 70px !important;
	padding: 13px 24px !important;
	border-radius: 8px !important;
	background: rgba(255,255,255,.96) !important;
	box-shadow: 0 16px 36px rgba(10,8,35,.22) !important;
	--display: grid !important;
}
body .kl-project-nav__logo .elementor-heading-title {
	position: relative;
	margin: 0 !important;
	padding-left: 42px !important;
	color: #d92194 !important;
	font-size: 22px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
}
body .kl-project-nav__logo .elementor-heading-title::before {
	position: absolute;
	left: 0;
	top: 50%;
	width: 30px;
	height: 30px;
	border-radius: 9px;
	content: "";
	transform: translateY(-50%);
	background: radial-gradient(circle at 35% 28%, #e32298 0 18%, transparent 19%), radial-gradient(circle at 66% 28%, #7623cf 0 18%, transparent 19%), radial-gradient(circle at 45% 62%, #29156a 0 28%, transparent 29%);
}
body .kl-project-nav__links,
body .kl-project-nav__actions {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 18px !important;
	--display: flex !important;
}
body .kl-project-nav__link .elementor-button,
body .kl-project-nav__button .elementor-button {
	padding: 11px 18px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
}
body .kl-project-nav__link .elementor-button {
	background: transparent !important;
	color: #080a18 !important;
}
body .kl-project-nav__button--outline .elementor-button {
	border: 1px solid #d91e96 !important;
	background: #ffffff !important;
	color: #080a18 !important;
}
body .kl-project-nav__button--primary .elementor-button {
	border: 1px solid #d91e96 !important;
	background: linear-gradient(135deg, #e32298, #7a24e3) !important;
	color: #ffffff !important;
}
body .kl-project-hero__title {
	width: min(100%, 545px) !important;
	margin-top: 72px !important;
	margin-bottom: 20px !important;
}
body .kl-project-hero__title .elementor-heading-title {
	color: #ffffff !important;
	font-size: clamp(42px, 5.2vw, 68px) !important;
	font-weight: 950 !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
}
body .kl-project-hero__lead,
body .kl-project-hero__lead p {
	width: min(100%, 540px) !important;
	color: rgba(255,255,255,.92) !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
}
body .kl-project-tags {
	display: flex !important;
	flex-direction: row !important;
	gap: 12px !important;
	margin-top: 18px !important;
	--display: flex !important;
}
body .kl-project-tag {
	width: auto !important;
	padding: 7px 18px !important;
	border: 1px solid #f4a328 !important;
	border-radius: 6px !important;
	color: #f4a328 !important;
	font-size: 12px !important;
	font-weight: 850 !important;
}
body .kl-project-tag p { margin: 0 !important; color: inherit !important; }
body #kl-project-challenge,
body .kl-project-challenge,
body #kl-project-process,
body .kl-project-process,
body #kl-project-visuals,
body .kl-project-visuals,
body #kl-project-testimonial,
body .kl-project-testimonial {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	padding-right: 24px !important;
	padding-left: 24px !important;
	background: #ffffff !important;
}
body #kl-project-challenge > .e-con-inner,
body #kl-project-process > .e-con-inner,
body #kl-project-visuals > .e-con-inner,
body #kl-project-testimonial > .e-con-inner {
	width: min(100%, 1020px) !important;
	max-width: 1020px !important;
	margin: 0 auto !important;
}
body .kl-project-challenge { padding-top: 52px !important; padding-bottom: 42px !important; }
body .kl-project-challenge > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .95fr) minmax(0, 1fr) !important;
	gap: 72px !important;
	align-items: start !important;
	--display: grid !important;
}
body .kl-project-challenge__copy { width: 100% !important; --width: 100% !important; }
body .kl-project-section-title .elementor-heading-title {
	margin: 0 !important;
	color: #080a18 !important;
	font-size: clamp(30px, 3.2vw, 42px) !important;
	font-weight: 950 !important;
	line-height: 1.1 !important;
}
body .kl-project-section-title span { color: #e32298 !important; }
body .kl-project-challenge__title .elementor-heading-title {
	position: relative;
	padding-left: 66px !important;
}
body .kl-project-challenge__title .elementor-heading-title::before {
	position: absolute;
	left: 0;
	top: -4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	content: "\f140";
	background: #fff0fb;
	color: #e32298;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 18px;
}
body .kl-project-body-copy,
body .kl-project-body-copy p {
	color: #151728 !important;
	font-size: 15px !important;
	line-height: 1.78 !important;
}
body .kl-project-challenge__image {
	min-height: 470px !important;
	border-radius: 12px !important;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: 0 22px 48px rgba(25,18,55,.14) !important;
}
body .kl-project-hidden-placeholder { display: none !important; }
body .kl-project-process { padding-top: 10px !important; padding-bottom: 42px !important; }
body #kl-project-process > .e-con-inner {
	padding: 22px 26px !important;
	border: 1px solid rgba(145,42,214,.16) !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 20px 50px rgba(111,34,214,.12) !important;
}
body .kl-project-process__row {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 80px 132px minmax(0,1fr) 28px !important;
	gap: 26px !important;
	align-items: center !important;
	width: 100% !important;
	padding: 22px 0 !important;
	border-bottom: 1px solid rgba(20,16,40,.13) !important;
	--display: grid !important;
}
body .kl-project-process__row:last-child { border-bottom: 0 !important; }
body .kl-project-process__row::after {
	content: "\f078";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border: 1px solid #e33aa2;
	border-radius: 50%;
	color: #e33aa2;
	font-family: "Font Awesome 5 Free";
	font-size: 10px;
	font-weight: 900;
}
body .kl-project-process__icon {
	width: 70px !important;
	height: 70px !important;
	border-radius: 13px !important;
	background: #f7eaff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
body .kl-project-process__icon .elementor-icon { color: #7a24e3 !important; font-size: 30px !important; }
body .kl-project-process__number .elementor-heading-title {
	margin: 0 !important;
	background: linear-gradient(180deg,#e32298 0%,#6224cf 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(62px, 7vw, 90px) !important;
	font-weight: 950 !important;
	line-height: .9 !important;
}
body .kl-project-process__eyebrow,
body .kl-project-process__eyebrow p { margin: 0 !important; color: #c51a90 !important; font-size: 12px !important; font-weight: 900 !important; }
body .kl-project-process__title .elementor-heading-title { margin: 2px 0 6px !important; color: #080a18 !important; font-size: clamp(22px, 2.4vw, 31px) !important; font-weight: 950 !important; line-height: 1.08 !important; }
body .kl-project-process__text,
body .kl-project-process__text p { color: #252838 !important; font-size: 14px !important; line-height: 1.55 !important; }
body .kl-project-process__actions { display: flex !important; flex-direction: row !important; gap: 18px !important; margin-top: 8px !important; --display: flex !important; }
body .kl-project-mini-btn .elementor-button {
	min-height: 30px !important;
	padding: 7px 18px !important;
	border-radius: 5px !important;
	font-size: 12px !important;
	font-weight: 850 !important;
}
body .kl-project-mini-btn--primary .elementor-button { background: linear-gradient(135deg,#e32298,#7a24e3) !important; color: #ffffff !important; border: 1px solid transparent !important; }
body .kl-project-mini-btn--outline .elementor-button { background: #ffffff !important; color: #7a24e3 !important; border: 1px solid #e32298 !important; }
body .kl-project-mini-btn--plain .elementor-button { background: transparent !important; color: #080a18 !important; border: 0 !important; }
body .kl-project-visuals { padding-top: 0 !important; padding-bottom: 42px !important; text-align: center !important; }
body .kl-project-section-subtitle,
body .kl-project-section-subtitle p { color: #4a4c5e !important; font-size: 14px !important; text-align: center !important; }
body .kl-project-gallery {
	display: grid !important;
	grid-template-columns: 1.25fr .75fr .75fr !important;
	gap: 22px !important;
	width: 100% !important;
	margin-top: 26px !important;
	--display: grid !important;
}
body .kl-project-gallery__item {
	min-height: 260px !important;
	border-radius: 8px !important;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: 0 14px 32px rgba(18,14,40,.10) !important;
}
body .kl-project-testimonial { padding-top: 0 !important; padding-bottom: 68px !important; }
body #kl-project-testimonial > .e-con-inner {
	position: relative !important;
	padding: 46px 80px 44px !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg,#fff1fb 0%,#ffffff 58%,#fff4fd 100%) !important;
	box-shadow: 0 20px 48px rgba(150,50,180,.10) !important;
	overflow: hidden !important;
}
body #kl-project-testimonial > .e-con-inner::before {
	position: absolute;
	left: 42px;
	top: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	content: "\201C";
	background: radial-gradient(circle at 35% 30%,#ffffff,#ffc2e8 70%);
	color: #d91e96;
	font-size: 62px;
	font-weight: 950;
	line-height: 1;
}
body #kl-project-testimonial > .e-con-inner::after {
	position: absolute;
	right: 36px;
	top: 34px;
	width: 98px;
	height: 98px;
	content: "";
	background-image: radial-gradient(rgba(190,77,198,.32) 2px, transparent 2px);
	background-size: 18px 18px;
}
body .kl-project-stars,
body .kl-project-stars p { margin: 0 0 10px !important; color: #e32298 !important; font-size: 18px !important; font-weight: 900 !important; text-align: center !important; }
body .kl-project-quote .elementor-heading-title { width: min(100%,760px) !important; margin: 0 auto !important; color: #0b0d1c !important; font-size: clamp(24px,3vw,35px) !important; font-weight: 950 !important; line-height: 1.16 !important; text-align: center !important; }
body .kl-project-author,
body .kl-project-author p { margin-top: 24px !important; color: #1e2030 !important; font-size: 14px !important; text-align: center !important; }
body .kl-project-cta { width: 100vw !important; max-width: 100vw !important; margin: 0 calc(50% - 50vw) !important; padding: 0 24px 48px !important; background: #ffffff !important; }
body .kl-project-cta > .e-con-inner { width: min(100%,1020px) !important; margin: 0 auto !important; padding: 52px 28px !important; border-radius: 14px !important; background-size: cover !important; background-position: center !important; }
body .kl-project-cta__title .elementor-heading-title { color: #ffffff !important; font-size: clamp(30px,4vw,46px) !important; font-weight: 950 !important; text-align: center !important; }
body .kl-project-cta__text, body .kl-project-cta__text p { color: rgba(255,255,255,.9) !important; text-align: center !important; }
body .kl-project-cta__actions { display: flex !important; flex-direction: row !important; justify-content: center !important; gap: 18px !important; --display: flex !important; }
body .kl-project-cta__button .elementor-button { min-width: 190px !important; min-height: 46px !important; border-radius: 7px !important; font-weight: 850 !important; }
body .kl-project-cta__button--primary .elementor-button { background: linear-gradient(135deg,#e32298,#7a24e3) !important; color: #ffffff !important; }
body .kl-project-cta__button--secondary .elementor-button { background: transparent !important; border: 1px solid rgba(255,255,255,.75) !important; color: #ffffff !important; }
@media (max-width: 1024px) {
	body .kl-project-nav { grid-template-columns: 1fr auto !important; }
	body .kl-project-nav__links { display: none !important; }
	body .kl-project-challenge > .e-con-inner { gap: 36px !important; }
	body .kl-project-process__row { grid-template-columns: 76px 110px minmax(0,1fr) 28px !important; gap: 18px !important; }
}
@media (max-width: 767px) {
	body #kl-project-hero, body .kl-project-hero { min-height: auto !important; padding: 18px 18px 46px !important; background-position: center right !important; }
	body #kl-project-hero::before { background: linear-gradient(90deg, rgba(35,7,69,.98), rgba(42,10,70,.86)), radial-gradient(circle at 0 70%, rgba(226,34,152,.34), transparent 40%) !important; }
	body .kl-project-nav { grid-template-columns: 1fr !important; gap: 14px !important; padding: 16px !important; }
	body .kl-project-nav__actions { width: 100% !important; justify-content: space-between !important; gap: 10px !important; }
	body .kl-project-nav__button, body .kl-project-nav__button .elementor-button-wrapper, body .kl-project-nav__button .elementor-button { width: 100% !important; }
	body .kl-project-hero__title { margin-top: 46px !important; }
	body .kl-project-hero__title .elementor-heading-title { font-size: clamp(38px, 12vw, 52px) !important; }
	body .kl-project-tags { flex-wrap: wrap !important; }
	body .kl-project-challenge, body .kl-project-process, body .kl-project-visuals, body .kl-project-testimonial, body .kl-project-cta { padding-right: 18px !important; padding-left: 18px !important; }
	body .kl-project-challenge > .e-con-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
	body .kl-project-challenge__image { min-height: 320px !important; order: -1; }
	body .kl-project-challenge__title .elementor-heading-title { padding-left: 56px !important; }
	body #kl-project-process > .e-con-inner { padding: 12px 18px !important; }
	body .kl-project-process__row { grid-template-columns: 64px 1fr !important; gap: 14px !important; padding: 20px 0 !important; }
	body .kl-project-process__row::after { position: absolute; right: 0; top: 26px; }
	body .kl-project-process__number { grid-column: 2; grid-row: 1; }
	body .kl-project-process__content { grid-column: 1 / -1; }
	body .kl-project-process__number .elementor-heading-title { font-size: 58px !important; }
	body .kl-project-process__actions, body .kl-project-cta__actions { flex-direction: column !important; width: 100% !important; }
	body .kl-project-mini-btn, body .kl-project-mini-btn .elementor-button-wrapper, body .kl-project-mini-btn .elementor-button, body .kl-project-cta__button, body .kl-project-cta__button .elementor-button-wrapper, body .kl-project-cta__button .elementor-button { width: 100% !important; }
	body .kl-project-gallery { grid-template-columns: 1fr !important; }
	body .kl-project-gallery__item { min-height: 230px !important; }
	body #kl-project-testimonial > .e-con-inner { padding: 92px 22px 32px !important; }
	body #kl-project-testimonial > .e-con-inner::before { left: 50%; top: 24px; transform: translateX(-50%); }
}
/* Kreyalab - correctif conteneurs boxed page Projet */
body .kl-project-nav > .e-con-inner {
	display: grid !important;
	grid-template-columns: 1fr auto auto !important;
	align-items: center !important;
	gap: 28px !important;
	width: 100% !important;
	max-width: none !important;
}
body .kl-project-nav__links > .e-con-inner,
body .kl-project-nav__actions > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 18px !important;
	width: 100% !important;
	max-width: none !important;
}
body .kl-project-nav__actions > .e-con-inner { justify-content: flex-end !important; }
body .kl-project-process__row > .elementor-widget-icon { grid-column: 1 !important; }
body .kl-project-process__row > .kl-project-process__number { grid-column: 2 !important; }
body .kl-project-process__row > .kl-project-process__content { grid-column: 3 !important; }
@media (max-width: 1024px) {
	body .kl-project-nav > .e-con-inner { grid-template-columns: 1fr auto !important; }
	body .kl-project-nav__links { display: none !important; }
}
@media (max-width: 767px) {
	body .kl-project-nav > .e-con-inner { grid-template-columns: 1fr !important; gap: 14px !important; }
	body .kl-project-nav__actions > .e-con-inner { justify-content: stretch !important; gap: 10px !important; }
	body .kl-project-process__row > .elementor-widget-icon { grid-column: 1 !important; grid-row: 1 !important; }
	body .kl-project-process__row > .kl-project-process__number { grid-column: 2 !important; grid-row: 1 !important; }
	body .kl-project-process__row > .kl-project-process__content { grid-column: 1 / -1 !important; }
}
/* Kreyalab - Page Projet fidelity pass 2026-06-26 */
body .elementor .kl-project-hero {
	position: relative !important;
	display: flex !important;
	width: 100vw !important;
	max-width: 100vw !important;
	height: 667px !important;
	min-height: 667px !important;
	margin: 0 calc(50% - 50vw) !important;
	padding: 31px 0 0 !important;
	overflow: hidden !important;
	background-size: cover !important;
	background-position: center right !important;
	background-repeat: no-repeat !important;
	isolation: isolate !important;
}
body .elementor .kl-project-hero::before {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	content: "" !important;
	background:
		linear-gradient(90deg, rgba(39, 10, 70, .98) 0%, rgba(39, 10, 70, .96) 28%, rgba(55, 17, 82, .78) 52%, rgba(55, 17, 82, .26) 74%, rgba(20, 20, 35, .05) 100%),
		radial-gradient(circle at 0 76%, rgba(226, 34, 152, .42), transparent 32%) !important;
	pointer-events: none !important;
}
body .elementor .kl-project-hero::after {
	position: absolute !important;
	left: -5px !important;
	top: 194px !important;
	z-index: 1 !important;
	width: 90px !important;
	height: 96px !important;
	content: "" !important;
	background-image: radial-gradient(rgba(255,255,255,.64) 2px, transparent 2px) !important;
	background-size: 18px 18px !important;
	opacity: .56 !important;
	pointer-events: none !important;
}
body .elementor .kl-project-hero > .e-con-inner {
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: min(100%, 1412px) !important;
	max-width: 1412px !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 0 !important;
	gap: 0 !important;
}
body .elementor .kl-project-nav {
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 86px !important;
	min-height: 86px !important;
	max-height: 86px !important;
	margin: 0 !important;
	padding: 0 34px !important;
	border-radius: 8px !important;
	background: rgba(255,255,255,.97) !important;
	box-shadow: 0 12px 32px rgba(10, 8, 35, .18) !important;
	--width: 100% !important;
	--min-height: 0 !important;
	--display: block !important;
}
body .elementor .kl-project-nav > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(190px,1fr) auto auto !important;
	align-items: center !important;
	gap: 28px !important;
	width: 100% !important;
	max-width: none !important;
	height: 86px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body .elementor .kl-project-nav__logo,
body .elementor .kl-project-nav__links,
body .elementor .kl-project-nav__actions {
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	--width: auto !important;
	--min-height: 0 !important;
}
body .elementor .kl-project-nav__links > .e-con-inner,
body .elementor .kl-project-nav__actions > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 26px !important;
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body .elementor .kl-project-nav__actions > .e-con-inner { gap: 26px !important; }
body .elementor .kl-project-nav__logo .elementor-heading-title {
	position: relative !important;
	margin: 0 !important;
	padding-left: 46px !important;
	color: #d91e94 !important;
	font-size: 24px !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	letter-spacing: 0 !important;
}
body .elementor .kl-project-nav__logo .elementor-heading-title::before {
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	width: 34px !important;
	height: 34px !important;
	border-radius: 10px !important;
	content: "" !important;
	transform: translateY(-50%) !important;
	background:
		radial-gradient(circle at 34% 30%, #e32298 0 17%, transparent 18%),
		radial-gradient(circle at 65% 30%, #ffb31a 0 15%, transparent 16%),
		radial-gradient(circle at 76% 60%, #41cbd1 0 14%, transparent 15%),
		radial-gradient(circle at 43% 66%, #28136b 0 31%, transparent 32%) !important;
}
body .elementor .kl-project-nav__link,
body .elementor .kl-project-nav__button {
	width: auto !important;
	margin: 0 !important;
}
body .elementor .kl-project-nav__link .elementor-button,
body .elementor .kl-project-nav__button .elementor-button {
	min-height: 0 !important;
	padding: 13px 21px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}
body .elementor .kl-project-nav__link .elementor-button {
	padding-right: 9px !important;
	padding-left: 9px !important;
	border: 0 !important;
	background: transparent !important;
	color: #050712 !important;
}
body .elementor .kl-project-nav__button--outline .elementor-button {
	min-width: 210px !important;
	border: 1px solid #d91e96 !important;
	background: #fff !important;
	color: #080a18 !important;
}
body .elementor .kl-project-nav__button--primary .elementor-button {
	min-width: 128px !important;
	border: 1px solid transparent !important;
	background: linear-gradient(135deg, #e32298 0%, #7a24e3 100%) !important;
	color: #fff !important;
}
body .elementor .kl-project-hero__title {
	width: 560px !important;
	max-width: 560px !important;
	margin: 88px 0 0 64px !important;
	padding: 0 !important;
}
body .elementor .kl-project-hero__title .elementor-heading-title {
	margin: 0 !important;
	color: #fff !important;
	font-size: 64px !important;
	font-weight: 950 !important;
	line-height: 1.02 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}
body .elementor .kl-project-hero__lead {
	width: 560px !important;
	max-width: 560px !important;
	margin: 22px 0 0 64px !important;
	padding: 0 !important;
}
body .elementor .kl-project-hero__lead p {
	margin: 0 !important;
	color: rgba(255,255,255,.92) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.7 !important;
	text-align: left !important;
}
body .elementor .kl-project-tags {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 12px !important;
	width: auto !important;
	margin: 28px 0 0 64px !important;
	padding: 0 !important;
	--display: flex !important;
}
body .elementor .kl-project-tag {
	width: auto !important;
	min-width: 78px !important;
	min-height: 34px !important;
	padding: 7px 16px !important;
	border: 1px solid #f4a328 !important;
	border-radius: 6px !important;
	color: #f4a328 !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	text-align: center !important;
}
body .elementor .kl-project-tag p { margin: 0 !important; color: inherit !important; }
body .elementor .kl-project-challenge,
body .elementor .kl-project-process,
body .elementor .kl-project-visuals,
body .elementor .kl-project-testimonial,
body .elementor .kl-project-cta {
	width: 100vw !important;
	max-width: 100vw !important;
	margin: 0 calc(50% - 50vw) !important;
	background: #fff !important;
}
body .elementor .kl-project-challenge { padding: 60px 24px 40px !important; }
body .elementor .kl-project-challenge > .e-con-inner {
	display: grid !important;
	grid-template-columns: 562px 620px !important;
	align-items: start !important;
	justify-content: center !important;
	gap: 102px !important;
	width: min(100%,1288px) !important;
	max-width: 1288px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}
body .elementor .kl-project-challenge__copy,
body .elementor .kl-project-challenge__image {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	--width: 100% !important;
}
body .elementor .kl-project-challenge__title { margin-bottom: 32px !important; }
body .elementor .kl-project-challenge__title .elementor-heading-title {
	position: relative !important;
	padding-left: 68px !important;
	font-size: 38px !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
}
body .elementor .kl-project-challenge__title .elementor-heading-title::before {
	left: 0 !important;
	top: -2px !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 12px !important;
	background: #fff0fb !important;
	color: #e32298 !important;
}
body .elementor .kl-project-body-copy p {
	margin: 0 0 24px !important;
	color: #171927 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.66 !important;
}
body .elementor .kl-project-challenge__image {
	height: 585px !important;
	min-height: 585px !important;
	border-radius: 12px !important;
	background-size: cover !important;
	background-position: center center !important;
	box-shadow: 0 22px 54px rgba(32, 20, 70, .13) !important;
}
body .elementor .kl-project-hidden-placeholder { display: none !important; }
body .elementor .kl-project-process { padding: 28px 24px 42px !important; }
body .elementor .kl-project-process > .e-con-inner {
	width: min(100%,1288px) !important;
	max-width: 1288px !important;
	margin: 0 auto !important;
	padding: 30px 30px !important;
	border: 1px solid rgba(143, 42, 210, .14) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 20px 52px rgba(122,36,227,.11) !important;
}
body .elementor .kl-project-process__row {
	display: grid !important;
	grid-template-columns: 88px 150px minmax(0,1fr) 30px !important;
	align-items: center !important;
	gap: 30px !important;
	width: 100% !important;
	padding: 24px 0 !important;
	border-bottom: 1px solid rgba(28,22,48,.16) !important;
	--display: grid !important;
}
body .elementor .kl-project-process__row:last-child { border-bottom: 0 !important; }
body .elementor .kl-project-process__row > .elementor-widget-icon { grid-column: 1 !important; grid-row: 1 !important; }
body .elementor .kl-project-process__row > .kl-project-process__number { grid-column: 2 !important; grid-row: 1 !important; }
body .elementor .kl-project-process__row > .kl-project-process__content { grid-column: 3 !important; grid-row: 1 !important; }
body .elementor .kl-project-process__row::after {
	grid-column: 4 !important;
	grid-row: 1 !important;
	width: 26px !important;
	height: 26px !important;
	border-color: #e331a1 !important;
	color: #e331a1 !important;
}
body .elementor .kl-project-process__icon {
	width: 76px !important;
	height: 76px !important;
	border-radius: 13px !important;
	background: #f6e9ff !important;
}
body .elementor .kl-project-process__icon .elementor-icon { color: #7a24e3 !important; font-size: 31px !important; }
body .elementor .kl-project-process__number .elementor-heading-title { font-size: 88px !important; line-height: .9 !important; }
body .elementor .kl-project-process__title .elementor-heading-title { font-size: 28px !important; line-height: 1.12 !important; }
body .elementor .kl-project-process__text p { font-size: 14px !important; line-height: 1.55 !important; margin-bottom: 0 !important; }
body .elementor .kl-project-process__actions { margin-top: 10px !important; gap: 18px !important; }
body .elementor .kl-project-visuals { padding: 12px 24px 48px !important; text-align: center !important; }
body .elementor .kl-project-visuals > .e-con-inner {
	width: min(100%,1288px) !important;
	max-width: 1288px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	align-items: center !important;
}
body .elementor .kl-project-visuals__title .elementor-heading-title { font-size: 36px !important; line-height: 1.12 !important; text-align: center !important; }
body .elementor .kl-project-section-subtitle p { margin: 10px 0 0 !important; font-size: 14px !important; line-height: 1.5 !important; }
body .elementor .kl-project-gallery {
	display: grid !important;
	grid-template-columns: 1.24fr .62fr .72fr !important;
	gap: 24px !important;
	width: 100% !important;
	margin-top: 28px !important;
	--display: grid !important;
}
body .elementor .kl-project-gallery__item {
	width: 100% !important;
	height: 360px !important;
	min-height: 360px !important;
	border-radius: 8px !important;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: none !important;
	--width: 100% !important;
}
body .elementor .kl-project-testimonial { padding: 2px 24px 70px !important; }
body .elementor .kl-project-testimonial > .e-con-inner {
	width: min(100%,1328px) !important;
	max-width: 1328px !important;
	min-height: 292px !important;
	margin: 0 auto !important;
	padding: 54px 120px 42px !important;
	border-radius: 10px !important;
	background: linear-gradient(135deg,#fff1fb 0%,#fff 55%,#fff5fd 100%) !important;
	box-shadow: 0 20px 48px rgba(150,50,180,.10) !important;
}
body .elementor .kl-project-testimonial > .e-con-inner::before { left: 54px !important; top: 58px !important; width: 72px !important; height: 72px !important; }
body .elementor .kl-project-testimonial > .e-con-inner::after { right: 55px !important; top: 46px !important; }
body .elementor .kl-project-quote .elementor-heading-title { width: min(100%,760px) !important; font-size: 30px !important; line-height: 1.18 !important; }
@media (max-width: 1024px) {
	body .elementor .kl-project-hero { height: auto !important; min-height: 620px !important; padding-right: 22px !important; padding-left: 22px !important; }
	body .elementor .kl-project-nav > .e-con-inner { grid-template-columns: 1fr auto !important; }
	body .elementor .kl-project-nav__links { display: none !important; }
	body .elementor .kl-project-hero__title,
	body .elementor .kl-project-hero__lead,
	body .elementor .kl-project-tags { margin-left: 0 !important; }
	body .elementor .kl-project-challenge > .e-con-inner { grid-template-columns: 1fr 1fr !important; gap: 36px !important; }
	body .elementor .kl-project-process__row { grid-template-columns: 76px 116px minmax(0,1fr) 30px !important; gap: 18px !important; }
}
@media (max-width: 767px) {
	body .elementor .kl-project-hero { height: auto !important; min-height: 620px !important; padding: 18px !important; }
	body .elementor .kl-project-hero::before { background: linear-gradient(90deg, rgba(39,10,70,.98), rgba(39,10,70,.86)), radial-gradient(circle at 0 72%, rgba(226,34,152,.34), transparent 40%) !important; }
	body .elementor .kl-project-nav { height: auto !important; min-height: 0 !important; max-height: none !important; padding: 16px !important; }
	body .elementor .kl-project-nav > .e-con-inner { grid-template-columns: 1fr !important; height: auto !important; gap: 14px !important; }
	body .elementor .kl-project-nav__actions > .e-con-inner { justify-content: stretch !important; gap: 10px !important; }
	body .elementor .kl-project-nav__button, body .elementor .kl-project-nav__button .elementor-button-wrapper, body .elementor .kl-project-nav__button .elementor-button { width: 100% !important; min-width: 0 !important; }
	body .elementor .kl-project-hero__title { width: 100% !important; max-width: none !important; margin-top: 54px !important; }
	body .elementor .kl-project-hero__title .elementor-heading-title { font-size: 42px !important; text-align: left !important; }
	body .elementor .kl-project-hero__lead { width: 100% !important; max-width: none !important; }
	body .elementor .kl-project-tags { flex-wrap: wrap !important; }
	body .elementor .kl-project-challenge, body .elementor .kl-project-process, body .elementor .kl-project-visuals, body .elementor .kl-project-testimonial { padding-right: 18px !important; padding-left: 18px !important; }
	body .elementor .kl-project-challenge > .e-con-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
	body .elementor .kl-project-challenge__image { order: -1 !important; height: 320px !important; min-height: 320px !important; }
	body .elementor .kl-project-process > .e-con-inner { padding: 16px 18px !important; }
	body .elementor .kl-project-process__row { grid-template-columns: 64px 1fr !important; gap: 14px !important; }
	body .elementor .kl-project-process__row > .elementor-widget-icon { grid-column: 1 !important; }
	body .elementor .kl-project-process__row > .kl-project-process__number { grid-column: 2 !important; }
	body .elementor .kl-project-process__row > .kl-project-process__content { grid-column: 1 / -1 !important; grid-row: 2 !important; }
	body .elementor .kl-project-process__row::after { position: absolute !important; right: 0 !important; top: 24px !important; }
	body .elementor .kl-project-gallery { grid-template-columns: 1fr !important; }
	body .elementor .kl-project-gallery__item { height: 240px !important; min-height: 240px !important; }
	body .elementor .kl-project-testimonial > .e-con-inner { padding: 92px 22px 34px !important; }
	body .elementor .kl-project-quote .elementor-heading-title { font-size: 24px !important; }
}
/* Kreyalab - Page Projet fidelity pass 2 */
body .elementor.elementor-1604 .kl-project-hero::before {
	z-index: 0 !important;
	background:
		linear-gradient(90deg, rgba(35, 8, 68, .99) 0%, rgba(35, 8, 68, .98) 36%, rgba(47, 13, 78, .9) 55%, rgba(47, 13, 78, .34) 75%, rgba(17, 17, 30, .08) 100%),
		radial-gradient(circle at 0 84%, rgba(226, 34, 152, .5), transparent 34%) !important;
}
body .elementor.elementor-1604 .kl-project-nav__logo img {
	display: block !important;
	width: 190px !important;
	max-width: 190px !important;
	height: auto !important;
}
body .elementor.elementor-1604 .kl-project-nav__logo .elementor-widget-container {
	display: flex !important;
	align-items: center !important;
}
body .elementor.elementor-1604 .kl-project-nav__link .elementor-button .elementor-button-text,
body .elementor.elementor-1604 .kl-project-nav__button--outline .elementor-button .elementor-button-text {
	color: #050712 !important;
}
body .elementor.elementor-1604 .kl-project-nav__button--primary .elementor-button .elementor-button-text {
	color: #ffffff !important;
}
body .elementor.elementor-1604 .kl-project-nav__button--outline .elementor-button {
	border-color: #d91e96 !important;
	background: #ffffff !important;
}
body .elementor.elementor-1604 .kl-project-nav__button--primary .elementor-button {
	border-color: transparent !important;
	background: linear-gradient(135deg, #e32298 0%, #7a24e3 100%) !important;
}
body .elementor.elementor-1604 #kl-project-challenge > .e-con-inner {
	display: grid !important;
	grid-template-columns: 562px 620px !important;
	justify-content: center !important;
	align-items: start !important;
	gap: 102px !important;
	width: min(100%, 1288px) !important;
	max-width: 1288px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}
body .elementor.elementor-1604 #kl-project-challenge .kl-project-challenge__copy,
body .elementor.elementor-1604 #kl-project-challenge .kl-project-challenge__image {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	transform: none !important;
	translate: none !important;
	--width: 100% !important;
}
body .elementor.elementor-1604 .kl-project-challenge__title .elementor-heading-title {
	color: #080a18 !important;
	font-size: 38px !important;
	font-weight: 950 !important;
	line-height: 1.12 !important;
}
body .elementor.elementor-1604 .kl-project-challenge__title .elementor-heading-title span {
	color: #e32298 !important;
}
body .elementor.elementor-1604 .kl-project-process__number .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-4573214 .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-9538469 .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-0736289 .elementor-heading-title {
	margin: 0 !important;
	background: linear-gradient(180deg, #e32298 0%, #6422c8 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	font-size: 88px !important;
	font-weight: 950 !important;
	line-height: .9 !important;
	letter-spacing: 0 !important;
}
body .elementor.elementor-1604 .kl-project-process__title .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-6047462 .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-5398376 .elementor-heading-title,
body .elementor.elementor-1604 .elementor-element-6737097 .elementor-heading-title {
	margin: 2px 0 7px !important;
	color: #080a18 !important;
	font-size: 28px !important;
	font-weight: 950 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
}
body .elementor.elementor-1604 .kl-project-process__eyebrow,
body .elementor.elementor-1604 .kl-project-process__eyebrow p,
body .elementor.elementor-1604 .kl-project-process__eyebrow strong {
	color: #b91a91 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}
body .elementor.elementor-1604 .kl-project-process__text p {
	color: #252838 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
}
body .elementor.elementor-1604 .kl-project-process__icon .elementor-icon svg {
	fill: #7a24e3 !important;
}
body .elementor.elementor-1604 .kl-project-mini-btn--primary .elementor-button,
body .elementor.elementor-1604 .kl-project-mini-btn--primary .elementor-button .elementor-button-text {
	background: linear-gradient(135deg, #e32298, #7a24e3) !important;
	color: #fff !important;
}
body .elementor.elementor-1604 .kl-project-mini-btn--outline .elementor-button,
body .elementor.elementor-1604 .kl-project-mini-btn--outline .elementor-button .elementor-button-text {
	background: #fff !important;
	color: #7a24e3 !important;
	border-color: #e32298 !important;
}
body .elementor.elementor-1604 .kl-project-mini-btn--plain .elementor-button,
body .elementor.elementor-1604 .kl-project-mini-btn--plain .elementor-button .elementor-button-text {
	background: transparent !important;
	color: #080a18 !important;
	border-color: transparent !important;
}
body .elementor.elementor-1604 #kl-project-process > .e-con-inner,
body .elementor.elementor-1604 #kl-project-visuals > .e-con-inner {
	width: min(100%, 1288px) !important;
	max-width: 1288px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
@media (max-width: 1024px) {
	body .elementor.elementor-1604 #kl-project-challenge > .e-con-inner { grid-template-columns: 1fr 1fr !important; gap: 36px !important; }
}
@media (max-width: 767px) {
	body .elementor.elementor-1604 .kl-project-nav__logo img { width: 172px !important; max-width: 172px !important; }
	body .elementor.elementor-1604 #kl-project-challenge > .e-con-inner { grid-template-columns: 1fr !important; }
	body .elementor.elementor-1604 .kl-project-process__number .elementor-heading-title,
	body .elementor.elementor-1604 .elementor-element-4573214 .elementor-heading-title,
	body .elementor.elementor-1604 .elementor-element-9538469 .elementor-heading-title,
	body .elementor.elementor-1604 .elementor-element-0736289 .elementor-heading-title { font-size: 58px !important; }
}