/* Official sponsor marks retain their original colors, proportions, and margins. */
.contest-detail-page .contest-sponsors{grid-column:1/-1;min-width:0;margin-top:36px}
.contest-detail-page .contest-sponsors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.school-contest-page .contest-sponsors-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.contest-detail-page .contest-sponsors-grid li{min-width:0;margin:0;padding:0}
.contest-detail-page .contest-sponsor-link{display:flex;min-height:124px;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:18px 12px;border:1px solid #dce6df;border-radius:4px;background:#fff;color:#253b30;text-align:center;text-decoration:none;transition:border-color .15s,background-color .15s}
.contest-detail-page .contest-sponsor-link:hover{border-color:#628c72;background:#f9fcfa}
.contest-detail-page .contest-sponsor-link:focus-visible{outline:3px solid #167343;outline-offset:3px}
.contest-detail-page .contest-sponsor-logo-stage{display:flex;width:100%;height:56px;align-items:center;justify-content:center}
.contest-detail-page .contest-sponsor-logo{display:block;flex:none;width:var(--logo-width);max-width:100%;aspect-ratio:var(--logo-ratio)}
.contest-detail-page .contest-sponsor-logo img{display:block;width:100%;height:100%;object-fit:contain}
.contest-detail-page .contest-sponsor-logo-parts{display:flex;width:180px;max-width:100%;align-items:center;justify-content:center;gap:3.2%}
.contest-detail-page .contest-sponsor-name{font-size:13px;font-weight:600;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.contest-detail-page .contest-sponsor-credit{margin:14px 0 0;font-size:12px;line-height:1.8;color:#647369;word-break:keep-all}
.contest-detail-page .contest-sponsor-credit a{color:inherit;text-underline-offset:3px}
@media(max-width:1100px){.contest-detail-page .contest-sponsors-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.contest-detail-page .contest-sponsors{margin-top:24px}.contest-detail-page .contest-sponsors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.contest-detail-page .contest-sponsor-link{min-height:116px;padding:15px 10px;gap:10px}.contest-detail-page .contest-sponsor-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){.contest-detail-page .contest-sponsor-link{transition:none}}
