/* Home page polish (Home + WPML translations). */

/* Dashboard picture: now a 2x WebP (2020×1428) instead of a 1.9 MB SVG.
   Keep it at the size the SVG had (1010 px wide), centred. */
.l-section .w-image img[width="2020"][height="1428"] {
	width: 100%;
	max-width: 1010px;
	height: auto;
	margin: 0 auto;
}

/* ── Hero, desktop copy (.home-top-banner) ──
 * The photo has the person on the right: text, form and logos move to the
 * left half, with a soft dark fade behind them so the white text reads well.
 * The number in the title is white like the rest (yellow underline kept). */
@media (min-width: 1025px) {
	section.l-section.home-top-banner {
		position: relative;
		background-position: center right !important;
	}
	.home-top-banner::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		pointer-events: none;
		background: linear-gradient(90deg, rgba(30, 12, 34, .82) 0%, rgba(30, 12, 34, .62) 38%, rgba(30, 12, 34, .18) 62%, rgba(30, 12, 34, 0) 75%);
	}
	.home-top-banner .l-section-h {
		position: relative;
		z-index: 1;
	}
	.home-top-banner .wpb_wrapper > .w-separator:first-child {
		height: 22px !important;
	}
	.home-top-banner .wpb_wrapper > .w-separator.size_custom:has(+ .w-grid.us_grid) {
		height: 40px !important;
	}
	.home-top-banner .wpb_wrapper > div:not(.w-separator):not(.w-grid) {
		max-width: 620px;
		margin-left: 0 !important;
		margin-right: auto !important;
		text-align: left !important;
	}
	.home-top-banner h1 {
		font-size: 52px !important;
		line-height: 1.12 !important;
		letter-spacing: -0.015em;
		text-align: left !important;
	}
	.home-top-banner h1 .yellow-underline {
		color: #fff !important;
	}
	.home-top-banner .home-subtitle-text p,
	.home-top-banner .home-subtitle-text h5 {
		max-width: 560px;
		font-size: 18px !important;
		line-height: 1.6 !important;
		color: rgba(255, 255, 255, .88) !important;
		text-align: left !important;
	}
	.home-top-banner .bd-home-email {
		justify-content: flex-start !important;
	}
	.home-top-banner .bd-hmemail {
		max-width: 540px !important;
		margin-left: 0 !important;
	}
	.home-top-banner .bd-hmemail input[type="email"] {
		box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
	}
	/* Client logos: one calm glass strip on the left instead of floating over the photo. */
	.home-top-banner .w-grid.us_grid {
		max-width: 720px !important;
		margin-left: 0 !important;
		padding: 12px 20px;
		border-radius: 20px;
		background: rgba(255, 255, 255, .08);
		border: 1px solid rgba(255, 255, 255, .14);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
	}
	.home-top-banner .w-grid.us_grid img {
		opacity: .78;
		transition: opacity .2s ease;
	}
	.home-top-banner .w-grid.us_grid .w-grid-item:hover img {
		opacity: 1;
	}
}

/* Keep the photo at its native width on ultrawide screens instead of zooming to cover. */
@media (min-width: 1943px) {
	section.l-section.home-top-banner {
		background-size: 1942px auto !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
		background-color: #201b29 !important;
	}
	.home-top-banner::before {
		background: linear-gradient(90deg,
			#201b29 calc(50% - 971px),
			rgba(30, 12, 34, .82) calc(50% - 800px),
			rgba(30, 12, 34, .62) calc(50% - 233px),
			rgba(30, 12, 34, .18) calc(50% + 233px),
			transparent calc(50% + 485px),
			transparent calc(50% + 750px),
			#201b29 calc(50% + 971px));
	}
}

/* ── Hero, phone + tablet: plain brand purple (the photo is for wide screens),
 * centred text, smaller gaps. ── */
@media (max-width: 1024px) {
	section.l-section.home-top-banner { /* beats the row's own background:… !important */
		background-image: none !important;
		background-color: #441A48 !important;
	}
	.home-top-banner .wpb_wrapper > .w-separator:first-child {
		height: 24px !important;
	}
	.home-top-banner .wpb_wrapper > .w-separator.size_custom:last-child {
		display: none;
	}
	.home-top-banner .wpb_wrapper > .w-separator.size_custom:not(:last-child) {
		height: 32px !important;
	}
	.home-top-banner .home-subtitle-text p {
		font-size: 16px !important;
		line-height: 1.6 !important;
	}
	.home-top-banner h1 {
		line-height: 1.15 !important;
		letter-spacing: -0.015em;
	}
	.home-top-banner h1 .yellow-underline {
		color: #fff !important;
	}
	.home-top-banner .home-subtitle-text p,
	.home-top-banner .home-subtitle-text h5 {
		color: rgba(255, 255, 255, .88) !important;
	}
	/* Client logos: one compact row of 6 on tablets, 3 + 3 on phones. */
	.home-top-banner .w-grid .w-grid-list {
		grid-template-columns: repeat(6, 1fr) !important;
		gap: 12px 16px !important;
		align-items: center;
	}
	.home-top-banner .w-grid img {
		max-height: 44px;
		width: auto;
		opacity: .8;
	}
}
@media (max-width: 600px) {
	.home-top-banner h1 {
		font-size: 31px !important;
	}
	.home-top-banner .w-grid .w-grid-list {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

/* ── Numbers ("More Data for More Opportunities", .opportunities-icons) ──
 * Each number becomes a soft card like the Pricing plan cards (warm grey,
 * 18 px corners, 4 px yellow top bar), centred; 4 in a row on desktop,
 * 2 × 2 on phones. "Our Data" gets the pill + arrow of the Pricing buttons. */
.l-section:has(.opportunities-icons) .w-separator.size_huge {
	height: 40px !important;
}
.opportunities-icons {
	row-gap: 16px;
}
.opportunities-icons > .wpb_column:nth-child(1) {
	--stat-tint: #EEF6F4;
	--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B4448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5l8-3v19M12 8h8v13M2 21h20M7 7h2M7 11h2M7 15h2M16 12h1M16 16h1M7 21v-2h2v2'/%3E%3C/svg%3E");
}
.opportunities-icons > .wpb_column:nth-child(2) {
	--stat-tint: #F1F3F9;
	--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B4448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 21v-3a6 6 0 0 1 12 0v3M16 5a3 3 0 0 1 0 6M18 15a5 5 0 0 1 3 4v2'/%3E%3C/svg%3E");
}
.opportunities-icons > .wpb_column:nth-child(3) {
	--stat-tint: #FBF5E7;
	--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B4448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
}
.opportunities-icons > .wpb_column:nth-child(4) {
	--stat-tint: #F6F0F7;
	--stat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B4448' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16v3a2 2 0 0 1-2 2A18 18 0 0 1 3 5a2 2 0 0 1 2-2h3l2 5-3 2a14 14 0 0 0 7 7l2-3z'/%3E%3C/svg%3E");
}
.opportunities-icons .w-iconbox {
	position: relative;
	display: flex !important;
	justify-content: center;
	height: 100%;
	padding: 30px 20px 26px;
	border-radius: 18px;
	background: linear-gradient(145deg, #FAFAF8, var(--stat-tint, #F5F3F0));
	text-align: center !important;
	overflow: hidden;
}
.opportunities-icons .w-iconbox::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #F8C83E;
}
/* The theme's [stats-counter] prints a large illustration here (on live; empty locally,
 * where it can't fetch the file). The card shows its own small icon instead. */
.opportunities-icons .w-iconbox-icon {
	display: none !important;
}
.opportunities-icons .w-iconbox-meta {
	width: 100%;
	text-align: center !important;
}
.opportunities-icons .w-iconbox-meta::before {
	content: "";
	display: block;
	width: 42px;
	height: 42px;
	margin: 0 auto 12px;
	border: 1px solid rgba(43, 68, 72, .08);
	border-radius: 12px;
	background: rgba(255, 255, 255, .75) var(--stat-icon) no-repeat center / 24px 24px;
}
.opportunities-icons .w-iconbox-title {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 44px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em;
	color: #000 !important;
}
.opportunities-icons .w-iconbox-text p {
	margin: 0;
	font-size: 15px;
	color: #2B4448;
}

/* "Our Data" button */
.l-section:has(.opportunities-icons) .w-btn-wrapper {
	display: flex;
	justify-content: center;
}
body.l-body .l-section:has(.opportunities-icons) .w-btn {
	display: inline-flex !important;
	align-items: center;
	min-height: 50px;
	padding: 0 26px !important;
	border-radius: 50px !important;
	background: #F8C83E !important;
	border-color: #F8C83E !important;
	color: #1a1a1a !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}
body.l-body .l-section:has(.opportunities-icons) .w-btn::after {
	content: "";
	display: inline-block !important;
	width: 18px;
	height: 18px;
	margin-left: 10px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform .15s ease;
}
body.l-body .l-section:has(.opportunities-icons) .w-btn:hover::after {
	transform: translateX(3px);
}

@media (max-width: 767px) {
	.opportunities-icons {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		margin: 0 -6px !important;
	}
	.opportunities-icons > .wpb_column {
		width: 50% !important;
		flex: 0 0 50% !important;
		margin: 0 !important;
	}
	.opportunities-icons > .wpb_column > .vc_column-inner {
		padding: 0 6px !important;
	}
	.opportunities-icons .w-iconbox {
		padding: 24px 12px 20px;
	}
	.opportunities-icons .w-iconbox-title {
		font-size: 34px !important;
	}
	.opportunities-icons .w-iconbox-text p {
		font-size: 14px;
	}
}

/* ── Section titles: one underline colour (yellow), as on Pricing ──
 * The page mixed orange, green and yellow underline drawings. */
.long-orange-underline,
.long-green-underline {
	background-image: url("/wp-content/uploads/2022/08/long-yellow-underline.svg") !important;
}

/* ── Dashboard section ("Expand / Export into new markets") ── */
.l-section:has(img[width="2020"][height="1428"]) h5,
.l-section:has(img[width="2020"][height="1428"]) .wpb_text_column p {
	color: #2B4448 !important;
	line-height: 1.6 !important;
}

/* ── Key Features (.landing-page-do-it, two rows of three w-iconbox) ──
 * Each feature becomes a white card (18 px corners, thin warm border, soft
 * shadow on hover); smaller icon, 20 px title, 15 px slate text; equal heights.
 * On phones: icon on the left, text on the right — much shorter. */
.landing-page-do-it .g-cols > .wpb_column > .vc_column-inner {
	height: 100%;
}
.landing-page-do-it .w-iconbox.iconpos_top {
	height: 100%;
	padding: 28px 26px;
	border: 1px solid #ECE8E2;
	border-top: 3px solid #F8C83E;
	border-radius: 18px;
	background: #FDFCF9;
	box-shadow: 0 4px 18px rgba(43, 68, 72, .04);
	text-align: left !important;
	transition: box-shadow .2s ease, transform .2s ease;
}
.landing-page-do-it .w-iconbox.iconpos_top:hover {
	box-shadow: 0 14px 34px rgba(0, 54, 92, .10);
	transform: translateY(-2px);
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon {
	display: flex;
	justify-content: flex-start;
	margin: 0 0 16px !important;
	font-size: 0 !important;
	line-height: 0;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon svg,
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon img {
	width: 84px !important;
	height: auto !important;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-meta {
	text-align: left !important;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-title {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: #000 !important;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text,
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text p,
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text span {
	margin: 0;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: #2B4448 !important;
}

@media (max-width: 767px) {
	.landing-page-do-it .g-cols > .wpb_column {
		margin-bottom: 12px !important;
	}
	.landing-page-do-it .w-iconbox.iconpos_top {
		display: flex !important;
		flex-direction: row !important;
		align-items: flex-start;
		gap: 14px;
		padding: 18px 16px;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon {
		flex: 0 0 56px;
		margin: 0 !important;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon svg,
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon img {
		width: 56px !important;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-meta {
		flex: 1 1 auto;
		min-width: 0;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-title {
		font-size: 17px !important;
		margin-bottom: 4px !important;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text,
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text p,
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text span {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}
}
/* Key Features: equal card heights, left-aligned text, icons on one baseline. */
.landing-page-do-it .g-cols {
	align-items: stretch !important;
}
.landing-page-do-it .g-cols > .wpb_column > .vc_column-inner > .wpb_wrapper {
	height: 100%;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-text *,
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-title {
	text-align: left !important;
}
.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-title br {
	display: none;
}
@media (min-width: 768px) {
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-title {
		min-height: 52px;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon {
		height: 64px;
		align-items: flex-end;
	}
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon svg,
	.landing-page-do-it .w-iconbox.iconpos_top .w-iconbox-icon img {
		width: 72px !important;
		max-height: 64px;
	}
}
@media (min-width: 1025px) {
	.landing-page-do-it .w-iconbox.iconpos_top {
		min-height: 344px;
	}
}
.l-section.landing-page-do-it.height_medium:has(+ .landing-page-do-it.height_small) {
	padding-top: 64px !important;
	padding-bottom: 24px !important;
}
/* The two feature rows are separate sections: close the gap between them. */
.l-section.landing-page-do-it.height_small {
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}
.l-section.landing-page-do-it.height_small:has(.w-iconbox.iconpos_top):not(:has(+ .landing-page-do-it.height_small)) {
	padding-bottom: 72px !important;
}
@media (max-width: 767px) {
	.l-section.landing-page-do-it.height_medium:has(+ .landing-page-do-it.height_small) {
		padding-top: 40px !important;
		padding-bottom: 20px !important;
	}
	.l-section.landing-page-do-it.height_small {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.l-section.landing-page-do-it.height_small:has(.w-iconbox.iconpos_top):not(:has(+ .landing-page-do-it.height_small)) {
		padding-bottom: 40px !important;
	}
}

/* ── Testimonials ("Real Stories from Real Customers", .carousel-testimonial) ──
 * Same text style as the Pricing testimonial (18 px slate, 16 px on phones,
 * was 26 px black); cards equal height with a thin warm border; author strip in
 * the warm grey of the site, pinned to the bottom; round photos; the company
 * logo box is hidden when a testimonial has no logo; yellow active dot.
 * The full-width row was wider than the screen on tablets (sideways scroll). */
.l-section.landing-page-do-it.width_full {
	overflow: hidden;
}
.carousel-testimonial .owl-stage {
	display: flex !important;
	align-items: stretch !important;
}
.carousel-testimonial .owl-item {
	display: flex;
	float: none !important;
}
.carousel-testimonial .owl-item > .w-grid-item,
.carousel-testimonial .owl-item .w-grid-item-h {
	display: flex;
	width: 100%;
	height: auto;
}
.carousel-testimonial .testimonial-wrapper,
.carousel-testimonial .testimonial-wrapper-mobile {
	display: flex !important;
	flex-direction: column;
	flex: 1 1 auto;
	height: auto;
	border: 1px solid #ECE8E2;
	border-radius: 18px !important;
	overflow: hidden;
	box-shadow: none !important;
}
.carousel-testimonial .w-post-elm.post_content {
	flex: 1 0 auto;
	height: auto !important;
	padding: 22px 24px 20px !important;
}
.carousel-testimonial .post_content p {
	margin: 0;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	color: #2B4448 !important;
}
.carousel-testimonial .testimonial-author-wrapper,
.carousel-testimonial .testimonial-author-wrapper-mobile {
	margin-top: auto;
	padding: 16px 30px !important;
	background: #F5F3F0 !important;
}
.carousel-testimonial .post_image,
.carousel-testimonial .post_image img {
	border-radius: 50% !important;
}
.carousel-testimonial .us_testimonial_author,
.carousel-testimonial .us_testimonial_author .w-post-elm-value {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #000 !important;
}
.carousel-testimonial .us_testimonial_role,
.carousel-testimonial .us_testimonial_role .w-post-elm-value {
	font-size: 13px !important;
	color: #5C6B6D !important;
}
.carousel-testimonial .testimonial-image-wrapper:not(:has(img)) {
	display: none !important;
}
.carousel-testimonial .owl-dots .owl-dot span {
	background-color: #D9D5CE !important;
	border-radius: 8px !important;
	transition: background-color .2s ease, width .2s ease;
}
.carousel-testimonial .owl-dots .owl-dot.active span {
	width: 22px !important;
	background-color: #F8C83E !important;
	box-shadow: none !important; /* theme adds a teal ring */
}
.carousel-testimonial .owl-carousel > .owl-nav {
	position: absolute !important;
	inset: 0 -60px 32px !important;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	pointer-events: none;
}
.carousel-testimonial .owl-carousel > .owl-nav button {
	width: 50px;
	height: 50px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #A0A0A0 !important;
	font-size: 36px !important;
	text-shadow: none;
	box-shadow: none;
	opacity: 1;
	pointer-events: auto;
	transition: opacity .2s ease, color .2s ease, transform .2s ease;
}
.carousel-testimonial .owl-carousel > .owl-nav button:hover {
	background: transparent !important;
	box-shadow: none !important;
	color: #000 !important;
}
.carousel-testimonial .owl-carousel > .owl-nav button:focus-visible {
	outline: 2px solid #2B4448;
	outline-offset: 3px;
}
.carousel-testimonial .owl-carousel > .owl-nav button::before {
	display: none;
}
@media (hover: hover) and (pointer: fine) {
	.carousel-testimonial .owl-carousel > .owl-nav button {
		opacity: 0;
		pointer-events: none;
	}
	.carousel-testimonial .owl-carousel > .owl-nav .owl-prev {
		transform: translateX(-6px);
	}
	.carousel-testimonial .owl-carousel > .owl-nav .owl-next {
		transform: translateX(6px);
	}
	.l-section:has(.carousel-testimonial):hover .owl-nav button,
	.carousel-testimonial:focus-within .owl-nav button {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
}
/* Keep the carousel at page width instead of edge to edge. */
.l-section.landing-page-do-it.width_full .carousel-testimonial {
	max-width: 1408px;
	padding: 0 64px;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media (max-width: 767px) {
	.l-section.landing-page-do-it.width_full .carousel-testimonial {
		padding: 0 20px;
	}
	.carousel-testimonial .owl-carousel > .owl-nav {
		display: none !important;
		position: static !important;
		inset: auto !important;
		justify-content: center;
		gap: 16px;
		margin-top: 14px !important;
	}
	.carousel-testimonial .owl-carousel > .owl-nav button {
		width: 44px;
		height: 44px;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}
	.l-section:has(.carousel-testimonial) h2 {
		font-size: 28px !important;
		line-height: 1.2 !important;
	}
	.carousel-testimonial .w-post-elm.post_content {
		padding: 18px 20px !important;
	}
	.carousel-testimonial .post_content p {
		font-size: 16px !important;
		line-height: 1.6 !important;
	}
	.carousel-testimonial .testimonial-author-wrapper,
	.carousel-testimonial .testimonial-author-wrapper-mobile {
		padding: 14px 20px !important;
	}
	.carousel-testimonial .w-hwrapper.testimonial-author-wrapper,
	.carousel-testimonial .testimonial-author-wrapper-mobile {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 48px;
		gap: 12px;
		align-items: center;
		padding: 16px 18px !important;
	}
	.carousel-testimonial .testimonial-left {
		width: auto !important;
		min-width: 0;
		margin: 0 !important;
		gap: 10px !important;
	}
	.carousel-testimonial .testimonial-author-details-wrapper {
		min-width: 0;
	}
	.carousel-testimonial .testimonial-left .post_image {
		flex-basis: 40px;
		width: 40px !important;
		height: 40px !important;
	}
	.carousel-testimonial .testimonial-author-wrapper .testimonial-image-wrapper {
		display: flex;
		align-items: center !important;
		justify-content: center !important;
		width: 48px !important;
		height: 48px !important;
		min-width: 0 !important;
		min-height: 0 !important;
		padding: 4px !important;
		box-sizing: border-box;
	}
	.carousel-testimonial .testimonial-image-wrapper .testimonial-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100% !important;
		height: 40px !important;
		min-width: 0 !important;
	}
	.carousel-testimonial .testimonial-image-wrapper img {
		display: block;
		width: 100% !important;
		height: 40px !important;
		object-fit: contain;
	}
	.carousel-testimonial .us_testimonial_author .w-post-elm-value {
		font-size: 14px !important;
		line-height: 1.35;
	}
	.carousel-testimonial .us_testimonial_role .w-post-elm-value {
		font-size: 12px !important;
		line-height: 1.4;
	}
}

@media (max-width: 1024px) {
	.carousel-testimonial .owl-stage {
		display: block !important;
	}
	.carousel-testimonial .owl-item {
		display: block;
		float: left !important;
	}
}

/* ── Bottom call to action (purple, "See how the platform works …") ──
 * Same treatment as the hero: soft shadow under the email field on desktop,
 * and a little less space under the testimonial title. */
@media (min-width: 768px) {
	.l-section.has_text_color:has(.bd-home-email):not(.home-top-banner) {
		background-position: max(0px, calc(50% - 420px)) center !important;
	}
	.l-section:has(.bd-home-email):not(.home-top-banner) .bd-hmemail input[type="email"] {
		box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
	}
}
.l-section.landing-page-do-it.width_full .w-separator.size_huge {
	height: 48px !important;
}
/* Testimonial photos: always a 50 px circle (a stretched photo once made a card 900 px tall). */
.carousel-testimonial .post_image {
	flex: 0 0 50px;
	width: 50px !important;
	height: 50px !important;
	overflow: hidden;
}
.carousel-testimonial .post_image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}
/* Tablets show one testimonial at a time: keep that card a readable width. */
@media (min-width: 600px) and (max-width: 1024px) {
	.carousel-testimonial .owl-item .w-grid-item-h {
		max-width: 720px;
		margin: 0 auto;
	}
}

/* Intro texts were H5 headings (18 px); since the merge they are paragraphs — same size. */
.l-section:has(img[width="2020"][height="1428"]) .wpb_text_column p {
	font-size: 18px !important;
}
@media (max-width: 767px) {
	.l-section:has(img[width="2020"][height="1428"]) .wpb_text_column p {
		font-size: 16px !important;
	}
}
@media (min-width: 601px) and (max-width: 1024px) {
	.home-top-banner h1 {
		font-size: 40px !important;
	}
}

/* Hero number never splits over two lines (French/Spanish write "43 348" with a space). */
.home-top-banner h1 .yellow-underline {
	white-space: nowrap;
}

/* Longer translated titles (FR/DE/IT/ES) took 5–6 lines: a bit more width on desktop and a
 * slightly smaller size for those languages, so every language reads as a compact block. */
@media (min-width: 1025px) {
	.home-top-banner .wpb_wrapper > div:not(.w-separator):not(.w-grid):has(h1) {
		max-width: 680px;
	}
	html:not([lang^="en"]) .home-top-banner h1 {
		font-size: 46px !important;
	}
}
@media (min-width: 601px) and (max-width: 1024px) {
	html:not([lang^="en"]) .home-top-banner h1 {
		font-size: 36px !important;
	}
}
@media (max-width: 600px) {
	html:not([lang^="en"]) .home-top-banner h1 {
		font-size: 27px !important;
	}
}
