.sm-section {
  padding: 60px 0;
  background: var(--color-white);
  color: var(--color-black);
  font-family: var(--font-base);
}

.sm-container {
  max-width: 900px;
  margin: auto;
  padding: 0 20px;
}

.sm-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 10px;
}

.sm-desc {
  opacity: .75;
  margin-bottom: 30px;
}

.sm-block {
  margin-bottom: 40px;
}

.sm-heading {
  font-size: 1.4rem;
  color: var(--color-primary);
  border-left: 4px solid var(--color-secondary);
  padding-left: 10px;
  margin-bottom: 15px;
  font-weight: 600;
}

.sm-list {
  list-style: none;
  padding-left: 0;
}

.sm-list li {
  margin-bottom: 8px;
}

.sm-list a {
  transition: var(--transition-speed);
}

.sm-list a:hover {
  color: var(--color-primary);
}

.sm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}
