.partners{
  padding: 28px 0;
  background-color: #003168;
  padding-bottom: 100px;
}

.partners__inner{
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.partners__title{
  font-size: 14px;
  font:400 14px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgb(255, 255, 255);
  margin-bottom: 14px;
}

.partners__viewport{
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 0px solid rgba(15,23,42,.1);
  padding: 16px 0;
}

/* Fade laterales */
.partners__viewport::before,
.partners__viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  pointer-events:none;
  z-index:2;
}

.partners__viewport::before{
  left:0;
  background: linear-gradient(90deg, #003168, transparent);
}

.partners__viewport::after{
  right:0;
  background: linear-gradient(270deg, #003168, transparent);
}

.partners__track{
  display: flex;
  align-items: center;
  gap: 18px;
  width: max-content;
  animation: partners-move 30s linear infinite;
}

.partners__viewport:hover .partners__track{
  animation-play-state: paused;
}

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

/* Ítems */
.partner-item{
  display: grid;
  place-items: center;
  min-width: 211px;
  height: 54px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(15,23,42,.04);
  transition: transform .2s ease, background .2s ease;
}

.partner-item img{
  height: 60px;
  max-width: 211px;
  filter: grayscale(1);
  opacity: .75;
  transition: all .2s ease;
}

.partner-item:hover{
  transform: translateY(-1px);
  background: rgba(15,23,42,.06);
}

.partner-item:hover img{
  filter: none;
  opacity: 1;
}

/* Accesibilidad */
@media (prefers-reduced-motion: reduce){
  .partners__track{ animation: none; }
  .partners__viewport{ overflow-x: auto; }
}

/* ===== CONTACTOS (AVATAR + INFO como en la imagen) ===== */
.people{
  display:flex;
  flex-direction:column;
  gap:28px; /* separación entre Valeria y Edgar */
}

.person{
  display:flex;
  align-items:center;
  gap:16px; /* distancia entre círculo y texto */
}

/* Círculo rojo con contorno oscuro (placeholder de foto) */
.contactAvatar{
  width:46px;
  height:46px;
  border-radius:999px;
  background:#ffffff;          /* rojo similar al mock */
  border:4px solid #ffffff;    /* contorno oscuro como en la imagen */
  overflow:hidden;
  flex:0 0 46px;
}

/* Foto (si existe) */
.contactAvatar__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none; /* por defecto oculto si no hay src */
}

/* Si el img tiene src, se muestra */
.contactAvatar__img[src]:not([src=""]){
  display:block;
}

.personInfo h4{
  margin:0;
  font-weight:700;
  line-height:1.15;
}

.personInfo a{
  display:block;
  margin-top:2px;
  font-size: 12px;
  opacity:.95;
  text-decoration:none;
}

.personInfo .phone{
  margin-top:4px;
  font-weight:800; /* el teléfono resalta como en tu imagen */
  letter-spacing:.2px;
}

/* Responsive: evita que se rompa raro en pantallas chicas */
@media (max-width: 520px){
  .person{
    align-items:flex-start;
  }
  .personInfo{
    padding-top:2px;
  }
}
/* =========================================================
   ✅ CONTACTO
   ========================================================= */
.section-contacto {
  background-image: url(./fondometodologia.jpg);
  background-size: cover;
  background-position: center;
  color: #fff;
  border-bottom: none;
}

.contacto {
  width: min(1200px, 100%);
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: clamp(18px, 3vw, 44px);
  align-items: center;
}

/* Logo */
.brand-logo {
  margin: 10px 0 22px;
  padding: 16px 0;
}

.home-hero__logo-contacto {
  width: min(450px, 70vw);
  filter: drop-shadow(0 18px 50px rgba(0, 0, 0, .35));
}

/* =========================================================
   ✅ CONTACTO (RESPONSIVE) — Valeria y Edgar misma altura
   ========================================================= */

/* Contenedor general contacto (ya lo tienes, lo dejo por si quieres pegar completo) */
.contacto{
  width: min(1200px, 100%);
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: clamp(18px, 3vw, 44px);
  align-items: center;
}

/* ====== GRID de personas ======
   - Desktop/Tablet grande: 2 columnas
   - Se autoajusta sin romper: min 260px
*/
.people{
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
  align-items: stretch;     /* misma altura */
  margin-bottom: 26px;
}

/* Tarjeta persona (misma altura + layout estable) */
.person{
  display: grid;
  grid-template-columns: 56px 1fr;  /* avatar + info */
  gap: 14px;
  align-items: center;
  padding: 14px 6px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  min-height: 110px;        /* ✅ fuerza misma “altura base” */
}

/* Avatar fijo (no se deforma) */
.contactAvatar{
  width: 64px;
  height: 64px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.15);
  border: 3px solid rgba(255,255,255,.45);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.contactAvatar__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Info consistente */
.personInfo{
  min-width: 0; /* evita overflow raro */
}

.personInfo h4{
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.2;
  color: #ffffff;
}

.personInfo a{
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  text-decoration: none;
  overflow-wrap: anywhere; /* ✅ correos largos no rompen */
}

.personInfo a:hover{
  text-decoration: underline;
}

.personInfo .phone{
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.95);
}

/* ====== BREAKPOINTS ====== */

/* 980px: tu layout general pasa a 1 columna (map abajo), mantenemos 2 contactos si caben */
@media (max-width: 980px){
  .contacto{
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
  }

  /* si la pantalla ya es angosta, deja que el grid se adapte */
  .people{
    grid-template-columns: repeat(2, minmax(240px, 1fr));
  }
}

/* 760px: 1 columna (stack) */
@media (max-width: 760px){
  .people{
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 18px;
  }

  .person{
    grid-template-columns: 62px 1fr;
    padding: 12px 12px;
    border-radius: 14px;
    min-height: 0; /* en mobile ya no forzamos altura */
  }

  .contactAvatar{
    width: 56px;
    height: 56px;
    border-width: 2px;
  }

  .personInfo h4{
    font-size: 15px;
  }

  .personInfo a,
  .personInfo .phone{
    font-size: 13px;
  }
}

/* 420px: compactito */
@media (max-width: 420px){
  .person{
    grid-template-columns: 54px 1fr;
    gap: 12px;
  }

  .contactAvatar{
    width: 52px;
    height: 52px;
  }
}
