/* ── v11.7 — Motivos internos de movimiento (Nosotros) ──────
   Reemplaza la franja de transición entre páginas (descartada)
   por interactividad DENTRO de las páginas: línea de tiempo que
   se dibuja, fichas del directorio con tilt 3D, íconos con vida. */

/* ── Timeline: línea que se dibuja al hacer scroll ─────────── */
.timeline-track__line {
  background: var(--ink-100);
  overflow: hidden;
}
.timeline-track__line::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, var(--cta), var(--c1));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.4s cubic-bezier(.16,1,.3,1) .1s;
}
.timeline-track.is-in .timeline-track__line::after { transform: scaleY(1); }

.tl-dot { transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .4s; }
.tl-dot-item { transition: opacity .5s ease, transform .5s ease; }
.tl-dot-item:hover .tl-dot { transform: scale(1.35); }

/* ── Directorio: tilt 3D interactivo ─────────────────────────── */
.tilt-card {
  --rx: 0deg; --ry: 0deg;
  transform: perspective(700px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform .25s ease-out, box-shadow .25s ease-out;
  will-change: transform;
}
.tilt-card:hover {
  z-index: 2;
}
.tilt-card .hexi {
  transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}
.tilt-card:hover .hexi { transform: translateZ(12px) scale(1.06); }

/* ── Grupos Técnicos: ícono con vida propia ─────────────────── */
.comm--motion { transition: transform .3s ease, box-shadow .3s ease; }
.comm--motion:hover { transform: translateY(-4px); }
.comm__ico-anim { transition: transform .45s cubic-bezier(.34,1.56,.64,1), background .3s; }
.comm--motion:hover .comm__ico-anim { transform: rotate(-8deg) scale(1.12); }
.comm__ico-anim svg { transition: transform .4s ease; }

@media (prefers-reduced-motion: reduce) {
  .timeline-track__line::after { transition: none !important; transform: scaleY(1) !important; }
  .tilt-card { transform: none !important; }
  .comm--motion:hover, .tilt-card:hover .hexi, .comm--motion:hover .comm__ico-anim { transform: none !important; }
}
