/* ─── Marquee logo mitra (partials/partner-marquee) ─────────
   Dipakai di Home, About, Series-On, Bootcamp, Instansi, Private-Class, Partnership. */
.pm-eyebrow {
  display: inline-flex; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-4);
  font-family: var(--font-display); font-size: var(--fs-xs); font-weight: 600; letter-spacing: var(--ls-caps); text-transform: uppercase;
  color: var(--green-700); background: var(--white);
  border: 1px solid rgba(42,140,90,.2); border-radius: 100px; padding: var(--sp-2) var(--sp-4);
  box-shadow: 0 4px 14px rgba(15,45,31,.06);
}
.pm-eyebrow svg { color: var(--green-500); }

.pm-stage { display: flex; flex-direction: column; gap: var(--sp-4); position: relative; z-index: 2; }
.pm-strip {
  overflow: hidden; padding: var(--sp-3) 0;
  /* fade di kedua sisi, aman untuk latar apa pun */
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.pm-track {
  display: flex; align-items: center; gap: var(--sp-5);
  width: max-content;
  animation: pmScroll 40s linear infinite;
}
.pm-track--reverse { animation-direction: reverse; animation-duration: 46s; }
.pm-stage:hover .pm-track { animation-play-state: paused; }
.pm-logo {
  height: 84px; width: 168px; flex-shrink: 0;
  object-fit: contain; object-position: center;
  padding: var(--sp-3) var(--sp-5); box-sizing: border-box;
  background: var(--white);
  border: 1px solid rgba(20,68,46,.08); border-radius: 18px;
  box-shadow: 0 6px 18px rgba(15,45,31,.05);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, border-color .3s;
}
.pm-logo:hover {
  transform: translateY(-4px);
  border-color: rgba(42,140,90,.35);
  box-shadow: 0 14px 30px rgba(15,45,31,.12);
}
@keyframes pmScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.pm-facts {
  list-style: none; margin: var(--sp-10) auto 0; padding: 0;
  display: flex; justify-content: center; flex-wrap: wrap; gap: var(--sp-3);
  position: relative; z-index: 2;
}
.pm-facts li {
  font-size: var(--fs-sm, .85rem); color: var(--gray-500);
  background: var(--white); border: 1px solid rgba(20,68,46,.08);
  border-radius: 100px; padding: var(--sp-2) var(--sp-5);
}
.pm-facts strong { color: var(--green-800); font-weight: 600; }
.pm-facts li:first-child { background: var(--green-800); border-color: var(--green-800); color: rgba(255,255,255,.8); }
.pm-facts li:first-child strong { color: var(--gold); }

@media (max-width: 768px) {
  .pm-logo { height: 64px; width: 128px; padding: var(--sp-2) var(--sp-4); border-radius: 14px; }
  .pm-track { gap: var(--sp-3); }
  .pm-stage { gap: var(--sp-2); }
  .pm-facts { margin-top: var(--sp-8); }
}
@media (prefers-reduced-motion: reduce) {
  .pm-track { animation: none; }
}
