/* ═══════════════════════════════════════════════════════════════
   PROVIDERS — shared logo slider (index + about pre-foot)
   ═══════════════════════════════════════════════════════════════ */

:root{
  --providers-slider-max : 1120px;
  --providers-fade-w     : clamp(48px, 8vw, 120px);
  --providers-slide-duration: 28s;
  --logo-green-filter    : brightness(0) saturate(100%) invert(63%) sepia(67%) saturate(522%) hue-rotate(90deg) brightness(93%) contrast(93%);
}

.providers-slider,
.about-providers-slider{
  max-width:var(--providers-slider-max);
  margin:0 auto;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--providers-fade-w),
    #000 calc(100% - var(--providers-fade-w)),
    transparent 100%
  );
  mask-image:linear-gradient(
    to right,
    transparent 0,
    #000 var(--providers-fade-w),
    #000 calc(100% - var(--providers-fade-w)),
    transparent 100%
  );
}

/* Full-bleed slider inside pre-foot card */
.pre-foot > .providers-slider,
.pre-foot > .about-providers-slider,
.about-providers-section.pre-foot > .about-providers-slider{
  max-width:none;
  width:calc(100% + 2 * var(--foot-pad-x, clamp(20px, 4vw, 72px)));
  margin-left:calc(-1 * var(--foot-pad-x, clamp(20px, 4vw, 72px)));
  margin-right:calc(-1 * var(--foot-pad-x, clamp(20px, 4vw, 72px)));
  margin-top:var(--pre-foot-providers-slider-mt, clamp(-20px, -2.5vh, -10px));
  margin-bottom:0;
}

.providers-track,
.about-providers-track{
  width:max-content;
  display:flex;
  align-items:center;
  animation:providersSlide var(--providers-slide-duration) linear infinite;
}

.providers-track img,
.about-providers-track img{
  width:var(--logo-w, clamp(118px, 9vw, 156px));
  height:auto;
  margin:0 var(--logo-gap, 28px);
  object-fit:contain;
  display:block;
  transform:scale(var(--logo-scale, 1));
  transform-origin:center center;
  flex-shrink:0;
}

.providers-track img.logo-white,
.about-providers-track img.logo-white{
  filter:var(--logo-green-filter);
  opacity:.82;
  transition:opacity .3s;
}

.providers-track img.logo-white:hover,
.about-providers-track img.logo-white:hover{
  opacity:1;
}

.providers-track img.brand-accuro,
.about-providers-track img.brand-accuro{--logo-w:128px;--logo-scale:1.2}
.providers-track img.brand-aia,
.about-providers-track img.brand-aia{--logo-w:126px;--logo-scale:1.4}
.providers-track img.brand-amp,
.about-providers-track img.brand-amp{--logo-w:130px;--logo-scale:1.4}
.providers-track img.brand-anz,
.about-providers-track img.brand-anz{--logo-w:124px;--logo-scale:1}
.providers-track img.brand-asteron,
.about-providers-track img.brand-asteron{--logo-w:126px;--logo-scale:1.3}
.providers-track img.brand-asb,
.about-providers-track img.brand-asb{--logo-w:130px;--logo-scale:1}
.providers-track img.brand-avanti,
.about-providers-track img.brand-avanti{--logo-w:124px;--logo-scale:1.5}
.providers-track img.brand-bnz,
.about-providers-track img.brand-bnz{--logo-w:124px;--logo-scale:1}
.providers-track img.brand-chubb,
.about-providers-track img.brand-chubb{--logo-w:120px;--logo-scale:1.4}
.providers-track img.brand-coop,
.about-providers-track img.brand-coop{--logo-w:146px;--logo-scale:1}
.providers-track img.brand-fidelity,
.about-providers-track img.brand-fidelity{--logo-w:126px;--logo-scale:1.7}
.providers-track img.brand-generate,
.about-providers-track img.brand-generate{--logo-w:124px;--logo-scale:1.4}
.providers-track img.brand-kiwibank,
.about-providers-track img.brand-kiwibank{--logo-w:72px;--logo-scale:1}
.providers-track img.brand-nib,
.about-providers-track img.brand-nib{--logo-w:50px;--logo-scale:1.9}
.providers-track img.brand-nzfunds,
.about-providers-track img.brand-nzfunds{--logo-w:40px;--logo-scale:1.2}
.providers-track img.brand-partners,
.about-providers-track img.brand-partners{--logo-w:136px;--logo-scale:1.3}
.providers-track img.brand-pps,
.about-providers-track img.brand-pps{--logo-w:120px;--logo-scale:.8}
.providers-track img.brand-resolution,
.about-providers-track img.brand-resolution{--logo-w:140px;--logo-scale:1}
.providers-track img.brand-rothbury,
.about-providers-track img.brand-rothbury{--logo-w:132px;--logo-scale:1}
.providers-track img.brand-sbs,
.about-providers-track img.brand-sbs{--logo-w:120px;--logo-scale:1}
.providers-track img.brand-southern,
.about-providers-track img.brand-southern{--logo-w:146px;--logo-scale:1.4}
.providers-track img.brand-westpac,
.about-providers-track img.brand-westpac{--logo-w:136px;--logo-scale:1}
.providers-track img.brand-pepper,
.about-providers-track img.brand-pepper{--logo-w:190px;--logo-scale:1.3}
.providers-track img.brand-prospa,
.about-providers-track img.brand-prospa{--logo-w:130px;--logo-scale:1.1}
.providers-track img.brand-bizcap,
.about-providers-track img.brand-bizcap{--logo-w:180px;--logo-scale:1.3}
.providers-track img.brand-gem,
.about-providers-track img.brand-gem{--logo-w:64px;--logo-scale:1}
.providers-track img.brand-basecorp,
.about-providers-track img.brand-basecorp{--logo-w:150px;--logo-scale:1.1}
.providers-track img.brand-simplify,
.about-providers-track img.brand-simplify{--logo-w:125px;--logo-scale:1.1}

.providers-track img.no-tint,
.about-providers-track img.no-tint{
  filter:none!important;
  opacity:1;
}

@keyframes providersSlide{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media(max-width:900px){
  :root{--providers-slide-duration:34s}
}

@media(max-width:600px){
  :root{
    --providers-fade-w:clamp(32px, 10vw, 56px);
    --providers-slide-duration:44s;
  }
}

@media (prefers-reduced-motion: reduce){
  .providers-track,
  .about-providers-track{
    animation:none;
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
    max-width:min(100%, 920px);
    margin:0 auto;
    gap:12px 20px;
  }

  .providers-slider,
  .about-providers-slider{
    -webkit-mask-image:none;
    mask-image:none;
  }

  .providers-track img,
  .about-providers-track img{
    margin:0;
  }
}
