/* ── Historia: imagen bajo el texto (llena el vacío) ─────────── */
.hist-img{ border-radius:16px; overflow:hidden; aspect-ratio:16/10; }
.hist-img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ── Timeline "isotipo" — hex markers, línea centrada con la col ── */
.tl2-track{ position:relative; }
.tl2-track::before{
  content:''; position:absolute; left:15px; top:14px; bottom:14px; width:2px;
  background:linear-gradient(180deg,var(--ink-200),var(--ink-100));
}
.tl2-item{ position:relative; display:flex; gap:1.1rem; margin-bottom:1.6rem; }
.tl2-item:last-child{ margin-bottom:0; }
.tl2-hex{
  position:relative; z-index:1; flex-shrink:0; width:30px; height:33px;
  clip-path:var(--hex-pointy); background:var(--c1); margin-top:1px;
}
.tl2-hex.is-act{ background:var(--cta); }
.tl2-body h4{ font-family:var(--f-d); font-weight:700; font-size:1rem; color:var(--ink-900); margin:2px 0 5px; }
.tl2-body p{ font-size:.86rem; color:var(--ink-500); line-height:1.6; }
.tl2-y{ font-family:var(--f-d); font-size:.7rem; font-weight:700; letter-spacing:.1em; margin-bottom:3px; }

/* ── Directorio piramidal — tiers centrados con conectores ───── */
.dir-pyramid{ display:flex; flex-direction:column; align-items:center; margin-top:2rem; }
.dir-tier{ position:relative; display:flex; flex-direction:column; align-items:center; padding-top:2.75rem; width:100%; }
.dir-tier.is-root{ padding-top:0; }
.dir-tier:not(.is-root)::before{
  content:''; position:absolute; top:0; left:50%; width:1px; height:2.75rem;
  background:var(--ink-200); transform:translateX(-50%);
}
.dir-tier__label{
  position:relative; margin-bottom:1.5rem; font-family:var(--f-d); font-weight:700;
  font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-400);
  background:var(--surface,#fff); padding:2px 14px; border:1px solid var(--ink-100); border-radius:20px;
}
.dir-tier__row{ display:flex; justify-content:center; flex-wrap:wrap; gap:2.5rem 2rem; width:100%; }
.dperson--lg .hexi{ width:220px; height:246px; font-size:2.8rem; }
.dperson--md .hexi{ width:146px; height:164px; font-size:1.7rem; }
.dperson--sm .hexi{ width:146px; height:164px; font-size:1.7rem; }
@media(max-width:700px){
  .dperson--lg .hexi{ width:164px; height:184px; }
  .dperson--md .hexi{ width:112px; height:126px; }
  .dperson--sm .hexi{ width:112px; height:126px; }
  .dir-tier__row{ gap:1.75rem 1.25rem; }
}

/* ── Grupos objetivo del Directorio — chips centrados (sin fila huérfana) ── */
.obj-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.obj-chip{
  display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--ink-100);
  border-radius:10px; padding:12px 16px; flex:0 1 auto;
}
.obj-chip__hex{
  width:28px; height:31px; flex-shrink:0; clip-path:var(--hex-pointy);
  background:linear-gradient(160deg,var(--p1),var(--cta)); color:#fff;
  display:grid; place-items:center; font-family:var(--f-d); font-weight:700; font-size:.65rem;
}
.obj-chip span{ font-size:.875rem; color:var(--ink-700); }

/* ── Comisiones — flex centrado (evita celda vacía en fila incompleta) ─ */
.comision-grid{ display:flex !important; flex-wrap:wrap; justify-content:center; }
.comision-cell{ flex:0 1 calc(33.333% - 1px); min-width:240px; }
@media(max-width:860px){ .comision-cell{ flex-basis:calc(50% - 1px); } }
@media(max-width:560px){ .comision-cell{ flex-basis:100%; } }

/* ── Instituciones colaboradoras — cards con marca hex ───────── */
.collab-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:1rem; }
.collab-card{
  background:#fff; border:1px solid var(--ink-100); border-radius:14px; padding:1.4rem 1.3rem;
  transition:transform .25s, box-shadow .25s, border-color .25s;
}
.collab-card:hover{ transform:translateY(-3px); box-shadow:0 16px 34px -20px rgba(11,27,44,.3); border-color:transparent; }
.collab-card__mark{
  width:38px; height:42px; clip-path:var(--hex-pointy); background:linear-gradient(160deg,var(--navy-600),var(--navy-800));
  color:#fff; display:grid; place-items:center; margin-bottom:.9rem;
}
.collab-card__n{ font-family:var(--f-d); font-weight:700; font-size:1.05rem; color:var(--ink-900); }
.collab-card__d{ font-size:.78rem; color:var(--ink-400); margin-top:2px; line-height:1.4; }
