/* FirstMarketing — Trusted Client Network v0.15.23 — full-bleed static logos + manual navigation */
.ccp-clients-original-hidden{display:none!important}
.ccp-client-network{
  --ccp-cn-bg:#fcfcfc;
  --ccp-cn-bg-2:#f7f7f7;
  --ccp-cn-card:rgba(255,255,255,.82);
  --ccp-cn-ink:#20242b;
  --ccp-cn-muted:#858b94;
  --ccp-cn-line:#ebedf0;
  --ccp-cn-accent:#f2673a;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-sizing:border-box;
  /* Full-bleed: escape any Elementor/content max-width without touching other sections. */
  width:100vw!important;
  max-width:100vw!important;
  margin-top:0!important;
  margin-bottom:0!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0!important;
  direction:rtl;
  color:var(--ccp-cn-ink);
  background:
    radial-gradient(ellipse at 12% 10%,rgba(110,114,121,.05),transparent 31%),
    radial-gradient(ellipse at 88% 88%,rgba(116,120,126,.04),transparent 28%),
    linear-gradient(180deg,#f8f8f8 0%,var(--ccp-cn-bg) 48%,#fafafa 100%);
  border:0!important;
}
.ccp-client-network:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  opacity:.52;
  background-image:
    linear-gradient(120deg,transparent 0 47%,rgba(100,105,112,.026) 47% 47.8%,transparent 47.8% 100%),
    linear-gradient(60deg,transparent 0 53%,rgba(100,105,112,.021) 53% 53.7%,transparent 53.7% 100%),
    radial-gradient(circle,rgba(76,82,89,.065) 1px,transparent 1.2px);
  background-size:420px 420px,420px 420px,28px 28px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);
}
.ccp-client-network:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:min(650px,48vw);
  aspect-ratio:1;
  top:-62%;
  left:50%;
  transform:translateX(-50%);
  border:1px solid rgba(104,108,114,.07);
  border-radius:50%;
  box-shadow:
    0 0 0 58px rgba(104,108,114,.018),
    0 0 0 118px rgba(104,108,114,.013),
    0 0 0 180px rgba(104,108,114,.008);
  pointer-events:none;
}
.ccp-cn-shell{
  width:min(1660px,calc(100% - 48px));
  margin:0 auto;
  padding:64px 0 58px;
  position:relative;
}
.ccp-cn-heading{
  max-width:760px;
  margin:0 auto 38px;
  text-align:center;
  position:relative;
}
.ccp-cn-kicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  color:#777d85;
  text-transform:uppercase;
}
.ccp-cn-kicker:before,.ccp-cn-kicker:after{
  content:"";
  width:28px;
  height:1px;
  background:#d8dadd;
}
.ccp-cn-kicker i{
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ccp-cn-accent);
  box-shadow:0 0 0 5px rgba(242,103,58,.075);
}
.ccp-cn-title{
  margin:0;
  color:#20242b;
  font-size:clamp(24px,2vw,32px);
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.025em;
}
.ccp-cn-title span{color:#5e636b;font-weight:800}
.ccp-cn-subtitle{
  margin:10px auto 0;
  max-width:680px;
  color:#777d85;
  font-size:14px;
  line-height:1.9;
  font-weight:500;
}
.ccp-cn-stage{
  position:relative;
  overflow:hidden;
  padding:14px 0 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.ccp-cn-rail{
  position:relative;
  padding:8px 0;
  overflow-x:auto;
  overflow-y:hidden;
  direction:ltr;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
  touch-action:pan-x;
}
.ccp-cn-rail::-webkit-scrollbar{display:none}
.ccp-cn-rail + .ccp-cn-rail{margin-top:8px}
.ccp-cn-track{
  display:flex;
  width:max-content;
  min-width:100%;
  align-items:stretch;
  justify-content:center;
  gap:14px;
  animation:none!important;
  transform:none!important;
}
.ccp-cn-rail:focus-visible{outline:2px solid rgba(242,103,58,.28);outline-offset:4px;border-radius:18px}
.ccp-cn-logo{
  flex:0 0 clamp(205px,15.5vw,260px);
  height:126px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 30px;
  border:1px solid rgba(56,61,68,.075);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(249,249,249,.76));
  box-shadow:0 10px 24px rgba(32,36,43,.035),inset 0 1px rgba(255,255,255,.95);
  overflow:hidden;
  transform:translateZ(0);
  transition:transform .35s cubic-bezier(.2,.75,.2,1),border-color .35s ease,box-shadow .35s ease,background .35s ease;
}
.ccp-cn-logo:before{
  content:"";
  position:absolute;
  inset:auto 22px 0;
  height:2px;
  border-radius:4px 4px 0 0;
  background:linear-gradient(90deg,transparent,var(--ccp-cn-accent),transparent);
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .35s ease,transform .35s ease;
}
.ccp-cn-logo:after{
  content:"";
  position:absolute;
  width:48px;
  height:48px;
  right:-25px;
  top:-25px;
  border:1px solid rgba(80,84,91,.1);
  border-radius:50%;
  opacity:.65;
}
.ccp-cn-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:76px;
  object-fit:contain;
  filter:saturate(.92) contrast(.98);
  transform:scale(.985);
  transition:filter .35s ease,transform .4s cubic-bezier(.2,.75,.2,1);
}
@media (hover:hover) and (pointer:fine){
  .ccp-cn-logo:hover{
    transform:translateY(-5px);
    border-color:rgba(242,103,58,.19);
    background:#fff;
    box-shadow:0 18px 38px rgba(31,35,42,.075),inset 0 1px rgba(255,255,255,1);
  }
  .ccp-cn-logo:hover:before{opacity:1;transform:scaleX(1)}
  .ccp-cn-logo:hover img{filter:saturate(1.08) contrast(1);transform:scale(1.04)}
}
.ccp-cn-manual-nav{
  margin:24px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:#8a8f96;
  font-size:11px;
  font-weight:800;
}
.ccp-cn-nav-btn{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e2e4e7;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  color:#3e434a;
  font:700 27px/1 Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(35,39,45,.045);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease;
}
.ccp-cn-nav-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(242,103,58,.32);
  color:var(--ccp-cn-accent);
  box-shadow:0 12px 26px rgba(35,39,45,.07);
}
.ccp-cn-nav-btn:focus-visible{outline:2px solid rgba(242,103,58,.35);outline-offset:3px}
.ccp-cn-footer{
  margin:30px auto 0;
  width:min(960px,100%);
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  color:#93979d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
.ccp-cn-footer:before,.ccp-cn-footer:after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,#e3e4e6);
}
.ccp-cn-footer:after{background:linear-gradient(90deg,#e3e4e6,transparent)}
.ccp-cn-count{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 13px;
  border:1px solid #e7e8ea;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  white-space:nowrap;
}
.ccp-cn-count b{color:#555a62;font-size:12px}
@media (max-width:900px){
  .ccp-cn-shell{width:min(100% - 28px,1660px);padding:50px 0 44px}
  .ccp-cn-heading{margin-bottom:27px}
  .ccp-cn-subtitle{font-size:13px}
  .ccp-cn-logo{flex-basis:205px;height:112px;padding:21px 25px;border-radius:18px}
  .ccp-cn-logo img{max-height:66px}
  .ccp-cn-stage{-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
}
@media (max-width:560px){
  .ccp-cn-shell{width:min(100% - 20px,1660px);padding:42px 0 38px}
  .ccp-cn-title{font-size:23px}
  .ccp-cn-logo{flex-basis:172px;height:96px;padding:17px 20px;border-radius:16px}
  .ccp-cn-logo img{max-height:56px}
  .ccp-cn-rail + .ccp-cn-rail{margin-top:4px}
  .ccp-cn-track{gap:10px}
  .ccp-cn-manual-nav{margin-top:18px}
  .ccp-cn-manual-nav span{display:none}
  .ccp-cn-nav-btn{width:40px;height:40px}
  .ccp-cn-footer{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  .ccp-cn-logo,.ccp-cn-nav-btn{transition:none!important}
  .ccp-cn-rail{scroll-behavior:auto}
}


/* v0.15.20 — remove separators/gaps around the client showcase only. */
body .ccp-client-network{
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
}
body .ccp-client-network::before,
body .ccp-client-network::after{
  /* keep decorative background layers, never use them as separators */
  border-top:0!important;
  border-bottom:0!important;
}
/* Prevent a generated empty spacer adjacent to the hidden legacy block from showing. */
body .ccp-clients-original-hidden{
  display:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  height:0!important;
  min-height:0!important;
}


/* v0.15.22 — no white seam above/below + no client-count footer. */
body .ccp-client-network{
  margin-top:-1px!important;
  margin-bottom:-1px!important;
  background-color:#f8f8f8!important;
  background-clip:border-box!important;
}
body .ccp-client-network .ccp-cn-footer,
body .ccp-client-network .ccp-cn-count{display:none!important}
/* The legacy client block and its immediate wrapper must not leave a hairline/separator. */
body .ccp-cn-host{
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
  row-gap:0!important;
}
body .ccp-cn-host > .ccp-clients-original-hidden{display:none!important}


/* v0.15.23 — hard-remove the small white seam immediately before the client section. */
body .ccp-client-network{
  margin-top:-14px!important;
  margin-bottom:0!important;
  position:relative;
  z-index:1;
}
/* If Elementor/flex/grid leaves a gap around the injected section, collapse it only on this host. */
body .ccp-cn-host{
  gap:0!important;
  row-gap:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
/* Empty spacer/separator nodes detected directly before our section are removed by JS. */
body .ccp-cn-seam-spacer{
  display:none!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
/* Do not let an adjacent legacy separator create a hairline. */
body .ccp-cn-adjacent-prev{
  margin-bottom:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
@media (max-width:560px){
  body .ccp-client-network{margin-top:-12px!important}
}


/* v0.15.29 — remove the actual bottom whitespace inside the clients section before the footer.
   Previous builds only collapsed outer seams; the visible strip was the shell's own bottom padding. */
body .ccp-client-network .ccp-cn-shell{
  padding-bottom:0!important;
}
body .ccp-client-network .ccp-cn-manual-nav{
  margin-bottom:0!important;
}
body .ccp-client-network{
  margin-bottom:0!important;
}
@media (max-width:900px){
  body .ccp-client-network .ccp-cn-shell{padding-bottom:0!important;}
}
@media (max-width:560px){
  body .ccp-client-network .ccp-cn-shell{padding-bottom:0!important;}
}


/* v0.15.30 — keep a small breathing room INSIDE the clients background, never as a white separator. */
body .ccp-client-network{
  padding-bottom:28px!important;
  margin-bottom:0!important;
  background-clip:padding-box!important;
}
body .ccp-client-network .ccp-cn-shell{padding-bottom:0!important;}
@media (max-width:900px){body .ccp-client-network{padding-bottom:22px!important;}}
@media (max-width:560px){body .ccp-client-network{padding-bottom:18px!important;}}


/* v0.15.31 — full-bleed clients section flush with footer + shadowless logo docks. */
body .ccp-client-network{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-bottom:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background-clip:border-box!important;
}
/* Keep breathing room inside the section background, not between section and footer. */
body .ccp-client-network .ccp-cn-shell{margin-bottom:0!important;}
body .ccp-cn-host{margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important;}
body .ccp-client-network + .ccp-clients-original-hidden{margin:0!important;padding:0!important;height:0!important;min-height:0!important;}
/* If the next visible block is the footer, force a zero seam between both surfaces. */
body .ccp-cn-adjacent-footer{
  margin-top:0!important;
  border-top:0!important;
  box-shadow:none!important;
}
/* Completely remove the logo-card shadows, including hover/focus states. */
body .ccp-client-network .ccp-cn-logo,
body .ccp-client-network .ccp-cn-logo:hover,
body .ccp-client-network .ccp-cn-logo:focus,
body .ccp-client-network .ccp-cn-logo:focus-visible{
  box-shadow:none!important;
  filter:none!important;
}
body .ccp-client-network .ccp-cn-logo{
  background:rgba(255,255,255,.78)!important;
}
@media (hover:hover) and (pointer:fine){
  body .ccp-client-network .ccp-cn-logo:hover{
    box-shadow:none!important;
    transform:translateY(-3px);
  }
}


/* v0.15.33 — remove the exact pale strip under the manual controls.
   No internal bottom breathing space: client surface ends where its content ends,
   then the footer starts immediately. */
body .ccp-client-network{
  padding-bottom:0!important;
  margin-bottom:0!important;
  border-bottom:0!important;
}
body .ccp-client-network .ccp-cn-shell{
  padding-bottom:0!important;
  margin-bottom:0!important;
}
body .ccp-client-network .ccp-cn-manual-nav{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body .ccp-cn-host{
  padding-bottom:0!important;
  margin-bottom:0!important;
  gap:0!important;
  row-gap:0!important;
}
body .ccp-cn-adjacent-footer{
  margin-top:0!important;
  padding-top:0!important;
  border-top:0!important;
}
@media (max-width:900px){body .ccp-client-network{padding-bottom:0!important;}}
@media (max-width:560px){body .ccp-client-network{padding-bottom:0!important;}}


/* v0.15.33 — dynamically seal ONLY the real gap between clients and the black footer.
   The client background itself extends into the measured gap, so there is never a white strip. */
body .ccp-client-network{
  --ccp-cn-footer-seal-gap:0px;
  padding-bottom:var(--ccp-cn-footer-seal-gap)!important;
  margin-bottom:calc(var(--ccp-cn-footer-seal-gap) * -1)!important;
  background-clip:border-box!important;
}
/* Keep the host surface on the same visual tone in case Elementor owns the gap. */
body .ccp-cn-host{
  background-color:#f8f8f8!important;
  border-bottom:0!important;
}


/* v0.15.47 — compact trusted-client logo docks. */
body .ccp-client-network .ccp-cn-track{gap:11px!important}
body .ccp-client-network .ccp-cn-logo{
  flex-basis:clamp(168px,12.8vw,214px)!important;
  height:100px!important;
  padding:18px 22px!important;
  border-radius:18px!important;
}
body .ccp-client-network .ccp-cn-logo img{max-height:62px!important;max-width:92%!important}
body .ccp-client-network .ccp-cn-stage{padding-top:8px!important;padding-bottom:7px!important}
@media (max-width:900px){
  body .ccp-client-network .ccp-cn-logo{flex-basis:166px!important;height:92px!important;padding:16px 20px!important;border-radius:16px!important}
  body .ccp-client-network .ccp-cn-logo img{max-height:56px!important}
}
@media (max-width:560px){
  body .ccp-client-network .ccp-cn-logo{flex-basis:142px!important;height:82px!important;padding:14px 17px!important;border-radius:14px!important}
  body .ccp-client-network .ccp-cn-logo img{max-height:48px!important}
  body .ccp-client-network .ccp-cn-track{gap:8px!important}
}

/* v0.15.50 — slightly larger, clearer client logos without enlarging the docks. */
body .ccp-client-network .ccp-cn-logo{
  padding:12px 15px!important;
}
body .ccp-client-network .ccp-cn-logo img{
  max-width:97%!important;
  max-height:72px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  opacity:1!important;
  filter:none!important;
  transform:scale(1)!important;
  image-rendering:auto;
}
@media (hover:hover) and (pointer:fine){
  body .ccp-client-network .ccp-cn-logo:hover img{
    filter:none!important;
    transform:scale(1.035)!important;
  }
}
@media (max-width:900px){
  body .ccp-client-network .ccp-cn-logo{padding:11px 14px!important;}
  body .ccp-client-network .ccp-cn-logo img{max-height:64px!important;max-width:97%!important;}
}
@media (max-width:560px){
  body .ccp-client-network .ccp-cn-logo{padding:10px 12px!important;}
  body .ccp-client-network .ccp-cn-logo img{max-height:55px!important;max-width:96%!important;}
}
