/* Two equal groups form one continuous CSS loop. JS only manages user controls. */
.partner-banner { background:#eeebe3; padding:32px 0 12px; border-block:1px solid #c6c0b4; color:#202326; }
.partner-heading { width:min(calc(100% - 40px),1200px); margin:auto; gap:24px; }
.partner-heading h2 { margin:0; font-size:24px; letter-spacing:-.035em; line-height:1.3; }
.partner-note { margin:8px 0 0; font-size:18px; color:#57534c; line-height:1.6; }
.partner-pause { min-width:144px; min-height:56px; font:inherit; font-size:18px; color:#202326; border-color:#8b857a; background:#fffefa; }
.partner-viewport { overflow:auto; padding:24px 20px 28px; mask-image:linear-gradient(90deg,transparent,#000 20px,#000 calc(100% - 20px),transparent); }
.partner-track { width:max-content; }
.partner-group { min-width:0; padding-right:16px; gap:16px; }
.partner-card { flex:0 0 auto; min-width:244px; min-height:96px; padding:18px 24px; gap:16px; border:1px solid #c6c0b4; border-radius:18px; color:#202326; background:#fffefa; box-shadow:0 8px 18px #2023260c,inset 0 1px #fff; font-size:20px; line-height:1.4; }
.partner-copy small { color:#57534c; font-size:18px; line-height:1.6; }
.partner-art { display:grid; place-items:center; flex:0 0 64px; width:64px; height:64px; border-radius:12px; background:#fffefa; padding:4px; }
.partner-art img { width:56px; height:56px; object-fit:contain; filter:none; }
.partner-arrow { color:#57534c; font-size:20px; }
.partner-card:hover,.partner-card:focus-visible,.partner-card:active { transform:translateY(-2px); background:#fffefa; box-shadow:0 12px 22px #20232619,inset 0 1px #fff; }
.partner-card:focus-visible,.partner-pause:focus-visible { outline:3px solid #6c5b43; outline-offset:4px; }
.partner-banner[data-motion="running"] .partner-track,
.partner-banner[data-motion="paused"] .partner-track { animation:resource-marquee 110s linear infinite; }
.partner-banner[data-motion="paused"] .partner-track,
.partner-banner:hover .partner-track,
.partner-banner:focus-within .partner-track { animation-play-state:paused; }
/* Keyboard focus restores the original group so every link stays in view. */
.partner-banner[data-keyboard-focus] .partner-track { animation:none; transform:none; }
.partner-banner[data-keyboard-focus] .partner-group[aria-hidden="true"] { display:none; }
@keyframes resource-marquee { from { transform:translateX(-50%); } to { transform:translateX(0); } }
@media(prefers-color-scheme:dark) {
 .partner-banner { background:#212224; border-color:#77736b; color:#f5f5f3; }
 .partner-note { color:#d0c9bc; }
 .partner-pause { color:#f5f5f3; background:#27282a; border-color:#8b857a; }
 .partner-pause:focus-visible { outline-color:#ebd9b4; }
}
@media(max-width:600px) {
 .partner-heading { display:block; }
 .partner-note { max-width:none; }
 .partner-pause { margin-top:16px; font-size:18px; padding:10px 16px; }
 .partner-card { min-width:230px; padding:16px 20px; }
}
@media(prefers-reduced-motion:reduce) {
 .partner-viewport { overflow:visible; mask-image:none; }
 .partner-track { width:100%; animation:none!important; transform:none!important; }
 .partner-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,244px),1fr)); width:100%; padding:0; }
 .partner-group[aria-hidden="true"] { display:none; }
 .partner-card { min-width:0; transform:none!important; }
}
