/**
 * Duplication page
 *
 * Targeted refinements for page ID 9. The visual language remains HighRev:
 * square geometry, red/black contrast, flat surfaces and hairline dividers.
 */

body.page-id-9 {
	--clecod-service-gutter: clamp(20px, 4.2vw, 72px);
	--clecod-section-space: clamp(72px, 6vw, 96px);
	--clecod-section-space-compact: clamp(56px, 5vw, 80px);
}

/*
 * These are already top-level Elementor containers. The shared service-page
 * rules offset them as if they were nested, which shifts the whole section.
 */
body.page-id-9 .elementor > .e-con.e-parent.clecod-service-features,
body.page-id-9 .elementor > .e-con.e-parent.clecod-service-faq,
body.page-id-9 .elementor > .e-con.e-parent.clecod-service-cta {
	width: 100% !important;
	margin-right: 0;
	margin-left: 0;
}

/* Restore the intended vertical rhythm through Elementor's own variables. */
body.page-id-9 .elementor > .e-con.e-parent.clecod-service-intro {
	--padding-top: var(--clecod-section-space-compact);
	--padding-bottom: var(--clecod-section-space-compact);
	padding-top: var(--clecod-section-space-compact) !important;
	padding-bottom: var(--clecod-section-space-compact) !important;
}

body.page-id-9 .elementor > .e-con.e-parent.clecod-service-features,
body.page-id-9 .elementor > .e-con.e-parent.clecod-service-faq {
	--padding-top: var(--clecod-section-space);
	--padding-bottom: var(--clecod-section-space);
	padding-top: var(--clecod-section-space) !important;
	padding-bottom: var(--clecod-section-space) !important;
}

body.page-id-9 .elementor > .e-con.e-parent.clecod-service-process {
	--padding-top: var(--clecod-section-space);
	--padding-bottom: var(--clecod-section-space);
	padding-top: var(--clecod-section-space) !important;
	padding-bottom: var(--clecod-section-space) !important;
}

body.page-id-9 .elementor > .e-con.e-parent.clecod-service-cta {
	--padding-top: var(--clecod-section-space-compact);
	--padding-bottom: var(--clecod-section-space-compact);
	padding-top: var(--clecod-section-space-compact) !important;
	padding-bottom: var(--clecod-section-space-compact) !important;
}

/* Hero hierarchy: same HighRev type and overlay, with a controlled measure. */
body.page-id-9 .clecod-service-hero .qodef-m-title {
	max-width: 26ch;
	margin-bottom: 0;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

body.page-id-9 .clecod-service-hero > .elementor-widget-text-editor {
	width: min(100%, 720px);
	max-width: 720px;
}

body.page-id-9 .clecod-service-hero > .elementor-widget-text-editor p {
	margin: 0;
	color: #e0e0e0;
	font-size: 17px;
	line-height: 1.65;
	text-wrap: pretty;
}

body.page-id-9 .clecod-service-actions {
	--gap: 18px;
	--row-gap: 18px;
	--column-gap: 18px;
	gap: 18px !important;
	margin-top: 30px;
	padding: 0 !important;
}

/* Keep the original square button recipe and add complete input feedback. */
body.page-id-9 .qodef-button:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

body.page-id-9 .qodef-button:active,
body.page-id-9 .clecod-related-links a:active {
	transform: translateY(1px);
}

body.page-id-9 .qodef-accordion .qodef-accordion-title:focus-visible,
body.page-id-9 .clecod-related-links a:focus-visible {
	outline: 2px solid var(--qode-main-color);
	outline-offset: -2px;
}

/* Readable text measure for the two-column expertise introduction. */
body.page-id-9 .clecod-service-intro .elementor-widget-text-editor {
	max-width: 68ch;
}

body.page-id-9 .clecod-service-intro .elementor-widget-text-editor p {
	color: #5f5f5f;
	font-size: 16px;
	line-height: 1.72;
	text-wrap: pretty;
}

/* One continuous technical grid instead of detached card rows. */
body.page-id-9 .clecod-service-grid {
	gap: 1px;
}

body.page-id-9 .clecod-service-card h3 {
	text-wrap: balance;
}

body.page-id-9 .clecod-service-card p {
	text-wrap: pretty;
}

body.page-id-9 .clecod-service-process-step {
	padding-top: 24px;
	padding-bottom: 24px;
}

body.page-id-9 .clecod-service-checks {
	gap: 1px;
}

body.page-id-9 .clecod-service-checks span {
	padding-top: 17px;
	padding-bottom: 17px;
}

/* Keep the dark closing CTA readable against its native HighRev surface. */
body.page-id-9 .clecod-service-cta > .elementor-widget-text-editor p {
	color: #cfcfcf;
}

/* Page-scoped semantic and target-size corrections for the shared newsletter. */
body.page-id-9 #qodef-page-content-bottom #block-29 h3 {
	margin: 0;
	font-size: 18px;
	line-height: 20px;
	text-transform: uppercase;
}

body.page-id-9 #qodef-page-content-bottom .qodef-m-newsletter-two button[type="submit"] {
	min-height: 44px;
	padding: 0 8px !important;
}

/*
 * Elementor's container min-height variable wins below 1024px unless both
 * the property and its source variable are defined on the image panel.
 */
body.page-id-9 .clecod-service-image-panel {
	--min-height: 570px;
	min-height: 570px !important;
	padding: 0 !important;
}

@media (min-width: 681px) and (max-width: 1024px) {
	body.page-id-9 {
		--clecod-section-space: clamp(64px, 8vw, 80px);
		--clecod-section-space-compact: clamp(56px, 7vw, 70px);
	}

	body.page-id-9 .clecod-service-hero .qodef-m-title {
		font-size: clamp(50px, 5.6vw, 58px) !important;
		line-height: 0.98 !important;
	}

	body.page-id-9 .clecod-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-9 .clecod-service-card {
		min-height: 210px;
		padding: 34px 28px 30px;
	}

	body.page-id-9 .clecod-service-process {
		--row-gap: 48px;
		row-gap: 48px !important;
	}

	body.page-id-9 .clecod-service-image-panel {
		--min-height: clamp(380px, 52vw, 480px);
		min-height: clamp(380px, 52vw, 480px) !important;
	}
}

@media (max-width: 680px) {
	body.page-id-9 {
		--clecod-section-space: clamp(56px, 16vw, 64px);
		--clecod-section-space-compact: clamp(48px, 14vw, 58px);
	}

	body.page-id-9 .clecod-service-hero .qodef-m-title {
		max-width: 100%;
		font-size: clamp(36px, 10.4vw, 40px) !important;
		line-height: 0.99 !important;
	}

	body.page-id-9 .clecod-service-hero > .elementor-widget-text-editor {
		max-width: 38ch;
	}

	body.page-id-9 .clecod-service-hero > .elementor-widget-text-editor p {
		font-size: 15px;
		line-height: 1.55;
	}

	body.page-id-9 .clecod-service-actions {
		--flex-direction: column;
		--align-items: stretch;
		--gap: 12px;
		--row-gap: 12px;
		flex-direction: column !important;
		align-items: stretch;
		gap: 12px !important;
		width: 100%;
		margin-top: 24px;
	}

	body.page-id-9 .clecod-service-actions > .elementor-element,
	body.page-id-9 .clecod-service-actions .qodef-button {
		width: 100%;
		box-sizing: border-box;
	}

	body.page-id-9 .clecod-service-actions .qodef-button {
		justify-content: center;
	}

	body.page-id-9 .clecod-service-stat {
		min-height: 112px;
		padding: 25px 24px;
	}

	body.page-id-9 .clecod-service-stat strong {
		font-size: 26px;
	}

	body.page-id-9 .clecod-service-card {
		min-height: 0;
		padding: 28px 24px 27px;
	}

	body.page-id-9 .clecod-service-card h3 {
		margin-top: 16px;
		margin-bottom: 9px;
		font-size: 20px;
	}

	body.page-id-9 .clecod-service-card p {
		font-size: 14px;
		line-height: 1.55;
	}

	body.page-id-9 .clecod-service-process {
		--row-gap: 40px;
		row-gap: 40px !important;
	}

	body.page-id-9 .clecod-service-process-step {
		grid-template-columns: 38px 1fr;
		gap: 14px;
		padding-top: 21px;
		padding-bottom: 21px;
	}

	body.page-id-9 .clecod-service-checks span {
		padding: 15px 17px;
	}

	body.page-id-9 .clecod-service-image-panel {
		--min-height: clamp(280px, 82vw, 360px);
		min-height: clamp(280px, 82vw, 360px) !important;
		background-position: center 45% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-9 .qodef-button,
	body.page-id-9 .clecod-related-links a,
	body.page-id-9 .qodef-accordion .qodef-accordion-title {
		transition: none !important;
	}
}
