/* Source Research Supply — simplified public affiliate programme.
 * Presentation only. SliceWP continues to manage applications and tracking.
 */

body.srs-affiliate-program {
	--srs-affiliate-program-max: 1120px;
	overflow-x: clip;
}

body.srs-affiliate-program main {
	margin-top: 0 !important;
	padding-inline: 0 !important;
}

body.srs-affiliate-program main > .wp-block-group.alignfull,
body.srs-affiliate-program .wp-block-post-content {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
	margin: 0 !important;
	padding: 0 !important;
}

body.srs-affiliate-program main .wp-block-post-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.srs-affiliate-program-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background: var(--srs-paper);
	color: var(--srs-ink);
}

.srs-affiliate-program-page *,
.srs-affiliate-program-page *::before,
.srs-affiliate-program-page *::after {
	box-sizing: border-box;
}

.srs-affiliate-program-page :is(h1, h2, h3, p, ul, ol) {
	margin-top: 0;
}

.srs-affiliate-program-page ::selection {
	background: #101114;
	color: #fff;
}

.srs-affiliate-program-shell {
	width: min(100%, var(--srs-affiliate-program-max));
	margin-inline: auto;
	padding-inline: var(--srs-pad);
}

.srs-affiliate-program-hero {
	padding-block: clamp(86px, 11vw, 142px) clamp(62px, 8vw, 96px);
	background: #fff;
	text-align: center;
}

.srs-affiliate-program-hero__inner {
	max-width: 940px;
	margin-inline: auto;
}

.srs-affiliate-program-hero h1 {
	max-width: 900px;
	margin: 0 auto 26px;
	font-family: var(--srs-display) !important;
	font-size: clamp(62px, 8.4vw, 112px) !important;
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: .86;
	text-transform: uppercase;
	text-wrap: balance;
}

.srs-affiliate-program-hero__lede {
	max-width: 680px;
	margin: 0 auto 34px;
	color: #555b64;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.65;
	text-wrap: balance;
}

.srs-affiliate-program-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.srs-affiliate-program-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 26px;
	border: 1px solid #101114;
	background: #101114;
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .025em;
	line-height: 1;
	text-decoration: none !important;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}

.srs-affiliate-program-button:hover {
	border-color: #2e3137;
	background: #2e3137;
}

.srs-affiliate-program-button--outline {
	background: transparent;
	color: #101114 !important;
}

.srs-affiliate-program-button--outline:hover {
	background: #101114;
	color: #fff !important;
}

.srs-affiliate-program-button:focus-visible,
.srs-affiliate-program-page summary:focus-visible {
	outline: 3px solid #101114;
	outline-offset: 4px;
}

.srs-affiliate-program-note {
	margin: 20px auto 0;
	color: #747a83;
	font-size: 12px;
	line-height: 1.55;
}

.srs-affiliate-program-essentials {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-block: 1px solid #bcc1c8;
}

.srs-affiliate-program-essential {
	padding: 30px 34px 32px;
}

.srs-affiliate-program-essential + .srs-affiliate-program-essential {
	border-left: 1px solid #bcc1c8;
}

.srs-affiliate-program-essential h2 {
	margin-bottom: 10px;
	font-family: var(--srs-display) !important;
	font-size: clamp(24px, 2.5vw, 32px) !important;
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1;
	text-transform: uppercase;
}

.srs-affiliate-program-essential p {
	max-width: 31ch;
	margin: 0;
	color: #5b616a;
	font-size: 14px;
	line-height: 1.62;
}

.srs-affiliate-program-process {
	padding-block: clamp(72px, 8vw, 108px);
	background: #f4f5f6;
}

.srs-affiliate-program-section-heading {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(36px, 7vw, 88px);
	align-items: end;
	margin-bottom: 42px;
}

.srs-affiliate-program-section-heading h2,
.srs-affiliate-program-standards h2,
.srs-affiliate-program-faq h2,
.srs-affiliate-program-cta h2 {
	font-family: var(--srs-display) !important;
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: .92;
	text-transform: uppercase;
	text-wrap: balance;
}

.srs-affiliate-program-section-heading h2 {
	margin: 0;
	font-size: clamp(46px, 5.4vw, 72px) !important;
}

.srs-affiliate-program-section-heading p {
	max-width: 570px;
	margin: 0;
	color: #5b616a;
	font-size: 16px;
	line-height: 1.68;
}

.srs-affiliate-program-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid #aeb4bc;
	border-left: 1px solid #aeb4bc;
	list-style: none;
}

.srs-affiliate-program-step {
	min-height: 238px;
	padding: 24px;
	border-right: 1px solid #aeb4bc;
	border-bottom: 1px solid #aeb4bc;
	background: #fff;
}

.srs-affiliate-program-step__number {
	display: block;
	margin-bottom: 54px;
	color: #747a83;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
}

.srs-affiliate-program-step h3 {
	margin-bottom: 10px;
	font-family: var(--srs-display) !important;
	font-size: 29px !important;
	font-stretch: condensed;
	line-height: 1;
	text-transform: uppercase;
}

.srs-affiliate-program-step p {
	margin: 0;
	color: #5b616a;
	font-size: 14px;
	line-height: 1.58;
}

.srs-affiliate-program-standards {
	padding-block: clamp(74px, 9vw, 116px);
	background: #08090b;
	color: #fff;
}

.srs-affiliate-program-standards__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(54px, 10vw, 132px);
	align-items: start;
}

.srs-affiliate-program-standards h2 {
	max-width: 510px;
	margin-bottom: 22px;
	font-size: clamp(48px, 5.8vw, 78px) !important;
}

.srs-affiliate-program-standards__intro {
	max-width: 500px;
	margin: 0;
	color: rgba(255,255,255,.68);
	font-size: 16px;
	line-height: 1.68;
}

.srs-affiliate-program-standard-list {
	margin: 0;
	padding: 0;
	border-top: 1px solid rgba(255,255,255,.28);
	list-style: none;
}

.srs-affiliate-program-standard-list li {
	display: grid;
	grid-template-columns: minmax(130px, .44fr) minmax(0, 1fr);
	gap: 24px;
	padding: 22px 0;
	border-bottom: 1px solid rgba(255,255,255,.28);
}

.srs-affiliate-program-standard-list strong {
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
}

.srs-affiliate-program-standard-list span {
	color: rgba(255,255,255,.67);
	font-size: 14px;
	line-height: 1.62;
}

.srs-affiliate-program-faq {
	max-width: 900px;
	padding-block: clamp(76px, 9vw, 116px) 0;
}

.srs-affiliate-program-faq h2 {
	margin-bottom: 34px;
	font-size: clamp(48px, 5.4vw, 72px) !important;
}

.srs-affiliate-program-faq details {
	border-top: 1px solid #aeb4bd;
}

.srs-affiliate-program-faq details:last-child {
	border-bottom: 1px solid #aeb4bd;
}

.srs-affiliate-program-faq summary {
	position: relative;
	min-height: 62px;
	padding: 21px 52px 19px 0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
	cursor: pointer;
	list-style: none;
}

.srs-affiliate-program-faq summary::-webkit-details-marker {
	display: none;
}

.srs-affiliate-program-faq summary::after {
	content: "+";
	position: absolute;
	top: 16px;
	right: 4px;
	font-family: var(--srs-display) !important;
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.srs-affiliate-program-faq details[open] summary::after {
	content: "−";
}

.srs-affiliate-program-faq details p {
	max-width: 72ch;
	margin: -2px 0 24px;
	padding-right: 52px;
	color: #5a6069;
	font-size: 14px;
	line-height: 1.72;
}

.srs-affiliate-program-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	margin-block: clamp(72px, 9vw, 112px);
	padding-block: 34px;
	border-block: 1px solid #aeb4bd;
}

.srs-affiliate-program-cta h2 {
	margin-bottom: 8px;
	font-size: clamp(38px, 4vw, 56px) !important;
}

.srs-affiliate-program-cta p {
	max-width: 620px;
	margin: 0;
	color: #5a6069;
	font-size: 15px;
	line-height: 1.62;
}

@media (max-width: 900px) {
	.srs-affiliate-program-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.srs-affiliate-program-step {
		min-height: 215px;
	}
}

@media (max-width: 700px) {
	.srs-affiliate-program-hero {
		padding-block: 68px 52px;
	}

	.srs-affiliate-program-hero h1 {
		font-size: clamp(54px, 17vw, 78px) !important;
	}

	.srs-affiliate-program-essentials,
	.srs-affiliate-program-section-heading,
	.srs-affiliate-program-standards__grid {
		grid-template-columns: 1fr;
	}

	.srs-affiliate-program-essential {
		padding-inline: 0;
	}

	.srs-affiliate-program-essential + .srs-affiliate-program-essential {
		border-top: 1px solid #bcc1c8;
		border-left: 0;
	}

	.srs-affiliate-program-section-heading,
	.srs-affiliate-program-standards__grid {
		gap: 28px;
	}

	.srs-affiliate-program-standard-list li {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.srs-affiliate-program-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 520px) {
	.srs-affiliate-program-shell {
		padding-inline: 18px;
	}

	.srs-affiliate-program-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.srs-affiliate-program-button {
		width: 100%;
	}

	.srs-affiliate-program-steps {
		grid-template-columns: 1fr;
	}

	.srs-affiliate-program-step {
		min-height: 0;
	}

	.srs-affiliate-program-step__number {
		margin-bottom: 34px;
	}

	.srs-affiliate-program-faq details p {
		padding-right: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.srs-affiliate-program-button {
		transition: none;
	}
}
