/* Partner marks retain their original colours and proportions. */
.club-support { background: #fff; border-top: 1px solid #d9e3df; }
.club-support .section-shell { padding-top: 78px; padding-bottom: 78px; }
.support-intro { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 60px; margin-bottom: 38px; }
.support-intro h2 { font-size: clamp(36px, 4vw, 59px); margin-bottom: 0; }
.support-intro h2 em { color: #0081a6; }
.support-intro > p { max-width: 370px; justify-self: end; margin-bottom: 5px; font-size: 14px; line-height: 1.85; color: #597580; }
.partner-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; border-left: 1px solid #e0e8e4; border-top: 1px solid #e0e8e4; }
.partner-tile { min-width: 0; border-right: 1px solid #e0e8e4; border-bottom: 1px solid #e0e8e4; }
.partner-tile > a, .partner-tile > div { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 166px; padding: 18px 16px 16px; gap: 12px; height: 100%; text-decoration: none; }
.partner-tile > a:hover { background: #f7faf8; }
.partner-visit { position: absolute; right: 13px; top: 10px; font-size: 15px; color: #63808a; transition: color .2s, transform .2s; }
.partner-tile > a:hover .partner-visit { color: #df2878; transform: translate(2px,-2px); }
.partner-logo { height: 99px; width: 100%; display: flex; align-items: center; justify-content: center; }
.partner-logo img { max-width: 200px; max-height: 92px; width: auto; height: auto; object-fit: contain; }
.partner-tile[data-partner=biskupice] img { height: 80px; }
.partner-tile[data-partner=school] img, .partner-tile[data-partner=bavaris] img { width: 220px; max-width: 100%; }
.partner-tile[data-partner=bavaris] img { background: #0b1c24; padding: 12px; border-radius: 3px; }
.partner-tile[data-partner=saz] img { max-width: 160px; max-height: 92px; }
.partner-tile[data-partner=frajo] img { width: 140px; max-width: 100%; border-radius: 3px; }
.partner-name { font-size: 10px; line-height: 1.45; font-weight: 700; text-align: center; color: #425d66; }
.support-donation { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 38px; background: #dfebde; margin-top: 32px; padding: 34px; border-radius: 5px; }
.donation-percent { font-size: 88px; font-weight: 800; line-height: .95; letter-spacing: -.07em; margin: 0; color: #0d2e3b; }
.donation-percent span { font-size: 42px; letter-spacing: -.05em; margin-left: 5px; }
.support-donation h3 { font-size: 25px; margin-bottom: 10px; line-height: 1.15; }
.support-donation .donation-copy { font-size: 12px; line-height: 1.8; color: #49656d; margin: 0; max-width: 430px; }
.support-donation .button { min-height: 50px; gap: 22px; padding: 0 20px; font-size: 11px; }
@media (max-width: 1050px) {
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-tile:last-child { grid-column: 1 / -1; }
  .support-donation { grid-template-columns: 110px 1fr; gap: 24px; }
  .support-donation .button { grid-column: 2; justify-self: start; }
  .donation-percent { grid-row: 1 / span 2; font-size: 78px; }
}
@media (max-width: 760px) {
  .club-support .section-shell { padding-top: 58px; padding-bottom: 58px; }
  .support-intro { grid-template-columns: 1fr; gap: 20px; margin-bottom: 28px; }
  .support-intro > p { justify-self: start; font-size: 12px; max-width: 400px; }
  .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-tile > a, .partner-tile > div { min-height: 150px; padding: 15px 12px; gap: 12px; }
  .partner-logo { height: 86px; }
  .partner-logo img { max-width: 100%; max-height: 80px; }
  .partner-tile[data-partner=biskupice] img { height: 68px; }
  .partner-name { font-size: 9px; }
  .support-donation { grid-template-columns: 1fr; padding: 26px 23px; gap: 20px; margin-top: 24px; }
  .donation-percent { grid-row: auto; font-size: 68px; }
  .donation-percent span { font-size: 33px; }
  .support-donation h3 { font-size: 25px; }
  .support-donation .button { grid-column: auto; width: 100%; font-size: 11px; padding: 0 16px; gap: 10px; }
}
