/* ==========================================================================
   Split Intro Block
   ========================================================================== */

.pillar-split-intro {
	background: #ffffff;
	color: #111111;
}

.pillar-split-intro__inner {
	display: grid;
	grid-template-columns: minmax(0, 42%) auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
	max-width: 1320px;
	min-height: var(--pillar-split-intro-height, 35vh);
	margin: 0 auto;
	padding: var(--pillar-split-intro-padding-y, 6vh) clamp(1.5rem, 4vw, 3.5rem);
}

.pillar-split-intro__heading {
	max-width: 520px;
}

.pillar-split-intro__subtitle {
	margin: 0 0 1rem;
	font-size: clamp(0.65rem, 1vw, 0.75rem);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pillar-yellow, #ffa800);
}

.pillar-split-intro__title {
	font-size: clamp(1.5rem, 2.8vw, 2.35rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #111111;
}

.pillar-split-intro__title p {
	margin: 0;
}

.pillar-split-intro__title p + p {
	margin-top: 0.2em;
}

.pillar-split-intro__divider {
	width: 4px;
	align-self: stretch;
	min-height: clamp(120px, 16vh, 180px);
	background: var(--pillar-yellow, #ffa800);
	border-radius: 2px;
}

.pillar-split-intro__body {
	max-width: 620px;
	font-size: clamp(calc(0.88rem * 1.15), calc(1.05vw * 1.15), calc(0.98rem * 1.15));
	font-weight: 500;
	line-height: calc(1.7 * 1.1 * 0.95);
	color: rgba(17, 17, 17, 0.82);
}

.pillar-split-intro__body p {
	margin: 0;
}

.pillar-split-intro__body p + p {
	margin-top: 1em;
}

/* --------------------------------------------------------------------------
   Animations — staggered fade-in + divider pulse
   -------------------------------------------------------------------------- */

.pillar-split-intro.pillar-reveal {
	opacity: 1;
	transform: none;
}

.pillar-split-intro__subtitle,
.pillar-split-intro__title,
.pillar-split-intro__divider,
.pillar-split-intro__body {
	opacity: 0;
	transform: translateY(1.1rem);
}

.pillar-split-intro.is-revealed .pillar-split-intro__subtitle {
	animation: pillar-split-intro-fade 0.85s ease 0.1s forwards;
}

.pillar-split-intro.is-revealed .pillar-split-intro__title {
	animation: pillar-split-intro-fade 0.85s ease 0.28s forwards;
}

.pillar-split-intro.is-revealed .pillar-split-intro__divider {
	animation:
		pillar-split-intro-divider-in 0.75s ease 0.48s forwards,
		pillar-split-intro-divider-pulse 7.5s ease-in-out 1.3s infinite;
	transform-origin: center center;
}

.pillar-split-intro.is-revealed .pillar-split-intro__body {
	animation: pillar-split-intro-fade 0.85s ease 0.68s forwards;
}

@keyframes pillar-split-intro-fade {
	from {
		opacity: 0;
		transform: translateY(1.1rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes pillar-split-intro-divider-in {
	from {
		opacity: 0;
		transform: translateY(1.1rem) scaleY(0.55);
	}
	to {
		opacity: 1;
		transform: translateY(0) scaleY(1);
	}
}

@keyframes pillar-split-intro-divider-pulse {
	0%,
	100% {
		transform: scaleY(0.82);
		opacity: 0.8;
	}
	50% {
		transform: scaleY(1);
		opacity: 1;
	}
}

@media (max-width: 900px) {
	.pillar-split-intro__inner {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}

	.pillar-split-intro__divider {
		width: 100%;
		height: 4px;
		min-height: 0;
		align-self: auto;
	}

	.pillar-split-intro.is-revealed .pillar-split-intro__divider {
		animation:
			pillar-split-intro-divider-in-h 0.75s ease 0.48s forwards,
			pillar-split-intro-divider-pulse-h 7.5s ease-in-out 1.3s infinite;
	}

	@keyframes pillar-split-intro-divider-in-h {
		from {
			opacity: 0;
			transform: translateY(1.1rem) scaleX(0.55);
		}
		to {
			opacity: 1;
			transform: translateY(0) scaleX(1);
		}
	}

	@keyframes pillar-split-intro-divider-pulse-h {
		0%,
		100% {
			transform: scaleX(0.82);
			opacity: 0.8;
		}
		50% {
			transform: scaleX(1);
			opacity: 1;
		}
	}

	.pillar-split-intro__heading,
	.pillar-split-intro__body {
		max-width: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pillar-split-intro__subtitle,
	.pillar-split-intro__title,
	.pillar-split-intro__divider,
	.pillar-split-intro__body {
		opacity: 1;
		transform: none;
		animation: none !important;
	}
}

.editor-styles-wrapper .pillar-split-intro__subtitle,
.editor-styles-wrapper .pillar-split-intro__title,
.editor-styles-wrapper .pillar-split-intro__divider,
.editor-styles-wrapper .pillar-split-intro__body {
	opacity: 1;
	transform: none;
	animation: none !important;
}

.wp-block-acf-split-intro {
	margin: 0;
	max-width: none;
}
