/* Telegram Ads static-export layout repair. The original page relied on a
   missing scroll-slider runtime, leaving duplicate slides stacked together. */
.tg_hero .service_hero-content {
  width: min(620px, calc(100vw - 96px));
  max-width: 620px;
}

.tg_hero .service_hero-bottom .home_hero-text {
  max-width: 620px;
  text-wrap: balance;
}

/* The source's character-by-character typewriter markup inherits pre-wrap,
   causing this long paragraph to wrap one character per line in this hero. */
.tg_hero .service_hero-bottom {
  display: block;
}

.tg_hero .service_hero-bottom .home_hero-text,
.tg_hero .service_hero-bottom .typewriter_text,
.tg_hero .service_hero-bottom .typewriter_char {
  white-space: normal !important;
}

.tg_hero .service_hero-bottom .home_hero-text {
  width: 620px !important;
  max-width: 100%;
  flex: none !important;
}

.tg_hero .service_hero-bottom .home_hero-btn {
  margin-top: 28px;
}

/* Show the four unique steps as a stable editorial grid instead of stacking
   the duplicated carousel slides at one position. */
.what_we_do {
  min-height: 0;
  padding-block: clamp(72px, 9vw, 140px);
}

.what_we_do-scene, .what_we_do-items {
  min-height: 0;
  height: auto;
}

.what_we_do-scene {
  margin-top: 42px;
}

.what_we_do-orbit-svg, .what_we_do-ray, .what_we_do-line-marker {
  display: none;
}

.what_we_do-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  width: min(1180px, calc(100vw - 96px));
  margin: 0 auto;
}

.what_we_do-item {
  position: relative !important;
  inset: auto !important;
  display: flex;
  width: auto !important;
  min-height: 220px;
  gap: 22px;
  padding: 30px;
  border: 1px solid rgba(0, 212, 255, .52);
  border-radius: 8px 24px;
  background: rgba(8, 3, 0, .55);
  box-shadow: inset 0 0 42px rgba(0, 212, 255, .14);
}

.what_we_do-item:nth-child(n+5) {
  display: none !important;
}

.what_we_do-item_content {
  max-width: none;
  padding-top: 4px;
}

.what_we_do-item--num {
  flex: 0 0 auto;
  font-size: clamp(58px, 6vw, 92px);
  line-height: .9;
}

.what_we_do-item--title {
  font-size: clamp(22px, 2.1vw, 34px);
  line-height: 1.15;
}

.what_we_do-item--desc {
  margin-top: 12px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.48;
}

/* No swiper runtime assigns an active state in this static build. */
.reviews_swiper .swiper-slide:first-child {
  opacity: 1;
  pointer-events: auto;
}

/* Scroll entrance motion for the repaired service-page sections. */
html.scroll-motion-ready .scroll-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  filter: blur(5px);
  transition: opacity .7s cubic-bezier(.16, 1, .3, 1), transform .7s cubic-bezier(.16, 1, .3, 1), filter .7s ease;
  transition-delay: var(--scroll-delay, 0ms);
  will-change: opacity, transform, filter;
}

html.scroll-motion-ready .scroll-reveal.is-in-view {
  opacity: 1;
  transform: none;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  html.scroll-motion-ready .scroll-reveal {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}

@media (max-width: 900px) {
  .tg_hero .service_hero-content {
    width: calc(100vw - 48px);
    max-width: none;
  }

  .tg_hero .service_hero-bottom .home_hero-text {
    width: 100% !important;
    max-width: 100%;
    font-size: 16px;
    line-height: 1.45;
  }

  .what_we_do {
    padding-block: 64px 78px;
  }

  .what_we_do-scene {
    margin-top: 28px;
  }

  .what_we_do-items {
    grid-template-columns: 1fr;
    width: calc(100vw - 40px);
    gap: 14px;
  }

  .what_we_do-item {
    min-height: 0;
    gap: 14px;
    padding: 22px 18px;
  }

  .what_we_do-item--num {
    font-size: 46px;
  }

  .what_we_do-item--title {
    font-size: 20px;
  }

  .what_we_do-item--desc {
    font-size: 14px;
    line-height: 1.42;
  }
}