/* Services UI (v2.4.5) */
.vt-service-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:14px;
}
.vt-service-card{
  grid-column: span 12;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  border-radius:16px;
  padding:16px 16px;
  box-shadow: 0 8px 24px rgba(17,24,39,.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
@media (min-width: 768px){
  .vt-service-card{ grid-column: span 6; padding:18px 18px;}
}
@media (min-width: 1024px){
  .vt-service-card{ grid-column: span 4; }
}
.vt-service-card a{
  display:flex;
  gap:14px;
  align-items:flex-start;
  text-decoration:none;
  color:inherit;
}
.vt-service-ico{
  width:44px;
  height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  background: linear-gradient(135deg, rgba(2,124,237,.12), rgba(0,154,68,.10));
  border:1px solid rgba(2,124,237,.16);
  flex: 0 0 auto;
}
.vt-service-meta{ min-width:0; }
.vt-service-title{
  font-weight:700;
  font-size:16px;
  margin:0 0 6px;
}
.vt-service-desc{
  margin:0;
  color: rgba(17,24,39,.70);
  line-height:1.5;
  font-size:14px;
}
.vt-service-cta{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;
  color: rgba(17,24,39,.65);
  font-weight:600;
  font-size:14px;
  white-space:nowrap;
}
.vt-service-cta svg{ width:18px; height:18px; }
.vt-service-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 34px rgba(17,24,39,.10);
  border-color: rgba(2,124,237,.24);
}
.vt-page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin: 10px 0 16px;
}
.vt-page-head h1{
  margin:0;
  font-size:26px;
  letter-spacing:-0.02em;
}
.vt-page-head .vt-sub{
  margin:0;
  max-width: 640px;
}
