/* Continuous partner strip. Repeated visual tiles represent one named partner. */
.partners-section { padding-block: 64px; border-bottom: 1px solid var(--line); overflow: hidden; }
.partners-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.partners-heading .kicker { margin-bottom: 12px; }
.partners-heading h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.25; letter-spacing: -.035em; margin: 0; }
.partners-heading h2 span { color: var(--muted); font-weight: 400; }
.partners-pause { flex-shrink: 0; border: 1px solid var(--line-2); color: var(--muted); background: var(--glass); border-radius: 99px; padding: 9px 14px; font: inherit; font-size: 12px; cursor: pointer; }
.partners-pause[hidden] { display: none; }
.partner-marquee { display: block; overflow: hidden; border-block: 1px solid var(--line); padding-block: 22px; color: var(--ink); text-decoration: none; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.partner-marquee-track { display: flex; width: max-content; }
.partner-marquee-group { display: flex; flex-shrink: 0; gap: 20px; padding-right: 20px; }
.partner-tile { width: 300px; display: flex; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--line-2); border-radius: 18px; background: linear-gradient(135deg, rgba(255,255,255,.065),rgba(255,255,255,.02)); box-shadow: var(--hi); }
.partner-mark { display: grid; place-items: center; width: 72px; height: 72px; flex-shrink: 0; background: #fff; border-radius: 12px; overflow: hidden; }
.partner-mark img { display: block; width: 72px; height: 72px; object-fit: contain; background: #fff; }
.partner-wordmark { font-family: "Space Grotesk", sans-serif; font-size: 25px; font-weight: 600; letter-spacing: -.035em; }
.partner-wordmark > span { display: block; margin-top: 4px; font-family: "Inter",sans-serif; font-size: 11px; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.partner-tile-arrow { color: var(--brand-soft); margin-left: auto; }
.marquee-ready .partner-marquee-track { animation: partner-glide 40s linear infinite; }
@keyframes partner-glide { to { transform: translateX(-50%); } }
.partners-paused .partner-marquee-track, .partners-section:focus-within .partner-marquee-track { animation-play-state: paused; }
@media (hover: hover) { .partners-section:hover .partner-marquee-track { animation-play-state: paused; } .partners-pause:hover { color: var(--ink); border-color: var(--brand-soft); } }
.partners-caption { display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; font-size: 12px; color: var(--muted); }
.partners-caption a { color: var(--brand-soft); text-decoration: none; }
.partners-caption a:hover { text-decoration: underline; }
.partners-pause:focus-visible, .partner-marquee:focus-visible, .partners-caption a:focus-visible { outline: 2px solid var(--brand-soft); outline-offset: 5px; }
.partner-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.partners-section:not(.marquee-ready) .partner-marquee-group:nth-child(2), .partners-section:not(.marquee-ready) .partner-tile:not(:first-child) { display: none; }
.partners-section:not(.marquee-ready) .partner-marquee { mask-image: none; }
@media (max-width: 600px) { .partners-section { padding-block: 44px; } .partners-heading { align-items: start; } .partners-heading h2 span { display: block; margin-top: 5px; } .partner-tile { width: 260px; gap: 14px; padding: 14px; } .partner-wordmark { font-size: 23px; } .partner-marquee-group { gap: 14px; padding-right: 14px; } .partners-caption { flex-wrap: wrap; } }
@media (prefers-reduced-motion: reduce) {
  .marquee-ready .partner-marquee-track { animation: none; transform: none; }
  .partner-marquee { mask-image: none; }
  .partner-marquee-group:nth-child(2), .partner-tile:not(:first-child) { display: none; }
  .partners-pause { display: none; }
}
