/* Space Time — Начало (Elementor design v2) */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

body.elementor-page-60806,
body.home.elementor-page {
  background: #fff !important;
  font-family: 'Manrope', system-ui, sans-serif;
  color: #14141A;
}

.st-eyebrow .elementor-heading-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #7A7A82 !important;
  font-weight: 600 !important;
}
.st-eyebrow .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 26px;
  height: 2px;
  background: linear-gradient(118deg, #ED4E9B, #7C52F0);
  margin-right: 10px;
  vertical-align: middle;
}

.st-display .elementor-heading-title,
.st-h-xl .elementor-heading-title,
.st-h-lg .elementor-heading-title {
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.025em;
}
.st-h-xl .elementor-heading-title { font-size: clamp(40px, 6vw, 92px) !important; }
.st-h-lg .elementor-heading-title { font-size: clamp(32px, 4.4vw, 64px) !important; }

.st-gradient,
.st-gradient-text {
  background: linear-gradient(118deg, #ED4E9B 0%, #7C52F0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.st-lede .elementor-widget-container {
  font-size: clamp(18px, 1.5vw, 23px);
  color: #45454E;
  max-width: 54ch;
  line-height: 1.5;
}

.st-btn-primary .elementor-button,
.st-btn-accent .elementor-button {
  background: linear-gradient(118deg, #ED4E9B, #7C52F0) !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  padding: 15px 26px !important;
  color: #fff !important;
}

/* Чистая стрелка без цветного фона в CTA + мягкая анимация */
.st-btn-accent .elementor-button .elementor-button-content-wrapper::after {
  content: '\2197';
  display: inline-block;
  margin-left: 8px;
  color: #fff;
  background: transparent !important;
  font-size: 0.95em;
  line-height: 1;
  transform: translate(0, 0);
  animation: stArrowPulse 1.6s ease-in-out infinite;
}

.st-btn-accent .elementor-button:hover .elementor-button-content-wrapper::after {
  animation-duration: 1s;
}

@keyframes stArrowPulse {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(2px, -2px); }
}

.st-btn-ghost .elementor-button {
  background: transparent !important;
  color: #14141A !important;
  border: 1.5px solid #14141A !important;
  border-radius: 100px !important;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  padding: 15px 26px !important;
}

.st-hero-meta .elementor-counter-number-wrapper {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 34px;
  font-weight: 700;
  color: #14141A;
}
.st-hero-meta .elementor-counter-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 13.5px;
  color: #7A7A82;
}

.st-marquee { overflow: hidden; margin-top: 26px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.st-marquee__track { display: flex; gap: 64px; width: max-content; animation: stMarq 32s linear infinite; }
.st-marquee:hover .st-marquee__track { animation-play-state: paused; }
.st-marquee__logo { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 26px; opacity: 0.5; white-space: nowrap; }
@keyframes stMarq { to { transform: translateX(-50%); } }

.st-svc-list { border-top: 1px solid #F0E6F2; margin-top: 20px; }
.st-svc { display: grid; grid-template-columns: 64px 1.1fr 1.4fr auto; gap: 28px; align-items: center; padding: 30px 8px; border-bottom: 1px solid #F0E6F2; position: relative; transition: padding 0.35s ease; }
.st-svc::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 0; background: rgba(124, 82, 240, 0.06); transition: width 0.35s ease; }
.st-svc:hover { padding-left: 24px; padding-right: 24px; }
.st-svc:hover::before { width: 100%; }
.st-svc__no { font-family: 'Space Grotesk', sans-serif; font-weight: 600; color: #7A7A82; position: relative; z-index: 1; }
.st-svc__name { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(24px, 2.6vw, 38px); position: relative; z-index: 1; transition: color 0.25s; }
.st-svc:hover .st-svc__name { color: #7C52F0; }
.st-svc__desc { color: #45454E; position: relative; z-index: 1; font-size: 16px; }
.st-svc__go { width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid #F0E6F2; display: grid; place-items: center; position: relative; z-index: 1; transition: 0.3s; }
.st-svc:hover .st-svc__go { background: #7C52F0; color: #fff; border-color: #7C52F0; }

.st-hero-visual { position: relative; background: linear-gradient(135deg, #FFEBF4, #F2ECFF); border-radius: 28px; aspect-ratio: 4/3; display: grid; place-items: center; overflow: hidden; }
.st-hero-visual__img { width: 92%; height: 92%; object-fit: contain; filter: drop-shadow(0 24px 40px rgba(124, 82, 240, 0.18)); }
.st-hero-visual__chip { position: absolute; background: #fff; border-radius: 100px; padding: 11px 18px; font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 14px; box-shadow: 0 10px 26px -12px rgba(124, 82, 240, 0.35); display: flex; align-items: center; gap: 8px; }
.st-hero-visual__chip--tl { left: 18px; top: 18px; }
.st-hero-visual__chip--br { right: 18px; bottom: 18px; }
.st-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.st-dot--violet, .st-dot--v { background: #7C52F0; }
.st-dot--pink, .st-dot--p { background: #ED4E9B; }

.st-stats,
.st-stats-band {
  background: linear-gradient(118deg, #ED4E9B, #7C52F0) !important;
  border-radius: 40px;
}
.st-stats .elementor-counter-number-wrapper,
.st-stats .elementor-counter-title,
.st-stat-light .elementor-counter-number-wrapper,
.st-stat-light .elementor-counter-title {
  color: #fff !important;
  font-family: 'Space Grotesk', sans-serif;
}
.st-stats .elementor-counter-number-wrapper,
.st-stat-light .elementor-counter-number-wrapper {
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 700;
}

.st-contact,
.st-contact-band {
  background: linear-gradient(118deg, #ED4E9B, #7C52F0) !important;
  border-radius: 40px;
}
.st-contact .elementor-heading-title,
.st-contact .elementor-widget-container { color: #fff; }
.st-contact .st-eyebrow .elementor-heading-title { color: rgba(255, 255, 255, 0.6) !important; }
.st-contact-links a { color: #fff; font-family: 'Space Grotesk', sans-serif; font-weight: 600; display: block; margin-bottom: 8px; }
.st-contact .nf-field-label label { color: rgba(255, 255, 255, 0.6) !important; }
.st-contact .nf-field-element input,
.st-contact .nf-field-element textarea {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 14px !important;
  color: #fff !important;
}
.st-contact .submit-container input[type=submit] {
  background: #fff !important;
  color: #7C52F0 !important;
  border: none !important;
  border-radius: 100px !important;
  width: 100%;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
}

.st-case { border: 1px solid #F4ECF6; border-radius: 18px; overflow: hidden; transition: transform 0.4s ease, box-shadow 0.4s ease; }
.st-case:hover { transform: translateY(-6px); box-shadow: 0 30px 70px -30px rgba(20, 20, 26, 0.3); }
.st-case-img img,
.st-case .elementor-widget-image img { aspect-ratio: 16/10; object-fit: cover; background: linear-gradient(135deg, #FFEBF4, #F2ECFF); transition: transform 0.6s ease; }
.st-case:hover .elementor-widget-image img { transform: scale(1.05); }
.st-case-title .elementor-heading-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 21px; padding: 16px 22px 0; }
.st-case-year .elementor-heading-title { color: #7A7A82; font-size: 14px; padding: 0 22px 20px; font-family: 'Space Grotesk', sans-serif; }

.st-foot-big .elementor-heading-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(40px, 7vw, 104px);
  font-weight: 700;
  line-height: 0.9;
}

.elementor-widget-wrap { max-width: 1240px; margin: 0 auto; }

/* Глобальные боковые отступы для секций страницы */
.elementor-60806 .e-con.e-con-boxed > .e-con-inner {
  padding-left: clamp(16px, 3vw, 40px);
  padding-right: clamp(16px, 3vw, 40px);
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .st-svc { grid-template-columns: 48px 1fr auto; }
  .st-svc__desc { display: none; }
  .st-hero-col, .st-case-col { width: 100% !important; flex-basis: 100% !important; }
}
