/* Official partner logos: static by default; motion is a progressive enhancement. */
.partner-reel{--supporter-width:340px}
.reel-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;min-height:36px}
.reel-controls>.eyebrow{color:var(--ink-soft)}
.reel-window{border-block:1px solid var(--line)}
.reel-track{width:100%}
.supporter-list{list-style:none;margin:0 auto;padding:0;width:calc(100% - 112px);max-width:1560px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.supporter-list>li{min-width:0}
.supporter-link{position:relative;display:flex;align-items:center;gap:19px;padding:38px 24px;min-height:156px;height:100%;border-right:1px solid var(--line)}
.partner-reel:not(.is-animated) .supporter-list>li:nth-child(n+4){border-top:1px solid var(--line)}
.partner-reel:not(.is-animated) .supporter-list>li:nth-child(3n)>.supporter-link{border-right:0}
.supporter-logo{width:66px;height:66px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:4px}
.supporter-logo img{width:100%;height:100%;object-fit:contain}
.supporter-logo-dark{background:#0f0e0c;padding:12px}
.supporter-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.supporter-name{font-size:21px;font-weight:550;letter-spacing:-.025em;line-height:1.2}
.supporter-kind{font-size:12px;line-height:1.45;color:var(--ink-soft)}
.supporter-arrow{align-self:flex-start;font-size:17px;margin-left:auto;color:var(--ink-soft);opacity:0;transition:opacity .2s}
.supporter-link:hover .supporter-arrow,.supporter-link:focus-visible .supporter-arrow{opacity:1}
.supporter-link:focus-visible{outline-offset:-5px;border-radius:2px}
.partner-reel.is-animated .reel-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.partner-reel.is-animated .reel-track{display:flex;width:max-content;will-change:transform}
.partner-reel.is-animated .supporter-list{display:flex;width:max-content;max-width:none;margin:0;flex-shrink:0}
.partner-reel.is-animated .supporter-list>li{width:var(--supporter-width);border-top:0;flex-shrink:0}
.partner-reel.is-animated .supporter-link{border-right:1px solid var(--line)}
.supporter-list[aria-hidden=true]{display:none}
.partner-reel.is-animated .supporter-list[aria-hidden=true]{display:flex}
@media(max-width:1200px){.supporter-list{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-reel:not(.is-animated) .supporter-list>li:nth-child(n+3){border-top:1px solid var(--line)}.partner-reel:not(.is-animated) .supporter-list>li:nth-child(3n)>.supporter-link{border-right:1px solid var(--line)}.partner-reel:not(.is-animated) .supporter-list>li:nth-child(2n)>.supporter-link{border-right:0}}
@media(max-width:1100px){.supporter-list{width:calc(100% - 64px)}}
@media(max-width:800px){
 .partner-reel{--supporter-width:295px}
 .reel-controls{gap:18px;margin-bottom:18px}.reel-controls>.eyebrow{font-size:12px;max-width:210px}
 .supporter-list{width:calc(100% - 40px)}
 .supporter-link{padding:28px 18px;gap:17px;min-height:132px}.supporter-logo{width:55px;height:55px}.supporter-name{font-size:19px}
 .partner-reel.is-animated .reel-window{mask-image:linear-gradient(to right,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
}
@media(max-width:560px){
 .supporter-list{grid-template-columns:1fr}.partner-reel:not(.is-animated) .supporter-list>li:nth-child(n+2){border-top:1px solid var(--line)}
 .partner-reel:not(.is-animated) .supporter-list .supporter-link{border-right:0;min-height:112px;padding:24px 10px}.supporter-arrow{opacity:1}
 .partner-reel.is-animated .supporter-link{padding-inline:22px;min-height:135px}
}
@media(prefers-reduced-motion:reduce){
 .partner-reel.is-animated .reel-track{transform:none!important;width:100%;display:block;will-change:auto}
 .partner-reel.is-animated .reel-window{overflow:visible;mask-image:none}
 .partner-reel.is-animated .supporter-list{display:grid;width:calc(100% - 40px);max-width:1560px}
 .partner-reel.is-animated .supporter-list>li{width:auto}
 .partner-reel.is-animated .supporter-list[aria-hidden=true]{display:none}
}

/* Directional controls preserve the calm automatic drift. */
.reel-nav{display:flex;gap:7px;flex-shrink:0;opacity:0;transition:opacity .2s}
.reel-nav[hidden]{display:none}
.partner-reel:hover .reel-nav,.partner-reel:focus-within .reel-nav{opacity:1}
.reel-nav button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--petrol);transition:background .2s,border-color .2s}
.reel-nav button:hover{background:#b8a48e25;border-color:#8c756088}
.reel-nav button:active{background:#b8a48e50}
.reel-nav svg{width:20px;height:20px}
.supporter-link-wide .supporter-logo{width:120px}
@media(hover:none),(max-width:800px){.reel-nav{opacity:1}.supporter-link-wide .supporter-logo{width:98px}}
