:root{
  --vmb-radius: 16px;
}

.vmb-align-left{ text-align:left; }
.vmb-align-center{ text-align:center; }
.vmb-align-right{ text-align:right; }

.vmb-h{
  margin: 0 0 10px 0;
  line-height: 1.12;
}
.vmb-h--sm{ font-size: 18px; }
.vmb-h--md{ font-size: 28px; }
.vmb-h--lg{ font-size: 40px; }

.vmb-text{
  line-height: 1.7;
}
.vmb-text--sm{ font-size: 14px; }
.vmb-text--md{ font-size: 16px; }
.vmb-text--lg{ font-size: 18px; }

.vmb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration:none;
  border: 1px solid currentColor;
  font-weight: 800;
}
.vmb-btn--sm{ padding: 8px 12px; font-size: 13px; }
.vmb-btn--md{ padding: 10px 14px; font-size: 14px; }
.vmb-btn--lg{ padding: 12px 16px; font-size: 16px; }

.vmb-btn--primary{
  background: currentColor;
  color: #fff;
}
.vmb-btn--secondary{
  background: transparent;
  opacity: .9;
}

.vmb-figure{
  margin: 0;
}
.vmb-figure img{
  max-width: 100%;
  height: auto;
  display: inline-block;
}

.vmb-divider{
  border: 0;
  border-top: 1px solid rgba(0,0,0,.18);
}

.vmb-section--content{
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.vmb-cols{
  display:grid;
}
.vmb-cols--2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.vmb-cols--3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.vmb-cols--4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

@media (max-width: 860px){
  .vmb-cols.vmb-cols--stack{
    grid-template-columns: 1fr !important;
  }
}

.vmb-col{
  padding: 14px;
}

.vmb-hero{
  position: relative;
  border-radius: var(--vmb-radius);
  overflow: hidden;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.vmb-hero__overlay{
  position:absolute;
  inset:0;
  background: #000;
}
.vmb-hero__inner{
  position: relative;
  padding: 36px 22px;
  max-width: 980px;
  margin: 0 auto;
}
.vmb-hero__heading{
  margin: 0 0 10px 0;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
}
.vmb-hero__text{
  max-width: 720px;
  opacity: .92;
  line-height: 1.65;
}
.vmb-hero__actions{
  margin-top: 16px;
}
