/* shared marquees / client logos / a11y */
.fdc-clients{
  --fdc-gap:16px;        /* space between logos */
  --fdc-logo-w:190px;    /* logo slot width     */
  --fdc-logo-h:80px;     /* logo slot height    */
  --fdc-seconds:8;     /* seconds a logo stays on screen */
  container-type:inline-size;
  width:100%;
  background:#fff;
  overflow-x:clip;
  font-family:Poppins,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.fdc-clients *{box-sizing:border-box}
.fdc-sec{padding:clamp(44px,5cqw,64px) 0 clamp(40px,4.5cqw,56px);border-bottom:1px solid #EDF0F8}
.fdc-head{text-align:center;padding:0 max(20px,calc((100% - 1240px) / 2));margin-bottom:40px}
.fdc-title{font-family:Poppins,system-ui,sans-serif;font-weight:700;font-size:clamp(22px,2.6cqw,32px);line-height:1.3;color:#1E2A63;margin:0;letter-spacing:-.5px}
.fdc-title em{font-style:normal;color:#F6A821}
.fdc-rows{display:flex;flex-direction:column;gap:var(--fdc-gap)}

.fdc-marquee{
  display:flex;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.fdc-track{display:flex;gap:var(--fdc-gap);flex:none;will-change:transform}
.fdc-logo{flex:none;display:flex;align-items:center;justify-content:center;width:var(--fdc-logo-w);height:var(--fdc-logo-h);padding:0 14px;border-radius:12px}
.fdc-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
a.fdc-logo{transition:background .2s}
a.fdc-logo:hover{background:#F7F8FC}
a.fdc-logo:hover img{opacity:.75}

/* The animation only runs once the JS has cloned the row. Before that
   (and with JS off, or reduced motion) the row is a plain scrollable strip. */
.fdc-marquee:not(.is-ready){overflow-x:auto;scrollbar-width:none}
.fdc-marquee:not(.is-ready)::-webkit-scrollbar{display:none}
.fdc-marquee.is-ready .fdc-track{
  animation-name:fdc-left;animation-timing-function:linear;
  animation-iteration-count:infinite;animation-duration:40s;
}
.fdc-marquee.is-ready[data-fdc-dir="right"] .fdc-track{animation-name:fdc-right}

/* -50% minus half a gap = exactly one copy of the row, so the loop
   point is seamless rather than 8px off. */
@keyframes fdc-left{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - (var(--fdc-gap) / 2)))}
}
@keyframes fdc-right{
  from{transform:translateX(calc(-50% - (var(--fdc-gap) / 2)))}
  to{transform:translateX(0)}
}

/* Optional: uncomment to pause both rows while the cursor is over them.
.fdc-marquee:hover .fdc-track{animation-play-state:paused}
*/

@media (prefers-reduced-motion:reduce){
  .fdc-marquee.is-ready .fdc-track{animation:none}
  .fdc-marquee{overflow-x:auto}
}

/* A11y: WCAG AA color contrast fixes (homepage-specific) */
.elementor-element-732d738 .elementor-button,
.elementor-element-732d738 .elementor-button-text{color:#0e7c9e !important;}
.elementor-element-732d738 .elementor-button{border-color:#0e7c9e !important;}
a.elementor-post__read-more{color:#0e7c9e !important;}
/* A11y: links inside text must not rely on color alone */
.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a,
.elementor-pagination a,
a.page-numbers{text-decoration:underline !important;}
/* A11y: form placeholder contrast */
input::placeholder,textarea::placeholder{color:#6f6f6f !important;opacity:1;}
