/* =====================================================================
   [C-08] PARTNERS DE EQUIPAMIENTO — sección propia con dos tarjetas fijas
   (logo + rol), centradas. Sin marquesina (Adrián la quitó el 19-sep): la vida
   está en el hover, patrón Mobbin "trusted by" (logos en gris que recuperan el
   color) + 21st "Tilt + Spotlight" (inclinación 3D suave y foco de luz que
   sigue al cursor, reutilizando js/tilt.js). Con teclado o táctil, solo el color.
   ===================================================================== */
.partners .container { padding: 76px 0 82px; }
.partners__label { margin: 0; }

.partners__grid {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 28px;
  margin-top: 40px; perspective: 1100px;
}

.plogo {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; gap: 22px; height: 104px; padding: 0 36px 0 32px;
  border-radius: 20px; background: #fff; border: 1px solid var(--line);
  box-shadow: 0 10px 30px -18px rgba(var(--shadow), 0.25); white-space: nowrap;
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));
  transform-style: preserve-3d;
  transition: transform .55s var(--ease-out), box-shadow .35s ease, border-color .35s ease;
  cursor: default;
}
.plogo.is-tilting { transition-duration: .12s, .35s, .35s; }
.plogo:hover {
  --lift: -4px;
  border-color: var(--blue-soft);
  box-shadow: 0 26px 48px -24px rgba(var(--shadow), 0.38), 0 0 0 4px rgba(169, 213, 245, .18);
}

/* Logos en gris a reposo; color al pasar el cursor (Mobbin "trusted by") */
.plogo img {
  width: auto; -webkit-user-drag: none;
  filter: grayscale(1) opacity(.62);
  transform: translateZ(0);
  transition: filter .35s ease, transform .55s var(--ease-out);
}
.plogo:hover img { filter: grayscale(0) opacity(1); transform: translateZ(0) scale(1.04); }
.plogo--udara img { height: 46px; }
.plogo--fst img { height: 38px; }

.plogo__role {
  padding-left: 22px; border-left: 1px solid var(--line);
  font-size: 15px; color: var(--ink-3); letter-spacing: -0.005em;
  transition: color .3s ease, border-color .3s ease;
}
.plogo:hover .plogo__role { color: var(--ink); border-color: var(--blue-soft); }

/* Foco de luz que sigue al cursor (21st "Spotlight"): --mx/--my los pone js/tilt.js */
.plogo__glow {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0;
  background: radial-gradient(220px circle at var(--mx, 50%) var(--my, 50%), rgba(27, 159, 254, .16), rgba(27, 159, 254, 0) 65%);
  transition: opacity .35s ease;
}
.plogo:hover .plogo__glow { opacity: 1; }

@media (max-width: 1100px) {
  .partners .container { padding: 56px 0 60px; }
  .plogo { height: 80px; gap: 14px; padding: 0 22px 0 20px; }
  .plogo--udara img { height: 34px; }
  .plogo--fst img { height: 28px; }
  .plogo__role { padding-left: 14px; font-size: 13px; }
}
@media (max-width: 640px) {
  .partners__grid { flex-direction: column; align-items: stretch; gap: 14px; padding: 0 var(--gutter); }
  .plogo { justify-content: flex-start; }
}
