.partner-marquee-section{
  overflow:hidden;
}

.partner-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  mask-image:linear-gradient(to right, transparent, black 6%, black 94%, transparent);
}

.partner-marquee__track{
  display:flex;
  align-items:center;
  width:max-content;
  gap:var(--space-2xl);
  animation:partner-marquee-scroll 32s linear infinite;
}
.partner-marquee:hover .partner-marquee__track,
.partner-marquee:focus-within .partner-marquee__track{
  animation-play-state:paused;
}

.partner-marquee__copy{
  display:flex;
  align-items:center;
  gap:var(--space-2xl);
  flex-shrink:0;
}

.partner-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-sm) var(--space-md);
  border-radius:var(--radius-md);
  opacity:0.75;
  filter:grayscale(1);
  transition:opacity var(--dur-base) var(--ease-soft), filter var(--dur-base) var(--ease-soft), background var(--dur-base) var(--ease-soft);
}

.partner-logo:hover,
.partner-logo:focus-visible{
  opacity:1;
  filter:grayscale(0);
  background:var(--color-surface);
}

.partner-logo img{
  height:40px;
  width:auto;
  max-width:140px;
  object-fit:contain;
}

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

@media (prefers-reduced-motion: reduce){
  .partner-marquee__track{
    animation:none;
    flex-wrap:wrap;
    width:100%;
    justify-content:center;
  }
  .partner-marquee__copy[aria-hidden="true"]{
    display:none;
  }
  .partner-marquee{
    -webkit-mask-image:none;
    mask-image:none;
  }
}

.partner-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
  gap:var(--space-lg);
}

.partner-card{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:transform var(--dur-base) var(--ease-premium), box-shadow var(--dur-base) var(--ease-premium), border-color var(--dur-base) var(--ease-soft);
}

.partner-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-glow-lg);
  border-color:var(--color-border-strong);
}

.partner-card__link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:var(--space-sm);
  padding:var(--space-lg);
  text-align:center;
  color:inherit;
  text-decoration:none;
}

.partner-card__media{
  display:flex;
  align-items:center;
  justify-content:center;
  height:80px;
  width:100%;
}

.partner-card__media img{
  max-height:100%;
  max-width:100%;
  object-fit:contain;
}

.partner-card__name{
  font-weight:600;
  color:var(--color-text);
}

@media (prefers-reduced-motion: reduce){
  .partner-card{
    transition:none;
  }
}
