/* Sepanta Clients Showcase public styles */
.spc-home,
		.spc-directory {
			--spc-navy: #000f59;
			--spc-orange: #ff7614;
			--spc-bg: #f8f8f8;
			--spc-white: #fff;
			--spc-text: #111827;
			--spc-muted: #64748b;
			--spc-border: #e5e7eb;
			position: relative;
			isolation: isolate;
			overflow: hidden;
			width: 100%;
			background: transparent;
			color: var(--spc-text);
			font-family: inherit;
		}

		.spc-home *,
		.spc-home *::before,
		.spc-home *::after,
		.spc-directory *,
		.spc-directory *::before,
		.spc-directory *::after {
			box-sizing: border-box;
		}

		.spc-home::before,
		.spc-directory::before {
			display: none;
			content: none;
		}

		.spc-home {
			padding: clamp(76px, 8vw, 124px) 0;
		}

		.spc-home__inner,
		.spc-directory__inner {
			width: min(1240px, calc(100% - 40px));
			margin-inline: auto;
		}

		.spc-section-head {
			max-width: 720px;
			margin: 0 auto clamp(38px, 5vw, 60px);
			text-align: center;
			animation: spc-reveal .7s cubic-bezier(.22, 1, .36, 1) both;
		}

		.spc-section-head__eyebrow {
			display: inline-flex;
			align-items: center;
			gap: 9px;
			margin-bottom: 13px;
			color: var(--spc-navy);
			font-size: 13px;
			font-weight: 600;
			line-height: 1.7;
		}

		.spc-section-head__eyebrow::before {
			content: "";
			width: 7px;
			height: 7px;
			border-radius: 999px;
			background: var(--spc-orange);
			box-shadow: 0 0 0 5px rgba(255, 118, 20, .1);
		}

		.spc-section-head h2 {
			margin: 0;
			color: var(--spc-text);
			font-size: clamp(34px, 4vw, 54px);
			font-weight: 700;
			letter-spacing: -.04em;
			line-height: 1.3;
		}

		.spc-section-head p {
			max-width: 610px;
			margin: 14px auto 0;
			color: var(--spc-muted);
			font-size: clamp(14px, 1.4vw, 17px);
			font-weight: 400;
			line-height: 2;
		}

		.spc-featured {
			display: grid;
			grid-template-columns: repeat(4, minmax(0, 1fr));
			gap: clamp(13px, 1.8vw, 22px);
			margin-bottom: clamp(24px, 3vw, 36px);
		}

		.spc-featured__card {
			--delay: 0ms;
			position: relative;
			display: grid;
			grid-template-rows: 1fr auto;
			align-items: center;
			overflow: hidden;
			min-height: 220px;
			padding: 30px 24px 22px;
			background: rgba(255, 255, 255, .96);
			border: 1px solid var(--spc-border);
			border-radius: 26px;
			box-shadow: 0 14px 42px rgba(15, 23, 42, .05);
			animation: spc-reveal .72s cubic-bezier(.22, 1, .36, 1) both;
			animation-delay: var(--delay);
			transition:
				border-color 220ms ease,
				box-shadow 220ms ease;
		}

		.spc-featured__card:hover {
			z-index: 2;
			border-color: rgba(0, 15, 89, .14);
			box-shadow: 0 17px 46px rgba(15, 23, 42, .07);
		}

		.spc-featured__logo-wrap {
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 150px;
		}

		.spc-featured__logo {
			display: block;
			width: auto;
			height: auto;
			max-width: min(100%, 230px);
			max-height: 118px;
			object-fit: contain;
			opacity: 1;
			transition: filter 220ms ease, opacity 220ms ease, transform 220ms ease;
		}

		@media (max-width: 640px) {
			.spc-featured__logo {
				max-width: min(100%, 175px);
				max-height: 92px;
			}
		}

		/* v2.6.6 - hover emphasis */
		.spc-featured__card:hover .spc-featured__logo {
			transform: scale(1.05);
		}

		.spc-directory__card:hover .spc-directory__name {
			color: var(--spc-navy);
			font-weight: 700;
		}

		.spc-featured__name {
			position: relative;
			z-index: 1;
			margin: 0;
			color: #1f2937;
			font-size: 14px;
			font-weight: 600;
			line-height: 1.8;
			text-align: center;
		}

		.spc-slider {
			position: relative;
			padding: 4px 0;
			background: transparent;
			border: 0;
			border-radius: 0;
			box-shadow: none;
		}

		.spc-marquees {
			display: grid;
			gap: 10px;
			direction: ltr;
		}

		.spc-marquee {
			position: relative;
			overflow: hidden;
			width: 100%;
			min-height: 84px;
			padding-block: 4px;
			direction: ltr;
			contain: layout paint;
			-webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
			mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
		}

		.spc-marquee__track {
			display: flex;
			align-items: center;
			justify-content: flex-start;
			flex-wrap: nowrap;
			width: max-content;
			min-width: max-content;
			direction: ltr;
			backface-visibility: hidden;
			will-change: transform;
		}

		.spc-marquee__track--right {
			animation: spc-marquee-right 44s linear infinite;
		}

		.spc-marquee__track--left {
			animation: spc-marquee-left 44s linear infinite;
		}

		.spc-marquee__group {
			display: flex;
			align-items: center;
			justify-content: flex-start;
			flex-shrink: 0;
			gap: clamp(22px, 3vw, 38px);
			padding-inline: clamp(11px, 1.5vw, 19px);
			direction: ltr;
		}

		.spc-marquee__card {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 clamp(128px, 13vw, 158px);
			width: clamp(128px, 13vw, 158px);
			height: 76px;
			padding: 6px;
			background: transparent;
			border: 0;
			border-radius: 0;
			box-shadow: none;
		}

		.spc-marquee__logo-wrap {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 64px;
		}

		.spc-marquee__logo {
			display: block;
			width: auto;
			height: auto;
			max-width: 124px;
			max-height: 58px;
			object-fit: contain;
			opacity: 1;
			transform: translateZ(0);
			transition: filter 200ms ease, opacity 200ms ease, transform 200ms ease;
		}

		.spc-marquee__card:hover .spc-marquee__logo {
			opacity: 1;
			transform: scale(1.035) translateZ(0);
		}

		.spc-marquees:hover .spc-marquee__track {
			animation-play-state: paused;
		}

		.spc-directory {
			padding: clamp(70px, 8vw, 112px) 0;
		}

		.spc-directory__summary {
			display: flex;
			align-items: center;
			justify-content: center;
			margin: -32px auto 38px;
		}

		.spc-directory__count {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			padding: 8px 12px;
			color: var(--spc-navy);
			background: rgba(255, 255, 255, .85);
			border: 1px solid var(--spc-border);
			border-radius: 999px;
			font-size: 12px;
			font-weight: 600;
			box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
		}

		.spc-directory__count::before {
			content: "";
			width: 6px;
			height: 6px;
			border-radius: 50%;
			background: var(--spc-orange);
		}

		.spc-directory__grid {
			display: grid;
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: clamp(12px, 1.6vw, 18px);
		}

		.spc-directory__card {
			--delay: 0ms;
			display: grid;
			grid-template-rows: 100px auto;
			align-items: center;
			min-width: 0;
			min-height: 164px;
			padding: 20px 16px 15px;
			background: rgba(255, 255, 255, .94);
			border: 1px solid var(--spc-border);
			border-radius: 20px;
			box-shadow: 0 10px 32px rgba(15, 23, 42, .035);
			content-visibility: auto;
			contain-intrinsic-size: 164px;
			animation: spc-reveal .62s cubic-bezier(.22, 1, .36, 1) both;
			animation-delay: var(--delay);
			transition:
				transform 240ms cubic-bezier(.22, 1, .36, 1),
				border-color 240ms ease,
				box-shadow 240ms ease;
		}

		.spc-directory__card:hover {
			transform: translateY(-5px);
			border-color: rgba(0, 15, 89, .18);
			box-shadow: 0 20px 44px rgba(15, 23, 42, .08);
		}

		.spc-directory__logo-wrap {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100px;
		}

		.spc-directory__logo {
			display: block;
			width: auto;
			height: auto;
			max-width: min(100%, 135px);
			max-height: 72px;
			object-fit: contain;
			opacity: 1;
			transition: filter 240ms ease, opacity 240ms ease, transform 240ms ease;
		}

		.spc-directory__card:hover .spc-directory__logo {
			opacity: 1;
			transform: scale(1.035);
		}

		.spc-directory__name {
			overflow: hidden;
			margin: 4px 0 0;
			color: #334155;
			font-size: 13px;
			font-weight: 600;
			line-height: 1.8;
			text-align: center;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.spc-empty {
			max-width: 720px;
			margin: 0 auto;
			padding: 28px;
			color: var(--spc-muted);
			background: var(--spc-white);
			border: 1px dashed #cbd5e1;
			border-radius: 18px;
			text-align: center;
		}

		@keyframes spc-marquee-right {
			from {
				transform: translate3d(-50%, 0, 0);
			}
			to {
				transform: translate3d(0, 0, 0);
			}
		}

		@keyframes spc-marquee-left {
			from {
				transform: translate3d(0, 0, 0);
			}
			to {
				transform: translate3d(-50%, 0, 0);
			}
		}

		@keyframes spc-reveal {
			from {
				opacity: 0;
				transform: translateY(14px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}

		@media (max-width: 1024px) {
			.spc-featured {
				grid-template-columns: repeat(2, minmax(0, 1fr));
			}

			.spc-directory__grid {
				grid-template-columns: repeat(4, minmax(0, 1fr));
			}
		}

		@media (max-width: 760px) {
			.spc-home__inner,
			.spc-directory__inner {
				width: min(100% - 26px, 1240px);
			}

			.spc-section-head {
				margin-bottom: 34px;
			}

			.spc-section-head h2 {
				font-size: 34px;
				letter-spacing: -.025em;
			}

			.spc-marquee {
				-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
				mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
			}

			.spc-directory__grid {
				grid-template-columns: repeat(3, minmax(0, 1fr));
			}
		}

		@media (max-width: 560px) {
			.spc-home,
			.spc-directory {
				padding: 64px 0;
			}

			.spc-featured {
				gap: 10px;
			}

			.spc-featured__card {
				min-height: 172px;
				padding: 25px 14px 16px;
				border-radius: 19px;
			}

			.spc-featured__logo-wrap {
				min-height: 100px;
			}

			.spc-featured__logo {
				max-width: 110px;
				max-height: 60px;
			}

			.spc-featured__name {
				font-size: 12px;
			}

			.spc-marquee__card {
				flex-basis: 116px;
				width: 116px;
				height: 66px;
				padding: 5px;
			}

			.spc-marquee__logo-wrap {
				height: 56px;
			}

			.spc-marquee__logo {
				max-width: 104px;
				max-height: 50px;
			}

			.spc-marquee__track--right,
			.spc-marquee__track--left {
				animation-duration: 34s;
			}

			.spc-directory__summary {
				margin-top: -20px;
				margin-bottom: 26px;
			}

			.spc-directory__grid {
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 10px;
			}

			.spc-directory__card {
				grid-template-rows: 78px auto;
				min-height: 138px;
				padding: 16px 12px 12px;
				border-radius: 16px;
			}

			.spc-directory__logo-wrap {
				height: 78px;
			}

			.spc-directory__logo {
				max-width: 105px;
				max-height: 58px;
			}

			.spc-directory__name {
				font-size: 11px;
			}
		}

		@media (prefers-reduced-motion: reduce) {
			.spc-marquee__track,
			.spc-section-head,
			.spc-featured__card,
			.spc-directory__card {
				animation: none !important;
				transform: none !important;
			}

			.spc-featured__card,
			.spc-featured__logo,
			.spc-marquee__card,
			.spc-marquee__logo,
			.spc-directory__card,
			.spc-directory__logo {
				transition: none !important;
			}
		}

/* Sepanta testimonials */
.spt-section {
			--spt-navy: #000f59;
			--spt-orange: #ff7614;
			--spt-bg: #f8f8f8;
			--spt-white: #fff;
			--spt-text: #111827;
			--spt-muted: #64748b;
			--spt-border: #e5e7eb;
			position: relative;
			isolation: isolate;
			overflow: hidden;
			width: 100%;
			padding: clamp(68px, 7vw, 104px) 0;
			background: transparent;
			color: var(--spt-text);
			font-family: inherit;
		}

		.spt-section *,
		.spt-section *::before,
		.spt-section *::after {
			box-sizing: border-box;
		}

		.spt-section::before {
			display: none;
			content: none;
		}

		.spt-section__inner {
			width: min(1240px, calc(100% - 44px));
			margin-inline: auto;
		}

		.spt-section__header {
			max-width: 760px;
			margin: 0 0 clamp(30px, 4vw, 46px) auto;
			text-align: right;
		}

		.spt-section__header h2 {
			margin: 0;
			color: var(--spt-text);
			font-size: clamp(29px, 3.4vw, 43px);
			font-weight: 700;
			letter-spacing: -.04em;
			line-height: 1.45;
		}

		.spt-section__header p {
			max-width: 610px;
			margin: 10px 0 0 auto;
			color: var(--spt-muted);
			font-size: clamp(13px, 1.25vw, 16px);
			font-weight: 400;
			line-height: 1.95;
		}

		.spt-slider {
			position: relative;
			width: 100%;
		}

		.spt-slider__viewport {
			overflow: hidden;
			width: 100%;
			padding: 10px 20px 24px;
			direction: rtl;
			-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
			mask-image: linear-gradient(90deg, transparent 0, #000 3.5%, #000 96.5%, transparent 100%);
		}

		.spt-slider__track {
			display: flex;
			align-items: stretch;
			gap: clamp(16px, 1.8vw, 22px);
			width: 100%;
			direction: rtl;
			will-change: transform;
			transform: translate3d(0, 0, 0);
			transition: transform 620ms cubic-bezier(.22, 1, .36, 1);
		}

		.spt-card {
			position: relative;
			display: flex;
			flex: 0 0 calc((100% - 44px) / 2.08);
			flex-direction: column;
			overflow: hidden;
			min-width: 0;
			min-height: 338px;
			padding: clamp(24px, 2.45vw, 31px);
			direction: rtl;
			background: var(--spt-white);
			border: 1px solid rgba(0, 15, 89, .08);
			border-radius: 22px;
			box-shadow: 0 12px 34px rgba(15, 23, 42, .04);
			transition:
				border-color 280ms cubic-bezier(.22, 1, .36, 1),
				box-shadow 280ms cubic-bezier(.22, 1, .36, 1),
				transform 280ms cubic-bezier(.22, 1, .36, 1);
		}

		.spt-card[data-visible="true"] {
			border-color: rgba(0, 15, 89, .12);
			box-shadow: 0 16px 42px rgba(15, 23, 42, .055);
		}

		.spt-card:hover {
			border-color: rgba(0, 15, 89, .15);
			box-shadow: 0 20px 48px rgba(15, 23, 42, .07);
			transform: translateY(-2px);
		}

		.spt-card__author {
			display: flex;
			align-items: center;
			gap: 14px;
			min-height: 64px;
		}

		.spt-card__logo-wrap {
			display: flex;
			align-items: center;
			justify-content: center;
			flex: 0 0 62px;
			width: 62px;
			height: 62px;
			padding: 9px;
			background: #f7f8fa;
			border: 1px solid rgba(0, 15, 89, .07);
			border-radius: 17px;
		}

		.spt-card__logo {
			display: block;
			width: auto;
			height: auto;
			max-width: 46px;
			max-height: 42px;
			object-fit: contain;
		}

		.spt-card__identity {
			display: grid;
			gap: 2px;
			min-width: 0;
		}

		.spt-card__identity h3 {
			overflow: hidden;
			margin: 0;
			color: var(--spt-text);
			font-size: 16px;
			font-weight: 700;
			line-height: 1.65;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.spt-card__identity span {
			overflow: hidden;
			color: var(--spt-muted);
			font-size: 13px;
			font-weight: 400;
			line-height: 1.7;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.spt-card__tags {
			display: flex;
			flex-wrap: wrap;
			gap: 7px;
			margin-top: 18px;
		}

		.spt-card__tags a,
		.spt-card__tags span {
			display: inline-flex;
			align-items: center;
			min-height: 29px;
			padding: 5px 10px;
			color: var(--spt-navy);
			background: #f2f4fb;
			border: 1px solid rgba(0, 15, 89, .08);
			border-radius: 999px;
			font-size: 11px;
			font-weight: 700;
			line-height: 1.55;
			text-decoration: none;
			transition:
				color 200ms ease,
				background-color 200ms ease,
				border-color 200ms ease;
		}

		.spt-card__tags a:hover,
		.spt-card__tags a:focus-visible {
			color: var(--spt-white);
			background: var(--spt-navy);
			border-color: var(--spt-navy);
			outline: none;
		}

		.spt-card__quote {
			position: relative;
			z-index: 1;
			flex: 1;
			margin: clamp(25px, 2.7vw, 34px) 0 0;
			padding: 3px clamp(17px, 2vw, 22px) 3px 0;
			border: 0;
			border-right: 2px solid rgba(0, 15, 89, .11);
		}

		.spt-card__content {
			display: -webkit-box;
			overflow: hidden;
			color: #334155;
			font-size: clamp(14px, 1.25vw, 16px);
			font-weight: 400;
			line-height: 2.05;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 6;
		}

		.spt-card__content > :first-child {
			margin-top: 0;
		}

		.spt-card__content > :last-child {
			margin-bottom: 0;
		}

		.spt-card__content p {
			display: inline;
			margin: 0;
		}

		.spt-card__content p + p::before {
			content: " ";
		}

		.spt-slider__controls {
			display: flex;
			align-items: center;
			justify-content: center;
			min-height: 52px;
			margin-top: 4px;
		}

		.spt-slider[data-count="1"] .spt-slider__controls,
		.spt-slider[data-count="2"] .spt-slider__controls {
			display: none;
		}

		.spt-section .spt-slider__button {
			position: absolute;
			z-index: 5;
			top: calc(50% - 47px);
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 46px;
			height: 46px;
			padding: 0;
			color: var(--spt-navy) !important;
			background-color: var(--spt-white) !important;
			background-image: none !important;
			border: 1px solid var(--spt-border) !important;
			border-radius: 50%;
			box-shadow: 0 10px 28px rgba(15, 23, 42, .1);
			cursor: pointer;
			transition: color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
		}

		.spt-slider__button[data-spt-previous] {
			right: 0;
		}

		.spt-slider__button[data-spt-next] {
			left: 0;
		}

		.spt-section .spt-slider__button:hover,
		.spt-section .spt-slider__button:focus-visible {
			color: var(--spt-navy) !important;
			background-color: #f1f3f8 !important;
			background-image: none !important;
			border-color: rgba(0, 15, 89, .16) !important;
			box-shadow: 0 12px 30px rgba(0, 15, 89, .11);
			outline: none;
		}

		.spt-section .spt-slider__button:disabled,
		.spt-section .spt-slider__button:disabled:hover {
			color: #94a3b8 !important;
			background-color: var(--spt-white) !important;
			border-color: var(--spt-border) !important;
			opacity: .28;
			box-shadow: none;
			cursor: default;
		}

		.spt-slider__button svg {
			width: 18px;
			height: 18px;
			fill: none;
			stroke: currentColor;
			stroke-linecap: round;
			stroke-linejoin: round;
			stroke-width: 1.8;
		}

		.spt-slider__dots {
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 7px;
			min-width: 44px;
			max-width: min(360px, 55vw);
			overflow-x: auto;
			padding: 9px 3px;
			scrollbar-width: none;
		}

		.spt-slider__dots::-webkit-scrollbar {
			display: none;
		}

		.spt-slider__dot {
			width: 7px;
			height: 7px;
			padding: 0;
			background: #cbd5e1;
			border: 0;
			border-radius: 999px;
			cursor: pointer;
			transition: width 220ms ease, background 220ms ease;
		}

		.spt-slider__dot[aria-current="true"] {
			width: 22px;
			background: var(--spt-navy);
		}

		.spt-slider__dot:focus-visible {
			outline: 2px solid rgba(0, 15, 89, .25);
			outline-offset: 3px;
		}

		.spt-slider__status {
			position: absolute !important;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

		.spt-screen-reader {
			position: absolute !important;
			width: 1px;
			height: 1px;
			padding: 0;
			margin: -1px;
			overflow: hidden;
			clip: rect(0, 0, 0, 0);
			white-space: nowrap;
			border: 0;
		}

		.spt-empty {
			padding: 24px;
			color: var(--spt-muted);
			background: var(--spt-white);
			border: 1px dashed var(--spt-border);
			border-radius: 18px;
			font-size: 14px;
			line-height: 1.9;
			text-align: center;
		}

		@media (max-width: 980px) {
			.spt-card {
				flex-basis: 88%;
			}

			.spt-slider[data-count="2"] .spt-slider__controls {
				display: flex;
			}
		}

		@media (max-width: 700px) {
			.spt-section {
				padding: 60px 0;
			}

			.spt-section__inner {
				width: min(100% - 24px, 1240px);
			}

			.spt-section__header {
				margin-bottom: 28px;
			}

			.spt-section__header h2 {
				font-size: 30px;
				letter-spacing: -.025em;
			}

			.spt-section__header p {
				margin-top: 10px;
				font-size: 14px;
				line-height: 1.9;
			}

			.spt-slider__viewport {
				margin-inline: -12px;
				width: calc(100% + 24px);
				padding: 8px 16px 22px;
			}

			.spt-card {
				flex-basis: 89%;
				min-height: 320px;
				padding: 22px 20px;
				border-radius: 18px;
			}

			.spt-card__content {
				font-size: 15px;
				line-height: 2;
				-webkit-line-clamp: 7;
			}

			.spt-card__author {
				gap: 12px;
				min-height: 56px;
			}

			.spt-card__logo-wrap {
				flex-basis: 56px;
				width: 56px;
				height: 56px;
			}

			.spt-card__logo {
				max-width: 42px;
				max-height: 38px;
			}

			.spt-card__identity h3 {
				font-size: 14px;
			}

			.spt-card__identity span {
				font-size: 12px;
			}

			.spt-card__tags {
				margin-top: 15px;
			}

			.spt-card__tags a,
			.spt-card__tags span {
				font-size: 10.5px;
			}

			.spt-slider__button {
				top: calc(50% - 44px);
				width: 40px;
				height: 40px;
			}

			.spt-slider__button[data-spt-previous] {
				right: -2px;
			}

			.spt-slider__button[data-spt-next] {
				left: -2px;
			}
		}

		@media (prefers-reduced-motion: reduce) {
			.spt-slider__track {
				transition: none;
			}

			.spt-card,
			.spt-slider__button,
			.spt-slider__dot {
				transition: none;
			}
		}
