
.rt-bs {
  --bs-gx: 1.5rem;
  --bs-gy: 0;
}
.rt-bs .container {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 1600px) {
  .rt-bs .container { max-width: 1500px; }
}
@media (min-width: 2200px) {
  .rt-bs .container { max-width: 1800px; }
}
.rt-bs .row {
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gy));
  margin-left: calc(-0.5 * var(--bs-gx));
  margin-right: calc(-0.5 * var(--bs-gx));
}
.rt-bs .row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-left: calc(var(--bs-gx) * 0.5);
  padding-right: calc(var(--bs-gx) * 0.5);
  margin-top: var(--bs-gy);
}
.rt-bs .g-3 { --bs-gx: 1rem; --bs-gy: 1rem; }
.rt-bs .g-4 { --bs-gx: 1.5rem; --bs-gy: 1.5rem; }
.rt-bs .col-12 { flex: 0 0 auto; width: 100%; }
.rt-bs .row-cols-1 > * { flex: 0 0 auto; width: 100%; }
.rt-bs .align-items-center { align-items: center; }
.rt-bs .flex-grow-1 { flex-grow: 1; }
.rt-bs .d-flex { display: flex; }
.rt-bs .mb-2 { margin-bottom: 0.5rem; }
.rt-bs .mb-3 { margin-bottom: 1rem; }
.rt-bs .mb-4 { margin-bottom: 1.5rem; }
.rt-bs .mt-4 { margin-top: 1.5rem; }

@media (min-width: 576px) {
  .rt-bs .row-cols-sm-2 > * { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px) {
  .rt-bs .col-lg-6 { flex: 0 0 auto; width: 50%; }
  .rt-bs .g-lg-5 { --bs-gx: 3rem; --bs-gy: 3rem; }
  .rt-bs .mb-lg-3 { margin-bottom: 1rem; }
  .rt-bs .mb-lg-4 { margin-bottom: 1.5rem; }
  .rt-bs .mb-lg-5 { margin-bottom: 3rem; }
  .rt-bs .mt-lg-5 { margin-top: 3rem; }
}
@media (min-width: 1200px) {
  .rt-bs .col-xl-5 { flex: 0 0 auto; width: 41.66666667%; }
  .rt-bs .offset-xl-1 { margin-left: 8.33333333%; }
  .rt-bs .row-cols-xl-4 > * { flex: 0 0 auto; width: 25%; }
}
.rt-hero img, .rt-arch img { max-width: 100%; }

/* ===================== HERO ===================== */
.rt-hero {
  --rt-ink: #0f1b3d;
  --rt-text: #5b6478;
  --rt-blue: #1565ff;
  --rt-blue-soft: #3d6bff;
  --rt-card: #f6f6f7;
  --rt-line: #e8eaf0;
  position: relative;
  overflow: hidden;
  color: var(--rt-ink);
  padding: clamp(40px, 6vw, 96px) 0 clamp(32px, 4vw, 56px);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: radial-gradient(60% 50% at 50% 85%, #eef4ff 0%, #fff 70%);
}
.rt-hero *, .rt-hero *::before, .rt-hero *::after { box-sizing: border-box; }
.rt-hero__eyebrow { margin: 0; font-size: clamp(13px, 1vw + 9px, 15px); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rt-blue-soft); }
.rt-hero__title { margin: 0; font-size: clamp(30px, 3.2vw + 12px, 56px); line-height: 1.15; font-weight: 600; letter-spacing: -0.01em; color: var(--rt-ink); max-width: 14ch; }
.rt-hero__desc { margin: 0; max-width: 520px; font-size: clamp(14px, 0.4vw + 13px, 18px); line-height: 1.6; color: var(--rt-text); }
.rt-hero__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 4px; background: var(--rt-blue); color: #fff; font-size: 16px; font-weight: 500; text-decoration: none; transition: background-color 0.2s; }
.rt-hero__btn:hover { background: #0a4fd6; color: #fff; }
.rt-hero__btn:focus-visible { outline: 3px solid #9bbcff; outline-offset: 3px; }
.rt-hero__visual { position: relative; overflow: hidden; border-radius: 28px; aspect-ratio: 10/9; background: linear-gradient(180deg, #f3f4ff 0%, #dfe6ff 100%); }
.rt-hero__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rt-hero__dots { position: absolute; inset: 0; background-image: radial-gradient(circle, #c9d3fb 2.5px, transparent 3px); background-size: 16px 16px; -webkit-mask-image: radial-gradient(70% 55% at 15% 8%, #000 0, transparent 70%), radial-gradient(60% 40% at 90% 95%, #000 0, transparent 70%); mask-image: radial-gradient(70% 55% at 15% 8%, #000 0, transparent 70%), radial-gradient(60% 40% at 90% 95%, #000 0, transparent 70%); }
.rt-stats { padding: 12px; background: #fff; border: 1px solid var(--rt-line); border-radius: 10px; }
.rt-stats__list { margin: 0; padding: 0; list-style: none; }
.rt-stats__item { height: 100%; display: flex; align-items: center; gap: 16px; padding: 22px 20px; background: var(--rt-card); border-radius: 8px; }
.rt-stats__icon { flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center; background: #fff; border: 1px solid var(--rt-line); border-radius: 8px; }
.rt-stats__icon img { width: 24px; height: 24px; display: block; }
.rt-stats__value { margin: 0; font-size: clamp(24px, 1vw + 18px, 34px); font-weight: 600; line-height: 1.1; color: var(--rt-ink); }
.rt-stats__value span { color: var(--rt-blue); }
.rt-stats__label { margin: 2px 0 0; font-size: 13px; color: var(--rt-text); }

@media (max-width: 575.98px) {
  .rt-hero__visual { border-radius: 20px; aspect-ratio: 4/3; }
  .rt-hero__btn { width: 100%; justify-content: center; }
  .rt-stats__item { padding: 16px; }
}
@media (min-width: 576px) and (max-width: 991.98px) {
  .rt-hero__visual { aspect-ratio: 16/10; }
}
@media (min-width: 1200px) {
  .rt-hero__content { padding-right: 24px; }
}
@media (min-width: 1600px) {
  .rt-stats__item { padding: 28px 26px; }
  .rt-stats__icon { width: 56px; height: 56px; }
  .rt-stats__icon img { width: 28px; height: 28px; }
}

/* ===================== ARCHITECTURE ===================== */
.rt-arch {
  --rt-bg: #0a1736;
  --rt-blue: #2f66ff;
  --rt-muted: #9aa6c4;
  --rt-step: 60vh;
  --rt-top: 0px;
  --rt-fill: 0.25;
  --rt-glow: rgba(47, 102, 255, 0.42);
  position: relative;
  background: var(--rt-bg);
  color: #fff;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.rt-arch *, .rt-arch *::before, .rt-arch *::after { box-sizing: border-box; }
@supports (height: 1svh) {
  .rt-arch { --rt-step: 60svh; }
}
.rt-arch[data-active="2"] { --rt-glow: rgba(0, 170, 255, 0.38); }
.rt-arch[data-active="3"] { --rt-glow: rgba(120, 95, 255, 0.4); }
.rt-arch[data-active="4"] { --rt-glow: rgba(0, 200, 170, 0.34); }

.rt-arch__sticky { padding: clamp(40px, 6vw, 88px) 0; }
.rt-js .rt-arch__track { height: calc(100vh + var(--rt-step) * 4); }
.rt-js .rt-arch__sticky {
  position: sticky;
  top: var(--rt-top);
  height: calc(100vh - var(--rt-top));
  min-height: 560px;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 4vh, 56px) 0 clamp(16px, 3vh, 40px);
}
@supports (height: 1svh) {
  .rt-js .rt-arch__track { height: calc(100svh + var(--rt-step) * 4); }
  .rt-js .rt-arch__sticky {
    height: calc(100svh - var(--rt-top));
    padding: clamp(20px, 4svh, 56px) 0 clamp(16px, 3svh, 40px);
  }
}
.rt-arch__sticky > .container { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }

.rt-arch__head { text-align: center; margin-bottom: clamp(12px, 2.5vh, 32px); }
.rt-arch__eyebrow { margin: 0 0 10px; font-size: clamp(13px, 0.5vw + 10px, 16px); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rt-blue); }
.rt-arch__title { margin: 0 0 12px; font-size: clamp(26px, 2.4vw + 14px, 46px); line-height: 1.15; font-weight: 600; color: #fff; }
.rt-arch__desc { margin: 0 auto; max-width: 640px; font-size: clamp(14px, 0.3vw + 13px, 17px); line-height: 1.6; color: var(--rt-muted); }

.rt-arch__visual { position: relative; display: grid; place-items: center; }
.rt-arch__visual::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(100%, 780px);
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
  background-color: var(--rt-glow);
  transition: background-color 0.8s ease;
  -webkit-mask-image: radial-gradient(circle, #000 0, transparent 62%);
  mask-image: radial-gradient(circle, #000 0, transparent 62%);
}
.rt-arch__svg { position: relative; display: block; width: auto; max-width: 100%; aspect-ratio: 894/848; height: min(320px, 34vh); }
@supports (height: 1svh) {
  .rt-arch__svg { height: min(320px, 34svh); }
}
@media (min-width: 992px) {
  .rt-arch__svg { height: min(580px, 58vh); }
}
@supports (height: 1svh) {
  @media (min-width: 992px) {
    .rt-arch__svg { height: min(580px, 58svh); }
  }
}
@media (min-width: 1600px) {
  .rt-arch__svg { height: min(660px, 64vh); }
}
@supports (height: 1svh) {
  @media (min-width: 1600px) {
    .rt-arch__svg { height: min(660px, 64svh); }
  }
}

.rt-ring { fill: none; stroke: rgba(140, 170, 230, 0.28); stroke-width: 1.2; }
.rt-orbit { transform-box: view-box; transform-origin: 50% 50%; animation: rt-spin 5s linear infinite; }
.rt-orbit--2 { animation-duration: 6s; animation-direction: reverse; }
.rt-orbit--3 { animation-duration: 5s; }
.rt-dot { fill: #3563c4; }
.rt-dot--big { fill: #2b57b4; }
@keyframes rt-spin { to { transform: rotate(360deg); } }
.rt-arch:not(.is-visible) .rt-orbit { animation-play-state: paused; }

.rt-band { transition: filter 0.5s ease; }
.rt-band__face { fill: url(#rt-g-face); }
.rt-band__under { fill: url(#rt-g-under); stroke: #4a96e6; stroke-width: 1.2; stroke-linejoin: round; }
.rt-band__label { font: 500 30px Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; fill: #0a1736; text-anchor: middle; }
.rt-js .rt-band { filter: brightness(0.6) saturate(0.8); }
.rt-js .rt-band.is-active { filter: drop-shadow(0 0 14px rgba(90, 150, 255, 0.75)); }

.rt-arch__panel { display: flex; flex-direction: column; gap: 20px; }
.rt-arch__bar { display: none; position: relative; flex: 0 0 auto; width: 100%; height: 4px; border-radius: 4px; overflow: hidden; background: rgba(255, 255, 255, 0.1); }
.rt-js .rt-arch__bar { display: block; }
.rt-arch__bar::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #3d8bff, #2f66ff); transform-origin: left center; transform: scaleX(var(--rt-fill)); transition: transform 0.2s linear; }
.rt-arch__layers { flex: 1 1 auto; display: grid; align-content: center; margin: 0; padding: 0; list-style: none; }
.rt-layer { padding: 28px 0; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.rt-layer:first-child { border-top: 0; }
.rt-layer__num { margin: 0 0 10px; font-size: clamp(13px, 0.4vw + 10px, 16px); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--rt-blue); }
.rt-layer__title { margin: 0 0 12px; font-size: clamp(26px, 1.6vw + 16px, 40px); line-height: 1.15; font-weight: 600; color: #fff; }
.rt-layer__text { margin: 0; max-width: 440px; font-size: clamp(15px, 0.3vw + 14px, 18px); line-height: 1.6; color: #e1e7f5; }
.rt-tags { display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.rt-tags li { padding: 9px 18px; border-radius: 999px; background: rgba(255, 255, 255, 0.09); font-size: 14px; color: #e8edf9; }

.rt-js .rt-layer { grid-area: 1/1; padding: 0; border: 0; opacity: 0; transform: translateY(14px); pointer-events: none; transition: opacity 0.45s ease, transform 0.45s ease; }
.rt-js .rt-layer.is-active { opacity: 1; transform: none; pointer-events: auto; }

@media (min-width: 992px) {
  .rt-arch__panel { flex-direction: row; align-items: stretch; gap: clamp(28px, 3vw, 52px); min-height: clamp(300px, 46vh, 420px); }
  .rt-arch__bar { width: 5px; height: auto; }
  .rt-arch__bar::after { background: linear-gradient(180deg, #3d8bff, #2f66ff); transform-origin: center top; transform: scaleY(var(--rt-fill)); }
}
@media (max-width: 991.98px) {
  .rt-js .rt-layers-wrap { min-height: 230px; }
}
@media (min-width: 1600px) {
  .rt-layer__text { max-width: 520px; }
}