/*--------------------------------------------------------------
# Services page hero (GSAP intro) — scoped
--------------------------------------------------------------*/

.speedup-services-hero {
	--color-black: #000;
	--color-white: #fff;
	--s: 1em;
	font-size: clamp(14px, 6.944vw, 80px);
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 560px;
	overflow: hidden;
	background: var(--color-black);
	color: var(--color-white);
	box-sizing: border-box;
}

.speedup-services-hero *,
.speedup-services-hero *::before,
.speedup-services-hero *::after {
	box-sizing: border-box;
}

.speedup-services-hero .hero {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

.speedup-services-hero .hero-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.speedup-services-hero .hero-video-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.35),
		rgba(0, 0, 0, 0) 30%,
		rgba(0, 0, 0, 0) 50%,
		rgba(0, 0, 0, 0.5)
	);
	pointer-events: none;
}

.speedup-services-hero .container {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 0 calc(var(--s) * 0.32);
	display: flex;
	align-items: center;
}

.speedup-services-hero .title-block {
	padding-inline-start: calc(var(--s) * 0.8);
	position: relative;
	max-width: 92%;
}

.speedup-services-hero .title-h1 {
	font-size: calc(var(--s) * 0.95);
	line-height: 1.05;
	font-weight: 700;
	color: var(--color-white);
	text-transform: none;
	letter-spacing: -0.03em;
	margin: 0;
}

.speedup-services-hero .title-h1 span {
	display: inline-block;
	transform: translate3d(0, 0, 0);
	will-change: transform;
	color: var(--color-white);
}

.speedup-services-hero .title-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.speedup-services-hero .title-charts-cont {
	display: flex;
	overflow: hidden;
}

.speedup-services-hero .title-row-2 {
	padding-inline-start: calc(var(--s) * 0.5);
}

.speedup-services-hero #svc-w1,
.speedup-services-hero #svc-w2,
.speedup-services-hero #svc-w3,
.speedup-services-hero #svc-w5,
.speedup-services-hero #svc-w6 {
	margin-inline-end: 0.35em;
}

/* Readable secondary text — fixed px, not scaled em (avoids circular 1em collapse) */
.speedup-services-hero .desc-1 {
	font-size: clamp(14px, 1.35vw, 17px);
	line-height: 1.55;
	font-weight: 500;
	color: #fff;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
	white-space: nowrap;
}

.speedup-services-hero .copyright {
	position: absolute;
	bottom: 24px;
	inset-inline-start: 24px;
	overflow: hidden;
	display: flex;
	z-index: 2;
}

.speedup-services-hero .scroll-to {
	position: absolute;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%);
	width: auto;
	text-transform: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	z-index: 2;
	pointer-events: none;
	text-align: center;
}

.speedup-services-hero .scroll-to__row {
	overflow: hidden;
	display: flex;
}

body.speedup-services-overlay .speedup-services-carousel {
	height: 100vh;
	min-height: 520px;
}

@media (max-width: 782px) {
	.speedup-services-hero {
		height: 100vh;
		min-height: 520px;
		font-size: clamp(16px, 8.5vw, 42px);
	}

	.speedup-services-hero .title-block {
		padding-inline-start: 0.2em;
		display: flex;
		flex-direction: column;
	}

	.speedup-services-hero .title-row-2 {
		padding-inline-start: 0;
	}

	.speedup-services-hero .desc-1 {
		white-space: normal;
		font-size: 14px;
	}

	.speedup-services-hero .scroll-to {
		display: none;
	}
}
