/* ==========================================================================
   Partners Page Banner
   ========================================================================== */

.partners-banner {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background-color: #f4f1eb;
}

.partners-banner__picture {
	display: block;
	width: 100%;
}

.partners-banner__image {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	object-fit: cover;
	object-position: center;
}

/* Desktop */

@media (min-width: 768px) {
	.partners-banner__image {
		aspect-ratio: 1920 / 760;
	}
}

/* Mobile */

@media (max-width: 767px) {
	.partners-banner__image {
		width: 100%;
		height: auto;
		aspect-ratio: auto;
		object-fit: contain;
		object-position: center top;
	}
}
/* ==========================================================================
   Why Partner with Futurearth
   ========================================================================== */

.partners-why {
	--partners-why-gold: #bd8724;
	--partners-why-text: #444444;

	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 116px 0 50px;
	background-color: #ffffff;
}

/* ==========================================================================
   Container
   ========================================================================== */

.partners-why__container {
	display: grid;
	grid-template-columns:
		minmax(0, 44%)
		minmax(0, 56%);
	align-items: center;
	gap: 56px;
	width: min(calc(100% - 130px), 1640px);
	margin-inline: auto;
}

/* ==========================================================================
   Image
   ========================================================================== */

.partners-why__media {
	min-width: 0;
}

.partners-why__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.48 / 1;
	object-fit: cover;
	object-position: center;
}

/* ==========================================================================
   Content
   ========================================================================== */

.partners-why__content {
	min-width: 0;
	padding: 0 10px 0 0;
}

.partners-why__heading {
	margin: 0 0 12px;
	color: var(--partners-why-gold);
	font-size: clamp(30px, 2.55vw, 30px);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.partners-why__text {
	max-width: 900px;
	color: var(--partners-why-text);
	font-size: clamp(17px, 1.2vw, 23px);
	font-weight: 300;
	line-height: 1.23;
	letter-spacing: 0.002em;
	text-align: justify;
}

.partners-why__text p {
	margin: 0 0 28px;
	font-size: 18px;
}


.partners-why__text p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Entrance animation
   ========================================================================== */

.partners-why.is-partners-why-ready
[data-partners-why-reveal] {
	opacity: 0;
	filter: blur(3px);
}

.partners-why.is-partners-why-ready
[data-reveal-direction="left"] {
	transform: translate3d(-46px, 0, 0);
}

.partners-why.is-partners-why-ready
[data-reveal-direction="right"] {
	transform: translate3d(46px, 0, 0);
}

.partners-why.is-partners-why-visible
[data-partners-why-reveal] {
	opacity: 1;
	filter: none;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 850ms ease,
		filter 700ms ease,
		transform 1000ms cubic-bezier(0.22, 1, 0.36, 1);
}

.partners-why.is-partners-why-visible
.partners-why__content {
	transition-delay: 130ms;
}

/* ==========================================================================
   Large desktop
   ========================================================================== */

@media (max-width: 1600px) {
	.partners-why {
		padding: 100px 0 96px;
	}

	.partners-why__container {
		grid-template-columns:
			minmax(0, 43%)
			minmax(0, 57%);
		gap: 48px;
		width: min(calc(100% - 110px), 1460px);
	}

	.partners-why__text {
		font-size: 19px;
	}
}

/* ==========================================================================
   Medium desktop
   ========================================================================== */

@media (max-width: 1300px) {
	.partners-why {
		padding: 88px 0;
	}

	.partners-why__container {
		gap: 40px;
		width: min(calc(100% - 80px), 1180px);
	}

	.partners-why__heading {
		font-size: 30px;
	}

	.partners-why__text {
		font-size: 17px;
		line-height: 1.28;
	}

	.partners-why__text p {
		margin-bottom: 22px;
	}
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 900px) {
	.partners-why {
		padding: 70px 0;
	}

	.partners-why__container {
		grid-template-columns: 1fr;
		gap: 42px;
		width: min(calc(100% - 50px), 720px);
	}

	.partners-why__image {
		aspect-ratio: 1.45 / 1;
	}

	.partners-why__content {
		padding: 0;
	}

	.partners-why__heading {
		font-size: 28px;
	}

	.partners-why__text {
		max-width: none;
		font-size: 18px;
		line-height: 1.45;
		text-align: left;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767px) {
	.partners-why {
		padding: 52px 0 58px;
	}

	.partners-why__container {
		gap: 30px;
		width: calc(100% - 36px);
	}

	.partners-why__image {
		aspect-ratio: 1.25 / 1;
	}

	.partners-why__heading {
		margin-bottom: 17px;
		font-size: clamp(28px, 9vw, 28px);
	}

	.partners-why__text {
		font-size: 16px;
		line-height: 1.5;
	}

	.partners-why__text p {
		margin-bottom: 20px;
	}

	.partners-why.is-partners-why-ready
	[data-reveal-direction="left"],
	.partners-why.is-partners-why-ready
	[data-reveal-direction="right"] {
		transform: translate3d(0, 30px, 0);
	}
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.partners-why
	[data-partners-why-reveal] {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		transition: none !important;
	}
}
/* ==========================================================================
   Benefits of Partnering — corrected exact layout
   ========================================================================== */

.partner-benefits {
	--partner-benefits-gold: #bd8724;
	--partner-benefits-text: #333333;
	--partner-benefits-line: #cccccc;
	--partner-benefits-line-size: 4px;

	position: relative;
	width: 100%;
	min-height: 820px;
	overflow: hidden;
	padding: 0 0 42px;
	background-color: #ffffff;
	box-sizing: border-box;
}

/* ==========================================================================
   Main container
   ========================================================================== */

.partner-benefits__container {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 170px), 1360px);
	min-height: 820px;
	margin-inline: auto;
	padding-top: 0;
	box-sizing: border-box;
}

/* ==========================================================================
   Heading
   ========================================================================== */

.partner-benefits__heading-wrap {
	position: absolute;
	top: 49px;
	left: 50%;
	width: 410px;
	margin: 0;
	padding: 0 0 0 34px;
	box-sizing: border-box;
}

/*
 * Important:
 * The heading sits completely to the right of the vertical line.
 */

.partner-benefits__eyebrow {
	margin: 0;
	color: var(--partner-benefits-gold);
	font-size: clamp(30px, 3.35vw, 30px);
	font-weight: 300;
	line-height: 0.96;
	letter-spacing: -0.025em;
	white-space: nowrap;
}

.partner-benefits__heading {
	margin: 0;
	color: var(--partner-benefits-gold);
	font-size: clamp(36px, 3.65vw, 36px);
	font-weight: 700;
	line-height: 0.94;
	letter-spacing: -0.025em;
	white-space: nowrap;
}

/* ==========================================================================
   Benefits grid
   ========================================================================== */

.partner-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 86px;
	row-gap: 35px;
	width: calc(100% - 105px);
	margin: 0 0 0 105px;
	padding-top: 195px;
	box-sizing: border-box;
}

/* ==========================================================================
   Benefit item
   ========================================================================== */

.partner-benefits__item {
	min-width: 0;
	margin: 0;
}

.partner-benefits__icon {
	display: block;
	width: 82px;
	height: 80px;
	margin: 0 0 11px;
	object-fit: contain;
	object-position: left bottom;
}

.partner-benefits__item-title {
	max-width: 225px;
	margin: 0;
	color: var(--partner-benefits-text);
	font-size: clamp(20px, 1.25vw, 23px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.025em;
}

/* ==========================================================================
   Decorative lines
   ========================================================================== */

.partner-benefits__lines {
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.partner-benefits__line {
	position: absolute;
	display: block;
	background-color: var(--partner-benefits-line);
	will-change: transform;
}

/*
 * Left horizontal line:
 * ends exactly at the heading's vertical line.
 */

.partner-benefits__line--heading-left {
	top: 74px;
	left: 22.7%;
	width: 25.3%;
	height: var(--partner-benefits-line-size);
	transform-origin: right center;
}

/*
 * Heading vertical line:
 * remains to the left of all heading text.
 */

.partner-benefits__line--heading-vertical {
	top: 0;
	left: 48%;
	width: var(--partner-benefits-line-size);
	height: 150px;
	transform-origin: top center;
}

/*
 * Bottom horizontal line:
 * begins exactly at the bottom of the vertical line.
 */

.partner-benefits__line--heading-bottom {
	top: 146px;
	left: 48%;
	width: 52%;
	height: var(--partner-benefits-line-size);
	transform-origin: left center;
}

/*
 * Long vertical line beside the benefit grid.
 */

.partner-benefits__line--left-vertical {
	top: 272px;
	left: 6.25%;
	width: var(--partner-benefits-line-size);
	height: 538px;
	transform-origin: top center;
}

/* ==========================================================================
   Entrance animation
   ========================================================================== */

.partner-benefits.is-partner-benefits-ready
[data-partner-benefit-reveal] {
	opacity: 0;
	filter: blur(3px);
	transform: translate3d(0, -25px, 0);
}

.partner-benefits.is-partner-benefits-ready
[data-partner-benefit-item] {
	opacity: 0;
	filter: blur(2px);
	transform: translate3d(0, 32px, 0);
}

.partner-benefits.is-partner-benefits-visible
[data-partner-benefit-reveal] {
	opacity: 1;
	filter: none;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 800ms ease,
		filter 650ms ease,
		transform 950ms cubic-bezier(0.22, 1, 0.36, 1);
}

.partner-benefits.is-partner-benefits-visible
[data-partner-benefit-item] {
	opacity: 1;
	filter: none;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 700ms ease var(--benefit-delay),
		filter 650ms ease var(--benefit-delay),
		transform 900ms cubic-bezier(0.22, 1, 0.36, 1)
			var(--benefit-delay);
}

/* ==========================================================================
   Large desktop
   ========================================================================== */

@media (max-width: 1600px) {
	.partner-benefits {
		min-height: 770px;
	}

	.partner-benefits__container {
		width: min(calc(100% - 140px), 1250px);
		min-height: 770px;
	}

	.partner-benefits__heading-wrap {
		top: 48px;
		left: 50%;
		width: 380px;
		padding-left: 30px;
	}

	.partner-benefits__grid {
		column-gap: 66px;
		row-gap: 58px;
		width: calc(100% - 95px);
		margin-left: 95px;
		padding-top: 195px;
	}

	.partner-benefits__line--heading-left {
		left: 21.5%;
		width: 26.5%;
	}

	.partner-benefits__line--left-vertical {
		left: 5.2%;
		height: 490px;
	}
}

/* ==========================================================================
   Medium desktop
   ========================================================================== */

@media (max-width: 1300px) {
	.partner-benefits {
		min-height: 705px;
	}

	.partner-benefits__container {
		width: min(calc(100% - 100px), 1120px);
		min-height: 705px;
	}

	.partner-benefits__heading-wrap {
		top: 45px;
		width: 340px;
		padding-left: 25px;
	}

	.partner-benefits__eyebrow {
		font-size: 30px;
	}

	.partner-benefits__heading {
		font-size: 36px;
	}

	.partner-benefits__grid {
		column-gap: 43px;
		row-gap: 48px;
		width: calc(100% - 75px);
		margin-left: 75px;
		padding-top: 195px;
	}

	.partner-benefits__icon {
		width: 60px;
		height: 60px;
	}

	.partner-benefits__item-title {
		font-size: 19px;
	}

	.partner-benefits__line--heading-left {
		top: 69px;
		left: 19%;
		width: 29%;
	}

	.partner-benefits__line--heading-vertical {
		height: 187px;
	}

	.partner-benefits__line--heading-bottom {
		top: 183px;
	}

	.partner-benefits__line--left-vertical {
		top: 245px;
		left: 3.8%;
		height: 460px;
	}
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 900px) {
	.partner-benefits {
		min-height: 0;
		padding: 55px 0 62px;
	}

	.partner-benefits__container {
		width: calc(100% - 60px);
		min-height: 0;
	}

	.partner-benefits__heading-wrap {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		margin: 0 0 62px 35%;
		padding: 0 0 25px 25px;
	}

	.partner-benefits__eyebrow {
		font-size: 28px;
	}

	.partner-benefits__heading {
		font-size: 36px;
	}

	.partner-benefits__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: calc(100% - 45px);
		margin: 0 0 0 45px;
		padding-top: 0;
		column-gap: 46px;
		row-gap: 48px;
	}

	.partner-benefits__line--heading-left {
		top: 98px;
		left: 5%;
		width: 30%;
		height: 3px;
	}

	.partner-benefits__line--heading-vertical {
		top: 0;
		left: 35%;
		width: 3px;
		height: 177px;
	}

	.partner-benefits__line--heading-bottom {
		top: 174px;
		left: 35%;
		width: 65%;
		height: 3px;
	}

	.partner-benefits__line--left-vertical {
		top: 250px;
		left: 0;
		width: 3px;
		height: calc(100% - 270px);
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767px) {
	.partner-benefits {
		padding: 48px 0 54px;
	}

	.partner-benefits__container {
		width: calc(100% - 36px);
	}

	.partner-benefits__heading-wrap {
		margin: 0 0 54px 24%;
		padding-left: 19px;
	}

	.partner-benefits__eyebrow {
		font-size: 28px;
		white-space: normal;
	}

	.partner-benefits__heading {
		font-size: 28px;
		white-space: normal;
	}

	.partner-benefits__grid {
		grid-template-columns: 1fr;
		width: calc(100% - 34px);
		margin-left: 34px;
		row-gap: 34px;
	}

	.partner-benefits__item {
		display: grid;
		grid-template-columns: 60px minmax(0, 1fr);
		align-items: center;
		column-gap: 17px;
	}

	.partner-benefits__icon {
		width: 56px;
		height: 56px;
		margin: 0;
	}

	.partner-benefits__item-title {
		max-width: 270px;
		font-size: 19px;
		line-height: 1.1;
	}

	.partner-benefits__line--heading-left {
		top: 81px;
		left: 0;
		width: 24%;
	}

	.partner-benefits__line--heading-vertical {
		left: 24%;
		height: 151px;
	}

	.partner-benefits__line--heading-bottom {
		top: 148px;
		left: 24%;
		width: 76%;
	}

	.partner-benefits__line--left-vertical {
		top: 220px;
		left: 0;
		height: calc(100% - 238px);
	}

	.partner-benefits.is-partner-benefits-ready
	[data-partner-benefit-item] {
		transform: translate3d(27px, 0, 0);
	}
}

/* ==========================================================================
   Small mobile
   ========================================================================== */

@media (max-width: 480px) {
	.partner-benefits__heading-wrap {
		margin-left: 20%;
	}

	.partner-benefits__eyebrow {
		font-size: 20px;
	}

	.partner-benefits__heading {
		font-size: 20px;
	}

	.partner-benefits__line--heading-left {
		width: 20%;
	}

	.partner-benefits__line--heading-vertical {
		left: 20%;
	}

	.partner-benefits__line--heading-bottom {
		left: 20%;
		width: 80%;
	}
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.partner-benefits
	[data-partner-benefit-reveal],
	.partner-benefits
	[data-partner-benefit-item] {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		transition: none !important;
	}

	.partner-benefits__line {
		transform: none !important;
		transition: none !important;
	}
}
/* ==========================================================================
   Partner Process — How It Works
   Complete updated CSS
   ========================================================================== */

.partner-process {
	--partner-process-gold: #bd8724;
	--partner-process-dark-green: #0f3022;
	--partner-process-text: #333333;
	--partner-process-background: none;

	position: relative;
	width: 100%;
	min-height: 610px;
	overflow: hidden;
	padding: 36px 0 46px;
	background-color: #ffffff;
	background-image: var(--partner-process-background);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 100%;
	box-sizing: border-box;
}

/* ==========================================================================
   Light background treatment
   ========================================================================== */

.partner-process__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgb(255 255 255 / 8%);
	pointer-events: none;
}

/* ==========================================================================
   Main container
   ========================================================================== */

.partner-process__container {
	position: relative;
	z-index: 2;
	width: min(calc(100% - 90px), 1400px);
	margin-inline: auto;
	box-sizing: border-box;
}

/* ==========================================================================
   Heading
   ========================================================================== */

.partner-process__header {
	text-align: center;
}

.partner-process__heading {
	margin: 0;
	color: var(--partner-process-gold);
	font-size: clamp(30px, 2.8vw, 30px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.02em;
}

.partner-process__subtitle {
	margin: 4px 0 0;
	color: var(--partner-process-text);
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: 400;
	line-height: 1.25;
}

/* ==========================================================================
   Steps layout
   ========================================================================== */

.partner-process__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: start;
	gap: 24px;
	margin-top: 52px;
}

/* ==========================================================================
   Connecting gold line
   ========================================================================== */

.partner-process__connector {
	position: absolute;
	top: 122px;
	left: calc(8.333% + 56px);
	right: calc(8.333% + 56px);
	z-index: 1;
	display: block;
	height: 2px;
	background-color: var(--partner-process-gold);
	transform-origin: left center;
	will-change: transform;
}

/* ==========================================================================
   Individual process step
   ========================================================================== */

.partner-process__step {
	position: relative;
	z-index: 2;
	min-width: 0;
	text-align: center;
}

.partner-process__number {
	margin: 0 0 15px;
	color: var(--partner-process-gold);
	font-size: clamp(34px, 2.6vw, 47px);
	font-weight: 700;
	line-height: 1;
}

/* ==========================================================================
   Circular icon design
   ========================================================================== */

.partner-process__icon-ring {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 138px;
	height: 138px;
	margin-inline: auto;
	border: 2px solid var(--partner-process-gold);
	border-radius: 50%;
	background-color: rgb(255 255 255 / 72%);
	box-sizing: border-box;
}

.partner-process__icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 108px;
	height: 108px;
	border-radius: 50%;
	background-color: var(--partner-process-dark-green);
}

.partner-process__icon {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: contain;
	object-position: center;
}

/* ==========================================================================
   Step title and description
   ========================================================================== */

.partner-process__step-title {
	max-width: 210px;
	margin: 19px auto 4px;
	color: var(--partner-process-text);
	font-size: clamp(18px, 1.3vw, 22px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.018em;
}

.partner-process__description {
	max-width: 215px;
	margin: 0 auto;
	color: var(--partner-process-text);
	font-size: clamp(15px, 1.05vw, 18px);
	font-weight: 400;
	line-height: 1.13;
}

/* ==========================================================================
   Closing message
   ========================================================================== */

.partner-process__closing {
	margin: 48px 0 0;
	color: var(--partner-process-gold);
	font-size: clamp(23px, 2vw, 35px);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.005em;
	text-align: center;
}

/* ==========================================================================
   Entrance animation
   ========================================================================== */

.partner-process.is-partner-process-ready
[data-partner-process-reveal] {
	opacity: 0;
	filter: blur(3px);
	transform: translate3d(0, 26px, 0);
}

.partner-process.is-partner-process-ready
[data-partartner-process-step],
.partner-process.is-partner-process-ready
[data-partner-process-step] {
	opacity: 0;
	filter: blur(2px);
	transform: translate3d(0, 34px, 0);
}

.partner-process.is-partner-process-visible
[data-partner-process-reveal] {
	opacity: 1;
	filter: none;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 800ms ease,
		filter 650ms ease,
		transform 950ms cubic-bezier(0.22, 1, 0.36, 1);
}

.partner-process.is-partner-process-visible
[data-partner-process-step] {
	opacity: 1;
	filter: none;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 700ms ease var(--process-delay),
		filter 650ms ease var(--process-delay),
		transform 900ms cubic-bezier(0.22, 1, 0.36, 1)
			var(--process-delay);
}

.partner-process.is-partner-process-visible
.partner-process__closing {
	transition-delay: 720ms;
}

/* ==========================================================================
   Large desktop
   ========================================================================== */

@media (max-width: 1600px) {
	.partner-process {
		min-height: 600px;
		padding: 34px 0 44px;
		background-size: 100% 100%;
		background-position: center center;
	}

	.partner-process__container {
		width: min(calc(100% - 80px), 1320px);
	}

	.partner-process__steps {
		gap: 20px;
		margin-top: 50px;
	}

	.partner-process__icon-ring {
		width: 130px;
		height: 130px;
	}

	.partner-process__icon-circle {
		width: 102px;
		height: 102px;
	}

	.partner-process__icon {
		width: 68px;
		height: 68px;
	}

	.partner-process__connector {
		top: 117px;
		left: calc(8.333% + 52px);
		right: calc(8.333% + 52px);
	}

	.partner-process__closing {
		margin-top: 44px;
	}
}

/* ==========================================================================
   Medium desktop
   ========================================================================== */

@media (max-width: 1250px) {
	.partner-process {
		min-height: 580px;
		padding: 34px 0 42px;
		background-size: 100% 100%;
		background-position: center center;
	}

	.partner-process__container {
		width: min(calc(100% - 60px), 1150px);
	}

	.partner-process__steps {
		gap: 14px;
		margin-top: 46px;
	}

	.partner-process__icon-ring {
		width: 116px;
		height: 116px;
	}

	.partner-process__icon-circle {
		width: 90px;
		height: 90px;
	}

	.partner-process__icon {
		width: 62px;
		height: 62px;
	}

	.partner-process__connector {
		top: 108px;
		left: calc(8.333% + 46px);
		right: calc(8.333% + 46px);
	}

	.partner-process__step-title {
		font-size: 18px;
	}

	.partner-process__description {
		font-size: 15px;
	}

	.partner-process__closing {
		margin-top: 40px;
	}
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 950px) {
	.partner-process {
		min-height: 0;
		padding: 48px 0 54px;
		background-size: cover;
		background-position: center center;
	}

	.partner-process__overlay {
		background-color: rgb(255 255 255 / 18%);
	}

	.partner-process__container {
		width: calc(100% - 50px);
	}

	.partner-process__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 44px 28px;
		margin-top: 48px;
	}

	.partner-process__connector {
		display: none;
	}

	.partner-process__icon-ring {
		width: 132px;
		height: 132px;
	}

	.partner-process__icon-circle {
		width: 104px;
		height: 104px;
	}

	.partner-process__icon {
		width: 70px;
		height: 70px;
	}

	.partner-process__step-title {
		max-width: 260px;
		font-size: 21px;
	}

	.partner-process__description {
		max-width: 275px;
		font-size: 17px;
		line-height: 1.3;
	}

	.partner-process__closing {
		margin-top: 52px;
	}
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767px) {
	.partner-process {
		padding: 43px 0 48px;
		background-size: cover;
		background-position: center top;
	}

	.partner-process__overlay {
		background-color: rgb(255 255 255 / 25%);
	}

	.partner-process__container {
		width: calc(100% - 36px);
	}

	.partner-process__heading {
		font-size: 28px;
	}

	.partner-process__subtitle {
		max-width: 310px;
		margin: 8px auto 0;
		font-size: 16px;
	}

	.partner-process__steps {
		grid-template-columns: 1fr;
		gap: 37px;
		margin-top: 42px;
	}

	.partner-process__step {
		display: grid;
		grid-template-columns:
			48px
			112px
			minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: center;
		column-gap: 16px;
		text-align: left;
	}

	.partner-process__number {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 0;
		font-size: 30px;
	}

	.partner-process__icon-ring {
		grid-column: 2;
		grid-row: 1 / span 2;
		width: 108px;
		height: 108px;
		margin: 0;
	}

	.partner-process__icon-circle {
		width: 84px;
		height: 84px;
	}

	.partner-process__icon {
		width: 57px;
		height: 57px;
	}

	.partner-process__step-title {
		grid-column: 3;
		grid-row: 1;
		max-width: none;
		margin: 0 0 5px;
		font-size: 20px;
		text-align: left;
	}

	.partner-process__description {
		grid-column: 3;
		grid-row: 2;
		max-width: none;
		margin: 0;
		font-size: 15px;
		line-height: 1.35;
		text-align: left;
	}

	.partner-process__closing {
		margin-top: 44px;
		font-size: 25px;
		line-height: 1.25;
	}
}

/* ==========================================================================
   Small mobile
   ========================================================================== */

@media (max-width: 480px) {
	.partner-process {
		padding: 40px 0 45px;
	}

	.partner-process__container {
		width: calc(100% - 28px);
	}

	.partner-process__heading {
		font-size: 20px;
	}

	.partner-process__step {
		grid-template-columns:
			40px
			90px
			minmax(0, 1fr);
		column-gap: 12px;
	}

	.partner-process__number {
		font-size: 25px;
	}

	.partner-process__icon-ring {
		width: 88px;
		height: 88px;
	}

	.partner-process__icon-circle {
		width: 68px;
		height: 68px;
	}

	.partner-process__icon {
		width: 46px;
		height: 46px;
	}

	.partner-process__step-title {
		font-size: 17px;
	}

	.partner-process__description {
		font-size: 14px;
	}

	.partner-process__closing {
		font-size: 22px;
	}
}

/* ==========================================================================
   Reduced motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.partner-process
	[data-partner-process-reveal],
	.partner-process
	[data-partner-process-step] {
		opacity: 1 !important;
		filter: none !important;
		transform: none !important;
		transition: none !important;
	}

	.partner-process__connector {
		transform: none !important;
		transition: none !important;
	}
}