/* Cover reveals keep the original artwork as the resting state. */
.work-visual-shell{position:relative}
.work-visual.has-reveal-cover .card-reveal-image{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .65s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){.work-visual.has-reveal-cover:hover .card-reveal-image{opacity:1;transform:scale(1)}}
.work-visual.has-reveal-cover:focus-visible .card-reveal-image{opacity:1;transform:scale(1);animation:none}
.work-visual:focus-visible{outline:3px solid #6a9465;outline-offset:4px}
.work-visual .visual-arrow{z-index:3}
.cover-cycle-enabled .card-reveal-image{animation:cover-reveal-cycle 9s ease-in-out infinite}
.cover-cycle-paused .card-reveal-image{animation-play-state:paused}
.cover-image-failed .card-reveal-image{opacity:0!important;animation:none!important}
@keyframes cover-reveal-cycle{0%,32%,100%{opacity:0;transform:scale(1.035)}44%,82%{opacity:1;transform:scale(1)}}

/* A continuous, quiet ribbon; each logo retains its proportions and its original color on interaction. */
.partners-section{padding:72px 0;border-block:1px solid var(--line);background:var(--paper);overflow:hidden}
.partners-heading{text-align:center;margin-bottom:32px}
.partners-heading .eyebrow{margin-bottom:16px}
.partners-heading h2{max-width:900px;margin:0 auto;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.2}
.partners-motion-toggle{margin-top:22px;min-height:44px;padding:10px 16px;font-size:12px}
.partners-motion-toggle[hidden]{display:none}
.partners-viewport{overflow-x:auto;overflow-y:hidden;padding:8px 24px;scrollbar-width:thin}
.partners-viewport.is-moving{overflow:hidden}
.partners-track{display:flex;width:max-content;margin-inline:auto;will-change:transform}
.partners-group{display:flex;gap:18px;list-style:none;padding:0 18px 0 0;margin:0;flex:none}
.partner-item{flex:none;margin:0;padding:0}
.partner-logo{display:flex;align-items:center;justify-content:center;width:220px;height:112px;padding:24px;border:0;border-radius:0;background:transparent;box-shadow:none}
a.partner-logo{cursor:pointer}
.partner-logo img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.65;transition:filter .4s ease,opacity .4s ease}
.partner-logo:hover img,.partner-logo:focus-visible img,.partner-logo:active img{filter:grayscale(0);opacity:1}
.partner-logo:focus-visible{outline:3px solid #6a9465;outline-offset:3px}
@media(max-width:760px){.partners-section{padding:48px 0}.partner-logo{width:170px;height:100px;padding:20px}.partners-group{gap:14px;padding-right:14px}.partners-viewport{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.work-visual.has-reveal-cover .card-reveal-image,.partner-logo,.partner-logo img{transition:none;animation:none}.partners-track{will-change:auto}}
