.ra-steps,
    .ra-steps * {
      box-sizing: border-box;
    }

.ra-steps {
  --ra-bg: #0d141f;
  --ra-card: #151d2b;
  --ra-card-soft: #182232;
  --ra-text: #dad5aa;
  --ra-muted: #9a9480;
  --ra-gold: #dcb452;
  --ra-gold-deep: #b8922e;
  --ra-gold-dark: #7a5a1a;
  --ra-border: rgba(220, 180, 82, 0.3);
  --ra-side-padding: clamp(18px, 5vw, 56px);
  --ra-steps-intro-gap: clamp(38px, 5vw, 58px);

  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  overflow: hidden;
  padding: clamp(60px, 5.4vw, 86px) var(--ra-side-padding) clamp(64px, 5.8vw, 92px);
  color: var(--ra-text);
  text-align: center;
  background: var(
    --ra-section-bg,
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(220, 180, 82, 0.00) 14%,
      rgba(220, 180, 82, 0.14) 32%,
      rgba(220, 180, 82, 0.48) 50%,
      rgba(220, 180, 82, 0.14) 68%,
      rgba(220, 180, 82, 0.00) 86%,
      transparent 100%
    ) top center / min(1320px, 90vw) 1px no-repeat,
    linear-gradient(
      90deg,
      transparent 0%,
      rgba(220, 180, 82, 0.00) 14%,
      rgba(220, 180, 82, 0.14) 32%,
      rgba(220, 180, 82, 0.48) 50%,
      rgba(220, 180, 82, 0.14) 68%,
      rgba(220, 180, 82, 0.00) 86%,
      transparent 100%
    ) bottom center / min(1320px, 90vw) 1px no-repeat,
    #0d141f
  );
  box-shadow: var(
    --ra-section-shadow,
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(220, 180, 82, 0.14)
  );
  isolation: isolate;
}

.ra-steps::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--ra-section-pattern-opacity, 0.74);
  background: var(
    --ra-section-pattern-bg,
    repeating-radial-gradient(
      circle at 50% 50%,
      rgba(255, 255, 255, 0.017) 0 0.8px,
      transparent 0.8px 10px
    )
  );
  mix-blend-mode: var(--ra-section-pattern-blend-mode, screen);
  -webkit-mask-image: var(
    --ra-section-pattern-mask,
    repeating-conic-gradient(
      from 0deg at 50% 50%,
      #000 0deg 0.67deg,
      transparent 0.67deg 1.34deg
    ),
    radial-gradient(
      circle at 50% 50%,
      transparent 0%,
      #000 13%,
      #000 80%,
      transparent 100%
    )
  );
  mask-image: var(
    --ra-section-pattern-mask,
    repeating-conic-gradient(
      from 0deg at 50% 50%,
      #000 0deg 0.67deg,
      transparent 0.67deg 1.34deg
    ),
    radial-gradient(
      circle at 50% 50%,
      transparent 0%,
      #000 13%,
      #000 80%,
      transparent 100%
    )
  );
  -webkit-mask-composite: var(--ra-section-pattern-webkit-composite, source-in);
  mask-composite: var(--ra-section-pattern-composite, intersect);
}


.ra-steps__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 18px;
}

    .ra-steps__title {
      margin: 0;
      color: var(--ra-text);
      font-size: clamp(28px, 3vw, 36px);
      line-height: 1.12;
      font-weight: 700;
    }

    .ra-steps .ra-steps__decor {
      --decor-bg: var(--ra-section-decor-bg, #0d141f);
      margin: 25px auto 25px;
    }

    .ra-steps__intro {
      max-width: 820px;
      margin: 0 auto;
      color: var(--ra-text);
      font-size: clamp(16px, 1.55vw, 18px);
      line-height: 1.64;
    }

    .ra-steps__stage {
      position: relative;
    margin-top: var(--ra-steps-intro-gap);
    }

    .ra-steps__grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      gap: 16px;
      align-items: stretch;
    }

    .ra-steps__grid::before {
      content: "";
      position: absolute;
      top: 52px;
      left: 4%;
      width: 92%;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--ra-gold), var(--ra-gold), transparent);
      box-shadow: 0 0 6px rgba(255, 205, 87, 0.6), 0 0 14px rgba(255, 205, 87, 0.4), 0 0 24px rgba(255, 205, 87, 0.18);
      animation: raStepsGoldPulse 3s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes raStepsGoldPulse {
      0%, 100% {
        opacity: 0.72;
        box-shadow: 0 0 5px rgba(255, 205, 87, 0.42), 0 0 10px rgba(255, 205, 87, 0.28);
      }

      50% {
        opacity: 1;
        box-shadow: 0 0 10px rgba(255, 205, 87, 0.82), 0 0 22px rgba(255, 205, 87, 0.48), 0 0 34px rgba(255, 205, 87, 0.22);
      }
    }

    .ra-step {
      position: relative;
      z-index: 2;
      display: flex;
      flex-direction: column;
      min-width: 0;
      min-height: 190px;
      padding: 18px 10px 16px;
      border: 1px solid rgba(220, 180, 82, 0.36);
      border-radius: 14px;
      background:
        linear-gradient(145deg, rgb(235 216 170 / 9%), rgba(255, 255, 255, 0.014) 44%), linear-gradient(180deg, rgba(30, 32, 39, 0.98), rgba(16, 21, 30, 0.98));
      box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.27),
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        inset 0 -1px 0 rgba(220, 180, 82, 0.12);
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.55s ease, transform 0.55s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
      cursor: default;
      overflow: hidden;
      isolation: isolate;
    }

    .ra-step::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: 0.42;
      background:
        linear-gradient(135deg, transparent 0%, rgba(255, 231, 156, 0.060) 48%, transparent 64%),
        radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.045), transparent 24%);
    }

    .ra-step > * {
      position: relative;
      z-index: 1;
    }

    .ra-step.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .ra-step:hover,
    .ra-step:focus-visible,
    .ra-step.is-active {
      background: linear-gradient(135deg, #efb326, #e8bd58);
      border-color: rgba(201, 145, 55, 0.88);
      box-shadow: 0 0 5px rgba(255, 205, 87, 0.7), 0 0 12px rgba(255, 205, 87, 0.32);
      transform: translateY(-5px);
      outline: none;
    }

    .ra-step__media {
      position: relative;
      display: flex;
      justify-content: center;
      margin-bottom: 12px;
    }

    .ra-step__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .ra-step__icon img {
      width: 60px;
      height: 60px;
      object-fit: contain;
      transition: filter 0.25s ease, transform 0.25s ease;
    }

    .ra-step__badge {
      position: absolute;
      right: calc(50% - 42px);
      bottom: -7px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: var(--ra-gold);
      color: #1c1f26;
      font-size: 15px;
      font-weight: 800;
      box-shadow: 0 0 0 4px #1c1f26;
    }

    .ra-step__content {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-width: 0;
    }

    .ra-step__label {
      margin: 6px 0 8px;
      color: var(--ra-muted);
      font-size: 12px;
      line-height: 1;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .ra-step__title {
      margin: 0;
      color: #e1b759;
      font-size: 15px;
      line-height: 1.28;
      font-weight: 600;
    }

    .ra-step__text {
      display: none;
      margin: 10px 0 0;
      color: var(--ra-text);
      font-size: 15px;
      line-height: 1.55;
    }

    .ra-step:hover .ra-step__label,
    .ra-step:hover .ra-step__title,
    .ra-step:hover .ra-step__text,
    .ra-step:focus-visible .ra-step__label,
    .ra-step:focus-visible .ra-step__title,
    .ra-step:focus-visible .ra-step__text,
    .ra-step.is-active .ra-step__label,
    .ra-step.is-active .ra-step__title,
    .ra-step.is-active .ra-step__text {
      color: #1c1f26;
    }

    .ra-step:hover .ra-step__badge,
    .ra-step:focus-visible .ra-step__badge,
    .ra-step.is-active .ra-step__badge {
      background: #1c1f26;
      color: var(--ra-gold);
      box-shadow: 0 0 0 4px rgba(255, 205, 87, 0.28);
    }

    .ra-step:hover .ra-step__icon img,
    .ra-step:focus-visible .ra-step__icon img,
    .ra-step.is-active .ra-step__icon img {
      transform: scale(1.05);
      filter: drop-shadow(0 0 7px rgba(255, 255, 255, 0.62));
    }

    .ra-steps__panel {
      position: relative;
      max-width: 100%;
      margin: 24px auto 0;
      overflow: hidden;
      border: 1px solid rgba(255, 205, 87, 0.38);
      border-radius: 14px;
      background: transparent;
      box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
      color: var(--ra-text);
    }

.ra-steps .ra-steps__panel-text {
  min-height: 118px;
  margin: 0;
  padding: 22px 24px;
  color: var(--ra-text);
  font-size: 18px;
  line-height: 1.55;
  background:
    linear-gradient(145deg, rgb(235 216 170 / 9%), rgba(255, 255, 255, 0.014) 44%), linear-gradient(180deg, rgba(30, 32, 39, 0.98), rgba(16, 21, 30, 0.98));
  display: flex;
  align-items: center;
  justify-content: center;
}
		
@media (max-width: 900px) and (min-width: 761px) {
  .ra-steps .ra-steps__panel-text {
    min-height: 142px;
  }
}
		
    .ra-steps .ra-steps__panel-text.is-active {
      text-shadow: 0 0 2px rgba(255, 205, 87, 0.48);
    }

    .ra-steps__connector {
      position: absolute;
      width: 3px;
      height: 0;
      opacity: 0;
      pointer-events: none;
      z-index: 8;
      background: linear-gradient(to bottom, transparent 0%, var(--ra-gold-dark) 6%, var(--ra-gold) 44%, var(--ra-gold-dark) 94%, transparent 100%);
      box-shadow: 0 0 4px rgba(255, 205, 87, 0.72), 0 0 12px rgba(255, 205, 87, 0.28);
    }

    .ra-steps__connector.is-active {
      opacity: 1;
    }

/* Планшеты: 4 карточки сверху, 3 карточки снизу по центру.
   Луч рисуется, но проходит под карточками второго ряда. */
@media (min-width: 761px) and (max-width: 1100px) {
  .ra-steps__stage {
    isolation: isolate;
  }

  .ra-steps__grid {
    position: relative;
    z-index: 2;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 16px;
  }

  .ra-steps__grid::before {
    display: none;
  }

  .ra-step {
    grid-column: span 2;
    min-height: 180px;
    z-index: 3;
  }

  .ra-step:hover,
  .ra-step:focus-visible,
  .ra-step.is-active {
    z-index: 4;
  }

  /* Нижний ряд по центру */
  .ra-step:nth-child(5) {
    grid-column: 2 / span 2;
  }

  .ra-step:nth-child(6) {
    grid-column: 4 / span 2;
  }

  .ra-step:nth-child(7) {
    grid-column: 6 / span 2;
  }
	
/* Плавное раздвижение карточек второго ряда */
.ra-step:nth-child(5),
.ra-step:nth-child(6),
.ra-step:nth-child(7) {
  transition:
    opacity 0.55s ease,
    transform 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  will-change: transform;
}
	
  /* Сдвижение второго ряда при нажатии на 1 и 4 карточку */
  .ra-steps[data-active-step="1"] .ra-step:nth-child(5),
  .ra-steps[data-active-step="1"] .ra-step:nth-child(6),
  .ra-steps[data-active-step="1"] .ra-step:nth-child(7) {
    transform: translateX(28px);
  }

  .ra-steps[data-active-step="4"] .ra-step:nth-child(5),
  .ra-steps[data-active-step="4"] .ra-step:nth-child(6),
  .ra-steps[data-active-step="4"] .ra-step:nth-child(7) {
    transform: translateX(-28px);
  }

/* Активна 2-я карточка: увеличиваем проход между 5 и 6 */
.ra-steps[data-active-step="2"] .ra-step:nth-child(5) {
  transform: translateX(-28px);
}

.ra-steps[data-active-step="2"] .ra-step:nth-child(6),
.ra-steps[data-active-step="2"] .ra-step:nth-child(7) {
  transform: translateX(28px);
}

/* Активна 3-я карточка: увеличиваем проход между 6 и 7 */
.ra-steps[data-active-step="3"] .ra-step:nth-child(5),
.ra-steps[data-active-step="3"] .ra-step:nth-child(6) {
  transform: translateX(-28px);
}

.ra-steps[data-active-step="3"] .ra-step:nth-child(7) {
  transform: translateX(28px);
}

  /* Луч ниже карточек */
  .ra-steps__connector {
    z-index: 1;
  }

  /* Панель выше луча */
  .ra-steps__panel {
    position: relative;
    z-index: 3;
  }
}

    @media (max-width: 760px) {
      .ra-steps {
        --ra-side-padding: 16px;
        --ra-steps-intro-gap: 30px;
        padding: 42px var(--ra-side-padding);
        text-align: left;
      }

      .ra-steps__title,
      .ra-steps__intro {
        text-align: center;
      }

      .ra-steps__intro {
        font-size: 16px;
        margin-bottom: 30px;
      }

      .ra-steps .ra-steps__decor {
        margin: 22px auto 22px;
      }

      .ra-steps__grid {
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding-left: 0;
      }

      .ra-steps__grid::before {
        display: block;
        top: 22px;
        bottom: 22px;
        left: 32px;
        width: 2px;
        height: auto;
        background: linear-gradient(to bottom, transparent, var(--ra-gold), rgba(255, 205, 87, 0.72), var(--ra-gold), transparent);
      }

      .ra-step {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        min-height: auto;
        padding: 18px 16px;
        border-radius: 16px;
      }

      .ra-step:hover,
      .ra-step:focus-visible,
      .ra-step.is-active {
        transform: none;
      }

      .ra-step__media {
        margin: 0;
        justify-content: flex-start;
      }

      .ra-step__icon img {
        width: 48px;
        height: 48px;
      }

      .ra-step__badge {
        right: auto;
        left: 34px;
        bottom: -8px;
        width: 28px;
        height: 28px;
        font-size: 14px;
      }

      .ra-step__label {
        margin-top: 2px;
      }

      .ra-step__title {
        font-size: 17px;
        line-height: 1.25;
      }

      .ra-step__text {
        display: block;
        font-size: 15px;
      }

      .ra-steps__panel,
      .ra-steps__connector {
        display: none;
      }
    }

    @media (max-width: 430px) {
      .ra-steps {
        --ra-side-padding: 14px;
        padding-top: 38px;
        padding-bottom: 38px;
      }

      .ra-step {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 12px;
        padding: 16px 14px;
      }

      .ra-steps__grid::before {
        left: 29px;
      }

      .ra-step__icon img {
        width: 44px;
        height: 44px;
      }

      .ra-step__badge {
        left: 30px;
      }

      .ra-step__title {
        font-size: 16px;
      }

      .ra-step__text {
        font-size: 14px;
        line-height: 1.5;
      }
    }

    @media (max-width: 360px) {
      .ra-steps {
        --ra-side-padding: 12px;
      }

      .ra-step {
        grid-template-columns: 52px minmax(0, 1fr);
        padding: 15px 12px;
      }

      .ra-steps__grid::before {
        left: 26px;
      }

      .ra-step__icon img {
        width: 40px;
        height: 40px;
      }

      .ra-step__badge {
        left: 27px;
        width: 26px;
        height: 26px;
      }
    }

    @media (hover: none) {
      .ra-step:hover {
        transform: none;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .ra-steps__grid::before,
      .ra-step {
        animation: none !important;
        transition: none !important;
      }
    }
