
	/* 
	 * Logo Brand Colors:
	 * Primary (Burgundy): #6E1A29 -> 110, 26, 41
	 * Secondary (Slate Blue): #3F5D91 -> 63, 93, 145
	 * Tertiary (Navy): #0C1833 -> 12, 24, 51
	 */
	:root {
		--cursor-brand-primary: 110, 26, 41;
		--cursor-brand-secondary: 63, 93, 145;
		--cursor-brand-tertiary: 12, 24, 51;
	}

	.dark {
		/* Brighter variants for dark mode to ensure high contrast */
		--cursor-brand-primary: 220, 75, 100;
		--cursor-brand-secondary: 115, 155, 220;
		--cursor-brand-tertiary: 150, 170, 210;
	}

	/* Base cursor styles */
	.cursor-dot.svelte-maj76,
	.cursor-ring.svelte-maj76 {
		position: fixed;
		top: 0;
		left: 0;
		pointer-events: none;
		z-index: 99999;
		will-change: transform;
		contain: layout style;
	}

	/* Inner dot */
	.cursor-dot.svelte-maj76 {
		width: 8px;
		height: 8px;
		background: rgb(var(--cursor-brand-primary));
		border-radius: 50%;
		box-shadow: 0 0 10px rgba(var(--cursor-brand-primary), 0.4);
		transition:
			opacity 0.2s ease,
			transform 0.1s ease,
			background-color 0.3s ease,
			box-shadow 0.3s ease;
	}

	.cursor-dot.is-clicking.svelte-maj76 {
		transform: scale(0.5);
	}

	.cursor-dot.is-hidden.svelte-maj76 {
		opacity: 0;
	}

	/* Outer ring */
	.cursor-ring.svelte-maj76 {
		width: 40px;
		height: 40px;
		border: 1.5px solid rgba(var(--cursor-brand-primary), 0.5);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition:
			width 0.4s cubic-bezier(0.23, 1, 0.32, 1),
			height 0.4s cubic-bezier(0.23, 1, 0.32, 1),
			border-color 0.3s ease,
			background-color 0.3s ease,
			opacity 0.2s ease;
		/* Removed mix-blend-mode so true brand colors are visible */
	}

	.cursor-ring.is-hidden.svelte-maj76 {
		opacity: 0;
	}

	.cursor-ring.is-clicking.svelte-maj76 {
		width: 32px;
		height: 32px;
	}

	/* Hover state - expand ring and switch to secondary brand color */
	.cursor-ring.hover.svelte-maj76 {
		width: 80px;
		height: 80px;
		border-color: rgba(var(--cursor-brand-secondary), 0.8);
		background: rgba(var(--cursor-brand-secondary), 0.1);
		backdrop-filter: blur(2px); /* Premium glass effect on hover */
		-webkit-backdrop-filter: blur(2px);
	}

	/* Text input state */
	.cursor-ring.text.svelte-maj76 {
		width: 4px;
		height: 32px;
		border-radius: 2px;
		border-color: rgb(var(--cursor-brand-secondary));
		background: rgb(var(--cursor-brand-secondary));
	}

	/* Drag state */
	.cursor-ring.drag.svelte-maj76 {
		width: 60px;
		height: 60px;
		border-style: dashed;
		border-color: rgba(var(--cursor-brand-tertiary), 0.6);
		background: rgba(var(--cursor-brand-tertiary), 0.05);
	}

	/* Cursor text label */
	.cursor-text.svelte-maj76 {
		font-size: 10px;
		font-weight: 800;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: rgb(var(--cursor-brand-secondary));
		white-space: nowrap;
		opacity: 0;
		transform: scale(0.8);
		transition:
			opacity 0.3s ease 0.1s,
			transform 0.3s ease 0.1s;
	}

	.dark .cursor-text.svelte-maj76 {
		color: white; /* Ensure text is readable on dark mode hover */
	}

	.cursor-ring.hover.svelte-maj76 .cursor-text:where(.svelte-maj76) {
		opacity: 1;
		transform: scale(1);
	}

	/* Reduced motion preference */
	@media (prefers-reduced-motion: reduce) {
		.cursor-dot.svelte-maj76,
		.cursor-ring.svelte-maj76 {
			display: none;
		}
	}
