/* Home page sponsor showcase (data in sponsors.json, rendered by sponsors.js) */
.sp-head{text-align:center;display:grid;justify-items:center}
.sp-head .lead{margin-inline:auto}

.sp-marquee{position:relative;overflow:hidden;margin:18px 0 46px;padding-block:6px;
  -webkit-mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10%,#000 90%,#0000)}
.sp-marquee ul{display:flex;width:max-content;margin:0;padding:0;list-style:none;animation:sp-drift 38s linear infinite}
.sp-marquee:hover ul{animation-play-state:paused}
.sp-marquee li{display:grid;place-items:center;flex:0 0 auto;margin-right:18px;width:220px;height:110px;padding:20px 28px;background:var(--white);border:1px solid #161a2214;border-radius:14px}
.sp-marquee li:nth-child(odd){transform:translateY(-6px)}
.sp-marquee img{max-width:100%;max-height:44px;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.sp-marquee img.tall{max-height:76px}
@keyframes sp-drift{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sp-marquee ul{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.sp-marquee li[aria-hidden]{display:none}}

.sp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.sp-card{display:flex;flex-direction:column;background:var(--white);border:1px solid #161a2214;border-radius:14px;padding:18px 18px 22px;text-align:left;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px #0f1b3d59}
.sp-card-logo{display:grid;place-items:center;height:130px;padding:18px;margin-bottom:16px;background:#fff;border:1px solid #161a220f;border-radius:10px}
.sp-card a:has(.sp-card-logo){display:block;border-radius:10px}
.sp-card a:focus-visible{outline:3px solid var(--brass);outline-offset:2px}
.sp-card-logo img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain}
.sp-card-logo img.tall{max-height:96px}
.sp-card h3{font-family:var(--display);color:var(--navy);font-size:22px;line-height:1.2;margin-bottom:8px}
.sp-card p{color:var(--muted);font-size:15px;line-height:1.55;margin-bottom:14px;flex:1}
.sp-card-link{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);text-decoration:none}
.sp-card-link:hover{text-decoration:underline}

.sp-card-cta{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--navy);color:#fff;border-radius:14px;padding:22px 26px}
.sp-card-cta p{margin:0;font:italic 400 19px var(--serif)}

@media (max-width:980px){.sp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){
  .sp-cards{grid-template-columns:1fr}
  .sp-marquee li{width:160px;height:84px;padding:14px 18px}
  .sp-marquee img{max-height:32px}.sp-marquee img.tall{max-height:58px}
  .sp-card-logo{height:110px}
}
