/* ============================================================
   GLYDE MEDIA — logo-ticker.css
   Styles for the client logo ticker section
   ============================================================ */

.logo-ticker {
  position: relative;
  background: #fff;
  padding: 80px 0 60px;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.logo-ticker::before,
.logo-ticker::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 160px; z-index: 2; pointer-events: none;
}
.logo-ticker::before { left: 0; background: linear-gradient(90deg, #fff 0%, transparent 100%); }
.logo-ticker::after  { right: 0; background: linear-gradient(90deg, transparent 0%, #fff 100%); }

/* Header */
.ticker-header {
  text-align: center;
  margin-bottom: 56px;
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ticker-eyebrow {
  font-family: var(--cond);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--teal);
  margin-bottom: 16px;
  display: flex; align-items: center; gap: 14px;
}
.ticker-eyebrow::before,
.ticker-eyebrow::after { content: ''; width: 28px; height: 2px; background: var(--teal); }

.ticker-headline {
  font-family: var(--cond);
  font-size: clamp(22px, 2.8vw, 36px);
  font-weight: 900; text-transform: uppercase;
  letter-spacing: -0.01em; line-height: 1;
  color: #141D3E; text-align: center;
}
.ticker-headline .solid { display: block; color: #141D3E; }
.ticker-headline .stroke {
  display: block;
  -webkit-text-stroke: 1.5px #141D3E;
  color: transparent; font-style: italic;
}

/* Ticker */
.ticker-wrapper { overflow: hidden; width: 100%; }
.ticker-track {
  display: flex; align-items: center; width: max-content;
}
.ticker-track.animating {
  animation: tickerScroll var(--dur, 60s) linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(var(--scroll-width)); }
}

.ticker-item {
  flex-shrink: 0; padding: 0 32px;
  display: flex; align-items: center; justify-content: center;
  height: 140px;
}
.ticker-item img {
  max-height: 90px; max-width: 220px;
  width: auto; height: auto; object-fit: contain;
  opacity: 0.9; transition: opacity 0.3s;
}
.ticker-item img.dark-bg { mix-blend-mode: multiply; }
.ticker-item:hover img { opacity: 1; }
