html.has-custom-cursor,
html.has-custom-cursor * {
	cursor: none;
}

.mm-demo-link,
.mm-demo-button {
	min-height: 48px;
	padding: 0 28px;
	border-radius: 999px;
	font: var(--font-family);
	transition: transform 240ms ease, color 240ms ease, background 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

.mm-demo-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	overflow: hidden;
	color: var(--color-brown);
	text-decoration: none;
	border: 1px solid rgba(79, 64, 27, 0.28);
	background: rgba(255, 249, 240, 0.62);
}

.mm-demo-link::after {
	content: "";
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 11px;
	height: 2px;
	background: var(--color-cream);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 240ms ease;
}

.mm-demo-link:hover,
.mm-demo-link:focus-visible,
.mm-demo-button:hover,
.mm-demo-button:focus-visible {
	transform: translateY(-2px);
	background: var(--color-orange);
	color: var(--color-cream);
	border-color: var(--color-brown);
	box-shadow: 0 18px 44px rgba(36, 27, 8, 0.26);
}

.mm-demo-link:hover::after,
.mm-demo-link:focus-visible::after {
	transform: scaleX(1);
}

.mm-demo-button {
	border: 0;
	background: var(--color-orange);
	color: var(--text-on-dark);
}

.mm-demo-link:focus-visible,
.mm-demo-button:focus-visible {
	outline: 3px solid rgba(79, 64, 27, 0.32);
	outline-offset: 4px;
}

.pulsar-cursor {
	position: fixed;
	top: 0;
	left: 0;
	width: 50px;
	height: 50px;
	pointer-events: none;
	z-index: 9999;
	opacity: 0;
	transform: translate3d(-120px, -120px, 0) translate(-50%, -50%);
	transition: opacity 180ms ease;
	will-change: transform;
}

.pulsar-cursor.is-visible {
	opacity: 1;
}

.pulsar-cursor__core {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: rgba(255, 249, 240, 0.08);
	border: 1px solid rgba(255, 249, 240, 0.74);
	box-shadow: inset 0 0 0 1px rgba(79, 64, 27, 0.08), 0 18px 42px rgba(79, 64, 27, 0.18);
	opacity: 0.92;
	transform: scale(0.16);
	transform-origin: center;
	backdrop-filter: invert(1) hue-rotate(180deg) saturate(1.5) contrast(1.08);
	-webkit-backdrop-filter: invert(1) hue-rotate(180deg) saturate(1.5) contrast(1.08);
	mix-blend-mode: normal;
	transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms ease, background 260ms ease, border-color 260ms ease;
}

.pulsar-cursor.cursor--active .pulsar-cursor__core {
	background: rgba(242, 127, 13, 0.1);
	border-color: rgba(242, 127, 13, 0.64);
	opacity: 1;
	transform: scale(1);
}

.pulsar-cursor.pulse .pulsar-cursor__core {
	animation: pulse-animation 2s infinite;
}

@keyframes pulse-animation {
	0% {
		box-shadow: inset 0 0 0 1px rgba(79, 64, 27, 0.08), 0 18px 42px rgba(79, 64, 27, 0.18), 0 0 0 0 rgba(242, 127, 13, 0.34);
	}
	100% {
		box-shadow: inset 0 0 0 1px rgba(79, 64, 27, 0.08), 0 18px 42px rgba(79, 64, 27, 0.18), 0 0 0 28px rgba(242, 127, 13, 0);
	}
}

@media (hover: none), (pointer: coarse) {
	html.has-custom-cursor,
	html.has-custom-cursor * {
		cursor: auto;
	}

	.pulsar-cursor {
		display: none;
	}
}
