.partners-section {
  position: relative;
  overflow: clip;
  padding: clamp(58px, 6.5vw, 86px) 0;
  color: #e3f7fb;
  background: #03045E
}
.partners-shell { position:relative; z-index:1; }
.partners-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:clamp(32px,7vw,96px); align-items:end; margin-bottom:clamp(28px,3.5vw,44px); }
.partners-heading .eyebrow { color:#59cfe6; }
.partners-heading h2 { max-width:800px; margin:12px 0 0; color:#fff; font-size:clamp(2.5rem,5.1vw,5.7rem); line-height:.96; letter-spacing:-.052em; }
.partners-heading h2 em { color:#7fdbec; font-family:var(--font-accent); font-style:italic; font-weight:400; }
.partners-heading > p { max-width:520px; margin:0 0 6px; color:#9fe4f1; font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.7; }
.partners-mosaic { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(16,minmax(0,1fr)); grid-auto-flow:dense; grid-auto-rows:88px; gap:11px; }
.partner-tile { position:relative; isolation:isolate; grid-column:span var(--tile-span,3); display:grid; place-items:center; min-width:0; padding:14px; overflow:hidden; border:1px solid rgba(196,238,247,.22); border-radius:18px; background:linear-gradient(135deg,var(--tile-a),var(--tile-b)); box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 15px 32px rgba(3,4,94,.16); transform-origin:center; }
.partner-tile::before { content:""; position:absolute; z-index:-1; inset:-45%; opacity:.48; background:radial-gradient(circle at var(--tile-x,28%) var(--tile-y,18%),rgba(255,255,255,.34),transparent 28%); transform:translate3d(0,0,0); transition:opacity .45s ease; }
.partner-tile::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.16) 43%,transparent 62%); transform:translateX(-130%); transition:transform .8s cubic-bezier(.2,.75,.2,1); }
.partner-logo { width:min(168px,calc(100% - 10px)); height:58px; display:grid; place-items:center; transition:transform .65s cubic-bezier(.16,.8,.2,1),filter .65s ease; }
.partner-logo-mask { display:none; width:100%; height:100%; background:linear-gradient(145deg,#eefafd 10%,#7fdbec 55%,#c6eff7 100%); -webkit-mask:var(--partner-logo) center/contain no-repeat; mask:var(--partner-logo) center/contain no-repeat; filter:drop-shadow(0 5px 12px rgba(3,4,94,.24)); }
.partner-logo-fallback { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 12px rgba(3,4,94,.24)); }
@supports ((mask-image:url("")) or (-webkit-mask-image:url(""))) { .partner-logo-mask{display:block}.partner-logo-fallback{display:none} }
.partner-tile:hover { z-index:3; border-color:rgba(201,240,248,.58); box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 24px 52px rgba(3,4,94,.3); }
.partner-tile:hover::after { transform:translateX(130%); }
.partner-tile:hover .partner-logo { transform:scale(1.065); filter:brightness(1.08); }
.partners-note { margin:24px 0 0; color:#56cee6; font-size:.88rem; text-align:right; }
.partners-motion .partner-tile { opacity:.82; transform:translate3d(0,10px,0) scale(.985); }
.partners-motion .partners-in-view .partner-tile { opacity:1; transform:none; transition:opacity .45s ease-out,transform .55s cubic-bezier(.2,.75,.25,1),border-color .4s ease,box-shadow .5s ease; transition-delay:calc(var(--partner-order) * 16ms); }
@media (max-width:1180px) {
  .partners-heading { grid-template-columns:1fr; gap:22px; }
  .partners-heading > p { max-width:680px; }
  .partners-mosaic { grid-template-columns:repeat(8,minmax(0,1fr)); grid-auto-rows:86px; }
  .partner-tile--medium { grid-column:span 2; }
  .partner-tile--wide { grid-column:span 4; }
}
@media (max-width:620px) {
  .partners-section { padding:54px 0; }
  .partners-heading h2 br { display:none; }
  .partners-mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:84px; gap:9px; }
  .partner-tile,.partner-tile--medium { grid-column:span 1; grid-row:span 1; padding:12px; border-radius:15px; }
  .partner-tile--wide { grid-column:span 2; }
  .partner-logo { width:min(145px,calc(100% - 6px)); height:52px; }
  .partners-note { text-align:left; }
}
@media (prefers-reduced-motion:reduce) {
  .partners-motion .partner-tile,.partners-motion .partners-in-view .partner-tile { opacity:1; transform:none; transition:none; }
  .partner-tile::after,.partner-logo { transition:none; }
}
