.elementor-2829 .elementor-element.elementor-element-1bc8ea1 {
	position: relative;
	isolation: isolate;
	padding-top: 24px !important;
	padding-bottom: 24px !important;
}

.elementor-2829 .elementor-element.elementor-element-1bc8ea1::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 0;
	height: clamp(240px, 23vw, 330px);
	background:
		linear-gradient(180deg, rgba(11, 14, 19, 0) 0%, rgba(20, 13, 30, 0.16) 24%, rgba(24, 15, 36, 0.38) 62%, rgba(11, 14, 19, 0) 100%),
		radial-gradient(ellipse at 50% 52%, rgba(142, 92, 184, 0.16), transparent 70%);
	filter: blur(22px);
	content: "";
	pointer-events: none;
}

.elementor-2829 .elementor-element.elementor-element-1bc8ea1 > .e-con-inner {
	position: relative;
	z-index: 1;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.col-troop-showcase {
	position: relative;
	width: 100%;
	overflow: hidden;
	isolation: isolate;
	padding: 12px 0 18px;
	background: transparent;
}

.col-troop-showcase::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(11, 14, 19, 0) 52%, rgba(11, 14, 19, 0.38) 78%, #0b0e13 100%),
		radial-gradient(ellipse at 50% 105%, rgba(174, 126, 224, 0.2), transparent 62%),
		linear-gradient(180deg, #100d18, #0d0b15);
	-webkit-mask-image:
		linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%),
		linear-gradient(180deg, transparent 0%, #000 19%, #000 81%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image:
		linear-gradient(90deg, transparent 0%, #000 13%, #000 87%, transparent 100%),
		linear-gradient(180deg, transparent 0%, #000 19%, #000 81%, transparent 100%);
	mask-composite: intersect;
	content: "";
	pointer-events: none;
}

.col-troop-marquee {
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.18) 4%, rgba(0, 0, 0, 0.68) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.68) 90%, rgba(0, 0, 0, 0.18) 96%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.18) 4%, rgba(0, 0, 0, 0.68) 10%, #000 18%, #000 82%, rgba(0, 0, 0, 0.68) 90%, rgba(0, 0, 0, 0.18) 96%, transparent 100%);
}

.col-troop-track {
	display: flex;
	width: max-content;
	flex: 0 0 auto;
	will-change: transform;
	animation: col-troops-scroll var(--troop-scroll-duration, 48s) linear infinite;
}

.col-troop-list {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 20px;
	width: max-content;
	margin: 0;
	padding: 12px 20px 16px 0;
	list-style: none;
}

.col-troop-item {
	flex: 0 0 120px;
	width: 120px;
	margin: 0;
	padding: 0;
}

.col-troop-card {
	position: relative;
	display: flex;
	width: 120px;
	height: 144px;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	outline: none;
	cursor: default;
}

.col-troop-frame {
	position: relative;
	display: block;
	width: 112px;
	height: 112px;
	flex: 0 0 112px;
	margin: 0 auto;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--troop-glow) 66%, transparent);
	border-radius: 50%;
	background: radial-gradient(circle at 50% 42%, #30263b 0, #100d18 76%);
	box-shadow: 0 0 14px color-mix(in srgb, var(--troop-glow) 24%, transparent), inset 0 0 16px rgba(0, 0, 0, 0.66);
	transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease;
	overflow: hidden;
	isolation: isolate;
}

.col-troop-frame::before {
	position: absolute;
	inset: 1px;
	z-index: 3;
	border-radius: inherit;
	padding: 2px;
	background: conic-gradient(from 0deg, transparent 0deg 238deg, color-mix(in srgb, var(--troop-glow) 40%, transparent) 278deg, var(--troop-glow) 307deg 326deg, transparent 354deg 360deg);
	content: "";
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	filter: drop-shadow(0 0 5px var(--troop-glow));
	animation: col-troops-orbit 3.8s linear infinite;
	pointer-events: none;
}

.col-troop-frame img {
	position: absolute;
	inset: 4px;
	display: block;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border-radius: 50%;
	background: radial-gradient(circle, #3a3045, #17121d 78%);
	object-fit: cover;
	object-position: center 36%;
	clip-path: circle(50% at 50% 50%);
	z-index: 1;
}

.col-troop-name {
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 4;
	padding: 5px 11px;
	border: 1px solid color-mix(in srgb, var(--troop-glow) 72%, transparent);
	border-radius: 999px;
	background: rgba(7, 11, 19, 0.94);
	box-shadow: 0 0 14px color-mix(in srgb, var(--troop-glow) 28%, transparent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.035em;
	white-space: nowrap;
	opacity: 0;
	transform: translate(-50%, 5px);
	transition: opacity 180ms ease, transform 180ms ease;
	pointer-events: none;
}

.col-troop-card:hover .col-troop-frame,
.col-troop-card:focus-visible .col-troop-frame {
	border-color: var(--troop-glow);
	box-shadow: 0 0 21px color-mix(in srgb, var(--troop-glow) 43%, transparent), inset 0 0 14px rgba(0, 0, 0, 0.55);
	transform: translateY(-5px) scale(1.035);
}

.col-troop-card:hover .col-troop-name,
.col-troop-card:focus-visible .col-troop-name {
	opacity: 1;
	transform: translate(-50%, 0);
}

.col-troop-marquee:hover .col-troop-track,
.col-troop-marquee:focus-within .col-troop-track {
	animation-play-state: paused;
}

@keyframes col-troops-scroll {
	to { transform: translateX(-50%); }
}

@keyframes col-troops-orbit {
	to { transform: rotate(1turn); }
}

@media (max-width: 767px) {
	.col-troop-showcase {
		padding: 6px 0 10px;
	}

	.col-troop-item,
	.col-troop-card {
		width: 104px;
	}

	.col-troop-item {
		flex-basis: 104px;
	}

	.col-troop-card {
		height: 126px;
	}

	.col-troop-frame {
		width: 96px;
		height: 96px;
		flex-basis: 96px;
	}

	.col-troop-list {
		gap: 16px;
		padding-right: 16px;
	}

	.col-troop-name {
		font-size: 11px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.col-troop-track,
	.col-troop-frame::before {
		animation: none;
	}
}
