.partners-hero {
  position:relative;
  overflow:hidden;
  padding:18px 32px 26px;
  margin-bottom:24px;
  color:#fff;
  border-radius:var(--radius-lg);
  background:radial-gradient(900px 340px at 85% -10%,#3d6fb8 0,transparent 60%),linear-gradient(135deg,#16233a 0%,#1d3557 55%,#244b88 100%)
}

.partners-hero::after {
  content:'';
  position:absolute;
  left:32px;
  bottom:0;
  width:72px;
  height:3px;
  border-radius:4px 4px 0 0;
  background:#7fb0f5
}

.partners-hero .breadcrumbs {
  margin-bottom:14px;
  color:#b8c6dc
}

.partners-hero .breadcrumbs a:hover {
  color:#fff
}

.partners-hero .breadcrumbs [aria-current] {
  color:#fff
}

.partners-hero .breadcrumbs li+li::before {
  color:#6f84a3
}

.partners-hero h1 {
  color:#fff;
  font-size:clamp(26px,3vw,34px);
  letter-spacing:-1px
}

.partners-hero__lead {
  margin-top:6px;
  font-size:15px;
  color:#c9d6ea
}

.partners-hero__badge {
  display:inline-block;
  margin-top:12px;
  padding:4px 12px;
  font-size:12px;
  font-weight:700;
  color:#fff;
  border:1px solid #ffffff3d;
  border-radius:999px;
  background:#ffffff1a
}

.partners-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  margin-bottom:40px
}

.partner-card {
  display:flex;
  flex-direction:column;
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:opacity .35s ease var(--d,0ms),transform .35s ease var(--d,0ms),box-shadow .2s ease,border-color .2s ease
}

.partner-card:hover,.partner-card:focus-within {
  transform:translateY(-4px);
  border-color:#9db8e0;
  box-shadow:0 12px 28px #24324b1a
}

.partner-card__logo {
  height:120px;
  padding:24px 30px
}

.partner-card__logo.is-link {
  cursor:pointer
}

/* hidden until the grid scrolls into view (partners-reveal.js); only when scripting is available */
@media (scripting:enabled) {
  .partners-grid[data-reveal-grid] .partner-card:not(.is-in) {
    opacity:0;
    transform:translateY(14px)
  }
}

.partner-card__logo img {
  filter:grayscale(.55);
  opacity:.88;
  transition:filter .2s ease,opacity .2s ease
}

.partner-card:hover img,.partner-card:focus-within img {
  filter:none;
  opacity:1
}

.partner-card__name-fallback {
  font-size:20px;
  font-weight:800;
  text-align:center;
  letter-spacing:-.5px;
  color:#637c9d;
  overflow-wrap:anywhere
}

.partners-empty {
  padding:64px 24px;
  margin-bottom:48px;
  text-align:center;
  background:var(--color-surface);
  border:1px dashed var(--color-border);
  border-radius:var(--radius-lg)
}

.partners-empty p {
  margin-top:8px
}

@media (max-width:1279px) {
  .partners-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
}

@media (max-width:1023px) {
  .partners-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px
  }
  .partners-hero {
    padding:16px 24px 24px
  }
  .partners-hero::after {
    left:24px
  }
}

@media (max-width:639px) {
  .partners-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .partners-hero {
    padding:14px 16px 20px
  }
  .partners-hero::after {
    left:16px
  }
  .partners-hero .breadcrumbs {
    margin-bottom:10px
  }
  .partners-hero__lead {
    font-size:14px
  }
  .partner-card__logo {
    height:92px;
    padding:14px
  }
}

@media (prefers-reduced-motion:reduce) {
  .partners-grid[data-reveal-grid] .partner-card:not(.is-in) {
    opacity:1;
    transform:none
  }
  .partner-card {
    transition:none
  }
  .partner-card img {
    transition:none
  }
  .partner-card:hover,.partner-card:focus-within,.partner-card:hover img,.partner-card:focus-within img {
    transform:none
  }
}
