.webo-features,
.webo-features *,
.webo-features *::before,
.webo-features *::after {
	box-sizing: border-box;
}

.webo-features {
	position: relative;
	display: block;
	margin: 0;
	padding: var(--wf-pad, 44px) 0;
	overflow: hidden;
	direction: ltr;
	text-align: center;
	background: var(--wf-bg, #0a0a0a);
	color: var(--wf-text, #fff);
	line-height: 1.5;
}

.webo-features--full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.webo-features .wf-inner {
	width: min(var(--wf-width, 1240px), 100% - 40px);
	margin: 0 auto;
}

.webo-features .wf-track {
	display: grid;
	grid-template-columns: repeat(var(--wf-columns, 5), minmax(0, 1fr));
	margin: 0;
	padding: 0;
}

.webo-features .wf-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 4px clamp(12px, 1.8vw, 28px);
	border-left: 1px solid color-mix(in srgb, var(--wf-text, #fff) 16%, transparent);
}

.webo-features .wf-item:first-child {
	border-left: 0;
}

.webo-features .wf-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 0 16px;
	border: 1px solid color-mix(in srgb, var(--wf-accent, #c9b08a) 75%, transparent);
	border-radius: 50%;
	color: var(--wf-accent, #c9b08a);
	transition: background-color 0.35s, color 0.35s, transform 0.45s cubic-bezier(0.2, 1.4, 0.4, 1);
}

.webo-features .wf-item:hover .wf-icon {
	background: var(--wf-accent, #c9b08a);
	color: var(--wf-bg, #0a0a0a);
	transform: translateY(-4px) scale(1.06);
}

.webo-features .wf-icon svg {
	display: block;
	width: 27px;
	height: 27px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.webo-features .wf-title {
	display: block;
	margin: 0 0 7px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: inherit;
}

.webo-features .wf-text {
	display: block;
	max-width: 230px;
	font-size: 13px;
	line-height: 1.6;
	color: inherit;
	opacity: 0.66;
}

.webo-features .wf-dots {
	display: none;
	justify-content: center;
	gap: 8px;
	margin: 20px 0 0;
}

.webo-features .wf-dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--wf-text, #fff) 30%, transparent);
	cursor: pointer;
	transition: width 0.3s, background-color 0.3s;
}

.webo-features .wf-dot.is-active {
	width: 24px;
	background: var(--wf-accent, #c9b08a);
}

.webo-features.wf-js .wf-item {
	opacity: 0;
	transform: translate3d(0, 22px, 0);
	transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) var(--wf-delay, 0ms), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) var(--wf-delay, 0ms);
}

.webo-features.wf-js.is-in .wf-item {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.webo-features.wf-js .wf-item {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
