.elementor-467 .elementor-element.elementor-element-4056228{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-467 .elementor-element.elementor-element-6d318be{text-align:center;}.elementor-467 .elementor-element.elementor-element-6d318be .elementor-heading-title{color:var( --e-global-color-accent );}.elementor-467 .elementor-element.elementor-element-75a58a9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-467 .elementor-element.elementor-element-75a58a9{--content-width:1600px;}}/* Start custom CSS for html, class: .elementor-element-f1d5974 *//* ================= Partners: scoped + responsive + dark mode ================= */

/* Title (scoped) */
h2.partners-title,
.knobby-partners h2.partners-title,
#partners h2.partners-title,
.elementor .elementor-widget-html h2.partners-title {
  color: var(--kk-blue-500) !important;
  text-align: center !important;
  font-size: clamp(1.6rem, 2.8vw, 2rem);
  margin-bottom: 24px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Grid layout */
.partners-logos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  align-items: center;
  justify-items: center;
  margin-top: 20px;
}

/* Card (the LINK) — rounded light-blue with subtle base shadow */
a.partner-card,
.knobby-partners a.partner-card {
  width: 220px;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;

  background: var(--kk-blue-050) !important;
  border: 2px solid var(--kk-border) !important;
  border-radius: var(--kk-radius, 12px) !important;
  box-shadow: 0 8px 24px rgba(2,12,27,.08) !important;
  padding: 12px;

  overflow: hidden;
  transition: transform .25s ease,
              box-shadow .25s ease,
              border-color .25s ease,
              background-color .25s ease;
}

/* Keyboard focus (accessible) */
a.partner-card:focus-visible {
  outline: 2px solid var(--kk-blue-500);
  outline-offset: 3px;
}

/* Logo reset inside card */
a.partner-card img,
.knobby-partners a.partner-card img,
.elementor .elementor-widget-html a.partner-card img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  display: block;

  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  mix-blend-mode: normal !important;
  transition: filter .25s ease;
}

/* Hover */
a.partner-card:hover {
  border-color: var(--kk-blue-500) !important;
  box-shadow: 0 8px 24px rgba(0,169,224,.35) !important;
  transform: scale(1.03);
}
a.partner-card:hover img { filter: brightness(1.12) !important; }

/* Kill any background strips some templates inject on the block */
.elementor .elementor-widget-html .knobby-partners,
.elementor .elementor-widget-html #partners {
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------- Mobile responsiveness ---------- */
@media (max-width: 1024px) {
  .partners-logos { gap: 20px; }
  a.partner-card { width: 210px; height: 125px; }
}

@media (max-width: 768px) {
  .partners-logos { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  a.partner-card { width: 200px; height: 120px; }
}

@media (max-width: 540px) {
  .partners-logos { gap: 16px; }
  a.partner-card { width: 190px; height: 115px; }
}

@media (max-width: 480px) {
  .partners-logos { grid-template-columns: 1fr; gap: 14px; }
  a.partner-card { width: 88vw; max-width: 360px; height: 110px; }
}

/* ---------- Respect reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  a.partner-card { transition: none; }
  a.partner-card:hover { transform: none; box-shadow: 0 8px 24px rgba(0,169,224,.25); }
  a.partner-card img { transition: none; }
}

/* ---------- Dark mode fallback ---------- */
@media (prefers-color-scheme: dark) {
  /* Title stays readable in dark */
  h2.partners-title { color: var(--kk-blue-100, #DFF6FD) !important; }

  /* Cards: subtle dark surface with brand tint */
  a.partner-card {
    background: color-mix(in oklab, var(--kk-navy, #0A3A5E) 20%, transparent);
    border-color: color-mix(in oklab, white 12%, transparent) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
  }

  /* Hover glow is a bit stronger in dark */
  a.partner-card:hover {
    border-color: var(--kk-blue-500) !important;
    box-shadow: 0 10px 28px rgba(0,169,224,.50) !important;
  }

  /* Ensure logos aren’t dimmed by global dark filters */
  a.partner-card img { filter: none !important; mix-blend-mode: normal !important; }
}/* End custom CSS */