.page-template-sourcing .site.grid-container,
.page-template-sourcing .site-content {
	max-width: none;
	padding: 0;
}

.page-template-sourcing .site-content {
	display: block;
}

.page-template-sourcing .bp-sourcing .bp-container--wide {
	width: min(90rem, calc(100vw - 6rem));
	max-width: none;
}

.bp-sourcing {
	--bp-sourcing-section-space: clamp(var(--bp-space-12), 4.2vw, var(--bp-space-16));
	--bp-sourcing-hero-padding-block: clamp(var(--bp-space-10), 4vw, var(--bp-space-16));
	width: 100%;
	background: var(--bp-color-background);
	color: var(--bp-color-text);
	overflow: clip;
}

.bp-sourcing *,
.bp-sourcing *::before,
.bp-sourcing *::after {
	box-sizing: border-box;
}

.bp-sourcing h1,
.bp-sourcing h2,
.bp-sourcing h3,
.bp-sourcing p,
.bp-sourcing ul,
.bp-sourcing figure {
	margin-top: 0;
}

.bp-sourcing h1 {
	max-width: 12ch;
	font-size: var(--bp-font-size-h1);
	line-height: var(--bp-line-height-tight);
}

.bp-sourcing h2 {
	max-width: 18ch;
	color: var(--bp-color-primary);
	font-size: var(--bp-font-size-h2);
	line-height: var(--bp-line-height-heading);
}

.bp-sourcing h3 {
	font-size: var(--bp-font-size-h4);
	line-height: var(--bp-line-height-heading);
}

.bp-sourcing :where(p:not(.bp-sourcing__eyebrow)) {
	color: var(--bp-color-text-muted);
	line-height: var(--bp-line-height-body);
}

.bp-sourcing a {
	text-decoration: none;
}

.bp-sourcing img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bp-sourcing__section {
	padding-block: var(--bp-sourcing-section-space);
}

.bp-sourcing__section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--bp-space-12);
	margin-bottom: var(--bp-space-8);
}

.bp-sourcing__section-head > div {
	max-width: 49rem;
}

.bp-sourcing__section-head > p {
	max-width: 32rem;
	margin-bottom: 0;
}

.bp-sourcing__eyebrow {
	margin-bottom: var(--bp-space-3);
	color: var(--bp-color-accent);
	font-size: var(--bp-font-size-caption);
	font-weight: var(--bp-font-weight-bold);
	letter-spacing: var(--bp-letter-spacing-eyebrow);
	text-transform: uppercase;
}

.bp-sourcing__eyebrow--light {
	color: var(--bp-color-accent);
}

.bp-sourcing__scope-note {
	margin: var(--bp-space-4) 0 0;
	color: var(--bp-color-text-muted);
	font-size: var(--bp-font-size-caption);
	text-align: right;
}

.bp-sourcing__visual {
	position: relative;
	min-height: 10rem;
	margin: 0;
	overflow: clip;
	background: var(--bp-color-surface-subtle);
}

.bp-sourcing__concept-mark {
	position: absolute;
	right: var(--bp-space-3);
	bottom: var(--bp-space-3);
	padding: var(--bp-space-1) var(--bp-space-2);
	border-radius: var(--bp-radius-sm);
	background: rgb(11 31 51 / 72%);
	color: var(--bp-color-text-inverse);
	font-size: 0.5rem;
	font-weight: var(--bp-font-weight-bold);
	letter-spacing: var(--bp-letter-spacing-eyebrow);
	text-transform: uppercase;
}

.bp-sourcing__hero,
.bp-sourcing__range,
.bp-sourcing__bridge {
	background: var(--bp-color-primary);
	color: var(--bp-color-text-inverse);
}

.bp-sourcing__hero {
	padding-block: var(--bp-sourcing-hero-padding-block);
}

.bp-sourcing__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(30rem, 1.1fr);
	gap: clamp(var(--bp-space-10), 5vw, var(--bp-space-20));
	align-items: center;
}

.bp-sourcing__hero h1,
.bp-sourcing__range h2,
.bp-sourcing__bridge h2 {
	color: var(--bp-color-text-inverse);
}

.bp-sourcing__range .bp-sourcing__section-head h2,
.bp-sourcing__workflow .bp-sourcing__section-head h2,
.bp-sourcing__bridge .bp-sourcing__section-head h2 {
	max-width: 24ch;
}

.bp-sourcing__lead {
	max-width: 42rem;
	color: var(--bp-color-text-inverse);
	font-size: var(--bp-font-size-body-large);
}

.bp-sourcing__range .bp-sourcing__section-head > p,
.bp-sourcing__bridge .bp-sourcing__section-head > p {
	color: var(--bp-color-border-strong);
}

.bp-sourcing__actions,
.bp-sourcing__request-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bp-space-3);
	align-items: center;
	margin-top: var(--bp-space-6);
}

.bp-sourcing .bp-sourcing__button-dark,
.bp-sourcing .bp-button--outline {
	border-color: var(--bp-color-border-strong);
	background: transparent;
	color: var(--bp-color-text-inverse);
}

.bp-sourcing .bp-button[disabled] {
	cursor: not-allowed;
	opacity: 0.82;
}

.bp-sourcing__trust-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bp-space-4);
	margin: var(--bp-space-6) 0 0;
	padding: 0;
	list-style: none;
}

.bp-sourcing__trust-row li {
	position: relative;
	padding-left: var(--bp-space-4);
	color: var(--bp-color-text-inverse);
	font-size: var(--bp-font-size-small);
}

.bp-sourcing__trust-row li::before {
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 0.45rem;
	height: 0.45rem;
	border-radius: var(--bp-radius-pill);
	background: var(--bp-color-accent);
	content: "";
}

.bp-sourcing__hero-media {
	display: grid;
	grid-template-columns: 1.55fr 0.8fr;
	gap: var(--bp-space-3);
}

.bp-sourcing__hero-main,
.bp-sourcing__hero-stack {
	display: grid;
	gap: var(--bp-space-3);
}

.bp-sourcing__hero-main {
	position: relative;
	grid-template-rows: minmax(23rem, 1fr) auto;
}

.bp-sourcing__hero-stack {
	grid-template-rows: repeat(2, minmax(10rem, 1fr));
}

.bp-sourcing__visual--hero-main,
.bp-sourcing__visual--hero-stack {
	border-radius: var(--bp-radius-md);
}

.bp-sourcing__hero-caption {
	padding: var(--bp-space-4);
	border: 1px solid var(--bp-color-secondary);
	border-radius: var(--bp-radius-md);
}

.bp-sourcing__hero-caption small,
.bp-sourcing__hero-caption strong {
	display: block;
}

.bp-sourcing__hero-caption small {
	margin-bottom: var(--bp-space-1);
	color: var(--bp-color-accent);
}

.bp-sourcing__hero-note {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--bp-color-border-strong);
	font-size: var(--bp-font-size-caption);
	text-align: right;
}

.bp-sourcing__need-grid,
.bp-sourcing__range-grid,
.bp-sourcing__decision-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bp-grid-gap);
}

.bp-sourcing__need-card,
.bp-sourcing__support-card,
.bp-sourcing__decision-card {
	padding: var(--bp-space-6);
	border: 1px solid var(--bp-color-border);
	border-radius: var(--bp-radius-md);
	background: var(--bp-color-surface);
	box-shadow: var(--bp-shadow-sm);
}

.bp-sourcing__need-mark,
.bp-sourcing__support-card > div > span,
.bp-sourcing__compare-card > span {
	display: inline-grid;
	width: 2.5rem;
	height: 2.5rem;
	place-items: center;
	margin-bottom: var(--bp-space-4);
	border-radius: var(--bp-radius-sm);
	background: var(--bp-color-surface-subtle);
	color: var(--bp-color-accent-hover);
	font-weight: var(--bp-font-weight-bold);
}

.bp-sourcing__need-card small,
.bp-sourcing__text-link {
	display: block;
	font-size: var(--bp-font-size-small);
}

.bp-sourcing__need-card small {
	min-height: 2.75rem;
	color: var(--bp-color-text-muted);
}

.bp-sourcing__text-link {
	margin-top: var(--bp-space-4);
	color: var(--bp-color-link);
	font-weight: var(--bp-font-weight-bold);
}

.bp-sourcing__categories,
.bp-sourcing__case,
.bp-sourcing__support,
.bp-sourcing__decision {
	background: var(--bp-color-surface);
}

.bp-sourcing__category-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--bp-space-4);
}

.bp-sourcing__category-card,
.bp-sourcing__range-card,
.bp-sourcing__workflow-card {
	overflow: clip;
	border-radius: var(--bp-radius-md);
}

.bp-sourcing__category-card {
	border: 1px solid var(--bp-color-border);
	background: var(--bp-color-surface);
	box-shadow: var(--bp-shadow-sm);
}

.bp-sourcing__visual--category {
	aspect-ratio: 4 / 3;
}

.bp-sourcing__category-card > div,
.bp-sourcing__range-card > div {
	padding: var(--bp-space-5);
}

.bp-sourcing__category-index,
.bp-sourcing__range-index,
.bp-sourcing__workflow-card > span,
.bp-sourcing__decision-card > span,
.bp-sourcing__bridge-card > span {
	display: block;
	margin-bottom: var(--bp-space-2);
	color: var(--bp-color-accent-hover);
	font-size: var(--bp-font-size-caption);
	font-weight: var(--bp-font-weight-bold);
	letter-spacing: var(--bp-letter-spacing-eyebrow);
	text-transform: uppercase;
}

.bp-sourcing__category-card small,
.bp-sourcing__range-card small,
.bp-sourcing__workflow-card small,
.bp-sourcing__compare-card small {
	display: block;
	color: var(--bp-color-text-muted);
	font-size: var(--bp-font-size-caption);
	line-height: var(--bp-line-height-small);
}

.bp-sourcing__category-card a {
	display: flex;
	justify-content: space-between;
	gap: var(--bp-space-2);
	margin-top: var(--bp-space-4);
	color: var(--bp-color-link);
	font-size: var(--bp-font-size-caption);
	font-weight: var(--bp-font-weight-bold);
}

.bp-sourcing__range-card {
	background: var(--bp-color-surface);
	color: var(--bp-color-text);
}

.bp-sourcing__visual--range {
	aspect-ratio: 16 / 10;
}

.bp-sourcing__case-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(25rem, 0.92fr);
	gap: var(--bp-space-12);
	align-items: stretch;
}

.bp-sourcing__visual--case {
	min-height: 25rem;
	border-radius: var(--bp-radius-lg);
}

.bp-sourcing__case-copy {
	padding: var(--bp-space-10);
	border: 1px solid var(--bp-color-border);
	border-radius: var(--bp-radius-lg);
	background: var(--bp-color-surface-subtle);
}

.bp-sourcing__case-kicker {
	font-weight: var(--bp-font-weight-bold);
}

.bp-sourcing__case-copy li {
	margin-bottom: var(--bp-space-2);
}

.bp-sourcing__workflow {
	background: var(--bp-color-surface-subtle);
}

.bp-sourcing__workflow-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: var(--bp-space-3);
}

.bp-sourcing__workflow-grid::before {
	position: absolute;
	top: 2.4rem;
	right: 5%;
	left: 5%;
	height: 1px;
	background: var(--bp-color-border-strong);
	content: "";
}

.bp-sourcing__workflow-card {
	position: relative;
	z-index: 1;
	padding-bottom: var(--bp-space-4);
	background: var(--bp-color-surface);
	box-shadow: var(--bp-shadow-sm);
}

.bp-sourcing__visual--workflow {
	height: 4.875rem;
	min-height: 0;
}

.bp-sourcing__workflow-card > span,
.bp-sourcing__workflow-card > h3,
.bp-sourcing__workflow-card > p,
.bp-sourcing__workflow-card > small {
	margin-right: var(--bp-space-4);
	margin-left: var(--bp-space-4);
}

.bp-sourcing__workflow-card > span {
	margin-top: var(--bp-space-4);
}

.bp-sourcing__workflow-card > p {
	font-size: var(--bp-font-size-small);
}

.bp-sourcing__workflow-card > small {
	padding-top: var(--bp-space-3);
	border-top: 1px solid var(--bp-color-border);
	color: var(--bp-color-accent-hover);
}

.bp-sourcing__compare {
	background: var(--bp-color-surface);
	color: var(--bp-color-text);
}

.bp-sourcing__compare-intro {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--bp-space-10);
	align-items: end;
	margin-bottom: var(--bp-space-5);
	padding: var(--bp-space-6) var(--bp-space-8);
	border-radius: var(--bp-radius-lg);
	background: var(--bp-color-primary);
	color: var(--bp-color-text-inverse);
}

.bp-sourcing__compare-intro h2 {
	margin-bottom: 0;
	color: var(--bp-color-text-inverse);
}

.bp-sourcing__compare-intro > p {
	margin-bottom: 0;
	color: var(--bp-color-border-strong);
}

.bp-sourcing__compare-intro > small {
	grid-column: 1 / -1;
	padding-top: var(--bp-space-3);
	border-top: 1px solid var(--bp-color-secondary);
	color: var(--bp-color-border-strong);
}

.bp-sourcing__compare-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--bp-space-4);
}

.bp-sourcing__compare-card {
	display: flex;
	gap: var(--bp-space-4);
	padding: var(--bp-space-5);
	border: 1px solid var(--bp-color-border);
	border-radius: var(--bp-radius-md);
	background: var(--bp-color-surface-subtle);
}

.bp-sourcing__compare-card > span {
	flex: 0 0 auto;
	border: 1px solid var(--bp-color-border);
	background: var(--bp-color-surface);
	color: var(--bp-color-accent-hover);
}

.bp-sourcing__compare-card h3,
.bp-sourcing__compare-card p {
	color: var(--bp-color-text);
}

.bp-sourcing__compare-card small {
	color: var(--bp-color-accent-hover);
}

.bp-sourcing__support-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bp-grid-gap);
}

.bp-sourcing__support-card > div {
	display: flex;
	align-items: start;
	justify-content: space-between;
}

.bp-sourcing__support-card > div > small {
	color: var(--bp-color-text-muted);
}

.bp-sourcing__bridge-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bp-grid-gap);
}

.bp-sourcing__bridge-card {
	padding: var(--bp-space-8);
	border: 1px solid var(--bp-color-secondary);
	border-radius: var(--bp-radius-md);
}

.bp-sourcing__bridge-card h3,
.bp-sourcing__bridge-card p,
.bp-sourcing__bridge-card a {
	color: var(--bp-color-text-inverse);
}

.bp-sourcing__bridge-card a {
	font-weight: var(--bp-font-weight-bold);
}

.bp-sourcing__decision-card > span {
	color: var(--bp-color-text-muted);
}

.bp-sourcing__final-cta {
	padding-block: var(--bp-sourcing-section-space);
	background: var(--bp-color-surface-subtle);
	color: var(--bp-color-text);
}

.bp-sourcing__final-cta h2 {
	color: var(--bp-color-primary);
}

.bp-sourcing__final-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(31rem, 1.15fr);
	gap: clamp(var(--bp-space-10), 5vw, var(--bp-space-20));
	align-items: center;
}

.bp-sourcing__final-copy > p:not(.bp-sourcing__eyebrow),
.bp-sourcing__final-copy li {
	color: var(--bp-color-text-muted);
}

.bp-sourcing__final-copy ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bp-space-2) var(--bp-space-6);
	padding-left: var(--bp-space-5);
}

.bp-sourcing__request-card {
	padding: var(--bp-space-8);
	border-radius: var(--bp-radius-lg);
	background: var(--bp-color-surface);
	color: var(--bp-color-text);
}

.bp-sourcing__request-head {
	display: flex;
	justify-content: space-between;
	gap: var(--bp-space-4);
	margin-bottom: var(--bp-space-5);
}

.bp-sourcing__request-head span,
.bp-sourcing__request-actions small {
	color: var(--bp-color-text-muted);
	font-size: var(--bp-font-size-caption);
}

.bp-sourcing__request-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bp-space-3);
}

.bp-sourcing__request-fields > div {
	padding: var(--bp-space-4);
	border: 1px solid var(--bp-color-border);
	border-radius: var(--bp-radius-sm);
	background: var(--bp-color-background);
}

.bp-sourcing__request-fields small,
.bp-sourcing__request-fields strong {
	display: block;
}

.bp-sourcing__request-fields small {
	margin-bottom: var(--bp-space-1);
	color: var(--bp-color-text-muted);
}

.bp-sourcing__request-wide {
	grid-column: 1 / -1;
}

.bp-sourcing__request-card > p {
	margin: var(--bp-space-5) 0 0;
	font-size: var(--bp-font-size-small);
	font-weight: var(--bp-font-weight-semibold);
}

.bp-sourcing__request-actions .bp-button--outline {
	border-color: var(--bp-color-border);
	color: var(--bp-color-primary);
}

.bp-sourcing__request-actions small {
	flex-basis: 100%;
}

@media (max-width: 100rem) {
	.page-template-sourcing .bp-sourcing .bp-container--wide {
		width: min(78rem, calc(100vw - 5rem));
	}
}

@media (max-width: 68.75rem) {
	.page-template-sourcing .bp-sourcing .bp-container--wide {
		width: min(100% - 3rem, 68rem);
	}

	.bp-sourcing__hero-grid,
	.bp-sourcing__case-grid,
	.bp-sourcing__final-grid {
		grid-template-columns: 1fr;
	}

	.bp-sourcing__compare-intro {
		grid-template-columns: 1fr;
	}

	.bp-sourcing__category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bp-sourcing__need-grid,
	.bp-sourcing__range-grid,
	.bp-sourcing__compare-grid,
	.bp-sourcing__decision-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bp-sourcing__workflow-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bp-sourcing__workflow-grid::before {
		display: none;
	}
}

@media (max-width: 50rem) {
	.page-template-sourcing .bp-sourcing .bp-container--wide {
		width: min(100% - 2rem, 48rem);
	}

	.bp-sourcing__section-head {
		display: block;
	}

	.bp-sourcing__hero-media,
	.bp-sourcing__category-grid,
	.bp-sourcing__workflow-grid,
	.bp-sourcing__support-grid,
	.bp-sourcing__bridge-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bp-sourcing__hero-main {
		grid-column: 1 / -1;
	}

	.bp-sourcing__hero-stack {
		display: contents;
	}
}

@media (max-width: 30rem) {
	.page-template-sourcing .bp-sourcing .bp-container--wide {
		width: min(100% - 1.5rem, 29rem);
	}

	.bp-sourcing__hero-media,
	.bp-sourcing__category-grid,
	.bp-sourcing__need-grid,
	.bp-sourcing__range-grid,
	.bp-sourcing__workflow-grid,
	.bp-sourcing__compare-grid,
	.bp-sourcing__support-grid,
	.bp-sourcing__bridge-grid,
	.bp-sourcing__decision-grid,
	.bp-sourcing__request-fields {
		grid-template-columns: 1fr;
	}

	.bp-sourcing__request-wide {
		grid-column: auto;
	}

	.bp-sourcing__hero-main {
		grid-template-rows: minmax(18rem, 1fr) auto;
	}

	.bp-sourcing__request-card,
	.bp-sourcing__case-copy,
	.bp-sourcing__bridge-card {
		padding: var(--bp-space-5);
	}

	.bp-sourcing__request-head {
		display: block;
	}

	.bp-sourcing__actions .bp-button,
	.bp-sourcing__request-actions .bp-button {
		width: 100%;
	}

	.bp-sourcing__final-copy ul {
		grid-template-columns: 1fr;
	}
}
