/* Responsive client and partner logo wall on the worldwide blue background. */
.home-network { grid-column: 1 / -1; min-width: 0; width: 100%; margin-top: 40px; background: transparent; color: #fff; font-family: 'IBM Plex Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.home-network *, .home-network *::before, .home-network *::after { box-sizing: border-box; }
.home-network__inner { min-width: 0; padding-top: 40px; border-top: 1px solid #bdd3e330; }
.home-network__header { max-width: 720px; margin: 0 auto 30px; text-align: center; }
.home-network__eyebrow { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 15px; color: #c9deed; font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .09em; text-transform: uppercase; }
.home-network__eyebrow > span { flex: 0 0 23px; height: 2px; background: #ff8a3d; }
.home-network .home-network__title { margin: 0; color: #fff; font-size: 36px; font-weight: 500; line-height: 1.16; letter-spacing: -.035em; }
.home-network__intro { max-width: 640px; margin: 14px auto 0; color: #d1e1ed; font-size: 15px; line-height: 1.7; }
.home-network [hidden] { display: none !important; }
.home-network__logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.home-network__node { min-width: 0; margin: 0; padding: 0; list-style: none; }
.home-network__card { position: relative; appearance: none; display: grid; grid-template-rows: 32px 62px 30px; align-content: center; width: 100%; min-width: 0; height: 136px; margin: 0; padding: 4px 10px; border: 1px solid #c3d9e72e; border-radius: 9px; background: #ffffff03; color: #fff; font-family: inherit; text-align: center; cursor: pointer; transition: background 160ms, border-color 160ms; }
.home-network__image-area { position: relative; display: block; grid-row: 2; min-width: 0; width: 100%; height: 62px; }
.home-network__image-area > img { position: absolute; inset: 0; display: block; width: min(100%, var(--logo-max-width, 160px));  max-width: 100%; margin: auto; object-fit: contain; transition: opacity 160ms; }
.home-network__image--white { opacity: 1; }
.home-network__image--color { opacity: 0; }
/* Leave grid placement unset so the absolute label is anchored to the whole card. */
.home-network__name { position: absolute; top: 5px; left: 5px; right: 44px; z-index: 1; display: -webkit-box; min-width: 0; height: 30px; max-height: 30px; margin: 0; overflow: hidden; color: #142a40; font-size: 12px; font-weight: 500; line-height: 1.25; text-align: left; overflow-wrap: anywhere; opacity: 0; -webkit-line-clamp: 2; -webkit-box-orient: vertical; transition: opacity 160ms; }
.home-network .home-network__type { position: absolute; top: 8px; right: 8px; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; background: transparent; color: #fff; pointer-events: none; transition: background 160ms; }
.home-network__type > svg { display: block; width: 18px; height: 18px; }
.home-network__card--color-only .home-network__type, .home-network__card:is(.is-active, :focus-visible) .home-network__type { background: linear-gradient(135deg, #254e76, #142a40); }
.home-network__card--both { border:1px solid rgba(255,255,255,0.3); background: transparent; }
.home-network__card--white-only .home-network__name { color: #fff; }
.home-network__card--color-only { border-color: #fff; background: #fff; }
.home-network__card--color-only .home-network__image--color { opacity: 1; }
.home-network__card--both:is(.is-active, :focus-visible) { border-color: #fff; background: #fff; }
.home-network__card--both:is(.is-active, :focus-visible) .home-network__image--white { opacity: 0; }
.home-network__card--both:is(.is-active, :focus-visible) .home-network__image--color { opacity: 1; }
.home-network__card--white-only:is(.is-active, :focus-visible) { border-color: #bdd3e3a6; background: #ffffff0b; }
.home-network__card:is(.is-active, :focus-visible) .home-network__name { opacity: 1; }
.home-network .home-network__card:focus, .home-network .home-network__expand:focus { outline: none; }
.home-network .home-network__card:focus-visible, .home-network .home-network__expand:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.home-network__placeholder { position: relative; display: flex; min-width: 0; min-height: 136px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; padding: 40px 10px 12px; border: 1px solid #c3d9e72e; border-radius: 9px; background: #ffffff03; text-align: center; }
.home-network__placeholder > strong { color: #d1e1ed; font-size: 12px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.home-network__placeholder > span { color: #bfd2e1; font-size: 11px; line-height: 1.4; }
.home-network__controls { display: flex; align-items: center; justify-content: center; margin-top: 22px; }
.home-network__expand { appearance: none; display: inline-flex; min-height: 44px; max-width: 100%; align-items: center; justify-content: center; margin: 0; padding: 11px 18px; border: 1px solid #bdd3e38c; border-radius: 6px; background: transparent; color: #fff; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1.4; text-align: center; cursor: pointer; transition: background 160ms, border-color 160ms; }

@media (hover: hover) and (pointer: fine) {
  .home-network__card--both:hover { border-color: #fff; background: rgba(255,255,255,0.7); }
  .home-network__card--both:hover .home-network__image--white { opacity: 0; }
  .home-network__card--both:hover .home-network__image--color { opacity: 1; }
  .home-network__card--white-only:hover { border-color: #bdd3e3a6; background: #ffffff0b; }
  .home-network__card:hover .home-network__name { opacity: 1; }
  .home-network__card:hover .home-network__type, .home-network__placeholder:hover .home-network__type { background: linear-gradient(135deg, #254e76, #142a40); }
  .home-network__expand:hover { border-color: #fff; background: #ffffff0d; }
}

@media (max-width: 1099px) {
  .home-network { margin-top: 34px; }
  .home-network__inner { padding-top: 34px; }
  .home-network__logos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
}

@media (max-width: 640px) {
  .home-network { margin-top: 32px; }
  .home-network__inner { padding-top: 32px; }
  .home-network__header { margin-bottom: 24px; }
  .home-network__eyebrow { gap: 8px; margin-bottom: 13px; font-size: 10px; }
  .home-network .home-network__title { font-size: 28px; }
  .home-network__intro { max-width: 400px; margin-top: 13px; font-size: 14px; line-height: 1.65; }
  .home-network__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .home-network__card { grid-template-rows: 30px 54px 28px; height: 122px; padding: 4px 8px; border-radius: 7px; }
  .home-network__image-area { height: 54px; }
  .home-network__name { height: 28px; max-height: 28px; font-size: 11px; line-height: 1.25; }
  .home-network .home-network__type { width: 26px; height: 26px; }
  .home-network__placeholder { min-height: 122px; padding: 38px 8px 12px; border-radius: 7px; }
  .home-network__placeholder > strong { font-size: 11px; }
  .home-network__placeholder > span { font-size: 10px; }
  .home-network__expand { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-network * { transition: none !important; }
}
