/* The final constellation opens into a full-bleed, living partner ribbon. */
#custom{height:150svh}
.partners{position:relative;padding:100px 0 88px;scroll-margin-top:110px;isolation:isolate}
.partners__intro{width:100%;max-width:calc(var(--page-width) + var(--page-gutter)*2);margin-inline:auto;padding-inline:var(--page-gutter)}
.partners__intro{text-align:center}
.partners__intro .eyebrow{font-size:12px;letter-spacing:.17em;color:#9daabd;margin-bottom:24px}
.partners__intro h2{font-size:clamp(36px,4vw,58px);line-height:1.12;letter-spacing:-.05em}
.partners__orbit{position:relative;margin-top:50px;padding:10px 0}
.partners__stars{position:absolute;inset:-16px 0;width:100%;height:calc(100% + 32px);pointer-events:none;opacity:0}
.partners__marquee{overflow:hidden;width:100%;padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.partners__track{display:flex;width:max-content;will-change:transform}
.partners__set{display:flex;align-items:center;justify-content:space-around;gap:58px;flex-shrink:0;min-width:100vw;list-style:none;margin:0;padding:0 29px}
.partners__set li{flex:0 0 180px}
.partner{position:relative;display:flex;align-items:center;justify-content:center;height:90px;width:180px;border-radius:8px;color:var(--white);text-decoration:none;outline-offset:8px;-webkit-tap-highlight-color:transparent}
.partner img{display:block;max-width:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.66;transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.partner--skymail img{filter:grayscale(1) invert(1) brightness(2.7);mix-blend-mode:screen}
.partner:hover img,.partner:focus-visible img{opacity:1;transform:translateY(-4px)}
.partner:focus-visible{outline:1px solid #bad0ee}
.partner::after{content:'';position:absolute;bottom:0;left:50%;width:3px;height:3px;background:#eef5ff;border-radius:50%;box-shadow:0 0 12px 3px #b0d3ff55;opacity:0;transform:translateY(5px);transition:opacity .35s,transform .35s}
.partner:hover::after,.partner:focus-visible::after{opacity:1;transform:translateY(0)}
/* All seven marks stay accessible in a stable grid for keyboard navigation and
   reduced motion. Repeated visual copies never enter the accessibility tree. */
.partners.is-keyboard .partners__marquee,.partners.is-reduced .partners__marquee{mask-image:none}
.partners.is-keyboard .partners__track,.partners.is-reduced .partners__track{width:100%;transform:none!important;will-change:auto}
.partners.is-keyboard .partners__set,.partners.is-reduced .partners__set{min-width:0;width:min(1180px,100%);margin-inline:auto;justify-content:center;flex-wrap:wrap;gap:24px 42px;padding:0 var(--page-gutter)}
.partners.is-keyboard [data-copy],.partners.is-reduced [data-copy]{display:none}
.partners.is-reduced .partner img,.partners.is-reduced .partner::after{transition:none;transform:none}
@media(max-width:760px){
  .partners{padding:76px 0 64px}
  .partners__intro h2{font-size:clamp(34px,8vw,48px)}
  .partners__intro .eyebrow{font-size:12px;margin-bottom:20px}
  .partners__orbit{margin-top:36px;padding:8px 0}
  .partners__set{gap:38px;padding-inline:19px}
  .partners__set li,.partner{width:156px;flex-basis:156px}
  .partner img{max-width:92%;max-height:48px}
  .partners.is-reduced .partners__set,.partners.is-keyboard .partners__set{gap:12px 16px}
  .partners.is-reduced .partners__set li,.partners.is-keyboard .partners__set li{flex-basis:140px}
  .partners.is-reduced .partner,.partners.is-keyboard .partner{width:140px}
}
@media(prefers-reduced-motion:reduce){.partner img,.partner::after{transition:none;transform:none}}
