
/* VillageInstitutions 1.0.1 — внешний вид как в первоначальном шаблоне */
.vinst{
  font-family:Inter,Roboto,Arial,sans-serif;
  color:#17304f;
}
.vinst *{box-sizing:border-box}

.vinst-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:26px;
}
.vinst-head-title{min-width:0}
.vinst-eyebrow{
  display:block;
  margin-bottom:5px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:850;
  color:#397056;
}
.vinst-head h2{
  margin:3px 0 0;
  color:#0d3c69;
  font-size:clamp(1.65rem,2.5vw,2.25rem);
  line-height:1.15;
}
.vinst-head>p{
  max-width:470px;
  margin:0;
  color:#728195;
  font-size:.92rem;
  line-height:1.55;
}

.vinst-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.vinst-card{
  min-width:0;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:20px;
  border:1px solid #d9e3ec;
  border-radius:16px;
  background:#fff;
  color:#17304f;
  text-decoration:none;
  box-shadow:none;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.vinst-card:hover{
  border-color:#b4c5d6;
  box-shadow:0 14px 32px rgba(15,47,83,.10);
  transform:translateY(-2px);
}
.vinst-icon{
  display:block;
  min-height:30px;
  margin-bottom:auto;
  color:#17304f;
  background:none;
  border:0;
  border-radius:0;
  font-size:1.35rem;
  line-height:1;
}
.vinst-content{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.vinst-content strong{
  color:#0d3c69;
  font-size:.94rem;
  line-height:1.3;
}
.vinst-content small{
  display:block;
  color:#728195;
  font-size:.77rem;
  line-height:1.4;
}
.vinst-text{margin-top:5px}
.vinst-contact{
  margin-top:5px;
  color:#60788a!important;
  font-weight:600;
}

@media(max-width:1050px){
  .vinst-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .vinst-head{
    display:block;
    margin-bottom:20px;
  }
  .vinst-head>p{
    display:block;
    margin-top:10px;
  }
  .vinst-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .vinst-card{
    min-height:138px;
    padding:17px;
  }
}
@media(max-width:430px){
  .vinst-grid{grid-template-columns:1fr}
}
