/* slides */
.sm-slides { width: 100%; overflow: hidden; }
.sm-slides .swiper-slide {
  height: var(--sm-slide-h, 600px);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sm-slide-content {
  max-width: 720px; padding: 24px;
  background: rgba(0,0,0,.35); color: #fff; text-align: center;
  border-radius: 4px;
}
.sm-slide-title { color:#fff; margin:0 0 8px; font-size: 2.2rem; }
.sm-slide-text  { margin:0 0 14px; }
.sm-slide-btn   { display:inline-block; padding:10px 22px; background:#fff; color:#222;
                  text-decoration:none; border-radius:2px; font-weight:600; }
.sm-slide-btn:hover { background:#f0f0f0; }

/* iconrow */
.sm-iconrow { display:grid; gap:24px; padding:60px 20px; }
.sm-iconrow.sm-cols-1 { grid-template-columns: 1fr; }
.sm-iconrow.sm-cols-2 { grid-template-columns: repeat(2,1fr); }
.sm-iconrow.sm-cols-3 { grid-template-columns: repeat(3,1fr); }
.sm-iconrow.sm-cols-4 { grid-template-columns: repeat(4,1fr); }
@media (max-width: 800px) {
  .sm-iconrow.sm-cols-2, .sm-iconrow.sm-cols-3, .sm-iconrow.sm-cols-4 {
    grid-template-columns: 1fr;
  }
}
.sm-icon { text-align:center; padding:10px; }
.sm-icon-glyph { font-size:2.6rem; margin-bottom:10px; }
.sm-icon-title { margin:0 0 6px; font-size:1.2rem; }
.sm-icon-text  { margin:0; color:#555; line-height:1.5; }

/* cta */
.sm-cta { padding:60px 20px; }
.sm-cta-inner {
  max-width:1100px; margin:0 auto; display:grid; gap:30px; align-items:center;
  grid-template-columns: 2fr 1fr;
}
.sm-cta-left .sm-cta-inner { grid-template-columns: 1fr 2fr; }
.sm-cta-text h2 { margin-top:0; font-size:1.8rem; }
.sm-cta-body   { line-height:1.6; color:#333; }
.sm-cta-btn    { display:inline-block; margin-top:18px; padding:10px 24px;
                 background:#2a7ae2; color:#fff; text-decoration:none; border-radius:3px; }
.sm-cta-btn:hover { background:#1a5fbd; }
.sm-cta-image img { width:100%; height:auto; border-radius:4px; }
@media (max-width: 800px) {
  .sm-cta-inner { grid-template-columns: 1fr !important; }
}

/* tagline */
.sm-tagline { text-align:center; font-style:italic; color:#666; padding:30px 20px; }


.sm-icon-svg-wrap { display:flex; justify-content:center; margin-bottom:14px; color:#2a7ae2; }
.sm-icon-svg      { stroke:#2a7ae2; width:56px; height:56px; }
