
/* ── Logo system / allies carousel ───────────────────────────────── */
.logo-marquee { width: 100%; }
.logo-marquee__track {
  display: flex;
  width: max-content;
  animation: dpLogoMarquee 42s linear infinite;
}
.logo-marquee:hover .logo-marquee__track { animation-play-state: paused; }
.logo-marquee__item {
  flex: 0 0 auto;
  width: 310px;
  min-height: 148px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 28px 42px;
}
.logo-marquee__visual {
  height: 94px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo-marquee__item img {
  max-width: 230px;
  max-height: 82px;
  object-fit: contain;
}
.logo-marquee__item span:not(.dp-logo-wordmark) {
  font-family: 'DM Mono', monospace;
  font-size: 7.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #B8B5AE;
}
.dp-logo-wordmark { white-space: nowrap; text-rendering: geometricPrecision; }
.dp-logo-wordmark--ff { transform: translateY(-1px); }
.dp-logo-wordmark--durex { border: 1px solid currentColor; padding: 0.18em 0.45em; letter-spacing: 0.22em !important; }
@keyframes dpLogoMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 760px) {
  .logo-marquee__track { animation-duration: 26s; }
  .logo-marquee__item { width: 230px; min-height: 112px; padding: 20px 24px; }
  .logo-marquee__visual { height: 68px; }
  .logo-marquee__item img { max-width: 180px; max-height: 58px; }
  .dp-logo-wordmark { transform: scale(.82); }
}
@media (prefers-reduced-motion: reduce) {
  .logo-marquee__track { animation: none; flex-wrap: wrap; width: 100%; justify-content: center; }
}

/* Portfolio/developer logo readability fixes */
.dp-developer-logo { line-height: 1; }
.dp-developer-logo__img {
  display: block;
  width: auto;
  object-fit: contain;
  object-position: center;
}
@media (min-width: 900px) {
  .dp-developer-logo__img { min-height: 34px; }
  .dp-developer-logo .dp-logo-wordmark--ff { font-size: 58px !important; }
  .dp-developer-logo .dp-logo-wordmark--durex { font-size: 34px !important; }
}
@media (max-width: 760px) {
  .dp-developer-logo__img { max-width: 210px !important; height: 40px !important; }
  .dp-developer-logo .dp-logo-wordmark--ff { font-size: 44px !important; }
  .dp-developer-logo .dp-logo-wordmark--durex { font-size: 28px !important; }
}
