/* V349: scoped overrides for the public partner bands; the base theme stays intact. */
.partners {
  --partner-inset: var(--pad);
  --partner-card-width: clamp(240px, 24vw, 390px);
  --partner-card-height: 240px;
}
.partners .partners-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 20px 32px;
  margin-bottom: 50px;
}
.partners .partners-head > .overline { grid-column: 1 / -1; }
.partners .partners-head h2 { margin: 0; }
.partners .partners-head > button { margin: 0; }
.partners > .partner-slider,
.partners > .media-partners {
  width: calc(100% + var(--partner-inset) * 2);
  margin-left: calc(-1 * var(--partner-inset));
  margin-right: calc(-1 * var(--partner-inset));
}
.partners .media-partners { margin-top: 55px; padding-top: 42px; }
.partners .media-partners-head { padding: 0 var(--partner-inset); }
.partners .media-partners .partner-slider { width: 100%; margin: 0; }
.partners .partner-slider { overflow: hidden; }
.partners .slider-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #b9b5ae #f6f5f2;
}
.partners .logo-track {
  display: flex;
  width: max-content;
  max-width: none;
  gap: 0;
  animation: none;
  transform: none;
  will-change: auto;
}
.partners .partner-logo-group { display: flex; flex: none; width: max-content; gap: 0; }
.partners .partner-logo {
  box-sizing: border-box;
  flex: 0 0 var(--partner-card-width);
  width: var(--partner-card-width);
  min-width: 0;
  height: var(--partner-card-height);
  margin: 0;
  padding: 32px 40px;
  border: 1px solid #e3e1dc;
  border-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: filter .25s;
}
.partners .partner-logo-group:last-child .partner-logo:last-child { border-right: 1px solid #e3e1dc; }
.partners .partner-logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 1;
}
.partners .partner-logo::after { display: none; }
.partners .partner-logo:focus-visible { outline: 3px solid #a54e00; outline-offset: -5px; filter: none; }
.partners .partner-logo-name { display: none; font: 600 18px/1.45 Montserrat, sans-serif; text-align: center; overflow-wrap: anywhere; }
.partners .partner-logo.is-broken img { display: none; }
.partners .partner-logo.is-broken .partner-logo-name { display: block; }
.partners .partner-band-ready .slider-viewport { overflow: clip; }
.partners .partner-band-ready .logo-track { will-change: transform; }
.partners .partner-band-single .logo-track,
.partners .partner-band-single .partner-logo-group { width: 100%; justify-content: center; }
.partners .partner-band-actions {
  display: flex;
  justify-content: flex-end;
  min-height: 44px;
  padding: 4px var(--partner-inset) 0;
}
.partners .partner-motion-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  padding: 6px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5c5a56;
  cursor: pointer;
  font: 500 11px/1.4 Montserrat, sans-serif;
}
.partners .partner-motion-toggle[hidden] { display: none; }
.partners .partner-motion-toggle:hover { color: #944300; }
.partners .partner-motion-toggle:focus-visible { outline: 2px solid #a54e00; outline-offset: 2px; }
.partners .partner-motion-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.partners [data-partner-play] { display: none; }
.partners [aria-pressed="true"] [data-partner-pause] { display: none; }
.partners [aria-pressed="true"] [data-partner-play] { display: block; }
@media (max-width: 950px) {
  .partners .partners-head { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .partners .partners-head > .overline { grid-column: auto; }
  .partners .partners-head > button { justify-self: start; }
}
@media (max-width: 650px) {
  .partners { --partner-inset: 22px; --partner-card-width: 250px; --partner-card-height: 185px; }
  .partners .partners-head { margin-bottom: 34px; }
  .partners .partner-logo { padding: 27px 35px; }
  .partners .media-partners { margin-top: 32px; padding-top: 32px; }
  .partners .partner-band-actions { padding-top: 2px; }
}
