.hsmart {
  margin: var(--section-margin) 0;
  overflow-x: clip;
}
.hsmart__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(20px, 5vw, 60px);
  align-items: center;
}

.hsmart--bg-default .hsmart__grid {
  padding: var(--card-padding);
  background: var(--color-bg-light-accent);
  border-radius: 32px;
}

.hsmart__title {
  margin-bottom: clamp(20px, 3vw, 40px);
  max-width: 474px;
}
.hsmart__title span {
  display: inline-block;
  padding: 0.05em 0.4em 0.15em;
  background: var(--color-accent);
  color: #fff;
  border-radius: 100px;
  line-height: 1.1;
  transform: rotate(-2deg);
}

.hsmart__title strong {
  color: var(--color-accent);
  font-weight: inherit;
}

.hsmart__snippet {
  max-width: 520px;
  margin-bottom: clamp(20px, 4vw, 60px);
  color: var(--color-text-main);
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.hsmart__visual {
  position: relative;
}
.hsmart__image {
  display: block;
  width: 100%;
  height: auto;
}


.hsmart--left .hsmart__content {
  order: 2;
}

.hsmart--left .hsmart__grid {
  grid-template-columns: 512px 1fr;
}

.hsmart--left .hsmart__title {
  max-width: 100%;
}

.hsmart--left .hsmart__snippet {
  max-width: 600px;
}

@media (width < 1280px) {
  .hsmart__grid {
    grid-template-columns: repeat( 2, minmax(0, 1fr) ) !important;
  }
}


@media (width < 992px) {
  .hsmart__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  
  .hsmart__visual {
    order: -1;
    max-width: 440px;
    margin: 0 auto;
  }

  .hsmart__title {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }

  .hsmart__snippet {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .hsmart__action {
    text-align: center;
  }
}

@media (width < 768px){
  .hsmart__snippet {
    gap: 0;
  }
}