/* Partners page: typographic organization cards with a staggered entrance. Plain names, never logos. */
.svc-page .pn-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.svc-page .pn-card { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:132px; padding:26px 28px; border:1px solid var(--svc-line); border-radius:5px; background:#fff; overflow:hidden; opacity:0; transform:translateY(14px); animation:pnIn .6s cubic-bezier(.22,1,.36,1) forwards; animation-delay:calc(var(--i, 0) * 90ms); }
.svc-page .pn-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,#dfbf71,#85682b); opacity:.9; }
.svc-page .pn-name { font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:1.6rem; line-height:1.15; letter-spacing:-.02em; color:var(--svc-ink); }
.svc-page .pn-sub { margin-top:8px; font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--svc-gold); }
@keyframes pnIn { to { opacity:1; transform:none; } }
@media (max-width:1023px) { .svc-page .pn-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .svc-page .pn-grid { grid-template-columns:1fr; gap:12px; } .svc-page .pn-card { min-height:0; padding:20px 22px; } .svc-page .pn-name { font-size:1.35rem; } }
@media (prefers-reduced-motion:reduce) { .svc-page .pn-card { animation:none; opacity:1; transform:none; } }
