/* ============================================================
   Section "Partenaires — orbite"  ([partners_orbit])
   Repère design fixe : 1000 x 500 px, centre = (500, 250).
   La scène est mise à l'échelle (scale) pour rester responsive.
   ============================================================ */
.partners-orbit{
  --po-navy:#263b5e;
  --po-green:#1aa17a;
  --po-yellow:#f0b323;
  --po-chip:#ffffff;
  padding:70px 20px 90px;
  text-align:center;
  overflow:hidden;
}
.partners-orbit__eyebrow{
  color:var(--po-green);
  font-weight:700;
  letter-spacing:.18em;
  font-size:14px;
  margin:0 0 14px;
  text-transform:uppercase;
}
.partners-orbit__title{
  font-size:clamp(28px,4vw,46px);
  line-height:1.1;
  font-weight:800;
  color:var(--po-navy);
  margin:0 0 18px;
}
.partners-orbit__subtitle{
  max-width:620px;
  margin:0 auto 10px;
  color:#5b6b82;
  font-size:18px;
  line-height:1.5;
}

.partners-orbit__stage-wrap{
  position:relative;
  width:100%;
  max-width:1000px;
  margin:10px auto 0;
}
.partners-orbit__stage{
  position:absolute;
  top:0; left:50%;
  width:1000px;
  height:500px;
  transform-origin:top center;
  transform:translateX(-50%) scale(var(--po-scale,1));
}

/* Anneaux décoratifs (les ellipses) */
.partners-orbit__rings{
  position:absolute;
  inset:0;
  width:1000px;
  height:500px;
  pointer-events:none;
}
.partners-orbit__rings ellipse{
  fill:none;
  stroke-width:1.5;
  vector-effect:non-scaling-stroke;
}

/* Logo central */
.partners-orbit__center{
  position:absolute;
  left:500px; top:250px;
  width:150px; height:150px;
  margin:-75px 0 0 -75px;
  border-radius:50%;
  background:var(--po-chip);
  box-shadow:0 18px 45px rgba(38,59,94,.18), 0 4px 12px rgba(38,59,94,.08);
  display:flex; align-items:center; justify-content:center;
  z-index:60; /* les logos "derrière" passent dessous, ceux "devant" au-dessus */
}
.partners-orbit__center img{ width:78%; height:auto; }

/* Chips partenaires (positionnés par JS, ne tournent jamais -> toujours droits) */
.partners-orbit__chip{
  position:absolute;
  top:0; left:0;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--po-chip);
  box-shadow:0 12px 28px rgba(38,59,94,.14), 0 3px 8px rgba(38,59,94,.07);
  will-change:transform;
}
.partners-orbit__chip span{
  font-weight:700;
  font-size:12px;
  letter-spacing:.02em;
  text-align:center;
  line-height:1.15;
  padding:0 8px;
  color:var(--po-navy);
}
.partners-orbit__chip img{ max-width:74%; max-height:60%; object-fit:contain; }

@media (max-width:600px){
  .partners-orbit{ padding:50px 14px 60px; }
  .partners-orbit__subtitle{ font-size:16px; }
}

@media (prefers-reduced-motion: reduce){
  .partners-orbit__chip{ transition:none !important; }
}
