/* Portada - colegios de la congregacion (carrusel) */
.cong { max-width: 1180px; margin: 0 auto; padding: 96px 40px 0; }
.cong__panel {
  background: linear-gradient(150deg,#101820,#182430 62%,#241A26);
  border: 1px solid #232C36;
  border-radius: 32px;
  padding: 38px 0 36px;
  box-shadow: 0 26px 60px -36px rgba(16,24,32,.7);
  overflow: hidden;
}
.cong__head { padding: 0 36px; margin-bottom: 28px; max-width: 62ch; }
.cong__eyebrow { font: 600 12px 'IBM Plex Sans', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mag-200); }
.cong__title { margin: 10px 0 8px; font: 700 26px 'Manrope', sans-serif; letter-spacing: -.03em; color: #fff; }
.cong__text { margin: 0; font: 400 15px/1.7 'IBM Plex Sans', sans-serif; color: rgba(255,255,255,.72); }

.cong__viewport { position: relative; overflow: hidden; }
.cong__track { display: flex; padding: 6px 0; width: max-content; animation: csr-marquee 46s linear infinite; }
.cong__set { display: flex; }
.cong__viewport:hover .cong__track,
.cong__viewport:focus-within .cong__track { animation-play-state: paused; }

.cong__item {
  width: 190px; height: 110px; flex: none; margin-right: 16px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  background: rgba(255,255,255,.05);
  display: flex; align-items: center; justify-content: center;
  padding: 20px; box-sizing: border-box;
}
a.cong__item:hover { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.3); text-decoration: none; }
.cong__item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cong__name { font: 600 14px/1.35 'IBM Plex Sans', sans-serif; color: rgba(255,255,255,.85); text-align: center; }

@keyframes csr-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Reducir movimiento: sin animacion, los logos se acomodan en filas */
@media (prefers-reduced-motion: reduce) {
  .cong__track { animation: none; width: auto; padding: 6px 36px; }
  .cong__set { flex-wrap: wrap; justify-content: center; }
  .cong__set--dup { display: none; }
}

@media (max-width: 600px) {
  .cong { padding: 56px 20px 0; }
  .cong__head { padding: 0 22px; }
}