/* Partners and ecosystem page. */

body.partners-page {
	background: #ffffff;
}

body.partners-page .site {
	padding-top: var(--hero-inset);
}

body.partners-page .site-main--partners {
	padding-block: 0;
}

body.partners-page .site-header {
	background-color: transparent;
}

body.partners-page .site-header.is-scrolled {
	background-color: rgb(1 19 37 / 0.92);
	backdrop-filter: blur(12px);
}

body.partners-page.has-mobile-nav-open .site-header {
	background-color: var(--color-navy);
}

body.partners-page .home-cta__title {
	max-width: 39.5rem;
}

body.partners-page .home-cta__copy {
	max-width: 36rem;
	color: #ffffff;
	font-size: 1rem;
	line-height: 1.5;
}

.partners-hero {
	position: relative;
	width: calc(100% - (var(--hero-inset) * 2));
	margin-top: calc(var(--header-height) * -1);
	margin-inline: auto;
	min-height: 36.875rem;
	overflow: hidden;
	border-radius: 1.5rem;
	color: #f5f5f5;
	background: #011325;
}

.partners-hero__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.partners-hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 62% center;
}

.partners-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(87.5deg, rgb(0 0 0 / 0.91) 23.45%, rgb(0 0 0 / 0.18) 74.71%);
}

.partners-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 36.875rem;
	padding-top: calc(var(--header-height) + 3.25rem);
	padding-bottom: 3.5rem;
}

.partners-hero__kicker {
	margin-bottom: 1.5rem;
	color: #0fdf84;
	font-weight: 600;
}

.partners-hero__kicker .section-kicker__rule {
	width: 30px;
	background: #0fdf84;
}

.partners-hero__title {
	max-width: 36rem;
	margin: 0 0 1.5rem;
	color: #f5f5f5;
	font-family: var(--font-display);
	font-size: clamp(2.4rem, 4.5vw, 4.0625rem);
	font-weight: 600;
	line-height: 1.06;
}

.partners-hero__title span {
	color: #0fdf84;
}

.partners-hero__lede {
	max-width: 39rem;
	margin: 0 0 1.75rem;
	color: rgb(255 255 255 / 0.93);
	font-size: 1rem;
	line-height: 1.547;
}

.partners-logos-section {
	padding: 5.5rem 0 4.5rem;
}

.partners-logos-section--gray,
.partners-tools {
	background: #f9f9f9;
}

.partners-logos-section .section-kicker,
.partners-presence .section-kicker,
.partners-tools .section-kicker {
	color: #0a0d12;
	font-weight: 500;
}

.partners-logos__head {
	display: grid;
	gap: 1.5rem;
	margin-bottom: 3.5rem;
}

.partners-logos__head h2,
.partners-places h3 {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 500;
}

.partners-logos__head h2 {
	color: #1c1b1b;
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.345;
}

.partners-logos__head h2 span,
.partners-logos__head p span {
	color: #0d8651;
}

.partners-logos__head p {
	margin: 0;
	max-width: 26.6rem;
	color: #646464;
	font-size: 1.25rem;
	line-height: 1.3;
}

.partners-logos {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}

.partners-logos__group {
	margin: 0;
	color: #010101;
	font-family: "Space Grotesk", var(--font-sans);
	font-size: 1.625rem;
	font-weight: 500;
	line-height: 1.27;
	text-transform: uppercase;
}

.partners-logos__rule {
	width: 13.5px;
	height: 72px;
	flex: none;
}

.partners-logos ul {
	display: flex;
	align-items: center;
	gap: 5.625rem;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	overflow-x: auto;
}

.partners-logos--tier ul {
	gap: 7.3rem;
}

.partners-logo {
	position: relative;
	flex: none;
	overflow: hidden;
}

.partners-logo img {
	position: absolute;
	max-width: none;
}

.partners-logo--cover img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.partners-logo--jaguar { width: 133px; height: 65px; }
.partners-logo--jaguar img { width: 100%; height: 205.05%; top: -49.08%; left: 0; }

.partners-logo--landrover { width: 123px; height: 65px; }
.partners-logo--landrover img { width: 153.11%; height: 161.72%; left: -25.93%; top: -32.03%; }

.partners-logo--mclaren { width: 164px; height: 36px; }
.partners-logo--mclaren img { width: 100%; height: 369.81%; left: 0; top: -141.13%; }

.partners-logo--mercedes { width: 88px; height: 76px; }
.partners-logo--mercedes img { width: 139.77%; height: 100.63%; left: -18.18%; top: 0; }

.partners-logo--ford { width: 154px; height: 61px; }
.partners-logo--ford img { width: 129.22%; height: 326.22%; left: -14.29%; top: -111.46%; }

.partners-logo--vw { width: 77px; height: 69px; }
.partners-logo--vw img { width: 159.74%; height: 100.27%; left: -31.38%; top: -0.14%; }

.partners-logo--denso { width: 133px; height: 69px; }
.partners-logo--automotiv { width: 165px; height: 59px; }
.partners-logo--bosch { width: 165px; height: 57px; }
.partners-logo--volvo { width: 80px; height: 71px; }
.partners-logo--volvo img { width: 113.11%; height: 100%; left: -13.11%; top: 0; }
.partners-logo--sensata { width: 133px; height: 72px; }

.partners-logo--denso,
.partners-logo--automotiv,
.partners-logo--bosch,
.partners-logo--sensata {
	/* object-cover frames from the design */
}

.partners-logo--denso img,
.partners-logo--automotiv img,
.partners-logo--bosch img,
.partners-logo--sensata img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.partners-presence {
	padding: 4.5rem 0 5rem;
}

.partners-map {
	position: relative;
	width: min(100%, 66.5rem);
	margin: 1.5rem auto 2.5rem;
	aspect-ratio: 1064 / 571.5;
	overflow: hidden;
}

.partners-map__image {
	position: absolute;
	top: -11.02%;
	left: 0;
	width: 100%;
	height: 124.17%;
	object-fit: cover;
}

.partners-map__pin {
	position: absolute;
	height: auto;
}

.partners-map__pin--na { left: 13.02%; top: 34.51%; width: 7.424%; }
.partners-map__pin--uk { left: 45.91%; top: 19.82%; width: 6.109%; }
.partners-map__pin--eu { left: 55.03%; top: 30.84%; width: 5.545%; }
.partners-map__pin--in { left: 67.15%; top: 46.76%; width: 5.357%; }

.partners-places {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.partners-places li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	padding: 1.875rem 1rem;
	border-radius: 1rem;
	background: #f9f9f9;
	text-align: center;
}

.partners-places__flag {
	display: grid;
	place-items: center;
	width: 3.75rem;
	height: 3.75rem;
}

.partners-places__flag img {
	width: 3.75rem;
	height: auto;
}

.partners-places h3 {
	color: #1c1b1b;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.03rem;
	line-height: 1.4;
	text-transform: uppercase;
}

.partners-places p {
	margin: 0;
	max-width: 15.6rem;
	color: #646464;
	font-size: 0.875rem;
	line-height: 1.43;
}

.partners-tools {
	padding: 5.5rem 0;
}

.partners-tools__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 1rem 0.75rem;
	margin: 2.75rem 0 0;
	padding: 0;
	list-style: none;
}

.partners-tools__grid li {
	display: grid;
	place-items: center;
	height: 7.3125rem;
	border-radius: 1rem;
	background: #ffffff;
	box-shadow: 0 1px 4px rgb(0 0 0 / 0.12);
}

.partners-tool {
	position: relative;
	display: block;
	overflow: hidden;
}

.partners-tool img {
	position: absolute;
	max-width: none;
}

.partners-tool--ea { width: 192px; height: 64px; }
.partners-tool--dspace { width: 156px; height: 44px; }
.partners-tool--itemis { width: 156px; height: 47px; }
.partners-tool--altium { width: 156px; height: 80px; }
.partners-tool--jira { width: 156px; height: 78px; }
.partners-tool--matlab { width: 156px; height: 52px; }
.partners-tool--vector { width: 156px; height: 59px; }
.partners-tool--ansys { width: 135px; height: 63px; }
.partners-tool--jama { width: 156px; height: 59px; }
.partners-tool--cadence { width: 156px; height: 44px; }
.partners-tool--magicdraw { width: 153px; height: 39px; }
.partners-tool--vbox { width: 109px; height: 46px; }

.partners-tool--ea img,
.partners-tool--dspace img,
.partners-tool--itemis img,
.partners-tool--altium img,
.partners-tool--jira img,
.partners-tool--vector img,
.partners-tool--jama img,
.partners-tool--cadence img {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.partners-tool--matlab img { width: 100%; height: 157.76%; left: 0; top: -30.8%; }
.partners-tool--ansys img { width: 101.12%; height: 109.64%; left: -0.93%; top: -4.88%; }
.partners-tool--magicdraw img { width: 101.96%; height: 108.97%; left: -1.31%; top: -7.69%; }
.partners-tool--vbox img { width: 101.83%; height: 213.04%; left: 0; top: -71.74%; }

@media (min-width: 64rem) {
	.partners-logos__head {
		grid-template-columns: minmax(0, 1fr) 26rem;
		align-items: center;
	}
}

@media (max-width: 80rem) {
	.partners-tools__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 64rem) {
	.partners-places {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 40rem) {
	.partners-hero,
	.partners-hero__inner {
		min-height: 32rem;
	}

	.partners-places,
	.partners-tools__grid {
		grid-template-columns: 1fr;
	}

	.partners-logos__head p {
		font-size: 1rem;
	}
}
