.sonora-partners{position:relative;overflow:hidden;padding:clamp(48px,5vw,80px) 0 clamp(44px,4vw,64px);background:#f2f0e9;border-top:1px solid rgba(17,17,15,.16);color:#11110f}
.partners-heading{padding:0 4.2vw 26px}
.partners-heading .mono-overline{font-size:.65rem;letter-spacing:.17em;color:#77746e}
.partners-heading h2{margin:14px 0 0;font-size:clamp(2.4rem,4.8vw,5rem);font-weight:450;line-height:1.06;letter-spacing:-.06em}
.partners-heading h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#8063d7}
.partners-pause{position:absolute;right:calc(4.2vw + 126px);top:clamp(72px,7vw,112px);width:16px;height:16px;accent-color:#8063d7;cursor:pointer}
.partners-pause-label{position:absolute;right:4.2vw;top:clamp(72px,7vw,112px);display:flex;align-items:center;gap:7px;min-height:20px;font-size:.64rem;letter-spacing:.02em;color:#68655f;cursor:pointer}
.partners-pause-icon{display:none}
.partners-play-text{display:none}
.partners-pause:checked+.partners-pause-label .partners-pause-text{display:none}
.partners-pause:checked+.partners-pause-label .partners-play-text{display:inline}
.partners-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.partners-track{display:flex;width:max-content;animation:sonora-partners-scroll 44s linear infinite;will-change:transform}
.partners-set{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;gap:clamp(24px,2.5vw,48px);min-width:100vw;margin:0;padding:0 clamp(24px,2.5vw,48px) 0 0;list-style:none;box-sizing:border-box}
.partner-logo{display:flex;align-items:center;justify-content:center;flex:0 0 clamp(180px,13vw,240px);height:116px;padding:12px 0;box-sizing:border-box}
.partner-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(0);opacity:.52;transition:filter .4s ease,opacity .4s ease,transform .4s ease;mix-blend-mode:multiply}
.partner-logo:hover img{filter:grayscale(0);opacity:1;transform:translateY(-3px)}
.partners-marquee:hover .partners-track,.partners-marquee:focus-within .partners-track,.partners-pause:checked~.partners-marquee .partners-track{animation-play-state:paused}
@keyframes sonora-partners-scroll{to{transform:translateX(-50%)}}
@media(max-width:650px){.partners-heading{padding:0 5vw 20px}.partners-heading h2{font-size:2.6rem}.partners-pause{top:64px;right:calc(5vw + 118px)}.partners-pause-label{top:64px;right:5vw;font-size:.58rem}.partner-logo{flex-basis:174px;height:100px}.partners-track{animation-duration:38s}}
@media(prefers-reduced-motion:reduce){.partners-track{animation:none;width:100%}.partners-set{flex-wrap:wrap;justify-content:center;gap:8px 24px;min-width:0;width:100%;padding:0 4vw}.partners-set[aria-hidden=true]{display:none}.partners-marquee{mask-image:none}.partners-pause,.partners-pause-label{display:none}.partner-logo img{transition:none}.partner-logo:hover img{transform:none}}

/* A compact, keyboard-accessible pause control. */
.partners-pause{width:1px;height:1px;opacity:0;clip-path:inset(50%);pointer-events:none}
.partners-pause-label{gap:9px;min-height:36px;padding:0 13px;border:1px solid rgba(17,17,15,.16);border-radius:999px;transition:color .2s,border-color .2s}
.partners-pause-label:hover{color:#8063d7;border-color:#8063d7}
.partners-pause:focus-visible+.partners-pause-label{outline:2px solid #8063d7;outline-offset:4px}
.partners-pause-icon{display:inline-grid;place-items:center;width:12px;font-size:.75rem;color:#8063d7}
.partners-pause:checked+.partners-pause-label .partners-pause-icon{font-size:0}
.partners-pause:checked+.partners-pause-label .partners-pause-icon::after{content:'▶';font-size:.55rem}
@media(max-width:650px){.partners-pause-label{top:42px;font-size:.56rem;min-height:30px;padding:0 9px}}
