.partners { padding: 40px 0 44px; border-bottom: 1px solid var(--line); }
.partners-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 30px; }
.partners-heading h2 { margin: 0; font-size: 22px; line-height: 1.3; letter-spacing: -.02em; }
.partners-case { color: var(--blue-dark); font-size: 13px; font-weight: 500; text-decoration: none; }
.partners-case:hover { text-decoration: underline; text-underline-offset: 4px; }
.partners-case span { margin-left: 5px; }
.partners-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; gap: 28px; padding: 0; margin: 0; list-style: none; }
.partner { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 64px; }
.partner-logo { width: 100%; height: auto; max-height: 52px; object-fit: contain; }
.partner-brunoyam { max-width: 157px; }
.partner-academy { max-width: 190px; }
.partner-stepik { max-width: 130px; }
.partner-getcourse { max-width: 169px; filter: brightness(0); opacity: .8; }
.partner-data { gap: 10px; font-size: 17px; font-weight: 700; line-height: 1.15; letter-spacing: -.035em; }
.partner-data > img { flex: 0 0 48px; border-radius: 10px; width: 48px; height: 48px; object-fit: cover; }
.partner-school { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; letter-spacing: .02em; color: var(--muted); }
[data-theme="dark"] .partner-logo { filter: grayscale(1) brightness(0) invert(1); opacity: .9; }
[data-theme="dark"] .partners-case { color: #83b8ff; }
@media (max-width: 900px) {
  .partners-list { gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .partners-heading { align-items: flex-start; }
  .partners-case { max-width: 240px; text-align: right; line-height: 1.5; }
}
@media (max-width: 540px) {
  .partners { padding: 28px 0 32px; }
  .partners-heading { flex-direction: column; gap: 10px; margin-bottom: 24px; }
  .partners-heading h2 { font-size: 21px; }
  .partners-case { max-width: none; text-align: left; font-size: 12px; }
  .partners-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
  .partner { min-height: 60px; }
  .partner:last-child { grid-column: 1 / -1; }
  .partner-data { font-size: 14px; gap: 8px; }
  .partner-data > img { width: 40px; height: 40px; flex-basis: 40px; }
  .partner-brunoyam { max-width: 142px; }
  .partner-stepik { max-width: 120px; }
  .partner-getcourse { max-width: 154px; }
}
