/* ==========================================================
   SPONSORS — logo tiles on the homepage
   Tiles are rendered by js/sponsors.js from data/sponsors.json.
   ========================================================== */
/* flex instead of grid so an incomplete last row stays centred */
.sponsor-grid{--cols:4;--gap:1.25rem;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap)}
.sponsor-tile{
  flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  display:flex;align-items:center;justify-content:center;height:140px;padding:1rem 1.25rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  text-decoration:none;color:var(--ink);overflow:hidden;
  transition:box-shadow .15s,transform .15s;
}
a.sponsor-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.sponsor-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.sponsor-tile--text{text-align:center}
.sponsor-tile__name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.3}

.sponsor-cta{text-align:center;max-width:640px;margin:2rem auto 0;color:var(--ink-muted);font-size:.95rem}
.sponsor-cta__button{margin-top:1.25rem}

@media(max-width:860px){
  .sponsor-grid{--cols:2}
}
@media(max-width:480px){
  .sponsor-grid{--gap:.75rem}
  .sponsor-tile{height:110px;padding:.75rem}
  .sponsor-tile__name{font-size:.95rem}
}
