.blur-reveal-container {
	position: relative;
	width: 100%;
	height: 600px; /* Default fallback */
	overflow: hidden;
	background-color: #000;
	--x: 50%;
	--y: 50%;
	--reveal-radius: 150px;
}

.image-layer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	pointer-events: none; /* Let events pass through to container */
}

/* Clear layer is always there at the bottom */
.clear-layer {
	z-index: 1;
}

/* Blurred layer is on top */
.blur-layer {
	z-index: 2;
	/* The magic: Mask creates a hole where the cursor is */
	/* We use a radial gradient that is transparent in the middle and black (opaque) outside */
	/* In CSS masks: transparent = hidden, black/opaque = visible */
	/* So we want transparent at the cursor (to hide the blur and show clear below) */
	-webkit-mask-image: radial-gradient(circle var(--reveal-radius) at var(--x) var(--y), transparent 0%, black 100%);
	mask-image: radial-gradient(circle var(--reveal-radius) at var(--x) var(--y), transparent 0%, black 100%);
	
	/* Transition for smooth movement if desired, but instant is better for cursor tracking */
	/* transition: mask-position 0.1s ease; */ 
}

.hero-content {
	position: relative;
	z-index: 3;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	pointer-events: none; /* Allow clicks to pass through if needed, or remove if text should be selectable */
	padding: 20px;
}

.hero-title {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 1rem;
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.hero-subtitle {
	font-size: 1.25rem;
	text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}
