/**
 * V1.5.6 home composition corrections.
 *
 * This layer is enqueued only on the German and English home pages. It keeps
 * the approved 1280px axis and existing interactions while tightening the five
 * requested compositions and their three-level type system.
 */

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpt-v110-strength-section,
	.cpsk-v7-section--key-figures,
	.cpsk-section--signature-process,
	.cpsk-section--link-rows,
	.cpsk-section--industry-teaser
) .cpsk-v7-eyebrow {
	font-size: 12px;
	line-height: 1.3;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpt-v110-strength-section,
	.cpsk-v7-section--key-figures,
	.cpsk-section--signature-process,
	.cpsk-section--link-rows,
	.cpsk-section--industry-teaser
) .cpsk-v7-section-heading__title {
	font-size: 42px;
	line-height: 1.08;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
	.cpt-v110-strength-section,
	.cpsk-v7-section--key-figures,
	.cpsk-section--signature-process,
	.cpsk-section--link-rows,
	.cpsk-section--industry-teaser
) .cpsk-v7-section-heading__intro {
	font-size: 18px;
	line-height: 1.6;
}

/* Four strengths: fixed row centers and proportional 1280px connector axes. */
@media (min-width: 1181px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-system {
		display: grid;
		width: 100%;
		min-height: 580px;
		grid-template-columns: 25% 33.59375% 25%;
		grid-template-rows: repeat(2, minmax(280px, auto));
		grid-template-areas:
			"network core warehouse"
			"engineering core supply";
		column-gap: 8.203125%;
		row-gap: 20px;
		align-items: stretch;
		padding-left: 0;
	}

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

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		min-height: 280px;
		grid-template-columns: 48px minmax(0, 1fr);
		grid-template-rows: 58px auto 1fr;
		align-content: stretch;
		align-items: start;
		gap: 0 20px;
		padding: 22px 0;
	}

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

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node > div {
		display: grid;
		height: auto;
		min-height: 236px;
		grid-column: 2;
		grid-row: 1 / span 3;
		grid-template-rows: 58px auto 1fr;
		align-content: stretch;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-strength-node--network,
		.cpt-strength-node--engineering
	) {
		grid-template-columns: minmax(0, 1fr) 48px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-strength-node--network,
		.cpt-strength-node--engineering
	) img {
		grid-column: 2;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-strength-node--network,
		.cpt-strength-node--engineering
	) > div {
		grid-column: 1;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node h3 {
		align-self: start;
		margin: 0;
		font-size: 18px;
		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: 18px;
		line-height: 1.5;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core {
		box-sizing: border-box;
		width: 100%;
		height: auto;
		min-height: 360px;
		align-self: center;
		padding: 32px 8px;
	}

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

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core strong span {
		transform: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core p {
		margin-top: 20px;
		font-size: 18px;
		line-height: 1.5;
	}
}

/* Key figures: one left-aligned heading group and four equal centered tracks. */
@media (min-width: 961px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--key-figures .cpsk-v7-section-heading {
		display: block;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--key-figures .cpsk-v7-section-heading__title {
		width: auto;
		max-width: 950px;
		margin-top: 26px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-section--key-figures .cpsk-v7-section-heading__intro {
		width: 100%;
		max-width: 760px;
		margin-top: 18px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stats {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(14em, 100%), 1fr));
		align-items: stretch;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat {
		display: grid;
		min-width: 0;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(42px, auto) minmax(64px, auto);
		align-content: center;
		justify-items: center;
		padding: 30px 0;
		text-align: center;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat dd {
		width: 100%;
		grid-row: 1;
		margin: 0;
		font-size: 42px;
		line-height: 1;
		text-align: center;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat dt {
		box-sizing: border-box;
		width: 100%;
		max-width: none;
		grid-row: 2;
		align-self: start;
		padding: 12px 20px 0;
		margin: 0;
		font-size: 18px;
		line-height: 1.45;
		text-align: center;
	}
}

/* Sticky process: composition only; controller, travel, and state logic stay intact. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-section--signature-process .cpsk-v7-section-heading__intro {
	width: 100%;
	max-width: 820px;
	margin-top: 18px;
	text-wrap: balance;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__next {
	display: none !important;
}

@media (min-width: 961px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis ol {
		position: relative;
		display: block;
		height: 60px;
		min-height: 60px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li {
		position: absolute;
		top: 0;
		left: var(--cpt-v156-axis-position);
		width: 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(1) { --cpt-v156-axis-position: 0%; }
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(2) { --cpt-v156-axis-position: 20%; }
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(3) { --cpt-v156-axis-position: 40%; }
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(4) { --cpt-v156-axis-position: 60%; }
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(5) { --cpt-v156-axis-position: 80%; }
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis li:nth-child(6) { --cpt-v156-axis-position: 100%; }

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis button {
		width: max-content;
		min-width: 132px;
		max-width: 180px;
		gap: 10px;
		padding: 0 4px;
		transform: translateX(-50%);
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis-track {
		right: 0;
		left: 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__axis button strong {
		font-size: 12px;
		line-height: 1.3;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__panel h3 {
		font-size: 42px;
		line-height: 1.08;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__panel p {
		font-size: 18px;
		line-height: 1.6;
	}

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

/* Solutions: equal technical lanes with local line icons and a one-time reveal. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li {
	position: relative;
	display: grid;
	min-height: 144px;
	grid-template-columns: 64px minmax(0, 1fr) 250px;
	align-items: center;
	gap: 28px;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li::before {
	display: block;
	width: 48px;
	height: 48px;
	border: 1px solid var(--cpsk-v7-line);
	background-color: var(--cpsk-v7-white);
	background-image: var(--cpt-v156-solution-icon);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 28px 28px;
	content: "";
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li:nth-child(1) {
	--cpt-v156-solution-icon: url("../icons/engineering-person.svg");
	--cpt-v156-solution-delay: 0ms;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li:nth-child(2) {
	--cpt-v156-solution-icon: url("../icons/connector.svg");
	--cpt-v156-solution-delay: 100ms;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li:nth-child(3) {
	--cpt-v156-solution-icon: url("../icons/logistics.svg");
	--cpt-v156-solution-delay: 200ms;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li::after {
	position: absolute;
	top: -1px;
	right: 0;
	left: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--cpsk-v7-blue-700), var(--cpsk-v7-yellow));
	content: "";
	transform: scaleX(1);
	transform-origin: left;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li > div {
	display: grid;
	grid-template-rows: 29px auto;
	align-content: center;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail :is(h3, p, a) {
	font-size: 18px;
	line-height: 1.6;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail h3 {
	margin: 0;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail p {
	margin: 5px 0 0;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li > a {
	white-space: nowrap;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::after {
	transform: scaleX(0);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::before,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > div,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > a {
	opacity: 0;
	transform: translateY(10px);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::after {
	transition: transform 460ms var(--cpsk-v7-ease-standard) var(--cpt-v156-solution-delay);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::before {
	transition:
		opacity 420ms ease calc(var(--cpt-v156-solution-delay) + 70ms),
		transform 460ms var(--cpsk-v7-ease-standard) calc(var(--cpt-v156-solution-delay) + 70ms);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > div {
	transition:
		opacity 420ms ease calc(var(--cpt-v156-solution-delay) + 120ms),
		transform 460ms var(--cpsk-v7-ease-standard) calc(var(--cpt-v156-solution-delay) + 120ms);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > a {
	transition:
		opacity 420ms ease calc(var(--cpt-v156-solution-delay) + 170ms),
		transform 460ms var(--cpsk-v7-ease-standard) calc(var(--cpt-v156-solution-delay) + 170ms),
		background-color var(--cpsk-v7-fast) ease;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready.is-v156-visible > li::after {
	transform: scaleX(1);
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready.is-v156-visible > li::before,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready.is-v156-visible > li > div,
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready.is-v156-visible > li > a {
	opacity: 1;
	transform: translateY(0);
}

/* Markets: one intro axis and four equal modules with shared internal rows. */
.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-section--industry-teaser {
	--cpt-home-industry-copy: #354d5a;
}

.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-section--industry-teaser .cpsk-v7-section-heading__intro {
	width: 100%;
	max-width: 820px;
	margin-top: 18px;
	text-wrap: balance;
	color: var(--cpt-home-industry-copy);
}

@media (min-width: 1181px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 25%));
		align-items: stretch;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser > li {
		display: grid;
		min-height: 333px;
		grid-template-rows: 48px minmax(29px, auto) minmax(116px, 1fr) 44px;
		align-content: stretch;
		gap: 14px;
		padding: 28px 24px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser .cpsk-v7-icon {
		align-self: start;
		margin: 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser h3 {
		align-self: start;
		margin: 0;
		font-size: 18px;
		line-height: 1.6;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser p {
		align-self: start;
		margin: 0;
		font-size: 18px;
		line-height: 1.6;
		color: var(--cpt-home-industry-copy);
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser a {
		position: static;
		align-self: end;
		justify-self: end;
		font-size: 18px;
	}
}

@media (max-width: 960px) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-v110-strength-section,
		.cpsk-v7-section--key-figures,
		.cpsk-section--signature-process,
		.cpsk-section--link-rows,
		.cpsk-section--industry-teaser
	) .cpsk-v7-eyebrow {
		font-size: 11px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-v110-strength-section,
		.cpsk-v7-section--key-figures,
		.cpsk-section--signature-process,
		.cpsk-section--link-rows,
		.cpsk-section--industry-teaser
	) .cpsk-v7-section-heading__title {
		font-size: 30px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) :is(
		.cpt-v110-strength-section,
		.cpsk-v7-section--key-figures,
		.cpsk-section--signature-process,
		.cpsk-section--link-rows,
		.cpsk-section--industry-teaser
	) .cpsk-v7-section-heading__intro,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-node :is(h3, p),
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core p,
	.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),
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v72-process__step-content :is(h3, p) {
		font-size: 16px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpt-strength-core strong,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat dd {
		font-size: 30px;
		transform: none;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat dt {
		font-size: 16px;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		padding: 24px 18px 20px;
		text-align: center;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-stat :is(dt, dd) {
		width: 100%;
		max-width: none;
		text-align: center;
	}

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

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li {
		min-height: 0;
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 14px 18px;
		padding: 28px 0;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li::before {
		grid-column: 1;
		grid-row: 1;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li > div {
		grid-column: 2;
		grid-row: 1;
		grid-template-rows: auto auto;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail > li > a {
		grid-column: 2;
		grid-row: 2;
		width: 100%;
		padding-inline: 0;
		border-left: 0;
		white-space: normal;
	}

	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-industry-teaser > li {
		padding-bottom: 76px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::after,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li::before,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > div,
	.cpsk-site:is(.cpsk-page--home, .cpsk-page--en-home) .cpsk-v7-solution-rail.cpt-v156-motion-ready > li > a {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
