/* Inicio institucional: dos proyectos de software seleccionados y colaboradores.
   No cambia el diseño de Inicio 0, Inicio 2 ni las páginas interiores.
   SVG ilustrativos nuevos; logos y retratos únicamente del repositorio original. */
body.page-institucional .software-showcase{
  padding:clamp(82px,8vw,125px) 0 clamp(95px,10vw,150px);
  background:#fff;
  color:var(--ink);
}
body.page-institucional .software-showcase-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:clamp(24px,4vw,65px);
  margin:clamp(44px,5vw,72px) 0 clamp(37px,5vw,64px);
}
body.page-institucional .software-showcase-heading>.large-link{flex:0 0 auto;margin-bottom:4px}
body.page-institucional .software-showcase-heading .micro-label,
body.page-institucional .collaborations-heading .micro-label{color:var(--institutional-blue)}
body.page-institucional .software-showcase-heading h2,
body.page-institucional .collaborations-heading h2{
  font:400 clamp(2.85rem,5.7vw,6.2rem)/1.04 var(--serif);
  letter-spacing:-.055em;
  margin:20px 0 20px;
}
body.page-institucional .software-showcase-heading h2 em,
body.page-institucional .collaborations-heading h2 em{
  color:var(--institutional-blue);
  font-style:normal;
}
body.page-institucional .software-showcase-heading p:not(.micro-label){
  font:400 .99rem/1.85 var(--sans);
  color:var(--ink-soft);
  max-width:640px;
  margin:0;
}
/* Dos tarjetas centradas: Mosaico Web y Piloto CIE-11 Maule. */
body.page-institucional .software-cards{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:clamp(17px,1.8vw,25px);
}
body.page-institucional .software-card{
  --software-gap:clamp(17px,1.8vw,25px);
  width:calc((100% - var(--software-gap)*3)/4);
  display:flex;
  min-width:0;
  flex-direction:column;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:3px;
  transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease;
}
body.page-institucional .software-card:hover,
body.page-institucional .software-card:focus-within{
  border-color:#a5bcc8;
  box-shadow:0 16px 36px rgba(25,54,81,.095);
  transform:translateY(-2px);
}
body.page-institucional .software-visual{
  display:block;
  width:100%;
  overflow:hidden;
  background:#e8f1f6;
  text-decoration:none;
}
body.page-institucional .software-visual img{
  width:100%;
  aspect-ratio:640/410;
  display:block;
  object-fit:cover;
  transition:transform .24s ease;
}
body.page-institucional .software-card:hover .software-visual img{transform:scale(1.025)}
body.page-institucional .software-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:25px 21px 23px;
  min-width:0;
}
body.page-institucional .software-counter{
  display:block;
  font:790 .68rem/1.5 var(--sans);
  color:#557486;
  letter-spacing:.08em;
}
body.page-institucional .software-card h3{
  font:400 clamp(1.32rem,1.8vw,1.72rem)/1.23 var(--serif);
  letter-spacing:-.035em;
  margin:15px 0 13px;
  color:var(--ink);
}
body.page-institucional .software-card h3 a{text-decoration:none}
body.page-institucional .software-card h3 a:hover{color:var(--institutional-blue)}
body.page-institucional .software-card p{
  color:var(--ink-soft);
  font:.86rem/1.7 var(--sans);
  margin:0 0 27px;
  overflow-wrap:break-word;
}
body.page-institucional .software-more{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:auto;
  min-height:47px;
  padding-top:12px;
  border-top:1px solid #dce5e9;
  color:var(--institutional-blue);
  font:770 .77rem/1.45 var(--sans);
  text-decoration:none;
}
body.page-institucional .software-more:hover{text-decoration:underline}

/* Colaboradores: personas, instituciones internacionales y nacionales,
   agrupados según el archivo original, sin afirmar vigencia actual. */
body.page-institucional .collaborations-section{
  padding:clamp(88px,8vw,125px) 0 clamp(100px,9vw,135px);
  background:#eff3f4;
  color:var(--ink);
}
body.page-institucional .collaborations-heading{margin:clamp(42px,5vw,70px) 0 70px}
body.page-institucional .collaborations-heading h2{max-width:900px}
body.page-institucional .collaboration-group+ .collaboration-group{margin-top:76px}
body.page-institucional .collab-group-title{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:10px 25px;
  padding:17px 0 23px;
  border-top:1px solid #bbcbd2;
}
body.page-institucional .collab-group-title h3{
  font:400 clamp(1.62rem,2.8vw,2.65rem)/1.22 var(--serif);
  letter-spacing:-.032em;
  max-width:680px;
}
body.page-institucional .collab-group-title span{
  font:720 .68rem/1.5 var(--sans);
  color:#5b7582;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body.page-institucional .collaborators-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}
body.page-institucional .collab-person{
  display:grid;
  grid-template-columns:98px minmax(0,1fr);
  align-items:center;
  gap:19px;
  min-width:0;
  min-height:148px;
  padding:20px;
  background:#fff;
  border:1px solid #d9e3e6;
}
body.page-institucional .collab-person img{
  display:block;
  width:98px;
  height:98px;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  filter:saturate(.84);
}
body.page-institucional .collab-person h4{
  font:400 clamp(1.22rem,1.55vw,1.55rem)/1.22 var(--serif);
  letter-spacing:-.03em;
  margin:0 0 8px;
}
body.page-institucional .collab-person p{
  margin:0;
  color:#597080;
  font:.78rem/1.65 var(--sans);
  overflow-wrap:break-word;
}
body.page-institucional .collaboration-logo-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  gap:14px;
}
body.page-institucional .collab-logo{
  display:flex;
  flex:0 1 calc((100% - 56px)/5);
  min-width:170px;
  min-height:155px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:21px 14px 14px;
  text-align:center;
  gap:14px;
  border:1px solid #d9e3e6;
  background:#fff;
}
body.page-institucional .collab-logo img{
  display:block;
  width:100%;
  height:80px;
  max-width:180px;
  object-fit:contain;
}
body.page-institucional .collab-logo span{
  color:#5b7080;
  font:690 .72rem/1.35 var(--sans);
  overflow-wrap:break-word;
}
body.page-institucional .collaboration-logo-grid.national .collab-logo{
  flex-basis:235px;
  min-height:175px;
}
body.page-institucional .collaboration-logo-grid.national .collab-logo img{height:95px}
@media(max-width:1180px){
  body.page-institucional .software-card{width:calc((100% - var(--software-gap)*2)/3)}
  body.page-institucional .collaborators-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-institucional .collab-logo{flex-basis:calc((100% - 42px)/4)}
}
@media(max-width:930px){
  body.page-institucional .software-showcase-heading{align-items:flex-start;flex-direction:column;gap:22px}
  body.page-institucional .software-card{width:calc((100% - var(--software-gap))/2)}
  body.page-institucional .collab-logo{flex-basis:calc((100% - 28px)/3);min-width:0}
}
@media(max-width:640px){
  body.page-institucional .collaborators-grid{grid-template-columns:minmax(0,1fr)}
  body.page-institucional .collab-logo{flex-basis:calc((100% - 14px)/2)}
  body.page-institucional .collaborations-heading{margin-bottom:45px}
  body.page-institucional .collaboration-group+ .collaboration-group{margin-top:55px}
  body.page-institucional .collab-person{min-height:128px;grid-template-columns:84px minmax(0,1fr);gap:17px;padding:16px}
  body.page-institucional .collab-person img{width:84px;height:84px}
}
@media(max-width:540px){
  body.page-institucional .software-card{width:100%}
  body.page-institucional .software-card-body{padding:24px 23px 22px}
  body.page-institucional .software-card h3{font-size:1.67rem}
  body.page-institucional .software-card p{font-size:.91rem}
  body.page-institucional .collab-logo{min-height:141px;padding:16px 9px 13px}
  body.page-institucional .collab-logo img{height:65px}
  body.page-institucional .collab-logo span{font-size:.65rem}
  body.page-institucional .collaboration-logo-grid.national .collab-logo{flex-basis:calc((100% - 14px)/2)}
  body.page-institucional .collaboration-logo-grid.national .collab-logo img{height:74px}
}
@media(prefers-reduced-motion:reduce){
  body.page-institucional .software-card,
  body.page-institucional .software-visual img{transition:none}
}

/* Solo dos desarrollos en la portada: ocupación equilibrada del ancho. */
body.page-institucional .software-showcase .software-card {
  width: calc((100% - var(--software-gap)) / 2);
  max-width: 600px;
}
@media (max-width: 600px) {
  body.page-institucional .software-showcase .software-card {
    width: 100%;
    max-width: none;
  }
}
