.partners {
  overflow: hidden;
  padding: 34px 0 30px;
  background:
    radial-gradient(circle, rgb(128 141 153 / 14%) 1.6px, transparent 1.8px) 0 0 / 22px 22px,
    radial-gradient(ellipse at top left, rgb(250 233 231 / 34%), transparent 50%),
    linear-gradient(110deg, #f3f8f6, #fff 52%, #f2f5f8);
}
.partners__heading { max-width: 800px; margin: 0 auto 44px; padding: 0 24px; text-align: center; }
.partners__eyebrow { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 16px; color: #cf1922; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.partners__eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--color-main); }
.partners__heading h2 { margin: 0; color: #24282e; font-size: 28px; font-weight: 800; line-height: 1.35; letter-spacing: -.8px; }
.partners__description { max-width: 720px; margin: 16px auto 0; color: #697180; font-size: 19px; line-height: 1.6; }
.partners__viewport { overflow: hidden; padding: 14px 0 22px; margin-top: -10px; margin-bottom: -18px; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.partners__viewport.is-draggable { cursor: grab; touch-action: pan-y pinch-zoom; user-select: none; }
.partners__viewport.is-draggable .partners__track { animation: none; }
.partners__viewport.is-draggable .partners__card { cursor: grab; }
.partners__viewport.is-dragging, .partners__viewport.is-dragging .partners__card { cursor: grabbing; }
.partners__viewport.is-dragging .partners__card { pointer-events: none; }
.partners__track { display: flex; width: max-content; animation: partners-scroll 48s linear infinite; }
.partners__group { display: flex; flex: 0 0 auto; gap: 24px; margin: 0; padding: 0 24px 0 0; list-style: none; }
.partners__item { flex: 0 0 auto; width: clamp(190px, 13.6vw, 260px); }
.partners__card { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; padding: 28px; border: 1px solid #e0e5eb; border-radius: 9px; overflow: hidden; background: #fff; transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.partners__card::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / 40%) 50%, transparent 70%); transform: translateX(-140%); transition: transform .75s ease; }
.partners__card img { display: block; max-width: 100%; max-height: 140px; width: auto; height: auto; object-fit: contain; transition: transform .35s ease; }
.partners__viewport:hover .partners__track, .partners__viewport:focus-within .partners__track { animation-play-state: paused; }
@media (hover: hover) and (pointer: fine) {
  .partners__card:hover, .partners__card:focus-visible { transform: translateY(-5px); border-color: rgb(223 39 43 / 45%); box-shadow: 0 10px 20px -6px rgb(82 27 32 / 18%); }
  .partners__card:hover img, .partners__card:focus-visible img { transform: scale(1.08); }
  .partners__card:hover::after, .partners__card:focus-visible::after { transform: translateX(140%); }
}
.partners__card:focus-visible { outline: 2px solid var(--color-main); outline-offset: -4px; }
@keyframes partners-scroll { to { transform: translateX(-50%); } }
@media (max-width: 767px) {
  .partners { padding: 36px 0 28px; }
  .partners__heading { margin-bottom: 28px; }
  .partners__heading h2 { font-size: 24px; }
  .partners__eyebrow { font-size: 11px; }
  .partners__description { font-size: 15px; margin-top: 14px; }
  .partners__group { gap: 16px; padding-right: 16px; }
  .partners__item { width: 180px; }
  .partners__card { padding: 22px; }
  .partners__card img { max-height: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .partners__track { animation: none; }
  .partners__viewport { overflow-x: auto; mask-image: none; }
  .partners__viewport.is-draggable { overflow: hidden; }
  .partners__group[aria-hidden="true"], .partners__item[aria-hidden="true"] { display: none; }
  .partners__card, .partners__card img { transition: none; }
  .partners__card::after { display: none; }
  .partners__card:hover, .partners__card:focus-visible, .partners__card:hover img, .partners__card:focus-visible img { transform: none; }
}
