.eudoxia-tag-cloud {
	--eudoxia-cloud-bg: #090909;
	--eudoxia-cloud-solid: #ffffff;
	--eudoxia-cloud-accent: #ff0e0e;
	--eudoxia-cloud-line: #ff0e0e;
	box-sizing: border-box;
	width: 100%;
	padding: clamp(28px, 4vw, 54px) clamp(18px, 4vw, 54px) clamp(48px, 7vw, 94px);
	overflow: hidden;
	color: var(--eudoxia-cloud-solid);
	background: var(--eudoxia-cloud-bg);
}

.eudoxia-tag-cloud *,
.eudoxia-tag-cloud *::before,
.eudoxia-tag-cloud *::after {
	box-sizing: border-box;
}

.eudoxia-tag-cloud__header {
	display: grid;
	grid-template-columns: auto minmax(24px, 1fr);
	align-items: center;
	gap: 14px;
	margin-bottom: clamp(42px, 6vw, 78px);
	color: var(--eudoxia-cloud-accent);
	font: 700 10px/1.2 Arial, Helvetica, sans-serif;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.eudoxia-tag-cloud__header i {
	display: block;
	height: 1px;
	background: linear-gradient(90deg, var(--eudoxia-cloud-line), color-mix(in srgb, var(--eudoxia-cloud-line) 18%, transparent));
}

.eudoxia-tag-cloud__items {
	display: flex;
	max-width: 900px;
	min-height: 260px;
	align-content: center;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	column-gap: 10px;
	row-gap: 1px;
	margin: 0 auto;
}

.eudoxia-tag-cloud__link {
	display: inline-block;
	margin: 0;
	color: var(--eudoxia-cloud-solid);
	font-family: Arial, Helvetica, sans-serif;
	font-size: var(--eudoxia-cloud-size);
	font-weight: 700;
	line-height: .88;
	letter-spacing: -.055em;
	text-decoration: none !important;
	transform-origin: center;
	transition: color .2s ease, transform .2s ease, -webkit-text-stroke-color .2s ease;
	word-break: normal;
}

.eudoxia-tag-cloud__link.is-outline {
	color: var(--eudoxia-cloud-accent);
}

@supports (-webkit-text-stroke: 1px #000) {
	.eudoxia-tag-cloud__link.is-outline {
		color: transparent;
		-webkit-text-stroke: 1px var(--eudoxia-cloud-accent);
		paint-order: stroke fill;
	}
}

.eudoxia-tag-cloud__link:hover,
.eudoxia-tag-cloud__link:focus-visible {
	color: var(--eudoxia-cloud-accent);
	-webkit-text-stroke-color: var(--eudoxia-cloud-accent);
	transform: translateY(-3px);
}

.eudoxia-tag-cloud__link.is-outline:hover,
.eudoxia-tag-cloud__link.is-outline:focus-visible {
	color: var(--eudoxia-cloud-solid);
	-webkit-text-stroke-color: var(--eudoxia-cloud-solid);
}

.eudoxia-tag-cloud__link:focus-visible {
	border-radius: 2px;
	outline: 1px solid var(--eudoxia-cloud-accent);
	outline-offset: 5px;
}

.eudoxia-tag-cloud__empty {
	margin: 0;
	padding: 48px 20px;
	border: 1px dashed #555;
	color: #bbb;
	font: 14px/1.5 Arial, Helvetica, sans-serif;
	text-align: center;
}

@media (max-width: 767px) {
	.eudoxia-tag-cloud {
		padding: 24px 16px 54px;
	}

	.eudoxia-tag-cloud__header {
		margin-bottom: 42px;
		font-size: 9px;
	}

	.eudoxia-tag-cloud__items {
		min-height: 220px;
		align-items: center;
		padding: 0 3px;
		column-gap: 8px;
		row-gap: 7px;
	}

	.eudoxia-tag-cloud__link {
		max-width: 100%;
		flex: 0 1 auto;
		font-size: var(--eudoxia-cloud-size-mobile);
		line-height: .94;
		text-align: center;
		white-space: nowrap;
	}

	.eudoxia-tag-cloud__link.is-featured,
	.eudoxia-tag-cloud__link.is-long {
		width: 100%;
		flex-basis: 100%;
		margin: 1px auto;
	}

	.eudoxia-tag-cloud__link.is-long {
		max-width: 94%;
		line-height: 1;
		white-space: normal;
		text-wrap: balance;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eudoxia-tag-cloud__link {
		transition: none;
	}
}
