/**
 * LTC Credibility — continuous client-logo rail.
 *
 * Not a slider: no arrows, dots, or boxed slides. A single track of
 * logos plus one aria-hidden duplicate track scroll continuously via
 * CSS animation; JS (ltc-logo-rail.js) only handles pause-on-hover/focus.
 * Under prefers-reduced-motion the animation is removed entirely and the
 * rail becomes a static, wrapping row (handled here in CSS alone, no JS
 * dependency for the accessible fallback).
 */

.ltc-logo-rail {
	position: relative;
	overflow: hidden;
	padding-block: var(--ltc-space-7);
	/* Wider fade zone (was 64px) so a logo passing the edge during the
	   continuous scroll dissolves gradually instead of reading as an
	   abrupt hard cut — this is what was misread as "clipping". */
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 112px,
		#000 calc(100% - 112px),
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		#000 112px,
		#000 calc(100% - 112px),
		transparent 100%
	);
}

.ltc-logo-rail__track {
	display: flex;
	align-items: center;
	gap: var(--ltc-space-11);
	width: max-content;
	animation: ltc-logo-rail-scroll 36s linear infinite;
}

.ltc-logo-rail:hover .ltc-logo-rail__track,
.ltc-logo-rail:focus-within .ltc-logo-rail__track,
.ltc-logo-rail__track.is-paused {
	animation-play-state: paused;
}

.ltc-logo-rail__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}

.ltc-logo-rail__item img {
	height: 100%;
	width: auto;
	max-width: 320px;
	object-fit: contain;
	/* Full real colour, full opacity by default — no blanket dimming.
	   Only the specific per-logo overrides below (measured against each
	   source file's own alpha/contrast) get any correction at all. */
}

/* ---- Per-logo corrections ----
   The shared rule above under-serves several source files: some PNGs
   carry much more internal padding than others (so the same box height
   leaves the mark itself far smaller), and some carry pale/low-alpha
   artwork straight out of the source file. Each override below was
   measured against that logo's own content bounding box and average
   pixel alpha/luminance, not eyeballed — sizing and a contrast lift
   only, never a colour change, so healthy logos (Amazon, Canon, AWS,
   Accenture, Qatar Airways, Vimta Labs) are left on the shared
   baseline untouched and every logo keeps its real brand colour. */

.ltc-logo-rail__item--ceredox {
	height: 104px;
}
.ltc-logo-rail__item--ceredox img {
	/* Source art sits at ~69% native alpha — a contrast lift (not a
	   colour change) keeps it legible against the Mist Surface. */
	filter: contrast(1.15);
	opacity: 1;
}

.ltc-logo-rail__item--critical-river {
	height: 148px;
}
.ltc-logo-rail__item--critical-river img {
	/* Thinnest content band of the set (~21% of its own canvas height)
	   plus pale source art — needs the largest size and a contrast lift
	   to read level with Amazon/Canon, still at full real colour. */
	filter: contrast(1.2);
	opacity: 1;
}

.ltc-logo-rail__item--globallogic {
	height: 92px;
}

.ltc-logo-rail__item--mahindra {
	height: 130px;
}
.ltc-logo-rail__item--mahindra img {
	filter: contrast(1.1);
	opacity: 1;
}

.ltc-logo-rail__item--mediamint {
	height: 92px;
}
.ltc-logo-rail__item--mediamint img {
	filter: contrast(1.12);
	opacity: 1;
}

.ltc-logo-rail__item--taskus {
	height: 78px;
}

.ltc-logo-rail__item--mylan img {
	/* Source mark is a pale blue — a brightness/contrast lift (not a
	   grayscale conversion) keeps it visible while staying true to its
	   real brand colour. */
	filter: contrast(1.2) saturate(1.1);
	opacity: 1;
}

@keyframes ltc-logo-rail-scroll {
	from {
		transform: translateX(0);
	}
	to {
		/* Exactly -50%: the track is built from two identical, back-to-back
		   logo sets, so translating one full set width produces a seamless
		   loop with no visible jump or gap. */
		transform: translateX(-50%);
	}
}

/* Reduced motion: stop the animation and let the doubled track wrap
   naturally as a static row. The duplicate (aria-hidden) set is hidden
   so nothing reads or displays twice. */
@media (prefers-reduced-motion: reduce) {
	.ltc-logo-rail {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.ltc-logo-rail__track {
		animation: none;
		flex-wrap: wrap;
		width: auto;
	}

	.ltc-logo-rail__track [aria-hidden='true'] {
		display: none;
	}
}
