.mo-who-supply {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(74px, 7vw, 116px) 0;
	overflow: hidden;
	background: var(--mo-ws-bg);
	color: var(--mo-ws-text);
}

.mo-b2b-apps + .mo-who-supply {
	margin-block-start: 0;
	padding-block-start: 0;
}

.mo-who-supply *,
.mo-who-supply *::before,
.mo-who-supply *::after {
	box-sizing: border-box;
}

.mo-who-supply__inner {
	width: min(calc(100% - 48px), 1540px);
	margin: 0 auto;
}

.mo-who-supply__header {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.7fr);
	gap: clamp(36px, 7vw, 110px);
	align-items: end;
	margin-bottom: 46px;
}

.mo-who-supply__eyebrow,
.mo-who-supply__kicker,
.mo-who-supply__bakery-kicker {
	margin: 0;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.17em;
	line-height: 1.25;
	text-transform: uppercase;
}

.mo-who-supply__eyebrow {
	margin-bottom: 14px;
	color: var(--mo-ws-accent);
}

.mo-who-supply__heading {
	max-width: 820px;
	margin: 0;
	color: var(--mo-ws-heading);
	font-size: clamp(38px, 4.3vw, 62px);
	font-weight: 620;
	letter-spacing: -0.046em;
	line-height: 1.02;
	text-wrap: balance;
}

.mo-who-supply__intro {
	color: var(--mo-ws-muted);
	font-size: 16px;
	line-height: 1.72;
}

.mo-who-supply__intro p {
	margin: 0;
}

.mo-who-supply__feature-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.42fr) minmax(360px, 0.78fr);
	grid-template-rows: repeat(3, var(--mo-ws-side-height));
	gap: var(--mo-ws-gap);
}

.mo-who-supply__image-card {
	position: relative;
	display: block;
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(23, 63, 50, 0.12);
	background: #173f32;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
	box-shadow: 0 16px 42px rgba(23, 63, 50, 0.09);
}

.mo-who-supply__image-card--main {
	grid-row: 1 / 4;
	height: auto;
	min-height: var(--mo-ws-main-height);
}

.mo-who-supply__image-card--side {
	height: var(--mo-ws-side-height);
}

.mo-who-supply__media,
.mo-who-supply__image,
.mo-who-supply__placeholder {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.mo-who-supply__image {
	object-fit: cover;
	object-position: center;
	transition: transform 440ms cubic-bezier(0.2, 0.65, 0.3, 1);
}

.mo-who-supply__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background:
		radial-gradient(circle at 70% 24%, rgba(157,191,114,.28), transparent 31%),
		linear-gradient(145deg, #f6f3e8 0%, #dce7d8 52%, #9ab2a0 100%);
	color: rgba(23,63,50,.34);
}

.mo-who-supply__placeholder svg {
	width: 100px;
	height: 100px;
}

.mo-who-supply__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(10,34,24,calc(.95 * var(--mo-ws-overlay))) 0%,
		rgba(10,34,24,calc(.72 * var(--mo-ws-overlay))) 29%,
		rgba(10,34,24,calc(.18 * var(--mo-ws-overlay))) 65%,
		rgba(10,34,24,.02) 100%
	);
	pointer-events: none;
}

.mo-who-supply__card-content {
	position: absolute;
	z-index: 2;
	left: clamp(24px, 3vw, 46px);
	right: clamp(24px, 3vw, 46px);
	bottom: clamp(24px, 3vw, 42px);
}

.mo-who-supply__kicker {
	margin-bottom: 9px;
	color: rgba(255,255,255,.77);
}

.mo-who-supply__card-content h3 {
	max-width: 680px;
	margin: 0;
	color: #fff;
	font-size: clamp(28px, 3vw, 49px);
	font-weight: 590;
	letter-spacing: -0.04em;
	line-height: 1.04;
	text-wrap: balance;
}

.mo-who-supply__image-card--side .mo-who-supply__card-content h3 {
	font-size: clamp(24px, 2.2vw, 34px);
}

.mo-who-supply__card-text {
	max-width: 660px;
	margin: 12px 0 0;
	color: rgba(255,255,255,.84);
	font-size: 14px;
	line-height: 1.58;
}

.mo-who-supply__image-card--side .mo-who-supply__card-text {
	max-width: 520px;
	font-size: 13px;
}

.mo-who-supply__card-link {
	display: inline-flex;
	width: fit-content;
	align-items: center;
	gap: 9px;
	margin-top: 18px;
	padding-bottom: 5px;
	border-bottom: 1px solid rgba(255,255,255,.72);
	color: #fff;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .075em;
	line-height: 1.25;
	text-transform: uppercase;
}

.mo-who-supply__card-link svg,
.mo-who-supply__bakery-link svg {
	transition: transform 180ms ease;
}

.mo-who-supply__image-card[href]:hover .mo-who-supply__image {
	transform: scale(1.04);
}

.mo-who-supply__image-card[href]:hover .mo-who-supply__card-link svg,
.mo-who-supply__bakery-card[href]:hover .mo-who-supply__bakery-link svg {
	transform: translateX(4px);
}

.mo-who-supply__image-card[href]:focus-visible,
.mo-who-supply__bakery-card[href]:focus-visible {
	outline: 3px solid rgba(94,143,87,.55);
	outline-offset: 4px;
}

.mo-who-supply__bakery-card {
	display: grid;
	grid-template-columns: 64px minmax(0,1fr) auto;
	gap: 26px;
	align-items: center;
	margin-top: var(--mo-ws-gap);
	padding: clamp(30px, 4vw, 52px);
	border: 1px solid var(--mo-ws-border);
	background: #edf2e9;
	color: var(--mo-ws-text);
	text-decoration: none;
	transition: transform 190ms ease, border-color 190ms ease, box-shadow 190ms ease;
}

.mo-who-supply__bakery-card[href]:hover {
	transform: translateY(-3px);
	border-color: rgba(94,143,87,.5);
	box-shadow: 0 16px 40px rgba(23,63,50,.09);
}

.mo-who-supply__bakery-number {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border: 1px solid rgba(94,143,87,.36);
	border-radius: 50%;
	color: var(--mo-ws-accent);
	font-size: 12px;
	font-weight: 800;
}

.mo-who-supply__bakery-kicker {
	margin-bottom: 8px;
	color: var(--mo-ws-accent);
}

.mo-who-supply__bakery-copy h3 {
	margin: 0;
	color: var(--mo-ws-heading);
	font-size: clamp(27px, 2.8vw, 40px);
	font-weight: 620;
	letter-spacing: -0.04em;
	line-height: 1.06;
}

.mo-who-supply__bakery-copy > p:not(.mo-who-supply__bakery-kicker) {
	max-width: 720px;
	margin: 12px 0 0;
	color: var(--mo-ws-muted);
	font-size: 14px;
	line-height: 1.65;
}

.mo-who-supply__bakery-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--mo-ws-accent);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .075em;
	white-space: nowrap;
	text-transform: uppercase;
}

@media (max-width: 1099px) {
	.mo-who-supply__header {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.mo-who-supply__intro {
		max-width: 760px;
	}

	.mo-who-supply__feature-grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
		grid-template-rows: auto;
	}

	.mo-who-supply__image-card--main {
		grid-column: 1 / -1;
		grid-row: auto;
		height: 560px;
	}

	.mo-who-supply__image-card--side {
		height: 390px;
	}

	.mo-who-supply__image-card--distributor {
		grid-column: 1 / -1;
	}

	.mo-who-supply__bakery-card {
		grid-template-columns: 56px minmax(0,1fr);
	}

	.mo-who-supply__bakery-link {
		grid-column: 2;
	}
}

@media (max-width: 749px) {
	.mo-who-supply {
		padding: 62px 0 76px;
	}

	.mo-who-supply__inner {
		width: min(calc(100% - 24px), 680px);
	}

	.mo-who-supply__header {
		margin-bottom: 30px;
	}

	.mo-who-supply__heading {
		font-size: clamp(35px, 10vw, 48px);
	}

	.mo-who-supply__intro {
		font-size: 15px;
	}

	.mo-who-supply__feature-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.mo-who-supply__image-card--main,
	.mo-who-supply__image-card--side {
		grid-column: auto;
		grid-row: auto;
		height: var(--mo-ws-mobile-height);
		min-height: 0;
	}

	.mo-who-supply__card-content {
		left: 22px;
		right: 22px;
		bottom: 23px;
	}

	.mo-who-supply__card-content h3,
	.mo-who-supply__image-card--side .mo-who-supply__card-content h3 {
		font-size: clamp(28px, 8.4vw, 38px);
	}

	.mo-who-supply__card-text,
	.mo-who-supply__image-card--side .mo-who-supply__card-text {
		font-size: 13px;
	}

	.mo-who-supply__bakery-card {
		grid-template-columns: 44px minmax(0,1fr);
		gap: 16px;
		padding: 28px 22px;
	}

	.mo-who-supply__bakery-number {
		width: 42px;
		height: 42px;
		font-size: 10px;
	}

	.mo-who-supply__bakery-copy h3 {
		font-size: clamp(26px, 7.4vw, 34px);
	}

	.mo-who-supply__bakery-link {
		grid-column: 2;
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mo-who-supply__image,
	.mo-who-supply__card-link svg,
	.mo-who-supply__bakery-link svg,
	.mo-who-supply__bakery-card {
		transition: none;
	}
}
