.kct-hide-native-cursor,
.kct-hide-native-cursor body,
.kct-hide-native-cursor a,
.kct-hide-native-cursor button,
.kct-hide-native-cursor input,
.kct-hide-native-cursor textarea,
.kct-hide-native-cursor select,
.kct-hide-native-cursor [role="button"] { cursor: none !important; }

.kct-bg,
.kct-root {
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
}

.kct-bg { z-index: 999995; }
.kct-root { z-index: 2147483647; }

#ultimate-cursor,
[id^="ultimate-cursor-"] {
	z-index: 2147483646 !important;
}

.kct-cursor,
.kct-follower,
.kct-image-overlay,
.kct-shape-overlay,
.kct-particle,
.kct-spark,
.kct-pillar,
.kct-bubble,
.kct-snow {
	left: 0;
	position: fixed;
	top: 0;
	transform: translate3d(-100px, -100px, 0);
	will-change: transform, opacity;
}

.kct-cursor,
.kct-follower,
.kct-image-overlay,
.kct-shape-overlay {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

.kct-cursor {
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	opacity: 0;
	transition: opacity 0.16s ease;
	z-index: 1;
}

.kct-cursor.kct-visible { opacity: 1; }
.kct-follower { opacity: 0; transition: opacity 0.2s ease; z-index: 0; }
.kct-follower.kct-visible { opacity: 0.75; }
.kct-image-overlay { opacity: 0; transition: opacity 0.16s ease; z-index: 3; }
.kct-image-overlay.kct-visible { opacity: 1; }
.kct-shape-overlay { opacity: 0; transition: opacity 0.16s ease; z-index: 4; }
.kct-shape-overlay.kct-visible { opacity: 1; }
.kct-cursor.kct-text { padding-inline: 12px; white-space: nowrap; }
.kct-cursor.kct-text.kct-uppercase { text-transform: uppercase; }
.kct-cursor.kct-text.kct-italic { font-style: italic; }
.kct-cursor.kct-badge { border-radius: 999px !important; min-height: 48px; min-width: 48px; padding: 12px; }
.kct-cursor.kct-image img { display: block; height: 100%; object-fit: contain; width: 100%; }
.kct-image-overlay img { display: block; height: 100%; object-fit: contain; transform-origin: center center; width: 100%; }
.kct-cursor.kct-icon i { font-size: inherit; line-height: 1; }
.kct-shape { display: block; height: 100%; width: 100%; }
.kct-shape-circle { border-radius: 50%; }
.kct-shape-square { border-radius: 6px; }
.kct-shape-diamond { transform: rotate(45deg); }
.kct-shape-triangle { clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
.kct-shape-star { clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.kct-shape-blob { border-radius: 52% 48% 37% 63% / 54% 42% 58% 46%; }
.kct-particle,
.kct-bubble { border-radius: 50%; }
.kct-snow { font-size: 14px; line-height: 1; }
.kct-pillars { display: block; inset: 0; position: fixed; }
.kct-pillar { background: linear-gradient(180deg, transparent, var(--kct-bg-start), var(--kct-bg-end), transparent); border-radius: 999px; filter: blur(0.4px); opacity: 0.24; }
.kct-bg-canvas { display: block; height: 100%; width: 100%; }
