.s10-cta{
  background-color:var(--color-surface-bg-subdued);
}

.s10-container{
  --container-border-block-end:1px dashed var(--color-surface-border-quiet);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:56px 16px;
  align-items:start;
}

.s10-left{
  grid-column:span 4;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding-right:16px;
}

.s10-text{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.s10-title{
  display:block;
  max-width:24ch;
  text-wrap:pretty;
}

.s10-description{
  max-width:42ch;
  font-size:18px;
  font-weight:var(--fw-300);
  line-height:25.2px;
  color:var(--color-text-soft);
  text-wrap:pretty;
}

.s10-features{
  grid-column:span 4;
  display:grid;
  grid-template-columns:subgrid;
  row-gap:40px;
}

.s10-card{
  grid-column:span 4;
}

.s10-feature{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  row-gap:16px;
  text-wrap:pretty;
}

.s10-icon-box{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1px solid var(--color-core-brand-100);
  border-radius:var(--radius-sm);
}

.s10-icon-box svg{
  display:block;
}

.s10-stop-start{
  stop-color:var(--color-accent-charm-gradientStart);
}

.s10-stop-middle{
  stop-color:var(--color-accent-charm-gradientMiddle);
}

.s10-stop-end{
  stop-color:var(--color-accent-charm-gradientEnd);
}

.s10-feature-text,
.s10-feature-link{
  max-width:400px;
  padding-right:32px;
}

.s10-feature-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}

.s10-feature-text h4,
.s10-feature-text p{
  font-size:16px;
  line-height:22.4px;
}

.s10-feature-text h4{
  font-weight:var(--fw-400);
  color:var(--color-heading-solid);
}

.s10-feature-text p{
  font-weight:var(--fw-300);
  color:var(--color-text-soft);
}

.s10-feature-link .link{
  display:inline;
  font-size:16px;
  line-height:normal;
}

@media (min-width:640px){
  .s10-container{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }

  .s10-left{
    grid-column:span 8;
    gap:32px;
  }

  .s10-features{
    grid-column:span 8;
  }
}

@media (min-width:940px){
  .s10-container{
    grid-template-columns:repeat(12,minmax(0,1fr));
  }

  .s10-left{
    grid-column:span 6;
  }

  .s10-features{
    grid-column:span 6;
  }

  .s10-card{
    grid-column:span 3;
  }

  .s10-description{
    font-size:20px;
    line-height:28px;
    letter-spacing:-.2px;
  }
}
