/* Shared For Partners styles. Consultants & Agencies is the default identity.
 * Loaded after the child theme via the neobyte-for-partners dependency chain.
 * Typography, layout, spacing, sizing and breakpoints belong to this template.
 * Identity selectors only customize palette values consumed by shared rules. */

.for-partners-template {
	--for-partners-blue: #074766;
	--for-partners-blue-dark: #063f54;
	--for-partners-blue-deep: #052f44;
	--for-partners-orange: #eb7f29;
	--for-partners-orange-dark: #a5520a;
	--for-partners-orange-soft: #f1a76e;
	--for-partners-primary: #3e8f88;
	--for-partners-primary-dark: #2f7c78;
	--for-partners-kicker: var(--for-partners-primary-dark);
	--for-partners-accent: #7fc1ba;
	--for-partners-soft: #9fd2cd;
	--for-partners-ink: #173442;
	--for-partners-muted: #647985;
	--for-partners-pale: #eef6f8;
	--for-partners-line: #d8e4e9;
	--for-partners-ice: #d7e9ee;
	--for-partners-white: #fff;
	--for-partners-hero-glow: rgba(var(--for-partners-primary-rgb), .12);
	--for-partners-hero-eyebrow: #d5efec;
	--for-partners-flow-line: rgba(var(--for-partners-identity-line-rgb), .34);
	--for-partners-start-title: var(--for-partners-blue-dark);
	--for-partners-card-bg: var(--for-partners-ai-agencies-bg);
	--for-partners-card-middle-bg: var(--for-partners-charcoal-bg);
	--for-partners-card-last-bg: var(--for-partners-blue-dark);
	--for-partners-light-copy: #d8e8ec;
	--for-partners-partner-muted: #bfdcd8;
	--for-partners-partner-copy: #d1e4e8;
	--for-partners-partner-card-copy: #d0e5eb;
	--for-partners-start-copy: #eef7f8;
	--for-partners-fact-copy: #cfe3e7;
	--for-partners-audience-bg: linear-gradient(180deg,var(--for-partners-roles-bg-start) 0%,var(--for-partners-roles-bg-end) 100%);
	--for-partners-ai-agencies-bg: #435854;
	--for-partners-charcoal-bg: #414c53;
	--for-partners-partnering-bg: #06455a;
	--for-partners-roles-bg-start: #edf6f4;
	--for-partners-roles-bg-end: #dcebe8;
	--for-partners-role-you-bg: #58736d;
	--for-partners-role-us-bg: #59666f;
	--for-partners-cta-bg: #f1f8f7;
	--for-partners-start-bg: #cfe3e7;
	--for-partners-blue-rgb: 7, 71, 102;
	--for-partners-orange-rgb: 235, 127, 41;
	--for-partners-orange-soft-rgb: 241, 167, 110;
	--for-partners-primary-rgb: 62, 143, 136;
	--for-partners-accent-rgb: 127, 193, 186;
	--for-partners-identity-line-rgb: 185, 223, 219;
	--for-partners-white-rgb: 255, 255, 255;
	--for-partners-black-rgb: 0, 0, 0;
	--for-partners-roles-bg: linear-gradient(180deg, var(--for-partners-roles-bg-start) 0%, var(--for-partners-roles-bg-end) 100%);
	--for-partners-roles-glow: radial-gradient(circle, rgba(var(--for-partners-accent-rgb), .22), rgba(var(--for-partners-accent-rgb), 0) 68%);
	--for-partners-together-bg: linear-gradient(180deg, rgba(var(--for-partners-white-rgb), .48), rgba(var(--for-partners-white-rgb), .22));
	--for-partners-max: 1200px;
	color: var(--for-partners-ink);
	font-family: Poppins, Arial, sans-serif;
	line-height: 1.55;
	overflow: hidden;
}

/* The default palette also serves .for-consultants; only differences follow. */
.for-partners-template.for-startups {
	--for-partners-flow-line: rgba(var(--for-partners-accent-rgb), .36);
	--for-partners-start-title: var(--for-partners-blue);
	--for-partners-kicker: var(--for-partners-primary);
	--for-partners-primary: #2f6f63;
	--for-partners-primary-dark: #26594f;
	--for-partners-accent: #83d5b6;
	--for-partners-soft: #bce8d7;
	--for-partners-primary-rgb: 47, 111, 99;
	--for-partners-accent-rgb: 131, 213, 182;
	--for-partners-identity-line-rgb: 188, 232, 215;
	--for-partners-hero-glow: rgba(70, 144, 123, .16);
	--for-partners-hero-eyebrow: var(--for-partners-soft);
	--for-partners-partner-muted: var(--for-partners-soft);
	--for-partners-roles-bg-start: #eff7f4;
	--for-partners-roles-bg-end: #dfede8;
	--for-partners-card-bg: var(--for-partners-primary-dark);
	--for-partners-card-middle-bg: #294d66;
	--for-partners-card-last-bg: #123f61;
	--for-partners-partnering-bg: #123f61;
	--for-partners-role-you-bg: var(--for-partners-primary);
	--for-partners-role-us-bg: #325c78;
	--for-partners-roles-glow: radial-gradient(circle, rgba(var(--for-partners-primary-rgb), .15), rgba(var(--for-partners-primary-rgb), 0) 68%);
	--for-partners-together-bg: linear-gradient(180deg, #e1eaf2 0%, #cdddea 100%);
	--for-partners-start-bg: #cdddea;
}

.for-partners-template.for-enterprises {
	--for-partners-flow-line: rgba(var(--for-partners-accent-rgb), .36);
	--for-partners-start-title: var(--for-partners-blue);
	--for-partners-kicker: var(--for-partners-primary);
	--for-partners-primary: #87465a;
	--for-partners-primary-dark: #713548;
	--for-partners-accent: #d9a5b2;
	--for-partners-soft: #ebcbd3;
	--for-partners-deep-crimson: #590016;
	--for-partners-primary-rgb: 135, 70, 90;
	--for-partners-accent-rgb: 217, 165, 178;
	--for-partners-identity-line-rgb: 235, 203, 211;
	--for-partners-hero-glow: rgba(var(--for-partners-primary-rgb), .14);
	--for-partners-hero-eyebrow: var(--for-partners-soft);
	--for-partners-partner-muted: var(--for-partners-soft);
	--for-partners-audience-bg: #f8f5f6;
	--for-partners-card-bg: var(--for-partners-deep-crimson);
	--for-partners-card-middle-bg: #294b60;
	--for-partners-card-last-bg: #16445b;
	--for-partners-partnering-bg: #16445b;
	--for-partners-roles-bg: #ede7ea;
	--for-partners-role-you-bg: var(--for-partners-deep-crimson);
	--for-partners-role-us-bg: #31536c;
	--for-partners-roles-glow: radial-gradient(circle, rgba(126, 157, 172, .18), rgba(126, 157, 172, 0) 68%);
	--for-partners-together-bg: linear-gradient(180deg, #e4eef0 0%, #d0e0e4 100%);
	--for-partners-start-bg: #d0e0e4;
}

@media screen and (min-width: 768px) {
	.for-partners-template {
		padding-top: calc(81px + var(--wp-admin--admin-bar--height, 0px));
	}

	body.admin-bar .for-partners-template {
		padding-top: calc(50px + var(--wp-admin--admin-bar--height, 0px));
	}
}

@media screen and (max-width: 767px) {
	.for-partners-template {
		padding-top: calc(70px + var(--wp-admin--admin-bar--height, 0px));
	}

	body.admin-bar .for-partners-template {
		padding-top: calc(24px + var(--wp-admin--admin-bar--height, 0px));
	}
}

.for-partners-template *,
.for-partners-template *::before,
.for-partners-template *::after {
	box-sizing: border-box;
}

.for-partners-template section {
	margin: 0;
	padding: 0;
	scroll-margin-top: 110px;
}

.for-partners-template .for-partners-content,
.for-partners-template .vc_row,
.for-partners-template .wpb_content_element {
	margin-bottom: 0;
	padding: 0;
}

.for-partners-template .vc_row {
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	position: relative;
	width: 100vw;
}

.for-partners-template .vc_column_container > .vc_column-inner {
	padding-left: 0;
	padding-right: 0;
}

.for-partners-template .vc_row::before,
.for-partners-template .vc_row::after {
	display: none;
}

.for-partners-template .vc_row > .vc_column_container {
	float: none;
	position: relative;
	width: 100%;
	z-index: 2;
}

.for-partners-template .hero > .container,
.for-partners-template .audience > .container,
.for-partners-template .partnering > .container,
.for-partners-template .roles > .container,
.for-partners-template .start > .container,
.for-partners-template .cta > .container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.for-partners-template .wpb_wrapper > p:empty,
.for-partners-template .wpb_wrapper > br,
.for-partners-template .for-partners-content > p:empty,
.for-partners-template .for-partners-content > br {
	display: none;
}

.for-partners-template h1,
.for-partners-template h2,
.for-partners-template h3,
.for-partners-template p {
	letter-spacing: 0;
	text-transform: none;
}

.for-partners-template p {
	margin: 0;
}

.for-partners-template .span {
	letter-spacing: 0;
	text-transform: none;
}

.for-partners-template h1,
.for-partners-template h2 {
	letter-spacing: -.045em;
}

.for-partners-template a {
	color: inherit;
	text-decoration: none;
}

.for-partners-template a:not(.btn):not(.ai-btn):focus-visible {
	outline: 3px solid var(--for-partners-accent);
	outline-offset: 4px;
}

.for-partners-template .btn,
.for-partners-template .ai-btn {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 10px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	gap: 9px;
	justify-content: center;
	line-height: normal;
	margin: 0;
	padding: 13px 18px;
	transition: background .22s ease, border-color .22s ease, color .22s ease;
	width: auto;
	text-transform: initial;
}

.for-partners-template .btn.primary,
.for-partners-template .ai-btn-primary {
	background: var(--for-partners-orange-dark) !important;
	border-color: var(--for-partners-orange-dark) !important;
	color: var(--for-partners-white);
}

.for-partners-template .btn.primary:hover,
.for-partners-template .btn.primary:focus,
.for-partners-template .ai-btn-primary:hover,
.for-partners-template .ai-btn-primary:focus {
	background: var(--for-partners-blue) !important;
	border-color: var(--for-partners-orange) !important;
	color: var(--for-partners-white);
}

.for-partners-template .btn.secondary,
.for-partners-template .ai-btn-secondary {
	background: rgba(var(--for-partners-white-rgb), .06);
	border-color: rgba(var(--for-partners-white-rgb), .36);
	color: var(--for-partners-white);
	text-align: center;
}

.for-partners-template .btn.secondary:hover,
.for-partners-template .btn.secondary:focus,
.for-partners-template .ai-btn-secondary:hover,
.for-partners-template .ai-btn-secondary:focus {
	background: rgba(var(--for-partners-white-rgb), .12);
	color: var(--for-partners-white);
}

/* Shared mobile button layout for every For Partners identity. */
@media (max-width: 720px) {
	.for-partners-template .hero-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.for-partners-template .hero-actions .btn,
	.for-partners-template .hero-actions .ai-btn {
		width: 100%;
	}
}

.for-partners-template .hero {
	background: radial-gradient(circle at 78% 24%, var(--for-partners-hero-glow), transparent 32%), var(--for-partners-blue-dark);
	color: var(--for-partners-white);
	overflow: hidden;
	position: relative;
}

.for-partners-template .hero::before {
	background: none;
	content: "";
	display: block;
	inset: 0;
	position: absolute;
}

.for-partners-template .hero > *,
.for-partners-template .audience > *,
.for-partners-template .partnering > *,
.for-partners-template .roles > *,
.for-partners-template .start > *,
.for-partners-template .cta > * {
	position: relative;
	z-index: 2;
}

.for-partners-template .hero-inner {
	--flow-hero-inset: 54px;
	display: grid;
	gap: 72px;
	grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
	margin: 0 auto;
	max-width: 1156px;
	padding: var(--flow-hero-inset) 0;
	position: relative;
	z-index: 1;
}

.for-partners-template .eyebrow,
.for-partners-template .kicker {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .17em;
	line-height: normal;
	text-transform: uppercase;
}

.for-partners-template .eyebrow {
	color: var(--for-partners-hero-eyebrow);
	display: inline-flex;
	margin-bottom: 12px;
}

.for-partners-template .hero h1 {
	color: var(--for-partners-white);
	font-size: clamp(40px, 5.3vw, 60px);
	font-weight: 700;
	letter-spacing: -.075em;
	line-height: 1.01;
	margin: 0;
	max-width: 760px;
}

.for-partners-template .hero h1 .span,
.for-partners-template .hero h1 span,
.for-partners-template .hero-title-accent,
.for-partners-template .hero h1 + .span {
	color: var(--for-partners-accent);
	display: block;
}

.for-partners-template .hero-title-main {
	margin: 0;
}

.for-partners-template .hero-title-accent,
.for-partners-template .hero h1 + .span {
	font-size: clamp(40px, 5.3vw, 60px);
	font-weight: 700;
	letter-spacing: -.055em;
	line-height: 1.01;
	margin: -.04em 0 24px;
	max-width: 760px;
}

.for-partners-template .hero h1 + .span {
	letter-spacing: -.075em;
}

.for-partners-template .hero-lead {
	color: var(--for-partners-white);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.55;
	margin: 0 0 12px;
	max-width: 680px;
}

.for-partners-template .hero-copy {
	color: var(--for-partners-light-copy);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
	max-width: 720px;
}

.for-partners-template .hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

/* The grid rail starts with the first card and ends at the hero boundary.
 * Its bottom inset mirrors hero padding, independently of either column's copy. */
.for-partners-template .partnership-flow {
	--hero-tree-duration: 2.15s;
	--flow-axis: 12px;
	--flow-gutter: 44px;
	align-content: center;
	display: grid;
	grid-template-columns: var(--flow-gutter) minmax(0, 1fr);
	isolation: isolate;
	min-height: 360px;
	padding: 28px 0 20px;
	position: relative;
	width: 100%;
}

.for-partners-template .partnership-flow > * {
	grid-column: 2;
}

.for-partners-template .partnership-flow::before {
	background: var(--for-partners-flow-line);
	bottom: calc(-1 * var(--flow-hero-inset));
	content: "";
	grid-column: 1;
	grid-row: 2 / auto;
	left: var(--flow-axis);
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 1px;
}

.for-partners-template .partnership-flow::after {
	background: var(--for-partners-flow-line);
	bottom: calc(-1 * var(--flow-hero-inset));
	content: "";
	height: 80px;
	left: calc(var(--flow-axis) + .5px);
	mask: url("../images/partnership-roots.svg") center / 100% 100% no-repeat;
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	width: 160px;
}

/* Optional tree trial, enabled by ENABLE_HERO_TREE in for-partners.js.
 * Absolute SVG artwork contributes no size to the hero or its content grid. */
.for-partners-template .has-hero-tree::before,
.for-partners-template .has-hero-tree::after {
	opacity: 0;
}

.for-partners-template .hero-tree {
	fill: none;
	grid-area: auto;
	left: calc(var(--flow-axis) + .5px);
	overflow: visible;
	pointer-events: none;
	position: absolute;
	stroke: var(--for-partners-flow-line);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1;
	transform: translateX(-50%);
	width: 200px;
	z-index: -1;
}

.for-partners-template .hero-tree-leaf {
	fill: var(--for-partners-flow-line);
	stroke: none;
}

.for-partners-template .hero-tree-cat {
	fill: var(--for-partners-orange);
	stroke: none;
	opacity: .85;
}

@media (max-width: 720px) {
	.for-partners-template .hero-tree-crown {
		/* Keep the cat inside the narrow mobile gutter, joined at (100, 60). */
		transform: translate(50px, 30px) scale(.5);
	}
}

@media (prefers-reduced-motion: no-preference) {
	.for-partners-template .is-tree-drawing :is(.hero-tree-root, .hero-tree-trunk, .hero-tree-branch) {
		animation: hero-tree-draw .6s ease-out both;
		stroke-dasharray: 1;
	}

	.for-partners-template .is-tree-drawing .hero-tree-trunk {
		animation-delay: .45s;
		animation-duration: .8s;
	}

	.for-partners-template .is-tree-drawing .hero-tree-branch {
		animation-delay: 1.2s;
	}

	.for-partners-template .is-tree-drawing :is(.hero-tree-leaf, .hero-tree-cat) {
		animation: hero-tree-appear .4s ease-out 1.75s both;
	}
}

@keyframes hero-tree-draw {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

@keyframes hero-tree-appear {
	from { opacity: 0; }
	to { opacity: .85; }
}

/* Optional flow reveal. Geometry stays fixed so circles never leave the rail.
 * Only JS-enabled, motion-permitted flows receive these state classes. */
@media (prefers-reduced-motion: no-preference) {
	.for-partners-template .is-flow-reveal-pending :is(.flow-row, .flow-outcome) {
		background-color: transparent;
		border-left-color: transparent;
	}

	.for-partners-template .is-flow-reveal-pending :is(.flow-row, .flow-outcome)::before,
	.for-partners-template .is-flow-reveal-pending :is(.flow-row, .flow-outcome)::after,
	.for-partners-template .is-flow-reveal-pending :is(.flow-row, .flow-outcome) > *,
	.for-partners-template .is-flow-reveal-pending .flow-note,
	.for-partners-template .is-flow-reveal-pending .flow-bridge {
		opacity: 0;
	}

	.for-partners-template .is-flow-revealing .flow-note {
		animation: flow-fade-in .4s ease-out both;
	}

	.for-partners-template .is-flow-revealing > :is(.flow-row, .flow-outcome, .flow-bridge) {
		--flow-reveal-delay: calc(var(--hero-tree-duration) + var(--flow-step-delay));
	}

	.for-partners-template .is-flow-revealing :is(.flow-row, .flow-outcome)::before {
		animation: flow-fade-in .14s ease-out var(--flow-reveal-delay) both;
	}

	.for-partners-template .is-flow-revealing :is(.flow-row, .flow-outcome)::after,
	.for-partners-template .is-flow-revealing .flow-connector {
		animation: flow-fade-in .14s ease-out calc(var(--flow-reveal-delay) + .07s) both;
	}

	.for-partners-template .is-flow-revealing :is(.flow-row, .flow-outcome) {
		animation: flow-card-in .24s ease-out calc(var(--flow-reveal-delay) + .12s) both;
	}

	.for-partners-template .is-flow-revealing :is(.flow-row, .flow-outcome) > :not(.flow-connector) {
		animation: flow-copy-in .24s ease-out calc(var(--flow-reveal-delay) + .12s) both;
	}

	.for-partners-template .is-flow-revealing .flow-bridge {
		animation: flow-fade-in .18s ease-out var(--flow-reveal-delay) both;
	}
}

@keyframes flow-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes flow-copy-in {
	from { opacity: 0; translate: 4px 0; }
	to { opacity: 1; translate: 0 0; }
}

@keyframes flow-card-in {
	from { background-color: transparent; border-left-color: transparent; }
	to { background-color: var(--flow-card-background); border-left-color: var(--flow-card-edge, transparent); }
}

.for-partners-template .flow-note {
	color: var(--for-partners-accent);
	font-size: 15px;
	letter-spacing: -.01em;
	line-height: 1.4;
	margin: 0 0 26px;
	max-width: 460px;
}

.for-partners-template .flow-row {
	--flow-card-background: rgba(var(--for-partners-black-rgb), .15);
	background: var(--flow-card-background);
	border-radius: 16px;
	display: grid;
	gap: 5px;
	max-width: 430px;
	padding: 16px;
	position: relative;
}

.for-partners-template .flow-row::before,
.for-partners-template .flow-outcome::before {
	background: var(--for-partners-blue-dark);
	border: 3px solid var(--for-partners-accent);
	border-radius: 50%;
	content: "";
	height: 18px;
	left: calc(var(--flow-axis) - var(--flow-gutter) - var(--flow-card-border, 0px) + .5px);
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
}

.for-partners-template .flow-row::after,
.for-partners-template .flow-outcome::after {
	border-color: rgba(var(--for-partners-accent-rgb), .62);
	border-style: solid;
	border-width: 1px 0 0;
	content: "";
	height: 12px;
	left: calc(var(--flow-axis) - var(--flow-gutter) - var(--flow-card-border, 0px) + .5px);
	position: absolute;
	top: 50%;
	z-index: -1;
	transform: rotate(-14deg);
	transform-origin: left center;
	width: calc(var(--flow-gutter) - var(--flow-axis) + var(--flow-card-border, 0px));
}

.for-partners-template .flow-connector {
	height: 18px;
	left: calc(var(--flow-axis) - var(--flow-gutter) - var(--flow-card-border, 0px) + .5px);
	overflow: visible;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: calc(var(--flow-gutter) - var(--flow-axis) + var(--flow-card-border, 0px));
}

.for-partners-template .flow-connector path {
	fill: none;
	stroke: rgba(var(--for-partners-accent-rgb), .62);
	stroke-width: 1.2;
	vector-effect: non-scaling-stroke;
}

/* Existing content can provide curved SVGs or use the CSS connector fallback.
 * Both use the shared flow geometry; avoid drawing two connectors at once. */
.for-partners-template :where(.flow-row, .flow-outcome):has(> .flow-connector)::after {
	content: none;
}

.for-partners-template .flow-you {
	margin-bottom: 14px;
}

.for-partners-template .flow-us {
	margin-top: 14px;
}

.for-partners-template .flow-us::before {
	border-color: var(--for-partners-ice);
}

.for-partners-template .flow-us::after {
	border-color: rgba(215, 233, 238, .58);
}

.for-partners-template .flow-us .flow-connector path {
	stroke: rgba(215, 233, 238, .58);
}

.for-partners-template .flow-label {
	color: var(--for-partners-soft);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.for-partners-template .flow-row strong {
	color: var(--for-partners-white);
	font-size: 18px;
	line-height: 1.35;
}

.for-partners-template .flow-bridge {
	align-items: center;
	color: var(--for-partners-orange);
	display: flex;
	font-size: 13px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: .12em;
	line-height: 1;
	margin: 1px 0 1px 12px;
	text-transform: uppercase;
	width: fit-content;
}

.for-partners-template .flow-bridge .span,
.for-partners-template .flow-bridge span {
	background: rgba(var(--for-partners-orange-rgb), 1);
	flex: 0 0 30px;
	height: 1px;
	width: 30px;
}

.for-partners-template .flow-bridge b {
	display: block;
	line-height: 1;
}

.for-partners-template .flow-bridge p {
	align-items: center;
	display: flex;
	line-height: 1;
	margin: 0;
}

.for-partners-template .flow-outcome {
	--flow-card-border: 3px;
	--flow-card-background: rgba(var(--for-partners-white-rgb), .055);
	--flow-card-edge: var(--for-partners-primary);
	background: var(--flow-card-background);
	border-left: var(--flow-card-border) solid var(--for-partners-primary);
	border-radius: 16px;
	margin-top: 26px;
	max-width: 430px;
	padding: 20px 22px;
	position: relative;
}

.for-partners-template .flow-outcome::before {
	border-color: var(--for-partners-primary);
}

.for-partners-template .flow-outcome .span,
.for-partners-template .flow-outcome span {
	color: var(--for-partners-soft);
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	margin-bottom: 5px;
	text-transform: uppercase;
}

.for-partners-template .flow-outcome strong {
	color: var(--for-partners-white);
	font-size: 18px;
}

.for-partners-template .section,
.for-partners-template .cta-inner {
	margin: 0 auto;
	max-width: var(--for-partners-max);
	padding: 54px 24px;
}

.for-partners-template .section-head {
	align-items: end;
	display: grid;
	gap: 46px;
	grid-template-columns: minmax(0, 1fr) minmax(280px, .8fr);
	margin-bottom: 30px;
}

.for-partners-template .section-head h2,
.for-partners-template .cta h2 {
	color: var(--for-partners-blue);
	font-size: clamp(32px, 3.2vw, 44px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 0;
}

.for-partners-template .section-head p {
	color: var(--for-partners-muted);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.55;
	margin: 0;
}

/* Palette customization stays on the root so section-specific kicker colors
 * win through the shared selectors without identity-specific restatements. */
.for-partners-template .kicker {
	color: var(--for-partners-kicker);
	margin-bottom: 10px;
}

.for-partners-template .start h2 {
	color: var(--for-partners-start-title);
}

.for-partners-template .start .kicker {
	color: var(--for-partners-orange-dark);
}

.for-partners-template .audience {
	background: var(--for-partners-audience-bg);
}

.for-partners-template .audience-ladder {
	padding-top: 18px;
	position: relative;
}

.for-partners-template .audience-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	position: relative;
}

.for-partners-template .card {
	background: var(--for-partners-blue-dark);
	border: 1px solid rgba(var(--for-partners-blue-rgb), .12);
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(var(--for-partners-blue-rgb), .08);
	min-height: 220px;
	padding: 28px 26px;
	position: relative;
	z-index: 2;
}

/* The shared joined strip supports both descriptive and plain WPBakery cards.
 * Identities supply its three colors without overriding card geometry. */
.for-partners-template .card.ai-agencies,
.for-partners-template .audience-grid > .card:nth-child(1) {
	background: var(--for-partners-card-bg);
}

.for-partners-template .card.marketing-agencies,
.for-partners-template .audience-grid > .card:nth-child(2) {
	background: var(--for-partners-card-middle-bg);
	border-radius: 0;
}

.for-partners-template .card.freelancers-independent,
.for-partners-template .audience-grid > .card:nth-child(3) {
	background: var(--for-partners-card-last-bg);
}

@media (min-width: 981px) {
	.for-partners-template .card.ai-agencies,
	.for-partners-template .audience-grid > .card:nth-child(1) {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.for-partners-template .card.freelancers-independent,
	.for-partners-template .audience-grid > .card:nth-child(3) {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
}

@media (max-width: 980px) {
	.for-partners-template .card.ai-agencies,
	.for-partners-template .audience-grid > .card:nth-child(1) {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}

	.for-partners-template .card.freelancers-independent,
	.for-partners-template .audience-grid > .card:nth-child(3) {
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}
}

.for-partners-template .card-label {
	color: var(--for-partners-soft);
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	margin-bottom: 10px;
	text-transform: none;
}

.for-partners-template .card h3 {
	color: var(--for-partners-white);
	font-size: 21px;
	font-weight: 700;
	margin: 0 0 10px;
}

.for-partners-template .card p {
	color: var(--for-partners-light-copy);
	font-size: 15px;
	margin: 0;
}

.for-partners-template .partnering {
	background: var(--for-partners-partnering-bg);
	color: var(--for-partners-white);
}

.for-partners-template .partnering .kicker {
	color: var(--for-partners-partner-muted);
}

.for-partners-template .partnering .section-head h2 {
	color: var(--for-partners-white);
}

.for-partners-template .partnering .section-head p {
	color: var(--for-partners-partner-copy);
}

.for-partners-template .partner-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.for-partners-template .partner-card {
	background: rgba(var(--for-partners-white-rgb), .055);
	border: 1px solid rgba(var(--for-partners-white-rgb), .15);
	border-radius: 18px;
	padding: 28px;
}

.for-partners-template .partner-label {
	color: var(--for-partners-partner-muted);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.for-partners-template .partner-card h3 {
	color: var(--for-partners-white);
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 10px;
}

.for-partners-template .partner-card p {
	color: var(--for-partners-partner-card-copy);
	font-size: 15px;
	margin: 0;
}

.for-partners-template .roles {
	background: var(--for-partners-roles-bg);
	overflow: hidden;
	position: relative;
}

.for-partners-template .roles::before {
	background: var(--for-partners-roles-glow);
	border-radius: 50%;
	content: "";
	height: 420px;
	pointer-events: none;
	position: absolute;
	right: -160px;
	top: -200px;
	width: 420px;
}

.for-partners-template .roles-board {
	background: rgba(var(--for-partners-white-rgb), .38);
	border: 1px solid rgba(var(--for-partners-blue-rgb), .14);
	border-radius: 24px;
	box-shadow: 0 18px 42px rgba(var(--for-partners-blue-rgb), .09);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px minmax(0, 1fr);
	overflow: hidden;
	position: relative;
}

.for-partners-template .role-side {
	padding: 38px 36px;
	position: relative;
}

.for-partners-template .role-side.you {
	background: var(--for-partners-role-you-bg);
}

.for-partners-template .role-side.us {
	background: var(--for-partners-role-us-bg);
}

.for-partners-template .role-label {
	align-items: center;
	color: var(--for-partners-white);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: .15em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.for-partners-template .role-label::before {
	background: currentColor;
	border-radius: 50%;
	content: "";
	height: 8px;
	width: 8px;
}

.for-partners-template .role-side h3 {
	color: var(--for-partners-white);
	font-size: 27px;
	font-weight: 700;
	margin: 0 0 18px;
}

.for-partners-template .role-side ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.for-partners-template .role-side li {
	border-top: 1px solid rgba(var(--for-partners-white-rgb), .25);
	color: var(--for-partners-white);
	display: block;
	font-size: 16px;
	line-height: 1.55;
	padding: 13px 0 13px 26px;
	position: relative;
}

.for-partners-template .role-side li:first-child {
	border-top: 0;
}

.for-partners-template .role-side li::before {
	background: rgba(var(--for-partners-white-rgb), .45);
	border-radius: 50%;
	content: "";
	height: 8px;
	left: 2px;
	position: absolute;
	top: 20px;
	width: 8px;
}

.for-partners-template .roles-together {
	align-items: center;
	background: var(--for-partners-together-bg);
	border-left: 1px solid rgba(var(--for-partners-blue-rgb), .10);
	border-right: 1px solid rgba(var(--for-partners-blue-rgb), .10);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 28px 18px 0;
	position: relative;
	text-align: center;
}

.for-partners-template .roles-together::before {
	background: linear-gradient(180deg, var(--for-partners-primary), var(--for-partners-orange));
	bottom: 28px;
	content: "";
	left: 50%;
	opacity: .42;
	position: absolute;
	top: 28px;
	transform: translateX(-50%);
	width: 1px;
}

.for-partners-template .together-badge {
	background: linear-gradient(145deg, var(--for-partners-primary), var(--for-partners-blue));
	border: 7px solid rgba(var(--for-partners-white-rgb), .72);
	border-radius: 50%;
	box-shadow: 0 10px 22px rgba(var(--for-partners-blue-rgb), .14);
	color: var(--for-partners-white);
	display: grid;
	font-size: 9px;
	font-weight: 700;
	height: 76px;
	letter-spacing: .04em;
	margin-bottom: 32px;
	padding: 0 8px;
	place-items: center;
	position: relative;
	text-transform: uppercase;
	transition: transform .3s ease;
	width: 76px;
	z-index: 1;
}

.for-partners-template .together-badge:hover {
	transform: scale(1.25);
}

.for-partners-template .together-copy {
	display: grid;
	gap: 20px;
	position: relative;
	width: 100%;
	z-index: 1;
}

.for-partners-template .together-copy .span,
.for-partners-template .together-copy span {
	display: block;
	font-size: 14px;
	font-weight: 700;
	padding: 8px 0 0;
	position: relative;
}

.for-partners-template .together-copy .span::before,
.for-partners-template .together-copy span::before {
	background: var(--for-partners-white);
	border: 2px solid var(--for-partners-primary);
	border-radius: 50%;
	content: "";
	height: 9px;
	left: 50%;
	position: absolute;
	top: -12px;
	transform: translateX(-50%);
	width: 9px;
}

.for-partners-template .together-copy::after {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 8px solid var(--for-partners-primary);
	content: "";
	height: 0;
	margin: 4px auto 0;
	width: 0;
}

.for-partners-template .roles-note {
	max-width: 440px;
}

.for-partners-template .roles-note strong {
	color: var(--for-partners-blue);
	display: block;
	font-size: 16px;
	margin-bottom: 4px;
}

.for-partners-template .roles-note .span,
.for-partners-template .roles-note span {
	color: var(--for-partners-muted);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.55;
}

.for-partners-template .start {
	background: var(--for-partners-start-bg);
}

.for-partners-template .start-card {
	align-items: stretch;
	background: var(--for-partners-blue-dark);
	border-radius: 22px;
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	padding: 38px 40px;
}

.for-partners-template .start-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.for-partners-template .start-card h3 {
	color: var(--for-partners-orange);
	font-size: 28px;
	font-weight: 700;
	margin: 0 0 12px;
}

.for-partners-template .start-card p {
	color: var(--for-partners-start-copy);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
	max-width: 620px;
}

.for-partners-template .facts {
	align-content: center;
	border-left: 1px solid rgba(var(--for-partners-white-rgb), .18);
	display: grid;
}

.for-partners-template .fact {
	border-bottom: 1px solid rgba(var(--for-partners-white-rgb), .18);
	padding: 16px 18px;
}

.for-partners-template .fact:first-child {
	padding-top: 4px;
}

.for-partners-template .fact:last-child {
	border-bottom: 0;
	padding-bottom: 4px;
}

.for-partners-template .fact b {
	color: var(--for-partners-orange);
	display: block;
	font-size: 14px;
	margin-bottom: 4px;
}

.for-partners-template .fact .span,
.for-partners-template .fact span {
	color: var(--for-partners-fact-copy);
	font-size: 14px;
	line-height: 1.5;
}

.for-partners-template .cta {
	background: var(--for-partners-white);
}

.for-partners-template .cta-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 24px;
    justify-content: space-between;
    padding-bottom: 62px;
    padding-top: 62px;
    text-align: center;
}

.for-partners-template .cta h2 {
	font-size: 34px;
	line-height: 1.2;
}

.for-partners-template .cta p {
	color: var(--for-partners-muted);
	margin: 10px auto 0;
	max-width: 720px;
}

.for-partners-template .cta .btn.primary,
.for-partners-template .cta .ai-btn-primary {
	background: var(--for-partners-blue);
	border-color: var(--for-partners-blue);
}

.for-partners-template .ai-reveal {
	opacity: 1;
	transform: none;
	transition: opacity .6s ease, transform .6s ease;
}

.for-partners-template .ai-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (max-width: 980px) {
	.for-partners-template .hero-inner,
	.for-partners-template .section-head,
	.for-partners-template .start-card {
		grid-template-columns: 1fr;
	}

	.for-partners-template .hero-inner {
		gap: 42px;
		min-height: 0;
	}

	.for-partners-template .section-head {
		align-items: start;
	}

	.for-partners-template .audience-grid,
	.for-partners-template .partner-grid,
	.for-partners-template .roles-board {
		grid-template-columns: 1fr;
	}

	.for-partners-template .card {
		min-height: 0;
	}

	.for-partners-template .roles-together {
		border-bottom: 1px solid rgba(var(--for-partners-blue-rgb), .10);
		border-left: 0;
		border-right: 0;
		border-top: 1px solid rgba(var(--for-partners-blue-rgb), .10);
		min-height: 170px;
	}

	.for-partners-template .roles-together::before {
		background: linear-gradient(90deg, var(--for-partners-primary), var(--for-partners-orange));
		bottom: auto;
		height: 1px;
		left: 24px;
		right: 24px;
		top: 50%;
		transform: none;
		width: auto;
	}

	.for-partners-template .together-badge {
		margin-bottom: 14px;
	}

	.for-partners-template .together-copy {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		max-width: 520px;
	}

	.for-partners-template .together-copy .span,
	.for-partners-template .together-copy span {
		padding-top: 0;
	}

	.for-partners-template .together-copy .span::before,
	.for-partners-template .together-copy span::before,
	.for-partners-template .together-copy::after {
		display: none;
	}

	.for-partners-template .facts {
		border-left: 0;
		border-top: 1px solid rgba(var(--for-partners-white-rgb), .18);
	}

	.for-partners-template .fact:first-child {
		padding-top: 16px;
	}
}

@media (max-width: 720px) {
	.for-partners-template .hero .container .row .wpb_column {
		margin-left: 15px;
		max-width: calc(100% - 30px);
	}

	.for-partners-template .hero-inner,
	.for-partners-template .section,
	.for-partners-template .cta-inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.for-partners-template .hero h1 {
		font-size: 42px;
	}

	.for-partners-template .hero-title-accent,
	.for-partners-template .hero h1 + .span {
		font-size: 42px;
	}

	.for-partners-template .partnership-flow {
		--flow-gutter: 34px;
	}

	.for-partners-template .roles-board,
	.for-partners-template .start-card {
		border-radius: 18px;
	}

	.for-partners-template .role-side,
	.for-partners-template .start-card {
		padding: 28px 22px;
	}

	.for-partners-template .together-copy {
		gap: 10px;
	}
}

@media (max-width: 520px) {
	.for-partners-template .section-head h2,
	.for-partners-template .cta h2 {
		font-size: 32px;
	}

	.for-partners-template .partnership-flow {
		min-height: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.for-partners-template *,
	.for-partners-template *::before,
	.for-partners-template *::after {
		animation: none !important;
		scroll-behavior: auto !important;
		transition: none !important;
	}

	.for-partners-template .ai-reveal {
		opacity: 1;
		transform: none;
	}
}
