.partners-page {
  --blue: #0867ef;
  --ink: #0b1d3d;
  color: var(--ink);
  background: #fff;
}
.partners-page .shell {
  width: min(1320px, calc(100% - 48px));
  margin: auto;
}
.partners-page .kicker {
  display: block;
  color: var(--blue);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}
.partners-page .kicker:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--blue);
  margin: 0 10px 3px 0;
}
.partners-hero {
  padding: 58px 0 42px;
  background:
    radial-gradient(circle at 70% 35%, #eaf6ff 0, transparent 36%), #fff;
}
.partners-hero .breadcrumb {
  font-size: 13px;
  color: #6a7890;
  margin-bottom: 46px;
}
.partners-hero-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 42px;
  align-items: center;
}
.partners-hero h1 {
  font-size: 58px;
  line-height: 1.03;
  letter-spacing: -0.045em;
  margin: 0 0 24px;
  color: #071b41;
}
.partners-hero .lead {
  font-size: 18px;
  line-height: 1.72;
}
.partners-hero .actions {
  display: flex;
  gap: 12px;
  margin: 30px 0;
}
.partners-hero .btn,
.partnership-actions .btn {
  border: 1px solid var(--blue);
  border-radius: 7px;
  padding: 13px 20px;
  font-weight: 700;
}
.partners-hero .btn.primary,
.partnership-actions .btn.primary {
  background: var(--blue);
  color: #fff;
}
.partners-proof {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.partners-proof span {
  border: 1px solid #c5d7ef;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fff;
  font-size: 13px;
}
.partners-proof b {
  font-size: 18px;
}
.partners-hero-art img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 24px 24px rgba(30, 91, 176, 0.11));
}
.partners-toc {
  border-block: 1px solid #dce6f3;
  background: #fbfdff;
  position: sticky;
  top: 74px;
  z-index: 12;
}
.partners-toc .shell {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 68px;
}
.partners-toc strong,
.partners-toc a {
  font-size: 12px;
  white-space: nowrap;
}
.partners-section {
  padding: 76px 0;
}
.section-head {
  max-width: 820px;
  margin-bottom: 32px;
}
.partners-section h2 {
  font-size: 42px;
  line-height: 1.12;
  letter-spacing: -0.035em;
  color: #081d45;
  margin: 0 0 16px;
}
.partners-section p {
  line-height: 1.65;
}
.filter-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 8px;
}
.filter-button {
  min-height: 92px;
  border: 1px solid #c9d7ea;
  background: #fff;
  border-radius: 9px;
  padding: 12px;
  text-align: left;
  color: #13294b;
}
.filter-button span,
.filter-button b {
  display: block;
}
.filter-button span {
  font-size: 13px;
  font-weight: 700;
  min-height: 34px;
}
.filter-button b {
  font-size: 18px;
  margin-top: 8px;
}
.filter-button.active {
  border: 2px solid var(--blue);
  background: #f1f7ff;
  color: #0454c8;
}
.directory-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  border-bottom: 1px solid #cddbf0;
  padding-bottom: 20px;
  margin-bottom: 16px;
}
.directory-controls {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 20px;
}
.directory-search {
  flex: 1 1 520px;
  max-width: 640px;
}
.directory-search label {
  display: block;
  margin-bottom: 7px;
  color: #13294b;
  font-size: 13px;
  font-weight: 700;
}
.directory-search input {
  width: 100%;
  min-height: 46px;
  border: 1px solid #9eb8d8;
  border-radius: 7px;
  padding: 10px 12px;
  color: #13294b;
}
.directory-search input:focus-visible,
.directory-reset:focus-visible,
.filter-button:focus-visible,
.view-all-providers:focus-visible {
  outline: 3px solid rgba(0, 95, 249, 0.32);
  outline-offset: 2px;
}
.directory-search p {
  margin: 6px 0 0;
  color: #536985;
  font-size: 12px;
}
.directory-reset {
  min-height: 46px;
  border: 1px solid #8fb3e3;
  border-radius: 7px;
  padding: 10px 16px;
  background: #fff;
  color: #0b51b9;
  font-size: 13px;
  font-weight: 700;
}
.directory-reset:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}
.partner-ledger {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.partner-record {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 14px;
  border: 1px solid #cdd9ea;
  border-radius: 10px;
  padding: 20px;
  background: #fff;
}
.partner-record[hidden] {
  display: none;
}
.partner-record-index {
  grid-row: 1/4;
  font-size: 12px;
  color: #71829a;
}
.partner-record-head {
  display: flex;
  gap: 12px;
  align-items: center;
}
.partner-category {
  font-size: 10px;
  color: #42648c;
  text-transform: uppercase;
}
.partner-record h3 {
  font-size: 18px;
  margin: 3px 0;
  color: #091f49;
}
.partner-claim {
  grid-column: 2/4;
}
.partner-claim p {
  font-size: 14px;
  margin: 5px 0;
}
.partner-visit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: center;
  border: 1px solid #4b8de9;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.partner-visit .w4-icon-external-platform {
  --w4-icon-size: 13px;
}
.partner-empty {
  text-align: center;
  border: 1px dashed #8eabd0;
  border-radius: 10px;
  background: #f7fbff;
  padding: 50px 20px;
}
.partner-empty[hidden] {
  display: none;
}
.partnership-section {
  background: #edf6ff;
}
.partnership-section .shell {
  display: grid;
  grid-template-columns: 7fr 3fr;
  gap: 60px;
  align-items: center;
}
.partnership-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.partnership-actions .secondary {
  background: #fff;
  border: 1px solid #b9d3f4;
  border-radius: 9px;
  color: #0b51b9;
  text-align: center;
}
.partners-final-cta {
  padding: 28px 0 76px;
}
.partners-final-cta .cta-band {
  min-height: 244px;
  padding: 46px 52px;
  background: #005ff9;
}
.partners-cta-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.partners-final-cta .cta-band .btn {
  background: #fff;
  color: #0c3670;
}
@media (max-width: 1024px) {
  .partners-page .shell {
    width: min(720px, calc(100% - 36px));
  }
  .partners-hero-grid {
    grid-template-columns: 1fr;
  }
  .partners-toc .shell {
    overflow-x: auto;
  }
  .filter-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .partner-ledger {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .partners-page .shell {
    width: calc(100% - 24px);
  }
  .partners-hero {
    padding: 32px 0;
  }
  .partners-hero h1 {
    font-size: 40px;
  }
  .partners-hero .lead {
    font-size: 16px;
  }
  .partners-hero .actions {
    flex-direction: column;
  }
  .partners-hero .btn {
    text-align: center;
  }
  .partners-toc {
    top: 62px;
  }
  .partners-section {
    padding: 54px 0;
  }
  .partners-section h2 {
    font-size: 32px;
  }
  .filter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .directory-heading {
    display: block;
  }
  .directory-controls {
    align-items: stretch;
    flex-direction: column;
  }
  .directory-search {
    max-width: none;
  }
  .directory-reset {
    width: 100%;
  }
  .partner-record {
    grid-template-columns: 34px 1fr;
    padding: 16px 13px;
  }
  .partner-record-index {
    grid-row: 1;
  }
  .partner-record-head {
    grid-column: 2;
  }
  .partner-claim,
  .partner-visit {
    grid-column: 1/-1;
  }
  .partner-visit {
    text-align: center;
  }
  .partnership-section .shell {
    grid-template-columns: 1fr;
  }
  .partnership-actions .btn {
    text-align: center;
  }
  .partners-final-cta .cta-band {
    padding: 30px 22px;
  }
}

/* Human-review correction: approved legacy provider logos are shown from their existing repository assets. */
.partners-hero-art {
  justify-self: center;
  width: min(100%, 720px);
}
.partners-hero-art img {
  width: 94%;
  margin-inline: auto;
}
.filter-button.is-empty {
  min-height: 68px;
  border-style: dashed;
  background: #f8fafc;
  color: #718197;
  opacity: 0.68;
}
.filter-button.is-empty span {
  min-height: 0;
  font-weight: 650;
}
.filter-button.is-empty b {
  font-size: 14px;
  margin-top: 4px;
}
.filter-button.is-empty.active {
  opacity: 1;
  border-style: solid;
  background: #f1f7ff;
  color: #0454c8;
}
.partner-record {
  grid-template-columns: 42px minmax(0, 1fr) auto;
}
.partner-record-head {
  min-height: 48px;
}
.partner-record-head > div {
  min-width: 0;
}
.partner-record-head .partner-logo {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: block;
  object-fit: contain;
}
.directory-disclosure {
  max-width: 860px;
  margin: 0 0 20px;
  color: #536985;
  font-size: 14px;
}
.partner-relation {
  grid-column: 2/3;
  align-self: center;
  justify-self: start;
  border: 1px solid #c8d9ee;
  border-radius: 999px;
  background: #f3f8fe;
  color: #31587f;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 700;
}
.partner-empty {
  padding: 30px 20px;
}
@media (max-width: 575px) {
  .filter-button.is-empty {
    min-height: 58px;
  }
  .partner-record {
    grid-template-columns: 34px minmax(0, 1fr);
  }
  .partner-record-head {
    min-height: 0;
  }
}
.partners-page .w4i-cta {
  padding: 82px 0 100px;
  background: #fff;
}
.partners-page .w4i-cta .container {
  max-width: 1280px;
}
.partners-page .w4i-cta-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 70px;
  align-items: center;
  padding: 42px 46px;
  border-radius: 24px;
  background: linear-gradient(135deg, #081b35, #0b2a52);
  box-shadow: 0 25px 60px rgba(7, 31, 64, 0.14);
}
.partners-page .w4i-cta h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(36px, 3.25vw, 46px);
  line-height: 1.075;
  letter-spacing: -0.036em;
  font-weight: 750;
}
.partners-page .w4i-cta p {
  max-width: 660px;
  margin: 15px 0 0;
  color: #a8bbd2;
  font-size: 15px;
  line-height: 1.65;
}
.partners-page .w4i-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #1160e8;
  font-size: 11px;
  font-weight: 820;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.partners-page .w4i-kicker-dark {
  color: #9bc0ff;
}
.partners-page .w4i-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 21px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 720;
  text-decoration: none;
}
.partners-page .w4i-cta-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
  min-width: 225px;
}
.partners-page .w4i-btn-light {
  background: #fff;
  color: #0a2850;
}
.partners-page .w4i-btn-ghost {
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #dce8f7;
  background: rgba(255, 255, 255, 0.04);
}
.partners-page .w4i-cta-actions small {
  text-align: center;
  color: #7892b2;
  font-size: 10.5px;
}
@media (max-width: 1024px) {
  .partner-record-head .partner-logo {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
  .partners-page .w4i-cta-panel {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .partners-page .w4i-cta-actions {
    max-width: 280px;
  }
}
@media (max-width: 575px) {
  .partner-record-head .partner-logo {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .partner-relation {
    grid-column: 1/-1;
  }
  .partners-page .w4i-cta {
    padding: 64px 0 78px;
  }
  .partners-page .w4i-cta-panel {
    padding: 30px 23px;
    border-radius: 20px;
  }
  .partners-page .w4i-cta-actions {
    max-width: none;
    min-width: 0;
  }
  .partners-page .w4i-btn {
    width: 100%;
  }
  .partners-page .w4i-cta h2 {
    font-size: clamp(30px, 8.4vw, 38px);
  }
}

main .w4i-breadcrumb {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 48px !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  color: #7a899b !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
main .w4i-breadcrumb a {
  color: #5f7186 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
main .w4i-breadcrumb a:hover {
  color: #2c3f57 !important;
  text-decoration: none !important;
}
main .w4i-breadcrumb span {
  color: #b4c0ce !important;
}
main .w4i-breadcrumb strong {
  color: #2c3f57 !important;
  font-weight: 650 !important;
}
@media (max-width: 767px) {
  main .w4i-breadcrumb {
    margin-bottom: 25px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    font-size: 11.5px !important;
  }
  main .w4i-breadcrumb strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}
.partners-hero{padding-top:64px!important}
@media(max-width:1199px){.partners-hero{padding-top:62px!important}}
@media(max-width:767px){.partners-hero{padding-top:48px!important}}
.partners-page .container{width:100%!important;max-width:1320px!important;margin-right:auto!important;margin-left:auto!important;padding-right:12px!important;padding-left:12px!important}
@media(min-width:768px) and (max-width:1199px){.partners-page .container{max-width:720px!important}}
@media(max-width:767px){.partners-page .container{max-width:100%!important}}
.partners-page {
  --w4-style-ink: #081a32;
  --w4-style-copy: #29425f;
  --w4-style-muted: #526984;
  --w4-style-blue: #1768ff;
  --w4-style-line: #dbe4ee;
  --w4-style-soft: #f6f9fd;
  font-family: Arial, "Helvetica Neue", "Microsoft YaHei", "PingFang SC", sans-serif;
}
.partners-page .kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 17px !important;
  color: var(--w4-style-blue) !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}
.partners-page .kicker::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 31px !important;
  height: 1.5px !important;
  margin: 0 !important;
  background: currentColor !important;
}
.partners-hero h1 {
  color: var(--w4-style-ink) !important;
  font-size: 60px !important;
  font-weight: 760 !important;
  line-height: 1.01 !important;
  letter-spacing: 0 !important;
}
.partners-hero .lead {
  color: var(--w4-style-copy) !important;
  font-size: 18.5px !important;
  font-weight: 520 !important;
  line-height: 1.56 !important;
}
.partners-page .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 0 21px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 720 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}
.partners-page .btn.primary {
  border-color: #0c5ff4 !important;
  background: #0c5ff4 !important;
  color: #fff !important;
}
.partners-page .btn:not(.primary) {
  border-color: var(--w4-style-line) !important;
  background: #fff !important;
  color: #173756 !important;
}
.partners-page .w4-icon {
  width: 20px !important;
  height: 20px !important;
  font-size: 20px !important;
  color: currentColor !important;
}
.partners-page .w4-icon-surface {
  width: 38px !important;
  height: 38px !important;
  color: var(--w4-style-blue) !important;
  background: #eaf4ff !important;
}
@media (max-width: 1199px) {
  .partners-hero h1 { font-size: 54px !important; }
}
@media (max-width: 767px) {
  .partners-page .kicker { font-size: 11.5px !important; }
  .partners-hero h1 { font-size: 42px !important; line-height: 1.04 !important; }
  .partners-hero .lead { font-size: 16px !important; line-height: 1.62 !important; }
  .partners-page .btn { width: 100%; min-height: 48px !important; }
}
.partners-page .shell{box-sizing:border-box!important;width:100%!important;max-width:1320px!important;padding-right:12px!important;padding-left:12px!important}
@media(min-width:768px) and (max-width:1199px){.partners-page .shell{max-width:720px!important}}
@media(max-width:767px){.partners-page .shell{max-width:100%!important}}
