/**
 * V1.4.4 home-only composition corrections.
 *
 * This layer keeps the approved V1.4.3 behavior and adjusts only the shared
 * home-page axis, intro composition, strength geometry, and type hierarchy.
 */

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) {
	--cpt-home-display: 60px;
	--cpt-home-section: 42px;
	--cpt-home-text: 18px;
	--cpt-home-label: 12px;
}

/* The header and hero now use the same container and horizontal padding. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-header__inner {
	width: min(calc(100% - (2 * var(--cpt-home-gutter))), var(--cpt-home-container));
	max-width: var(--cpt-home-container);
	padding-inline: 0;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--hero {
	height: auto;
	min-height: clamp(600px, calc(100svh - var(--cpsk-header-offset) - 56px), 800px);
	max-height: none;
	padding-inline: var(--cpt-home-gutter);
}

/* One media surface replaces the former pair of overlapping hero polygons. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--hero::before {
	display: none !important;
	background: none !important;
	clip-path: none !important;
	content: none !important;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-hero-media__frame {
	inset: 0;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 8% 100%);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-hero__copy-column {
	margin-inline: 0 !important;
}

@media (min-width: 961px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-hero__copy-column {
		width: min(690px, calc(100% - 24px)) !important;
		max-width: 690px !important;
		padding: 0 !important;
	}
}

/* Supplier emphasis is color and weight only; no underline mechanism remains. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-v140-hero-emphasis {
	border: 0 !important;
	background: none !important;
	color: var(--cpsk-v7-blue-700);
	font-weight: 800;
	text-decoration: none !important;
	text-decoration-line: none !important;
	box-shadow: none !important;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-v140-hero-emphasis::before,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-v140-hero-emphasis::after {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	border: 0 !important;
	background: none !important;
	content: none !important;
}

/* One shared intro pattern: label, heading, description, then content. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpt-v110-strength-section,
	.cpsk-section--signature-process,
	.cpsk-section--link-rows,
	.cpsk-section--industry-teaser
) .cpsk-v7-section-heading {
	display: block;
	grid-template-columns: none;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpt-v110-strength-section,
	.cpsk-section--signature-process,
	.cpsk-section--link-rows,
	.cpsk-section--industry-teaser
) .cpsk-v7-section-heading__intro {
	width: 100%;
	max-width: 820px;
	margin-top: 18px;
}

@media (min-width: 1320px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-v110-strength-section,
		.cpsk-section--signature-process,
		.cpsk-section--link-rows,
		.cpsk-section--industry-teaser
	) .cpsk-v7-section-heading__title {
		max-width: none;
		white-space: normal;
		text-wrap: balance;
	}

	/* Fixed 1280px technical geometry with four independent connectors. */
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-system {
		width: 100%;
		min-height: 580px;
		grid-template-columns: 320px 430px 320px;
		grid-template-rows: repeat(2, 280px);
		gap: 20px 105px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node {
		min-height: 280px;
		grid-template-columns: 48px minmax(0, 1fr);
		align-content: center;
		align-items: start;
		gap: 20px;
		padding: 22px 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node img {
		margin-top: 3px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node > div {
		display: grid;
		height: 236px;
		grid-template-rows: 58px minmax(0, 1fr);
		align-content: start;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node h3 {
		align-self: start;
		margin: 0;
		font-size: var(--cpt-home-text);
		line-height: 1.35;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node p {
		align-self: start;
		margin: 10px 0 0;
		font-size: var(--cpt-home-text);
		line-height: 1.5;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core {
		width: 430px;
		height: 360px;
		min-height: 360px;
		align-self: center;
		padding: 32px 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core strong {
		width: 100%;
		max-width: none;
		margin-top: 20px;
		font-size: 40px;
		line-height: 1.06;
		transform: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core p {
		margin-top: 20px;
	}
}

@media (min-width: 961px) and (max-width: 1319px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-system {
		display: flex;
		min-height: 0;
		flex-direction: column;
		gap: 0;
		padding-left: 38px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-system__lines {
		display: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core {
		order: -1;
		width: min(100%, 520px);
		min-height: 260px;
		margin: 0 auto 32px 0;
	}
}

/* Positioning keeps the controlled two-line title and its copy on one axis. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--positioning .cpsk-v7-section-heading__title {
	max-width: 1180px;
	font-size: var(--cpt-home-section);
	line-height: 1.08;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--positioning .cpsk-v7-editorial {
	width: 100%;
	max-width: 820px !important;
	padding-top: 18px;
	border: 0;
	margin-inline: 0 auto !important;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	#cpsk-section-home-positioning,
	#cpsk-section-en-home-positioning
) .cpsk-v7-editorial {
	margin-inline: 0 auto !important;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--positioning .cpsk-v7-editorial p {
	max-width: 820px;
	font-size: var(--cpt-home-text);
	line-height: 1.6;
}

/* Sticky geometry and JavaScript remain untouched; only stage composition changes. */
@media (min-width: 961px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process.is-enhanced:not(.is-linear) .cpsk-v72-process__stage {
		width: 100%;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__panel h3 {
		font-size: var(--cpt-home-section);
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__panel p,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__next {
		font-size: var(--cpt-home-text);
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__tags li {
		font-size: 12px;
		line-height: 1.45;
	}
}

/* Link rows and market cards share the prescribed 18px text level. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail :is(h3, p, a),
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser :is(h3, p, a) {
	font-size: var(--cpt-home-text);
	line-height: 1.6;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpsk-v7-solution-rail,
	.cpsk-v7-industry-teaser,
	.cpt-strength-system
) h3 {
	font-weight: 750;
}

/* Accepted V1.4.3 sections retain their exact type variables and geometry. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--key-figures,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--cta {
	--cpt-home-section: 46px;
	--cpt-home-text: 17px;
}

/* The long bilingual hero title needs the stacked composition on compact
 * desktops and tablets; the side-by-side diagonal starts above 1360px where
 * the copy column retains a clear gap to the media edge. */
@media (min-width: 961px) and (max-width: 1360px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--hero {
		display: block;
		height: auto;
		min-height: 0;
		max-height: none;
		padding-top: 54px;
		padding-bottom: 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-hero__copy-column {
		width: min(100%, 720px) !important;
		max-width: 720px !important;
		padding: 0 !important;
		margin: 0 auto 34px !important;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-hero__title {
		font-size: 46px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-v143-hero-phrase {
		display: inline;
		white-space: normal;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-hero-media {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		width: 100% !important;
		height: 430px;
		margin: 0 !important;
		background: var(--cpsk-v7-navy-950);
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-hero-media__frame {
		inset: 0;
		clip-path: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-hero-media__product {
		width: min(400px, calc(100% - 96px));
	}
}

@media (max-width: 960px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) {
		--cpt-home-display: 38px;
		--cpt-home-section: 30px;
		--cpt-home-text: 16px;
		--cpt-home-label: 11px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section-heading__intro {
		margin-top: 16px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-hero-media__frame {
		clip-path: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--key-figures,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--cta {
		--cpt-home-section: 30px;
		--cpt-home-text: 16px;
	}
}
