/* Hero heading slider — text-only, keeps original hero typography */
.hero .hero-heading-slider,
.elementor-12 .hero-heading-slider {
	position: relative;
	width: 100%;
	max-width: 720px;
	text-align: start;
}

.hero .hero-heading-slider__viewport,
.elementor-12 .hero-heading-slider__viewport {
	position: relative;
	overflow: hidden;
	min-height: 11.5em;
}

.hero .hero-heading-slider__slide,
.elementor-12 .hero-heading-slider__slide {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0 !important;
	visibility: hidden !important;
	/* Wait off-screen to the right, then slide in */
	transform: translateX(110px);
	transition:
		opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
		transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.75s;
	pointer-events: none !important;
	will-change: transform, opacity;
	z-index: 1;
}

.hero .hero-heading-slider__slide.is-active,
.elementor-12 .hero-heading-slider__slide.is-active {
	position: relative !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateX(0);
	pointer-events: auto !important;
	z-index: 2;
}

.hero .hero-heading-slider__slide.is-leaving,
.elementor-12 .hero-heading-slider__slide.is-leaving {
	position: absolute !important;
	opacity: 0 !important;
	visibility: hidden !important;
	/* Exit toward the left so next slide can enter from the right */
	transform: translateX(-90px);
	pointer-events: none !important;
	z-index: 1;
}

.hero .hero-heading-slider__slide .hero-heading-slider__title,
.hero .hero-heading-slider__slide .hero-heading-slider__text,
.elementor-12 .hero-heading-slider__slide .hero-heading-slider__title,
.elementor-12 .hero-heading-slider__slide .hero-heading-slider__text {
	opacity: 1 !important;
	transform: none !important;
}

.hero .hero-heading-slider__title,
.elementor-12 .hero-heading-slider__title {
	margin: 0 0 12px !important;
	font-family: var(--e-global-typography-primary-font-family), "Manrope", sans-serif !important;
	font-size: 62px !important;
	font-weight: 700 !important;
	line-height: 1.1em !important;
	letter-spacing: -0.02em !important;
	color: #ffffff !important;
}

.hero .hero-heading-slider__text,
.elementor-12 .hero-heading-slider__text {
	margin: 0 !important;
	max-width: 540px;
	font-family: var(--e-global-typography-text-font-family), "Source Sans 3", sans-serif !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.6em !important;
	color: #ffffff !important;
}

.hero .hero-heading-slider__controls,
.elementor-12 .hero-heading-slider__controls {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
}

.hero .hero-heading-slider__arrow,
.elementor-12 .hero-heading-slider__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.hero .hero-heading-slider__arrow:hover,
.hero .hero-heading-slider__arrow:focus-visible,
.elementor-12 .hero-heading-slider__arrow:hover,
.elementor-12 .hero-heading-slider__arrow:focus-visible {
	background: var(--e-global-color-accent, #2D3E94);
	border-color: var(--e-global-color-accent, #2D3E94);
	color: #191E24;
	outline: none;
}

.hero .hero-heading-slider__arrow svg,
.elementor-12 .hero-heading-slider__arrow svg {
	width: 14px;
	height: 14px;
	display: block;
}

.hero .hero-heading-slider__dots,
.elementor-12 .hero-heading-slider__dots {
	display: flex;
	align-items: center;
	gap: 8px;
}

.hero .hero-heading-slider__dot,
.elementor-12 .hero-heading-slider__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.35);
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease, width 0.25s ease;
}

.hero .hero-heading-slider__dot.is-active,
.elementor-12 .hero-heading-slider__dot.is-active {
	width: 22px;
	border-radius: 999px;
	background: var(--e-global-color-accent, #2D3E94);
}

.hero .hero-heading-slider__dot:hover,
.hero .hero-heading-slider__dot:focus-visible,
.elementor-12 .hero-heading-slider__dot:hover,
.elementor-12 .hero-heading-slider__dot:focus-visible {
	background: rgba(255, 255, 255, 0.7);
	outline: none;
}

.hero .hero-heading-slider__dot.is-active:hover,
.hero .hero-heading-slider__dot.is-active:focus-visible,
.elementor-12 .hero-heading-slider__dot.is-active:hover,
.elementor-12 .hero-heading-slider__dot.is-active:focus-visible {
	background: var(--e-global-color-accent, #2D3E94);
}

@media (max-width: 1024px) {
	.hero .hero-heading-slider__title,
	.elementor-12 .hero-heading-slider__title {
		font-size: 44px !important;
	}

	.hero .hero-heading-slider__viewport,
	.elementor-12 .hero-heading-slider__viewport {
		min-height: 10.5em;
	}
}

@media (max-width: 767px) {
	.hero .hero-heading-slider__title,
	.elementor-12 .hero-heading-slider__title {
		font-size: 34px !important;
	}

	.hero .hero-heading-slider__text,
	.elementor-12 .hero-heading-slider__text {
		font-size: 16px !important;
	}

	.hero .hero-heading-slider__viewport,
	.elementor-12 .hero-heading-slider__viewport {
		min-height: 11em;
	}

	.hero .hero-heading-slider__arrow,
	.elementor-12 .hero-heading-slider__arrow {
		display: none;
	}
}
