.partner-section { padding-block: clamp(2.5rem,4.5vw,5rem); background: #fff; overflow: hidden; scroll-margin-top: 7rem; }
.partner-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.partner-heading h2 { font-size: var(--body); font-weight: 500; color: var(--muted); letter-spacing: .12em; }
.partner-toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.partner-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.partner-toggle .partner-play,.partner-toggle[aria-pressed="true"] .partner-pause { display: none; }
.partner-toggle[aria-pressed="true"] .partner-play { display: block; }
.partner-window { overflow: hidden; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.partner-track { display: flex; width: max-content; animation: partner-drift 42s linear infinite; animation-play-state: paused; }
.partner-section.is-visible .partner-track { animation-play-state: running; }
.partner-section.is-paused .partner-track,.partner-window:hover .partner-track { animation-play-state: paused; }
.partner-group { width: max(100vw,1200px); flex-shrink: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); align-items: center; list-style: none; margin: 0; padding: 1rem 0; }
.partner-group li { display: grid; place-items: center; height: 100px; padding-inline: 2rem; }
.partner-group img { width: auto; height: auto; max-width: min(100%,210px); max-height: 62px; object-fit: contain; filter: grayscale(1); opacity: .62; }
.partner-group img.partner-logo--gt { max-height: 72px; }
.partner-group img.partner-logo--create { max-width: min(100%,240px); }
@keyframes partner-drift { to { transform: translate3d(-50%,0,0); } }
@media (max-width:600px) {
 .partner-group { width: 1080px; }
 .partner-group li { padding-inline: 1.6rem; height: 88px; }
 .partner-group img { max-height: 52px; }
 .partner-group img.partner-logo--gt { max-height: 62px; }
}
@media (prefers-reduced-motion:reduce) {
 .partner-track { animation: none; width: 100%; }
 .partner-window { mask-image: none; }
 .partner-group { width: 100%; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); padding-inline: var(--gutter); }
 .partner-group[aria-hidden="true"],.partner-toggle { display: none; }
}

.partner-group img.partner-logo--jcheng { filter: grayscale(1) brightness(0); opacity: .48; }
