﻿/* Native Elementor owns typography, colour and section spacing. These rules only manage the logo rail. */
.tcg-about-clients .tcg-logo-marquee { max-width:100%; overflow:hidden; }
.tcg-about-clients .tcg-logo-track { display:flex; flex-flow:row nowrap; width:100%; max-width:none; gap:0; }
.tcg-about-clients .tcg-logo-set { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; flex:none; gap:24px; }
.elementor .tcg-about-clients .tcg-logo-set > .tcg-client-logo { display:flex; align-items:center; justify-content:center; width:100%; min-width:0; height:88px; flex:none; }
.elementor .tcg-about-clients .tcg-logo-set .tcg-client-logo img { width:auto; height:auto; max-width:165px; max-height:72px; object-fit:contain; border-radius:0; filter:grayscale(1); opacity:.76; transition:filter 220ms ease,opacity 220ms ease; }
.elementor .tcg-about-clients .tcg-logo-set .tcg-client-logo:hover img { filter:grayscale(0); opacity:1; }
.tcg-about-clients .tcg-logo-set--clone { display:none; }
.tcg-about-clients.is-ready .tcg-logo-track { width:max-content; animation:tcg-brand-marquee 34s linear infinite; will-change:transform; }
.tcg-about-clients.is-ready .tcg-logo-set { display:flex; width:max(1100px,var(--tcg-rail-width,1280px)); gap:40px; padding-inline-end:40px; }
.elementor .tcg-about-clients.is-ready .tcg-logo-set > .tcg-client-logo { width:180px; flex:1 0 180px; }
.tcg-about-clients:hover .tcg-logo-track,
.tcg-about-clients:focus-within .tcg-logo-track { animation-play-state:paused; }
@keyframes tcg-brand-marquee { to { transform:translateX(-50%); } }
@media(max-width:1024px){
 .tcg-about-clients .tcg-logo-set { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .tcg-about-clients.is-ready .tcg-logo-set { width:1050px; gap:30px; padding-inline-end:30px; }
}
@media(max-width:767px){
 .tcg-about-clients .tcg-logo-set { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
 .tcg-about-clients.is-ready .tcg-logo-set { width:850px; gap:20px; padding-inline-end:20px; }
 .elementor .tcg-about-clients.is-ready .tcg-logo-set > .tcg-client-logo { width:150px; flex-basis:150px; }
 .elementor .tcg-about-clients .tcg-logo-set .tcg-client-logo img { max-width:min(145px,100%); max-height:68px; }
}
@media(prefers-reduced-motion:reduce){
 .tcg-about-clients.is-ready .tcg-logo-track { animation:none; transform:none; width:100%; will-change:auto; }
 .tcg-about-clients.is-ready .tcg-logo-set { display:grid; width:100%; padding:0; gap:24px; }
 .tcg-about-clients.is-ready .tcg-logo-set--clone { display:none; }
 .elementor .tcg-about-clients.is-ready .tcg-logo-set > .tcg-client-logo { width:100%; }
 .elementor .tcg-about-clients .tcg-logo-set .tcg-client-logo img { transition:none; }
}



