.ns-section {
	position: relative;
	padding: 70px 0;
	overflow: hidden;
}

.ns-section.alt {
	background: #f5f3ef;
}

.ns-container {
	position: relative;
	width: min(1170px, calc(100% - 30px));
	margin: 0 auto;
}

.ns-section-head {
	max-width: 680px;
	margin: 0 auto 42px;
	text-align: center;
}

.ns-section-head .eyebrow {
	margin-bottom: 12px;
	color: var(--main-color, #e79520);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: capitalize;
}

.ns-section-head .eyebrow span{
	color:#000;
}

.ns-section-head h2 {
	margin: 0 0 14px;
	color: #181818;
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.12;
}

.ns-section-head p {
	margin: 0;
	color: #626262;
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 1px;
}

.ns-logo-marquee {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: hidden;
}

.ns-logo-marquee-row {
	position: relative;
	display: flex;
	width: max-content;
	margin-bottom: 18px;
}

.ns-logo-marquee-track {
	display: flex;
	width: max-content;
	animation: ns-client-marquee 18s linear infinite;
	will-change: transform;
	--ns-marquee-distance: 50%;
}

.ns-logo-marquee.is-paused .ns-logo-marquee-track {
	animation-play-state: paused;
}

.ns-logo-marquee-row.reverse .ns-logo-marquee-track {
	animation-name: ns-client-marquee-reverse;
}

.ns-logo-item {
	display: grid;
	place-items: center;
	width: 160px;
	border-radius: 25px;
	margin-right: 18px;
	padding: 18px 24px;
	border: 1px solid rgba(25, 25, 25, 0.09);
	background: #fff;
	transition: transform 250ms ease, box-shadow 250ms ease;
}

.ns-logo-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(25, 25, 25, 0.1);
}

.ns-logo-item img {
	width: 100%;
}

.ns-clients-action {
	margin-top: 30px;
	text-align: center;
}

.ns-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 13px 22px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 1px;
	text-decoration: none;
	transition: transform 250ms ease, background 250ms ease;
}

.ns-btn-dark {
	color: #fff;
	background: #171717;
}

.ns-btn-dark:hover {
	color: #fff;
	background: var(--main-color, #e79520);
	transform: translateY(-2px);
}

@keyframes ns-client-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(calc(-1 * var(--ns-marquee-distance))); }
}

@keyframes ns-client-marquee-reverse {
	from { transform: translateX(calc(-1 * var(--ns-marquee-distance))); }
	to { transform: translateX(0); }
}

@media (max-width: 767px) {
	.ns-section { padding: 70px 0; }
	.ns-logo-item {width: 145px;margin-right: 12px;padding: 12px 16px;}
	.ns-logo-marquee-row { margin-bottom: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.ns-logo-marquee-track { animation-play-state: paused; }
}