.rtsv-section {
  --rtsv-bg: #f7f9fd;
  --rtsv-ink: #081225;
  --rtsv-orange: #ff5a1f;
  --rtsv-violet: #7b4cff;
  --rtsv-blue: #3f63ff;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 72px 30px 76px;
  background:
    radial-gradient(circle at 10% 12%, rgba(123, 76, 255, .035), transparent 28%),
    radial-gradient(circle at 91% 90%, rgba(63, 99, 255, .035), transparent 26%),
    var(--rtsv-bg);
  color: var(--rtsv-ink);
  font-family: Montserrat, Inter, Arial, sans-serif;
  box-sizing: border-box;
}
.rtsv-section *, .rtsv-section *::before, .rtsv-section *::after { box-sizing: border-box; }
.rtsv-inner { width: 100%; max-width: 1430px; margin: 0 auto; }
.rtsv-heading { margin: 0 0 42px; color: var(--rtsv-ink); text-align: center; font-size: 42px; line-height: 1.16; letter-spacing: -.035em; font-weight: 750; }
.rtsv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.rtsv-card { display: flex; align-items: flex-start; gap: 25px; min-height: 264px; padding: 34px; background: #fff; border: 1px solid #dce2eb; border-radius: 7px; box-shadow: 0 4px 12px rgba(15, 23, 42, .12); text-decoration: none; color: inherit; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
a.rtsv-card:hover, a.rtsv-card:focus-visible { transform: translateY(-4px); border-color: rgba(63, 99, 255, .28); box-shadow: 0 13px 30px rgba(15, 23, 42, .14); outline: none; }
.rtsv-icon { flex: 0 0 auto; width: 56px; min-height: 56px; display: grid; place-items: start center; }
.rtsv-icon img { display: block; width: 52px; height: 52px; object-fit: contain; }
.rtsv-copy { min-width: 0; padding-top: 3px; }
.rtsv-title { margin: 0 0 19px; color: #101828; font-size: 20px; line-height: 1.3; letter-spacing: -.018em; font-weight: 700; }
.rtsv-description { margin: 0; color: #344054; font-size: 16px; line-height: 1.65; font-weight: 430; }
@media (max-width: 1024px) {
  .rtsv-section { padding: 62px 24px 66px; }
  .rtsv-heading { font-size: 36px; }
  .rtsv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .rtsv-card { min-height: 235px; padding: 29px; }
}
@media (max-width: 767px) {
  .rtsv-section { padding: 48px 18px 52px; }
  .rtsv-heading { margin-bottom: 30px; font-size: 30px; }
  .rtsv-grid { grid-template-columns: 1fr; gap: 16px; }
  .rtsv-card { min-height: 0; padding: 25px 22px; gap: 18px; }
  .rtsv-icon { width: 47px; min-height: 47px; }
  .rtsv-icon img { width: 45px; height: 45px; }
  .rtsv-title { margin-bottom: 10px; font-size: 18px; }
  .rtsv-description { font-size: 15px; line-height: 1.55; }
}

