.pump-video-production-header .page-header-inner,
.pump-video-production-header .ph-caption,
.pump-video-production-header .ph-caption-inner {
	width: 100%;
	max-width: none;
}

.pump-video-production-header .ph-caption-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pump-video-production-header .ph-caption {
	position: relative;
	z-index: 3;
}

.pump-video-production-header .pump-service-hero-video {
	transition: opacity .55s cubic-bezier(.16, 1, .3, 1);
}

.pump-video-production-header .ph-image-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: rgba(0, 0, 0, .16);
	-webkit-backdrop-filter: grayscale(1) saturate(.08) contrast(.92) brightness(.72);
	backdrop-filter: grayscale(1) saturate(.08) contrast(.92) brightness(.72);
	opacity: 0;
	transition: opacity .55s cubic-bezier(.16, 1, .3, 1);
}

.pump-video-hero-title {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pump-video-marquee {
	position: relative;
	width: 100vw;
	height: clamp(92px, 11.5vw, 196px);
	overflow: hidden;
	isolation: isolate;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	opacity: 0;
	transform: translateY(28px);
	animation: pumpVideoMarqueeIn .7s cubic-bezier(.16, 1, .3, 1) .12s forwards;
}

.pump-video-marquee-track {
	position: relative;
	z-index: 4;
	display: flex;
	align-items: center;
	width: max-content;
	height: 100%;
	will-change: transform;
	animation: pumpVideoMarqueeMove 18s linear infinite;
}

.pump-video-marquee-group {
	display: flex;
	align-items: center;
	flex: none;
	height: 100%;
}

.pump-video-marquee-word {
	display: inline-flex;
	align-items: center;
	flex: none;
	white-space: nowrap;
	font-family: var(--tt-alter-font);
	font-size: clamp(70px, 9.2vw, 164px);
	font-weight: 700;
	line-height: .88;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #fff;
	transition: color .35s ease, -webkit-text-stroke-color .35s ease;
}

.pump-video-marquee-separator {
	display: block;
	flex: none;
	width: clamp(13px, .95vw, 18px);
	height: clamp(13px, .95vw, 18px);
	margin: 0 clamp(24px, 2.6vw, 52px);
	border-radius: 50%;
	background: var(--tt-main-color, #b42e12);
}

.pump-video-production-header .ph-caption-description {
	margin-top: clamp(26px, 4vh, 48px);
}

@keyframes pumpVideoMarqueeMove {
	to { transform: translate3d(-50%, 0, 0); }
}

@keyframes pumpVideoMarqueeIn {
	to { opacity: 1; transform: translateY(0); }
}

@media (hover: hover) and (pointer: fine) {
	.pump-video-production-header:has(.pump-video-marquee:hover) .ph-image-inner::after {
		opacity: 1;
	}

	.pump-video-marquee:hover .pump-video-marquee-word {
		color: transparent;
		-webkit-text-stroke: 1.5px rgba(255, 255, 255, .9);
	}
}

.pump-video-mobile-marquees {
	display: none;
}

@media (max-width: 767px) {
	.pump-video-marquee--desktop {
		display: none;
	}

	.pump-video-mobile-marquees {
		display: grid;
		width: 100vw;
		gap: 8px;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
		opacity: 0;
		transform: translateY(22px);
		animation: pumpVideoMarqueeIn .65s cubic-bezier(.16, 1, .3, 1) .12s forwards;
	}

	.pump-video-mobile-row {
		width: 100%;
		overflow: hidden;
	}

	.pump-video-mobile-track {
		display: flex;
		align-items: center;
		width: max-content;
		animation: pumpVideoMobileForward 23s linear infinite;
		will-change: transform;
	}

	.pump-video-mobile-row--reverse .pump-video-mobile-track {
		animation-name: pumpVideoMobileReverse;
		animation-duration: 26s;
	}

	.pump-video-mobile-group {
		display: flex;
		align-items: center;
		flex: none;
	}

	.pump-video-mobile-group span {
		flex: none;
		white-space: nowrap;
		font-family: var(--tt-alter-font);
		font-size: clamp(38px, 12vw, 58px);
		font-weight: 700;
		line-height: .95;
		letter-spacing: 0;
		text-transform: uppercase;
		color: #fff;
	}

	.pump-video-mobile-group i {
		display: block;
		flex: none;
		width: 9px;
		height: 9px;
		margin: 0 18px;
		border-radius: 50%;
		background: var(--tt-main-color, #b42e12);
	}

	.pump-video-production-header .ph-caption-description {
		width: min(88vw, 620px);
		margin-top: 24px;
	}
}

@keyframes pumpVideoMobileForward {
	to { transform: translate3d(-50%, 0, 0); }
}

@keyframes pumpVideoMobileReverse {
	from { transform: translate3d(-50%, 0, 0); }
	to { transform: translate3d(0, 0, 0); }
}


