.btn--primary,
.link--primary,
.service-feed__item a.clickable-parent {
	outline: 0 !important;
}
@media screen and (min-width: 1026px) {
	.btn--primary:is(:hover, :focus-visible) {
		color: var(--primary-ultra-dark) !important;
		background: white;
		border-color: var(--primary) !important;
	}
	body.home .page-hero .btn--primary:is(:hover, :focus-visible) {
		border-color: var(--white) !important;
	}
}
.btn--primary span,
.btn--ghost span {
	position: relative;
	transition: 0.2s ease-out;
	left: 0;
}
/* Ghost */
.btn--primary.btn--ghost {
	color: white;
	background: transparent;
	border-color: white;
}
@media screen and (min-width: 1026px) {
	.btn--ghost:is(:hover, :focus-visible) {
		color: var(--primary);
		background: white;
	}
	.btn--primary:is(:hover, :focus-visible) span,
	.btn--ghost:is(:hover, :focus-visible) span {
		left: 7px;
	}
	.btn--primary span::after,
	.btn--ghost span::after {
		content: "";
		left: -3px;
		position: absolute;
		background: var(--primary);
		border-radius: 50vmax;
		aspect-ratio: 1/1;
		width: 7px;
		top: 55%;
		transform: translateY(-50%);
		opacity: 0;
		transition: 0.2s ease-out;
	}
	.btn--primary:is(:hover, :focus-visible) span::after,
	.btn--ghost:is(:hover, :focus-visible) span::after {
		opacity: 1;
		left: -15px;
	}
}
.link--primary img {
	transition: transform 0.3s ease;
	transform: translateX(5px);
}

.link--primary {
	text-decoration: underline;
	text-decoration-color: transparent;
	transition: 0.2s ease-out;
	display: inline-flex;
	align-items: center;
	position: relative;
	width: fit-content;
	left: -12px;
}

.link--primary span {
	position: relative;
	left: 0;
	transition: 0.4s ease-out;
	font-weight: 500;
}
.link--primary svg {
	animation: rotate-continuous 2.8s linear infinite paused;
}
.link--primary svg path {
	opacity: 0;
	transition: 0.2s ease-out;
}
.link--primary svg path.center {
	opacity: 1;
}
@media screen and (min-width: 1026px) {
	.link--primary:is(:hover, :focus-visible) svg path {
		opacity: 1;
	}

	.link--primary:is(:hover, :focus-visible) svg {
		animation-play-state: running;
	}

	.link--primary:is(:hover, :focus-visible) span {
		left: 10px;
	}
}
/* No link */
span.link--primary {
	text-decoration-color: transparent;
	transition: 0.2s ease-out;
	text-underline-offset: 2px;
}

.feed-item:has(a.clickable-parent:is(:hover, :focus-visible)) span.link--primary {
	text-decoration-color: var(--base);
}
.bg--ultra-dark.feed-item:has(a.clickable-parent:is(:hover, :focus-visible)) span.link--primary {
	text-decoration-color: white;
}

@keyframes rotate-continuous {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}




