/* Official partner artwork sits on a light surface to preserve its colors. */
footer .partners{flex-basis:100%;min-width:0;margin:4px 0 24px;padding:42px 30px 30px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #414334;border-radius:7px;background:#10120e}
footer .partners h2{position:relative;z-index:1;width:fit-content;font-size:42px;margin:0 0 28px;line-height:1.2;color:var(--cream,#fffdd0);text-shadow:0 2px 14px #10120e}
footer .partners h2:after{content:'';display:block;width:64px;height:3px;margin-top:14px;background:var(--yellow,#efed58);border-radius:3px}
.partner-threads{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.partner-threads svg{display:block;width:100%;height:100%;min-width:650px}
.partner-threads path{fill:none;stroke:var(--yellow,#efed58);stroke-width:1.2;vector-effect:non-scaling-stroke;opacity:.28;animation:partner-thread-breathe 9s ease-in-out infinite;animation-delay:calc(var(--thread-index)*-.3s)}
.partner-window{position:relative;overflow:hidden;border-radius:4px;background:#f5f3eb;color:#242722;box-shadow:0 10px 26px #0005;border-bottom:3px solid var(--yellow,#efed58)}
.partner-list{list-style:none;margin:0;padding:18px 24px;display:flex;justify-content:center;gap:48px;align-items:center;flex-wrap:wrap}
.partner-list li{min-width:0;display:flex;justify-content:center}
.partner-link{display:flex;align-items:center;justify-content:center;gap:12px;min-height:128px;width:auto;padding:12px 8px;border-radius:3px;box-shadow:inset 0 -3px transparent;transition:background .25s,box-shadow .25s}
.partner-link:hover{background:#eeedce;box-shadow:inset 0 -3px #b9ba35}
.partner-link:focus-visible{outline:2px solid #242722;outline-offset:-5px;background:#eeedce;box-shadow:inset 0 -3px #b9ba35}
.partner-link img{display:block;max-width:200px;width:auto;height:90px;object-fit:contain}
.partner-standard img{width:auto;height:118px}
.partner-pitch img{width:108px;height:108px}
.partner-medinas img{width:auto;height:108px;border-radius:2px}
.partner-giraffe img{width:90px;height:108px;flex:none}
.partner-nstar{background:#090c0a;gap:0;width:210px}
.partner-nstar:hover,.partner-nstar:focus-visible{background:#171c18}
.partner-nstar img{width:110px;height:75px;max-width:110px;flex:none}
footer .partner-nstar span{flex-basis:auto;order:0;font-family:Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.6;letter-spacing:3px;text-transform:uppercase;color:#fff}
.partners.is-rotating .partner-track{display:flex;width:max-content;animation:partner-scroll 36s linear infinite;will-change:transform}
.partners.is-rotating .partner-list{flex:0 0 auto;width:max-content;flex-wrap:nowrap}
@media(hover:hover) and (pointer:fine){.partners:hover .partner-track{animation-play-state:paused}}
.partners.is-held .partner-track{animation-play-state:paused}
.partners.is-rotating .partner-window{touch-action:pan-y pinch-zoom;cursor:grab}
.partners.is-dragging .partner-window{cursor:grabbing;user-select:none}
.partner-link img{-webkit-user-drag:none}
/* Keyboard navigation reveals all original links in a stable, wrapping row. */
.partners.is-rotating:has(:focus-visible) .partner-track{width:100%;animation:none;transform:none}
.partners.is-rotating:has(:focus-visible) .partner-list{flex-basis:100%;width:100%;flex-wrap:wrap}
.partners.is-rotating:has(:focus-visible) .partner-list[aria-hidden]{display:none}
@keyframes partner-scroll{to{transform:translateX(-33.333333%)}}
@keyframes partner-thread-breathe{0%,100%{opacity:.2;stroke-dasharray:800 70;stroke-dashoffset:0}50%{opacity:.5;stroke-dashoffset:85}}
@media(max-width:760px){
  footer .partners{margin-top:0;padding:30px 16px 18px}
  footer .partners h2{font-size:34px;margin-bottom:24px}
  .partner-threads svg{position:absolute;right:-160px}
  .partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 4px}
  .partners.is-rotating .partner-list{display:flex;gap:32px;padding:12px 16px}
  .partners.is-rotating:has(:focus-visible) .partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 4px}
  .partner-link{padding:12px 8px;min-height:128px}
  .partners:has(:focus-visible) .partner-link img,.partners:not(.is-rotating) .partner-link img{max-width:100%}
  .partners:has(:focus-visible) .partner-nstar,.partners:not(.is-rotating) .partner-nstar{width:100%;flex-direction:column}
  footer .partners:has(:focus-visible) .partner-nstar span,footer .partners:not(.is-rotating) .partner-nstar span{font-size:14px;line-height:1.4;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .partners.is-rotating .partner-track{display:block;width:100%;animation:none;transform:none}
  .partners.is-rotating .partner-list{width:100%;flex-wrap:wrap}
  .partners.is-rotating .partner-list[aria-hidden]{display:none}
  .partner-link{transition:none}
  .partner-threads path{animation:none;opacity:.3}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){
  .partners.is-rotating .partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 4px}
  .partner-link img{max-width:100%}
  .partner-nstar{width:100%;flex-direction:column}
  footer .partner-nstar span{font-size:14px;line-height:1.4;text-align:center}
}
