.partners-section {
  position: relative;
  overflow: hidden;
  padding: 145px var(--page-pad);
  background:
    radial-gradient(circle at 50% 50%, rgba(20,104,152,.14), transparent 27%),
    linear-gradient(180deg, #02080e, #03101a 55%, #02080e);
}

.partners-grid-bg {
  position: absolute;
  inset: 0;
  opacity: .1;
  background-image:
    linear-gradient(rgba(92,169,217,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(92,169,217,.08) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: radial-gradient(circle at center, black, transparent 82%);
}

.partners-heading {
  position: relative;
  z-index: 2;
  max-width: 930px;
  margin: 0 auto;
  text-align: center;
}

.partners-eyebrow {
  color: #5b87a0;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .18em;
}

.partners-heading h2 {
  margin: 18px 0 0;
  color: white;
  font-size: clamp(46px,5.2vw,80px);
  font-weight: 600;
  line-height: .95;
  letter-spacing: -.052em;
}

.partners-heading h2 span {
  display: block;
  color: var(--blue);
}

.partners-heading p {
  max-width: 650px;
  margin: 22px auto 0;
  color: #728d9e;
  font-size: 11px;
  line-height: 1.8;
}

.partners-experience {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  margin: 70px auto 0;
  display: grid;
  grid-template-columns: minmax(430px, .95fr) minmax(0, 1.05fr);
  gap: 50px;
  align-items: center;
}

.partner-orbit {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

.partner-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(92,188,246,.1);
  border-radius: 50%;
  transform: translate(-50%,-50%);
}

.partner-ring-one { width: 88%; height: 88%; }
.partner-ring-two {
  width: 63%;
  height: 63%;
  border-style: dashed;
  animation: partnerSpin 30s linear infinite;
}
.partner-ring-three { width: 35%; height: 35%; }

@keyframes partnerSpin {
  to { transform: translate(-50%,-50%) rotate(360deg); }
}

.partner-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 132px;
  height: 132px;
  transform: translate(-50%,-50%);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px solid rgba(92,188,246,.22);
  border-radius: 50%;
  background: radial-gradient(circle,rgba(27,109,157,.18),rgba(4,18,28,.84) 70%);
  box-shadow: 0 0 0 14px rgba(92,188,246,.02),0 0 65px rgba(92,188,246,.1);
}

.partner-core span {
  color: var(--blue);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: .08em;
}

.partner-core small {
  color: #557a90;
  font-family: var(--font-mono);
  font-size: 6px;
  letter-spacing: .12em;
}

.partner-node {
  position: absolute;
  width: 150px;
  min-height: 76px;
  padding: 11px;
  border: 1px solid rgba(107,181,224,.11);
  border-radius: 11px;
  background: linear-gradient(145deg,rgba(6,24,36,.93),rgba(3,13,21,.88));
  color: white;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 16px 45px rgba(0,0,0,.2);
  transition: .25s ease;
}

.partner-node:hover,
.partner-node.active {
  border-color: rgba(92,188,246,.3);
  background: linear-gradient(145deg,rgba(15,65,94,.94),rgba(4,18,28,.9));
  transform: translateY(-4px);
}

.partner-node > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(92,188,246,.18);
  border-radius: 50%;
  color: var(--blue);
  font-family: var(--font-mono);
  font-size: 6px;
}

.partner-node strong {
  display: block;
  margin-top: 8px;
  color: #b9d1de;
  font-size: 8px;
  font-weight: 600;
}

.partner-node-a { left: 0; top: 19%; }
.partner-node-b { right: 0; top: 16%; }
.partner-node-c { right: -1%; bottom: 18%; }
.partner-node-d { left: 0; bottom: 15%; }
.partner-node-e { left: 50%; top: -1%; transform: translateX(-50%); }
.partner-node-f { left: 50%; bottom: -1%; transform: translateX(-50%); }

.partner-node-e:hover,
.partner-node-e.active,
.partner-node-f:hover,
.partner-node-f.active {
  transform: translateX(-50%) translateY(-4px);
}

.partner-detail-panel {
  min-height: 430px;
  padding: 34px;
  border: 1px solid rgba(107,181,224,.11);
  border-radius: 18px;
  background: linear-gradient(145deg,rgba(5,20,31,.92),rgba(2,10,17,.84));
  backdrop-filter: blur(17px);
}

.partner-detail-top {
  display: flex;
  justify-content: space-between;
  gap: 22px;
}

.partner-detail-top small,
.partner-detail-message small,
.partner-network-status small {
  color: #4f758b;
  font-family: var(--font-mono);
  font-size: 6px;
  letter-spacing: .12em;
}

.partner-detail-top h3 {
  margin: 10px 0 0;
  color: white;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -.04em;
}

.partner-detail-top > span {
  color: #557d94;
  font-family: var(--font-mono);
  font-size: 8px;
}

.partner-detail-line {
  height: 1px;
  margin: 28px 0;
  background: rgba(105,174,216,.08);
}

.partner-detail-message {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.partner-detail-icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(92,188,246,.17);
  border-radius: 50%;
  color: var(--blue);
}

.partner-detail-message p {
  max-width: 620px;
  margin: 8px 0 0;
  color: #809aaa;
  font-size: 10px;
  line-height: 1.75;
}

.partner-network-status {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(105,174,216,.08);
  border-bottom: 1px solid rgba(105,174,216,.08);
}

.partner-network-status > div {
  padding: 18px 12px 18px 0;
  border-right: 1px solid rgba(105,174,216,.08);
}

.partner-network-status > div:not(:first-child) {
  padding-left: 18px;
}

.partner-network-status > div:last-child {
  border-right: 0;
}

.partner-network-status strong {
  display: block;
  margin-top: 7px;
  color: #94b9ce;
  font-family: var(--font-mono);
  font-size: 7px;
}

.partner-controls {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.partner-controls > button {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(103,177,221,.13);
  border-radius: 50%;
  background: rgba(6,23,34,.68);
  color: #6f93a7;
  cursor: pointer;
}

.partner-dots {
  display: flex;
  gap: 7px;
}

.partner-dot {
  width: 6px;
  height: 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #29495b;
  cursor: pointer;
}

.partner-dot.active {
  background: var(--blue);
  transform: scale(1.3);
  box-shadow: 0 0 10px rgba(92,188,246,.4);
}

@media (max-width: 1000px) {
  .partners-experience { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .partners-section { padding: 105px 18px; }
  .partner-orbit { max-width: 380px; }
  .partner-node { width: 115px; min-height: 70px; }
  .partner-node strong { font-size: 7px; }
  .partner-core { width: 100px; height: 100px; }
  .partner-detail-panel { padding: 24px; min-height: auto; }
  .partner-network-status { grid-template-columns: 1fr; }
  .partner-network-status > div,
  .partner-network-status > div:not(:first-child) {
    padding: 13px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(105,174,216,.08);
  }
}
