/* ═════════════ #/partners (ui-partners.js) ═════════════ */
.pn{max-width:1240px}
.pn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pn-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:150px;padding:16px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card);color:var(--text);transition:border-color .15s,background .15s}
a.pn-card:hover{border-color:var(--brand-line);background:var(--hover)}
.pn-logo{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r);background:var(--card-2);overflow:hidden;flex-shrink:0}
.pn-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--card-2)}
.pn-logo b{font:700 18px/1 var(--sans);color:var(--brand-text)}
.pn-t{display:flex;align-items:center;gap:8px;min-width:0}
.pn-t>b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-tag{flex-shrink:0;font-size:11px;font-weight:600;color:var(--brand-text);background:var(--brand-soft);border-radius:5px;padding:2px 7px}
.pn-b{margin:0;font-size:12.5px;line-height:1.5;color:var(--text-2)}
.pn-go{display:inline-flex;align-items:center;gap:5px;margin-top:auto;font:500 12px var(--mono);color:var(--mute)}
a.pn-card:hover .pn-go{color:var(--brand-text)}
/* coming soon: six empty seats, outlined, filling in one after another */
.pn-soon{display:flex;flex-direction:column;align-items:center;gap:18px;padding:34px 18px 30px;text-align:center}
.pn-seats{display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:10px;width:100%;justify-content:center}
.pn-seat{display:flex;align-items:center;gap:10px;height:56px;padding:0 12px;border:1px dashed var(--line-2);border-radius:var(--r-lg);animation:pn-seat 3.6s ease-in-out infinite;animation-delay:calc(var(--i) * .3s)}
.pn-seat i{width:28px;height:28px;border-radius:var(--r);background:var(--card-2);flex-shrink:0}
.pn-seat b{display:block;height:7px;width:56%;border-radius:4px;background:var(--card-2)}
.pn-seat b.s{width:30%;margin-left:-6px;opacity:.6}
@keyframes pn-seat{0%,100%{border-color:var(--line-2)}50%{border-color:var(--brand-line);background:rgba(var(--brand-rgb),.04)}}
.pn-note{margin:0;font-size:13px;color:var(--mute)}
.pt-contact{display:flex;align-items:center;justify-content:center;gap:7px;margin:16px 0 0;font-size:13px;color:var(--mute)}
.pt-contact a{color:var(--brand-text)}
@container view (max-width:640px){
  .pn-seats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pn-grid{grid-template-columns:1fr}
  .pn-card{min-height:0}
}
@media (prefers-reduced-motion:reduce){ .pn-seat{animation:none} }
body.motion-reduced .pn-seat{animation:none}
