/* Shared client-logo marquee. Used on the homepage, Facebook turnkey,
   Facebook consulting, /consulting and the PubScore lander. One row,
   CSS-only loop (duplicated track + translateX). No JS library. */
.lm{
  --lm-gap:64px;
  --lm-h:32px;
  --lm-ink:var(--cream,#f5ecd6);
  --lm-muted:.55;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  overflow:hidden;
  min-width:0;
  padding-block:10px;
}
.lm--on-light{
  --lm-ink:#0a0a0a;
  --lm-muted:.62;
}
.lm__mask{
  overflow:hidden;
  width:100%;
  max-width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
.lm__track{
  display:flex;
  width:max-content;
  animation:lm-scroll 72s linear infinite;
  will-change:transform;
}
.lm:hover .lm__track{animation-play-state:paused}
.lm__list{
  display:flex;
  align-items:center;
  gap:var(--lm-gap);
  list-style:none;
  margin:0;
  padding:8px var(--lm-gap) 8px 0;
}
.lm__list li{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  opacity:var(--lm-muted);
  transition:opacity .25s ease;
}
.lm:hover .lm__list li{opacity:1}
.lm .lm__list .lgm,
.lm .lgm{
  display:block;
  height:var(--lm-h);
  width:calc(var(--ar) * var(--lm-h));
  max-width:none;
  aspect-ratio:var(--ar,3);
  color:var(--lm-ink);
  background:currentColor;
  -webkit-mask:var(--src) center/contain no-repeat;
  mask:var(--src) center/contain no-repeat;
}
.lm .jtn-w{
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  top:-6px;
}
.lm .jtn-net{
  display:block;
  text-align:center;
  font:600 8px/1 var(--mono,'JetBrains Mono',ui-monospace,monospace);
  letter-spacing:.34em;
  padding-left:.34em;
  margin:4px 0 -12px;
  white-space:nowrap;
  color:var(--lm-ink);
  opacity:.75;
}
.lm:hover .jtn-net{opacity:1}
.lm .lgm[style*="maxim.png"]{position:relative;top:3.5px}
/* I Heart Dogs: the official mark has a long g descender, so a tight
   contain-fit leaves the word sitting high of Unify and Niche Site Lady. */
.lm .lgm[style*="iheartdogs.png"]{position:relative;top:5px}

.lm-sec{overflow-x:clip;max-width:100%;border-block:1px solid var(--line,rgba(245,236,214,.18))}
.lm-head{text-align:center;margin:0 auto 22px;max-width:760px}
.lm-head .small{margin:0}
.lm-head__sub{margin:4px 0 0;font-size:13px;line-height:1.4;color:var(--t3,rgba(245,236,214,.6))}

@media (max-width:720px){
  .lm{--lm-gap:44px;--lm-h:24px;padding-block:8px}
  .lm .jtn-w{top:-5px}
  .lm .jtn-net{font-size:7px;margin:3px 0 -10px}
  .lm .lgm[style*="maxim.png"]{top:2.6px}
  .lm .lgm[style*="iheartdogs.png"]{top:4px}
  .lm-head{margin-bottom:16px}
}

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

@media (prefers-reduced-motion:reduce){
  .lm__mask{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .lm__track{
    animation:none !important;
    will-change:auto;
    width:auto;
    transform:none;
  }
  .lm__list[aria-hidden="true"]{display:none}
  .lm__list{padding:8px 20px}
  .lm:hover .lm__track{animation-play-state:paused}
}
