@charset "UTF-8";
/* Страница «Building». Подключается только на шаблоне page-building.php, после main.css.
   Общие компоненты (заголовки, карточки, навигация каруселей, декор) берутся из фундамента страницы «Под ключ». */
.page-template-page-turnkey #page,
.page-template-page-building #page {
  overflow: clip;
}

.turnkey {
  text-wrap: wrap;
  --container-width: 1320px;
  --turnkey-accent: var(--accent, #6540fb);
  --turnkey-accent-hover: #5a2fec;
  --turnkey-accent-soft: rgba(101, 64, 251, 0.15);
  --turnkey-text: #fff;
  --turnkey-text-muted: rgba(255, 255, 255, 0.7);
  --turnkey-radius: 10px;
  --turnkey-radius-lg: 12px;
  --turnkey-card-bg: #0d0d0d;
  --turnkey-card-bg-grey: #151515;
  --turnkey-card-border: rgba(255, 255, 255, 0.1);
  --turnkey-card-border-strong: rgba(255, 255, 255, 0.15);
  --turnkey-card-padding: 32px;
  --turnkey-card-gap: 12px;
  --turnkey-section-pt: 96px;
  --turnkey-section-pb: 96px;
  --turnkey-head-gap: 40px;
  --turnkey-hero-pt: 186px;
  --turnkey-grid-size: 50px;
  --turnkey-grid-line: 2px;
  --turnkey-grid-color: rgba(255, 255, 255, 0.2);
  position: relative;
  overflow-x: clip;
  color: var(--turnkey-text);
  font-family: var(--font-family, "Montserrat", sans-serif);
}
@media (max-width: 1024px) {
  .turnkey {
    --turnkey-section-pt: 72px;
    --turnkey-section-pb: 72px;
    --turnkey-card-padding: 24px;
    --turnkey-hero-pt: 150px;
  }
}
@media (max-width: 767px) {
  .turnkey {
    --turnkey-section-pt: 48px;
    --turnkey-section-pb: 48px;
    --turnkey-card-padding: 20px;
    --turnkey-hero-pt: 126px;
    --turnkey-grid-size: 36px;
    --turnkey-grid-line: 1.5px;
  }
}
.turnkey [hidden] {
  display: none !important;
}

:where(.turnkey) .button {
  width: auto;
  min-width: 0;
  padding: 0 34px;
}
@media (max-width: 767px) {
  :where(.turnkey) .button {
    display: inline-flex !important;
  }
}
:where(.turnkey) .button:focus-visible {
  outline: 2px solid var(--turnkey-text, #fff);
  outline-offset: -8px;
}

.turnkey-section {
  position: relative;
  padding-block: var(--turnkey-section-pt) var(--turnkey-section-pb);
}
:where(.turnkey-section) > :where(:not(.turnkey-deco)) {
  position: relative;
  z-index: 1;
}

.turnkey-section--hero {
  padding-top: var(--turnkey-hero-pt);
}
.turnkey-section--flush-top {
  padding-top: 0;
}
.turnkey-section--flush-bottom {
  padding-bottom: 0;
}

.turnkey-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: var(--turnkey-head-gap);
}
.turnkey-head--center {
  align-items: center;
  text-align: center;
}
.turnkey-head--flush {
  margin-bottom: 0;
}

.turnkey-title {
  margin: 0;
  max-width: var(--turnkey-title-max, none);
  font-weight: 800;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--turnkey-text);
}
.turnkey-title__accent {
  color: var(--turnkey-accent);
}
.turnkey-title--center {
  margin-inline: auto;
  text-align: center;
}
.turnkey-title--left {
  text-align: left;
}
@media (max-width: 1024px) {
  .turnkey-title {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  .turnkey-title {
    font-size: 24px;
  }
}

.turnkey-nowrap {
  white-space: nowrap;
}

@media (max-width: 767px) {
  .turnkey-br {
    display: none;
  }
}
.turnkey-br--mobile {
  display: none;
}
@media (max-width: 767px) {
  .turnkey-br--mobile {
    display: inline;
  }
}

.turnkey-lead {
  margin: 0;
  max-width: var(--turnkey-lead-max, none);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-lead--center {
  --turnkey-lead-max: 720px;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 767px) {
  .turnkey-lead {
    font-size: 16px;
  }
}

.turnkey-text {
  margin: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-text--white {
  color: var(--turnkey-text);
}
.turnkey-text--center {
  text-align: center;
}
.turnkey-text + .turnkey-text {
  margin-top: 24px;
}

.turnkey-card-title {
  margin: 0;
  font-weight: 800;
  font-size: 20px;
  line-height: 1.25;
  color: var(--turnkey-text);
}

.turnkey-card-text {
  margin: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-card-text--white {
  color: var(--turnkey-text);
}

.is-glass-layer .turnkey-directions,
.is-glass-layer .building-directions {
  will-change: transform;
}

.turnkey-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--turnkey-card-gap);
  padding: var(--turnkey-card-padding);
  min-width: 0;
  background: var(--turnkey-card-bg);
  border: 1px solid var(--turnkey-card-border);
  border-radius: var(--turnkey-radius);
  color: var(--turnkey-text);
}
.turnkey-card--glass {
  position: relative;
  isolation: isolate;
  background: transparent;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  border: 1px solid transparent;
}
.turnkey-card--glass::after {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  background: var(--turnkey-glass-sheen, linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 38%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.04) 100%)), var(--turnkey-glass-tint, rgba(0, 0, 0, 0.36));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), inset 1px 1px 0 rgba(255, 255, 255, 0.28), inset -1px -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 18px rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(var(--turnkey-glass-blur, 4px)) saturate(160%);
  backdrop-filter: blur(var(--turnkey-glass-blur, 4px)) saturate(160%);
  pointer-events: none;
}
.turnkey-card--glass.is-lens::after {
  -webkit-backdrop-filter: var(--turnkey-glass-lens);
  backdrop-filter: var(--turnkey-glass-lens);
}
.turnkey-card--grey {
  background: var(--turnkey-card-bg-grey);
}
.turnkey-card--gradient {
  background: linear-gradient(100deg, rgba(37, 19, 110, 0.95) 0%, rgba(37, 19, 110, 0.35) 30%, rgba(37, 19, 110, 0) 60%), var(--turnkey-card-bg);
}
.turnkey-card--compact {
  --turnkey-card-padding: 20px;
}
.turnkey-card__icon {
  display: block;
  flex-shrink: 0;
  width: var(--turnkey-card-icon-size, 56px);
  height: auto;
}

.turnkey-check-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.turnkey-check-list__item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text);
  text-wrap: wrap;
}
.turnkey-check-list__item::before {
  content: "";
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--turnkey-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4.2 3.7 6.8 9 1.2' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/9px 7px no-repeat;
}
.turnkey-check-list--muted .turnkey-check-list__item {
  color: var(--turnkey-text-muted);
}
@media (max-width: 767px) {
  .turnkey-check-list {
    gap: 20px;
  }
  .turnkey-check-list__item {
    font-size: 12px;
  }
}

.turnkey-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: var(--turnkey-actions-mt, 40px);
}
.turnkey-actions--start {
  justify-content: flex-start;
}
.turnkey-actions--flush {
  margin-top: 0;
}

.button.turnkey-button--outline {
  padding: 0 24px;
  background: transparent;
  filter: none;
}
.button.turnkey-button--outline::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--turnkey-accent);
  clip-path: polygon(evenodd, 12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px, 12px 0, 12.41px 1px, 1px 12.41px, 1px calc(100% - 1px), calc(100% - 12.41px) calc(100% - 1px), calc(100% - 1px) calc(100% - 12.41px), calc(100% - 1px) 1px, 12.41px 1px);
  pointer-events: none;
}
.button.turnkey-button--outline:hover {
  background: var(--turnkey-accent);
  filter: drop-shadow(0 0 30px rgba(113, 82, 239, 0.55));
}

.turnkey-button-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 13px 28px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--turnkey-radius);
  background: transparent;
  font-family: var(--font-family, "Montserrat", sans-serif);
  font-weight: 800;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.turnkey-button-ghost:hover {
  border-color: var(--turnkey-accent);
  background-color: var(--turnkey-accent-soft);
  color: var(--turnkey-text);
}
.turnkey-button-ghost:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: 4px;
}

.turnkey-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: var(--turnkey-nav-mt, 30px);
}
.turnkey-nav__button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--turnkey-card-border-strong);
  background: transparent;
  font-family: var(--font-family, "Montserrat", sans-serif);
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  color: var(--turnkey-text);
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
}
.turnkey-nav__button:hover:not([aria-disabled=true]) {
  border-color: var(--turnkey-accent);
  background-color: var(--turnkey-accent-soft);
}
.turnkey-nav__button:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: 2px;
}
.turnkey-nav__button[aria-disabled=true] {
  opacity: 0.4;
  cursor: default;
}
.turnkey-nav__dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}
.turnkey-nav__dot {
  position: relative;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.turnkey-nav__dot::after {
  content: "";
  position: absolute;
  inset: -6px -4px;
}
.turnkey-nav__dot:hover {
  background: rgba(255, 255, 255, 0.45);
}
.turnkey-nav__dot.is-active, .turnkey-nav__dot[aria-current=true] {
  background: var(--turnkey-accent);
}
.turnkey-nav__dot:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: 3px;
}
@media (max-width: 767px) {
  .turnkey-nav__dots {
    gap: 6px;
  }
}

.turnkey-carousel {
  --turnkey-carousel-per-view: 3;
  --turnkey-carousel-gap: 24px;
  --turnkey-carousel-bleed: 0px;
  position: relative;
  min-width: 0;
}
.turnkey-carousel__track {
  display: flex;
  gap: var(--turnkey-carousel-gap);
  margin-block: calc(var(--turnkey-carousel-bleed) * -1);
  padding-block: var(--turnkey-carousel-bleed);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.turnkey-carousel__track::-webkit-scrollbar {
  display: none;
}
.turnkey-carousel__track:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: 4px;
}
.turnkey-carousel__track > * {
  flex: 0 0 calc((100% - (var(--turnkey-carousel-per-view) - 1) * var(--turnkey-carousel-gap)) / var(--turnkey-carousel-per-view));
  min-width: 0;
  scroll-snap-align: start;
}
@media (max-width: 1024px) {
  .turnkey-carousel {
    --turnkey-carousel-per-view: 2;
    --turnkey-carousel-gap: 20px;
  }
}
@media (max-width: 767px) {
  .turnkey-carousel {
    --turnkey-carousel-per-view: 1;
    --turnkey-carousel-gap: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .turnkey-carousel__track {
    scroll-behavior: auto;
  }
}

@media (min-width: 768px) {
  .turnkey-carousel[data-turnkey-carousel=mobile] .turnkey-carousel__track {
    display: grid;
    grid-template-columns: repeat(var(--turnkey-carousel-cols, 3), minmax(0, 1fr));
    gap: var(--turnkey-carousel-row-gap, var(--turnkey-carousel-gap)) var(--turnkey-carousel-gap);
    margin-block: 0;
    padding-block: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .turnkey-carousel[data-turnkey-carousel=mobile] .turnkey-carousel__track > * {
    flex: none;
  }
  .turnkey-carousel[data-turnkey-carousel=mobile] [data-turnkey-carousel-nav] {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .turnkey-carousel[data-turnkey-carousel=tablet] .turnkey-carousel__track {
    display: grid;
    grid-template-columns: repeat(var(--turnkey-carousel-cols, 3), minmax(0, 1fr));
    gap: var(--turnkey-carousel-row-gap, var(--turnkey-carousel-gap)) var(--turnkey-carousel-gap);
    margin-block: 0;
    padding-block: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .turnkey-carousel[data-turnkey-carousel=tablet] .turnkey-carousel__track > * {
    flex: none;
  }
  .turnkey-carousel[data-turnkey-carousel=tablet] [data-turnkey-carousel-nav] {
    display: none !important;
  }
}
.turnkey-accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.turnkey-accordion__item {
  background: var(--turnkey-card-bg);
  border: 1px solid var(--turnkey-card-border);
  border-radius: var(--turnkey-radius);
  transition: border-color 0.3s ease;
}
.turnkey-accordion__item.is-open {
  border-color: var(--turnkey-accent);
}
.turnkey-accordion__heading {
  margin: 0;
  font: inherit;
}
.turnkey-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 20px;
  border: 0;
  background: transparent;
  font-family: var(--font-family, "Montserrat", sans-serif);
  font-weight: 800;
  font-size: 18px;
  line-height: 1.3;
  color: var(--turnkey-text);
  text-align: left;
  cursor: pointer;
}
.turnkey-accordion__trigger:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: -2px;
  border-radius: var(--turnkey-radius);
}
.turnkey-accordion__icon {
  position: relative;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.turnkey-accordion__icon::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 6px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid var(--turnkey-accent);
  border-bottom: 1.5px solid var(--turnkey-accent);
  transform: rotate(45deg);
  transition: opacity 0.2s ease;
}
.turnkey-accordion__icon::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 5px;
  width: 10px;
  height: 2px;
  border-radius: 1px;
  background: #fff;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.turnkey-accordion__item.is-open .turnkey-accordion__icon {
  background-color: var(--turnkey-accent);
}
.turnkey-accordion__item.is-open .turnkey-accordion__icon::before {
  opacity: 0;
}
.turnkey-accordion__item.is-open .turnkey-accordion__icon::after {
  opacity: 1;
}
.turnkey-accordion__panel {
  overflow: hidden;
  transition: height 0.35s ease;
}
.turnkey-accordion__content {
  padding: 0 20px 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-accordion__content > * + * {
  margin-top: 12px;
}
@media (max-width: 767px) {
  .turnkey-accordion__trigger {
    font-size: 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .turnkey-accordion__panel, .turnkey-accordion__icon, .turnkey-accordion__icon::before, .turnkey-accordion__icon::after {
    transition: none;
  }
}

.turnkey-video {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: var(--turnkey-video-ratio, 16/9);
  overflow: hidden;
  border-radius: var(--turnkey-radius-lg);
  background: var(--turnkey-card-bg);
  cursor: pointer;
  isolation: isolate;
}
.turnkey-video__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.turnkey-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.turnkey-video__play::before {
  content: "";
  width: 20px;
  height: 22px;
  margin-left: 4px;
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.turnkey-video:hover .turnkey-video__play {
  background-color: var(--turnkey-accent);
  transform: scale(1.06);
}
.turnkey-video:hover .turnkey-video__poster {
  transform: scale(1.03);
}
.turnkey-video:focus-visible {
  outline: 2px solid var(--turnkey-accent);
  outline-offset: 4px;
}
.turnkey-video__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.turnkey-video.is-playing, .turnkey-video.is-disabled {
  cursor: default;
}
.turnkey-video.is-disabled:hover .turnkey-video__play {
  background-color: rgba(0, 0, 0, 0.35);
  transform: none;
}
.turnkey-video.is-disabled:hover .turnkey-video__poster {
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .turnkey-video__poster, .turnkey-video__play {
    transition: none;
  }
}

[data-turnkey-more=all] .is-more-hidden {
  display: none !important;
}

@media (max-width: 767px) {
  [data-turnkey-more=mobile] .is-more-hidden {
    display: none !important;
  }
}
@media (min-width: 768px) {
  [data-turnkey-more=mobile] [data-turnkey-more-button] {
    display: none !important;
  }
}
.turnkey-deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
}
.turnkey-deco--clip {
  overflow: hidden;
}

.turnkey-grid {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--top, 0px);
  height: var(--h, 820px);
  background-image: linear-gradient(to right, var(--turnkey-grid-color) var(--turnkey-grid-line), transparent var(--turnkey-grid-line)), linear-gradient(to bottom, var(--turnkey-grid-color) var(--turnkey-grid-line), transparent var(--turnkey-grid-line));
  background-size: var(--turnkey-grid-size) var(--turnkey-grid-size);
  background-position: center top;
  opacity: var(--o, 1);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fade, 60px), #000 calc(100% - var(--fade, 60px)), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--fade, 60px), #000 calc(100% - var(--fade, 60px)), transparent 100%);
}
.turnkey-grid--image {
  background-image: url("../img/turnkey/common/grid-texture.webp");
  background-size: calc(var(--h, 820px) * 1.7778) var(--h, 820px);
  background-repeat: repeat-x;
}
.turnkey-grid--fade-y {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 25%, #000 75%, transparent 100%);
}
.turnkey-grid--fade-top {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 35%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 35%);
}
.turnkey-grid--fade-bottom {
  -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
}
.turnkey-grid--fade-radial {
  -webkit-mask-image: radial-gradient(closest-side, #000 35%, transparent 100%);
  mask-image: radial-gradient(closest-side, #000 35%, transparent 100%);
}

.turnkey-glow {
  --c: #6540fb;
  --w: 448px;
  --h: var(--w);
  --blur: 130px;
  --o: 1;
  position: absolute;
  left: var(--x, 50%);
  top: var(--y, 50%);
  width: calc(var(--w) + var(--blur) * 4);
  height: calc(var(--h) + var(--blur) * 4);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 77%, transparent) 0%, color-mix(in srgb, var(--c) 68%, transparent) 20%, color-mix(in srgb, var(--c) 46%, transparent) 40%, color-mix(in srgb, var(--c) 22%, transparent) 60%, color-mix(in srgb, var(--c) 7%, transparent) 80%, color-mix(in srgb, var(--c) 0%, transparent) 100%);
  opacity: var(--o);
  transform: translate(-50%, -50%);
}
.turnkey-glow--wide, .turnkey-glow--shade, .turnkey-glow--navy {
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 100%, transparent) 0%, color-mix(in srgb, var(--c) 92%, transparent) 20%, color-mix(in srgb, var(--c) 70%, transparent) 40%, color-mix(in srgb, var(--c) 55%, transparent) 50%, color-mix(in srgb, var(--c) 38%, transparent) 60%, color-mix(in srgb, var(--c) 23%, transparent) 70%, color-mix(in srgb, var(--c) 12%, transparent) 80%, color-mix(in srgb, var(--c) 5%, transparent) 90%, color-mix(in srgb, var(--c) 0%, transparent) 100%);
}
.turnkey-glow--violet {
  --c: #6540fb;
  mix-blend-mode: color;
}
.turnkey-glow--navy {
  --c: #263859;
  --blur: 72px;
  mix-blend-mode: color;
}
.turnkey-glow--haze {
  --c: #25136e;
}
.turnkey-glow--accent {
  --c: #4926d8;
  --o: 0.5;
}
.turnkey-glow--shade {
  --c: #000;
  --blur: 155px;
}

.turnkey-cases .turnkey-nav__button:not(:hover) {
  background-color: var(--turnkey-card-bg-grey);
}
.turnkey-cases__carousel {
  --turnkey-carousel-per-view: 1;
  --turnkey-carousel-gap: 24px;
}
@media (max-width: 1024px) {
  .turnkey-cases__carousel {
    --turnkey-carousel-per-view: 1;
    --turnkey-carousel-gap: 20px;
  }
}
@media (max-width: 767px) {
  .turnkey-cases__carousel {
    --turnkey-carousel-per-view: 1;
    --turnkey-carousel-gap: 20px;
  }
}
.turnkey-cases__slide {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 539fr) minmax(0, 612fr);
  column-gap: 50px;
  min-height: 619px;
  padding: 29px 38px 29px 39px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 40px;
  background: #0d0d11;
}
.turnkey-cases__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.turnkey-cases__grid {
  --top: -52px;
  --h: 722px;
  --o: 0.08;
  --fade: 0px;
}
.turnkey-cases__glow--top {
  --c: #4926d8;
  --x: 92px;
  --y: 118px;
  --w: 608px;
  --h: 574px;
  --blur: 150px;
  --o: 0.32;
  mix-blend-mode: exclusion;
}
.turnkey-cases__glow--left {
  --c: #25136e;
  --x: -86px;
  --y: 282px;
  --w: 567px;
  mix-blend-mode: color-dodge;
}
.turnkey-cases__glow--bottom {
  --c: #4926d8;
  --x: calc(100% + 65px);
  --y: 516px;
  --w: 608px;
  --h: 574px;
  --blur: 150px;
  --o: 0.5;
  mix-blend-mode: color-dodge;
}
.turnkey-cases__cover, .turnkey-cases__details {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.turnkey-cases__cover {
  display: flex;
  align-items: flex-end;
  min-height: 559px;
  padding: 30px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  background: #151515;
}
.turnkey-cases__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 41.833%, #000 87.26%), linear-gradient(180deg, rgba(0, 0, 0, 0) 37.57%, rgba(0, 0, 0, 0.6) 100%);
  pointer-events: none;
}
.turnkey-cases__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.turnkey-cases__cover-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px;
  min-width: 0;
}
.turnkey-cases__heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.turnkey-cases__name {
  margin: 0;
  font-weight: 800;
  font-size: 32px;
  line-height: 1.4;
  color: var(--turnkey-text);
}
.turnkey-cases__client {
  margin: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
}
.turnkey-cases__client-name {
  color: var(--turnkey-accent);
}
.turnkey-cases__details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 40px;
  padding-top: 10px;
}
.turnkey-cases__group {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.turnkey-cases__block {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.turnkey-cases__block--result {
  gap: 20px;
}
.turnkey-cases__label {
  margin: 0;
  font-weight: 800;
  font-size: 18px;
  line-height: 1.4;
  color: var(--turnkey-text);
}
.turnkey-cases__text {
  max-width: 522px;
  margin: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-cases__solution {
  display: flex;
  max-width: 556px;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.turnkey-cases__solution-item {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 8px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-cases__solution-item::before {
  content: "—";
}
.turnkey-cases__stats {
  display: grid;
  grid-template-columns: minmax(0, 299fr) minmax(0, 283fr);
  gap: 30px;
  max-width: 612px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.turnkey-cases__stat {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 86px;
  padding: 20px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--turnkey-radius);
  background: rgba(19, 19, 19, 0.7);
}
.turnkey-cases__stat:only-child {
  grid-column: 1/-1;
}
.turnkey-cases__stat-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 5px;
  background: #151515;
}
.turnkey-cases__stat-icon img {
  display: block;
  width: 24px;
  height: 24px;
}
.turnkey-cases__stat-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.turnkey-cases__stat-value {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  color: var(--turnkey-text);
}
.turnkey-cases__stat-label {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
}
@media (min-width: 1025px) and (max-width: 1200px) {
  .turnkey-cases__stat {
    gap: 8px;
    padding-inline: 10px;
  }
  .turnkey-cases__stat-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
  }
  .turnkey-cases__stat-value {
    font-size: 15px;
  }
  .turnkey-cases__stat-label {
    font-size: 13px;
  }
}
@media (max-width: 1024px) {
  .turnkey-cases__slide {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 32px;
    min-height: 0;
    padding: 24px;
    border-radius: 30px;
  }
  .turnkey-cases__cover {
    min-height: 380px;
  }
  .turnkey-cases__details {
    justify-content: flex-start;
    gap: 30px;
    padding-top: 0;
  }
  .turnkey-cases__text, .turnkey-cases__solution {
    max-width: none;
  }
  .turnkey-cases__text, .turnkey-cases__solution-item {
    text-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .turnkey-cases {
    --turnkey-section-pt: 58px;
  }
  .turnkey-cases .turnkey-head {
    margin-bottom: 33px;
  }
  .turnkey-cases__carousel {
    margin-inline: -20px;
  }
  .turnkey-cases__slide {
    row-gap: 23px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: none;
  }
  .turnkey-cases__deco {
    display: none;
  }
  .turnkey-cases__cover {
    min-height: 410px;
    padding: 20px;
  }
  .turnkey-cases__cover::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 37.57%, rgba(0, 0, 0, 0.9) 100%);
  }
  .turnkey-cases__name {
    font-size: 24px;
  }
  .turnkey-cases__text, .turnkey-cases__solution-item {
    text-wrap: wrap;
  }
  .turnkey-cases__details {
    gap: 40px;
    padding-inline: 20px;
  }
  .turnkey-cases__stats {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .turnkey-cases .turnkey-nav {
    --turnkey-nav-mt: 40px;
  }
}
.turnkey-cases__slide--overlay-soft .turnkey-cases__cover::after {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
}
@media (min-width: 1025px) {
  .turnkey-cases--maps {
    --turnkey-section-pb: 48px;
  }
}
.turnkey-cases--maps .turnkey-cases__cover {
  border-color: transparent;
  border-radius: var(--turnkey-radius);
}
.turnkey-cases--maps .turnkey-cases__client {
  color: var(--turnkey-text);
}
.turnkey-cases--maps .turnkey-cases__client-name {
  font-weight: 700;
  color: var(--turnkey-text);
}
.turnkey-cases--maps .turnkey-cases__details {
  padding-top: 0;
}
@media (max-width: 767px) {
  .turnkey-cases--maps .turnkey-cases__lead {
    display: none;
  }
  .turnkey-cases--maps .turnkey-cases__client {
    color: var(--turnkey-text-muted);
  }
  .turnkey-cases--maps .turnkey-cases__client-name {
    font-weight: 400;
  }
}

.turnkey-cases .turnkey-carousel.is-auto-height .turnkey-carousel__track {
  align-items: flex-start;
  transition: height 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .turnkey-cases .turnkey-carousel.is-auto-height .turnkey-carousel__track {
    transition: none;
  }
}

.turnkey-stages {
  --turnkey-stages-col-gap: 31px;
  --turnkey-stages-row-gap: 20px;
  --turnkey-stages-arc-zone: 53px;
}
.turnkey-stages__haze {
  --w: 676px;
  --x: calc(50% + 822px);
  --y: 542px;
}
@media (min-width: 768px) {
  .turnkey-stages--haze-mobile .turnkey-stages__haze {
    display: none;
  }
}
.turnkey-stages__head {
  --turnkey-head-gap: 60px;
}
.turnkey-stages__title {
  text-transform: uppercase;
}
.turnkey-stages__body {
  position: relative;
  padding-block: var(--turnkey-stages-arc-zone);
}
.turnkey-stages__panel-deco {
  display: none;
}
.turnkey-stages__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--turnkey-stages-row-gap) var(--turnkey-stages-col-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.turnkey-stages__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  min-width: 0;
  min-height: 251px;
  padding: 20px;
  border-radius: var(--turnkey-radius);
  position: relative;
  isolation: isolate;
  background: transparent;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  --turnkey-glass-tint: transparent;
  --turnkey-glass-sheen: none;
  --turnkey-glass-blur: 0px;
}
.turnkey-stages__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--turnkey-glass-sheen, linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 38%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0.04) 100%)), var(--turnkey-glass-tint, rgba(0, 0, 0, 0.36));
  box-shadow: inset 0 0 0 0 transparent, inset 1px 1px 0 rgba(255, 255, 255, 0.28), inset -1px -1px 0 rgba(255, 255, 255, 0.1), inset 0 0 18px rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(var(--turnkey-glass-blur, 4px)) saturate(160%);
  backdrop-filter: blur(var(--turnkey-glass-blur, 4px)) saturate(160%);
  pointer-events: none;
}
.turnkey-stages__card.is-lens::after {
  -webkit-backdrop-filter: var(--turnkey-glass-lens);
  backdrop-filter: var(--turnkey-glass-lens);
}
.turnkey-stages__card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(170deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0.07) 45%, rgba(255, 255, 255, 0.07) 70%, rgba(255, 255, 255, 0.16) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}
.turnkey-stages__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.turnkey-stages__number {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 2px;
  border: 1px solid transparent;
  border-radius: 50%;
  background: linear-gradient(#151515, #151515) padding-box, linear-gradient(180deg, rgba(101, 64, 251, 0) 45%, var(--turnkey-accent) 100%) border-box;
}
.turnkey-stages__number-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--turnkey-card-bg);
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  color: var(--turnkey-text);
}
.turnkey-stages__icon {
  display: block;
  flex-shrink: 0;
  width: 56px;
  height: 60px;
}
.turnkey-stages__content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.turnkey-stages__card-title {
  margin: 0;
  font-weight: 800;
  font-size: clamp(20px, 1.667vw, 24px);
  line-height: 1.22;
  color: var(--turnkey-text);
  text-wrap: wrap;
}
.turnkey-stages__card-text {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.22;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.turnkey-stages__arc {
  --arc-gap-center: calc((100% - 2 * var(--turnkey-stages-col-gap)) / 3 + var(--turnkey-stages-col-gap) / 2);
  --arc-shift: 7px;
  position: absolute;
  left: calc(var(--arc-gap-center) - 54px + var(--arc-shift));
  display: block;
  width: 108px;
  height: 36px;
  pointer-events: none;
}
.turnkey-stages__arc--top-1, .turnkey-stages__arc--top-2 {
  top: 0;
}
.turnkey-stages__arc--bottom-1, .turnkey-stages__arc--bottom-2 {
  bottom: 0;
  transform: scaleY(-1);
}
.turnkey-stages__arc--bottom-1 {
  --arc-shift: 17px;
}
.turnkey-stages__arc--top-2, .turnkey-stages__arc--bottom-2 {
  --arc-gap-center: calc((100% - 2 * var(--turnkey-stages-col-gap)) / 3 * 2 + var(--turnkey-stages-col-gap) * 1.5);
  --arc-shift: 5px;
}
@media (max-width: 1024px) {
  .turnkey-stages {
    --turnkey-stages-col-gap: 20px;
  }
  .turnkey-stages__haze {
    --x: 100%;
  }
  .turnkey-stages__head {
    --turnkey-head-gap: 40px;
  }
  .turnkey-stages__body {
    padding-block: 0;
  }
  .turnkey-stages__arc {
    display: none;
  }
  .turnkey-stages__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .turnkey-stages__card {
    min-height: 230px;
  }
  .turnkey-stages__card-title {
    font-size: clamp(20px, 2.6vw, 24px);
  }
}
@media (max-width: 1279px) {
  .turnkey-stages__card-text br {
    display: none;
  }
}
@media (max-width: 767px) {
  .turnkey-stages__haze {
    --x: 50%;
    --y: calc(100% - 273px);
    --o: 0.7;
  }
  .turnkey-stages__head {
    --turnkey-head-gap: 40px;
  }
  .turnkey-stages__lead {
    font-size: 18px;
  }
  .turnkey-stages__body {
    isolation: isolate;
    margin-inline: -20px;
    padding: 29px 19px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 40px;
    background: #111217;
  }
  .turnkey-stages__panel-deco {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
  }
  .turnkey-stages__grid {
    --o: 0.08;
    --fade: 0px;
  }
  .turnkey-stages__grid--top {
    --top: -64px;
    --h: 443px;
  }
  .turnkey-stages__grid--bottom {
    --top: 371px;
    --h: 459px;
  }
  .turnkey-stages__glow {
    --c: #4926d8;
    --blur: 150px;
    --o: 0.4;
    mix-blend-mode: color-dodge;
  }
  .turnkey-stages__glow--top {
    --x: -58px;
    --y: -99px;
    --w: 574px;
  }
  .turnkey-stages__glow--middle {
    --x: calc(100% + 66px);
    --y: 543px;
    --w: 608px;
    --h: 574px;
  }
  .turnkey-stages__list {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
  }
  .turnkey-stages__card {
    justify-content: flex-start;
    gap: 40px;
    min-height: 0;
    border-radius: var(--turnkey-radius-lg);
  }
  .turnkey-stages__top {
    align-items: center;
  }
  .turnkey-stages__content {
    gap: 20px;
    max-width: 291px;
  }
  .turnkey-stages__card-text br:not(.turnkey-br) {
    display: inline;
  }
  .turnkey-stages__card-title {
    max-width: 262px;
    font-size: 24px;
    line-height: 1.22;
  }
  .turnkey-stages__card-title .turnkey-br {
    display: inline;
  }
}

@media (max-width: 767px) {
  .page-template-page-turnkey .turnkey-stages {
    display: none;
  }
}

.turnkey-faq {
  --turnkey-faq-picture-w: min(611px, 44vw);
  min-height: calc(312px + var(--turnkey-faq-picture-w) * 631 / 611);
}
.turnkey-faq__inner {
  display: grid;
  grid-template-columns: minmax(0, 480fr) minmax(0, 720fr);
  column-gap: 80px;
  align-items: start;
}
.turnkey-faq__aside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.turnkey-faq__title {
  max-width: 451px;
  font-size: 28px;
  line-height: 1.25;
  text-transform: uppercase;
}
.turnkey-faq__actions {
  margin-top: 0;
  filter: drop-shadow(0 0 30px rgba(113, 82, 239, 0.55));
}
.turnkey-faq__list .turnkey-accordion__item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.08);
}
.turnkey-faq__list .turnkey-accordion__item.is-open {
  border-color: var(--turnkey-accent);
}
.turnkey-faq__list .turnkey-accordion__icon::before {
  inset: 0;
  width: auto;
  height: auto;
  border: 0;
  background: url("../img/turnkey/faq/caret-down.svg") center/20px 20px no-repeat;
  transform: none;
}
.turnkey-faq__list .turnkey-accordion__trigger {
  text-wrap: wrap;
  transition: padding-bottom 0.35s ease;
}
.turnkey-faq__list .turnkey-accordion__trigger > span {
  max-width: 570px;
}
.turnkey-faq__list .turnkey-accordion__item.is-open .turnkey-accordion__trigger {
  align-items: flex-start;
  padding-bottom: 16px;
}
.turnkey-faq__list .turnkey-accordion__content {
  padding-right: 43px;
}
.turnkey-faq__glow {
  --x: 188px;
  --y: 635px;
  --w: 676px;
  --h: 615px;
  --o: 0.7;
}
.turnkey-faq__picture {
  position: absolute;
  left: 0;
  top: 312px;
  width: var(--turnkey-faq-picture-w);
  height: calc(var(--turnkey-faq-picture-w) * 631 / 611);
  object-fit: contain;
  object-position: left bottom;
  max-width: none;
  pointer-events: none;
  user-select: none;
}
@media (max-width: 1024px) {
  .turnkey-faq {
    min-height: 0;
  }
  .turnkey-faq__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  .turnkey-faq__title {
    max-width: 640px;
  }
  .turnkey-faq__picture {
    display: none;
  }
  .turnkey-faq__glow {
    --x: 0%;
    --y: 70%;
  }
}
@media (max-width: 767px) {
  .turnkey-faq__title {
    max-width: none;
    font-size: 24px;
  }
  .turnkey-faq__list .turnkey-accordion__trigger {
    gap: 0;
    transition: padding-bottom 0.35s ease, font-size 0.35s ease;
  }
  .turnkey-faq__list .turnkey-accordion__item.is-open .turnkey-accordion__trigger {
    gap: 10px;
    padding-bottom: 10px;
    font-size: 18px;
  }
  .turnkey-faq__list .turnkey-accordion__content {
    padding-right: 20px;
  }
  .turnkey-faq__glow {
    --w: 400px;
    --h: 400px;
    --blur: 100px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .turnkey-faq__list .turnkey-accordion__trigger {
    transition: none;
  }
}

.building-hero {
  --turnkey-hero-pt: 202px;
  --turnkey-section-pb: 96px;
}
.building-hero__grid {
  --h: 820px;
  --o: 0.3;
}
.building-hero__shade {
  --x: 50%;
  --y: 963px;
  --w: 1860px;
  --h: 633px;
}
.building-hero__navy {
  --x: 50%;
  --y: 137px;
  --w: 3200px;
  --h: 274px;
}
.building-hero__glow {
  --x: calc(50% + 725px);
  --y: 459px;
  --c: #d240fb;
  --o: 0.6;
  mix-blend-mode: color-dodge;
}
.building-hero__container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}
.building-hero__content {
  flex: 0 1 720px;
  min-width: 0;
}
.building-hero__title {
  margin: 0;
  font-weight: 800;
  font-size: 42px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--turnkey-text);
  text-wrap: wrap;
}
.building-hero__accent {
  color: var(--turnkey-accent);
}
.building-hero__subtitle {
  margin: 24px 0 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
.building-hero__actions {
  --turnkey-actions-mt: 24px;
}
.building-hero__button-glow {
  display: inline-flex;
}
.building-hero__button {
  filter: none;
}
.building-hero__list {
  margin-top: 32px;
}
.building-hero__media {
  position: relative;
  flex: 0 0 auto;
  width: 480px;
}
.building-hero__frame {
  --building-hero-frame-blur: 150px;
  --building-hero-frame-glow: 440px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 30px;
  border-radius: 20px;
  background: #131922;
}
.building-hero__frame-glow {
  --c: #4926d8;
  --o: 0.4;
  --w: var(--building-hero-frame-glow);
  --blur: var(--building-hero-frame-blur);
  mix-blend-mode: color-dodge;
}
.building-hero__frame-glow--start {
  --x: -125px;
  --y: -102px;
}
.building-hero__frame-glow--end {
  --x: calc(100% + 24px);
  --y: calc(100% + 175px);
}
.building-hero__image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 420/440;
  object-fit: cover;
  border-radius: 10px;
}
@media (max-width: 1280px) {
  .building-hero__container {
    gap: 40px;
  }
  .building-hero__title {
    font-size: clamp(36px, 3.3vw, 42px);
  }
  .building-hero__media {
    width: clamp(380px, 36vw, 480px);
  }
  .building-hero__frame {
    padding: clamp(20px, 2.2vw, 30px);
  }
}
@media (max-width: 1024px) {
  .building-hero {
    --turnkey-hero-pt: 150px;
    --turnkey-section-pb: 72px;
  }
  .building-hero__container {
    gap: 32px;
  }
  .building-hero__title {
    font-size: clamp(28px, 3.4vw, 34px);
  }
  .building-hero__title .turnkey-br {
    display: none;
  }
  .building-hero__subtitle {
    font-size: 16px;
  }
  .building-hero__list {
    margin-top: 24px;
  }
  .building-hero__media {
    width: clamp(260px, 36vw, 360px);
  }
  .building-hero__frame {
    padding: 16px;
    border-radius: 16px;
  }
  .building-hero__image {
    border-radius: 8px;
  }
  .building-hero__glow {
    --x: 100%;
  }
}
@media (max-width: 767px) {
  .building-hero {
    --turnkey-hero-pt: 126px;
    --turnkey-section-pb: 52px;
  }
  .building-hero__grid {
    --h: 597px;
    --o: 0.42;
    --fade: 20px;
  }
  .building-hero__shade {
    --y: 649px;
    --w: 1414px;
    --h: 527px;
  }
  .building-hero__navy {
    --y: 12px;
    --w: 1728px;
    --h: 148px;
  }
  .building-hero__glow {
    display: none;
  }
  .building-hero__container {
    flex-direction: column;
    align-items: stretch;
    gap: 41px;
  }
  .building-hero__content {
    flex: none;
    text-align: center;
  }
  .building-hero__title {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0;
  }
  .building-hero__subtitle {
    margin: 20px auto 0;
    font-size: 14px;
    line-height: 1.22;
    color: var(--turnkey-text);
  }
  .building-hero__actions {
    --turnkey-actions-mt: 40px;
    justify-content: center;
  }
  .building-hero__button {
    width: 180px;
    padding: 0 20px;
  }
  .building-hero__button-glow {
    filter: drop-shadow(0 0 30px rgba(113, 82, 239, 0.55));
  }
  .building-hero__list {
    display: none;
  }
  .building-hero__media {
    width: 100%;
    max-width: 335px;
    margin-inline: auto;
  }
  .building-hero__media::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -11px;
    left: 50%;
    width: 994px;
    height: 347px;
    background: url("../img/building/hero/hero-horizon.webp") center/100% 100% no-repeat;
    transform: translateX(-50%);
    pointer-events: none;
  }
  .building-hero__frame {
    --building-hero-frame-blur: 115.6px;
    --building-hero-frame-glow: 339px;
    padding: 6px;
    border-radius: 15.4px;
  }
  .building-hero__frame-glow--start {
    --x: -96px;
    --y: -79px;
  }
  .building-hero__frame-glow--end {
    --x: calc(100% + 53px);
    --y: calc(100% + 169px);
  }
  .building-hero__image {
    aspect-ratio: 323/339;
    border-radius: 8px;
  }
}

.building-directions__grid {
  --top: 10px;
  --h: 820px;
  --o: 0.3;
  --fade: 80px;
}
.building-directions__shade--bottom {
  --x: 50%;
  --y: 888px;
  --w: 1860px;
  --h: 693px;
}
.building-directions__shade--top {
  --x: 50%;
  --y: -78px;
  --w: 1860px;
  --h: 635px;
}
.building-directions__dodge {
  --c: #d240fb;
  --o: 0.6;
  --y: 414px;
  mix-blend-mode: color-dodge;
}
.building-directions__dodge--right {
  --x: calc(50% + 725px);
}
.building-directions__dodge--left {
  --x: calc(50% - 721px);
}
.building-directions__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.building-directions__card {
  padding: 19px 31px;
  --turnkey-glass-sheen: none;
  --turnkey-glass-band: 90;
  --turnkey-glass-reach: 55;
  --turnkey-glass-soft: 3;
  --turnkey-glass-dim: 0.06;
}
.building-directions__card.is-lens {
  --turnkey-glass-tint: transparent;
  --turnkey-glass-blur: 0px;
}
.building-directions__icon {
  height: 60px;
}
.building-directions__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.building-directions__head .turnkey-title, .building-directions__card-title, .building-directions__card .turnkey-card-text {
  text-wrap: wrap;
}
@media (max-width: 1024px) {
  .building-directions__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .building-directions__card {
    padding: 24px;
  }
  .building-directions__card:last-child {
    grid-column: 1/-1;
  }
  .building-directions__card:last-child .building-directions__body {
    max-width: 560px;
  }
}
@media (max-width: 767px) {
  .building-directions__deco {
    display: none;
  }
  .building-directions__list {
    grid-template-columns: minmax(0, 1fr);
  }
  .building-directions__card {
    gap: 40px;
    padding: 19px 43px 19px 19px;
  }
}

.building-advantages {
  --turnkey-section-pb: 24px;
  z-index: 1;
}
.building-advantages__grid {
  --top: -109px;
  --h: 835px;
  --o: 0.08;
}
.building-advantages__glow {
  --blur: 260px;
}
.building-advantages__glow--left {
  --w: 671px;
  --x: -150px;
  --y: 294px;
}
.building-advantages__glow--top, .building-advantages__glow--right {
  display: none;
}
.building-advantages__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 30px;
}
.building-advantages__title {
  font-size: 30px;
}
.building-advantages__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.building-advantages__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.building-advantages__item::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0) 62%), linear-gradient(222deg, #6540fb 28%, rgba(60, 38, 149, 0) 95%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}
.building-advantages__icon {
  display: block;
  flex-shrink: 0;
  width: 84px;
  height: 61px;
  margin-left: -19px;
}
.building-advantages__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.building-advantages__item-title {
  margin: 0;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.25;
  color: var(--turnkey-text);
  text-wrap: wrap;
}
.building-advantages__item-text {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
  color: var(--turnkey-text-muted);
  text-wrap: wrap;
}
@media (max-width: 1199px) {
  .building-advantages__container {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 30px;
  }
  .building-advantages__head {
    max-width: 625px;
  }
}
@media (max-width: 1024px) {
  .building-advantages__title {
    font-size: 28px;
  }
  .building-advantages__list {
    gap: 20px;
  }
  .building-advantages__item {
    padding: 20px;
  }
}
@media (max-width: 767px) {
  .building-advantages {
    --turnkey-section-pb: 48px;
  }
  .building-advantages__title {
    font-size: 24px;
  }
  .building-advantages__grid, .building-advantages__glow--left {
    display: none;
  }
  .building-advantages__glow--top, .building-advantages__glow--right {
    display: block;
  }
  .building-advantages__glow--top {
    --w: 676px;
    --o: 0.7;
    --x: 50%;
    --y: -277px;
  }
  .building-advantages__glow--right {
    --w: 329px;
    --x: calc(100% + 58px);
    --y: 640px;
  }
  .building-advantages__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

.building .turnkey-stages > :not(.turnkey-deco) {
  z-index: 2;
}

.building-team__deco {
  bottom: auto;
  height: 1116px;
  overflow: hidden;
}
.building-team__grid {
  --top: 133px;
  --h: 820px;
  --o: 0.3;
}
.building-team__shade {
  --x: 50%;
  --w: 1860px;
  --h: 633px;
}
.building-team__shade--top {
  --y: 47px;
}
.building-team__shade--bottom {
  --y: 1087px;
}
.building-team__glow {
  --y: 590px;
  --c: #d240fb;
  --o: 0.6;
  mix-blend-mode: color-dodge;
}
.building-team__glow--right {
  --x: calc(50% + 855px);
}
.building-team__glow--left {
  --x: calc(50% - 816px);
}
.building-team__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}
.building-team__content {
  display: flex;
  flex: 0 1 600px;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  min-width: 0;
}
.building-team__title {
  font-size: 30px;
}
.building-team__list {
  width: 100%;
}
.building-team__text, .building-team__list .turnkey-check-list__item {
  text-wrap: wrap;
}
.building-team__button-glow {
  display: inline-flex;
  filter: drop-shadow(0 0 30px rgba(113, 82, 239, 0.55));
}
.building-team__button {
  filter: none;
}
.building-team__media {
  position: relative;
  flex: 0 1 600px;
  min-width: 0;
}
.building-team__frame {
  --building-team-frame-blur: 150px;
  --building-team-frame-glow: 440px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 30px;
  border-radius: 20px;
  background: #131922;
}
.building-team__frame-glow {
  --c: #4926d8;
  --o: 0.4;
  --w: var(--building-team-frame-glow);
  --blur: var(--building-team-frame-blur);
  mix-blend-mode: color-dodge;
}
.building-team__frame-glow--start {
  --x: -65px;
  --y: -112px;
}
.building-team__frame-glow--end {
  --x: calc(100% + 35px);
  --y: calc(100% + 144px);
}
.building-team__image {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 540/290;
  object-fit: cover;
  border-radius: var(--turnkey-radius);
}
@media (max-width: 1439px) {
  .building-team__glow--right {
    --x: calc(100% + 135px);
  }
  .building-team__glow--left {
    --x: -96px;
  }
}
@media (max-width: 1280px) {
  .building-team__inner {
    gap: 48px;
  }
  .building-team__frame {
    padding: clamp(20px, 2.2vw, 30px);
  }
}
@media (max-width: 1024px) {
  .building-team__inner {
    gap: 40px;
  }
  .building-team__media {
    flex: 0 0 44%;
  }
  .building-team__title {
    font-size: 28px;
  }
  .building-team__text, .building-team__list .turnkey-check-list__item {
    text-wrap: pretty;
  }
  .building-team__frame {
    padding: 16px;
    border-radius: 16px;
  }
  .building-team__image {
    aspect-ratio: 4/3;
    border-radius: 8px;
  }
}
@media (max-width: 899px) {
  .building-team__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 48px;
  }
  .building-team__media {
    flex: none;
    order: -1;
    width: 100%;
    max-width: 600px;
  }
  .building-team__content {
    flex: none;
    max-width: 720px;
  }
  .building-team__frame {
    padding: 24px;
    border-radius: 20px;
  }
  .building-team__image {
    aspect-ratio: 540/290;
    border-radius: var(--turnkey-radius);
  }
}
@media (max-width: 767px) {
  .building-team__deco {
    display: none;
  }
  .building-team__inner {
    gap: 40px;
  }
  .building-team__content {
    gap: 40px;
  }
  .building-team__title {
    font-size: 24px;
  }
  .building-team__list {
    gap: 12px;
  }
  .building-team__text, .building-team__list .turnkey-check-list__item {
    text-wrap: wrap;
  }
  .building-team__media {
    max-width: none;
  }
  .building-team__frame {
    padding: 16px;
    border-radius: 20px;
  }
  .building-team__frame-glow--end {
    --x: calc(100% + 300px);
    --y: calc(100% + 172px);
  }
  .building-team__image {
    aspect-ratio: 303/290;
  }
}

.building-cycle__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 80px;
}
.building-cycle__media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 30px;
  border-radius: 20px;
  background: #131922;
}
.building-cycle__media::before, .building-cycle__media::after {
  --c: #4926d8;
  --w: 440px;
  --blur: 150px;
  content: "";
  position: absolute;
  width: calc(var(--w) + var(--blur) * 4);
  height: calc(var(--w) + var(--blur) * 4);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 77%, transparent) 0%, color-mix(in srgb, var(--c) 68%, transparent) 20%, color-mix(in srgb, var(--c) 46%, transparent) 40%, color-mix(in srgb, var(--c) 22%, transparent) 60%, color-mix(in srgb, var(--c) 7%, transparent) 80%, color-mix(in srgb, var(--c) 0%, transparent) 100%);
  opacity: 0.4;
  mix-blend-mode: color-dodge;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.building-cycle__media::before {
  top: -63px;
  left: -77px;
}
.building-cycle__media::after {
  top: calc(100% + 106px);
  left: calc(100% + 40px);
}
.building-cycle__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 540/290;
  object-fit: cover;
  border-radius: var(--turnkey-radius);
}
.building-cycle__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  min-width: 0;
}
.building-cycle__title {
  font-size: 30px;
}
.building-cycle__text {
  text-wrap: wrap;
}
@media (max-width: 1024px) {
  .building-cycle__inner {
    column-gap: 40px;
  }
  .building-cycle__title {
    font-size: 28px;
  }
  .building-cycle__text {
    text-wrap: pretty;
  }
  .building-cycle__media {
    padding: 20px;
  }
}
@media (max-width: 900px) {
  .building-cycle__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  .building-cycle__media {
    max-width: 640px;
  }
}
@media (max-width: 767px) {
  .building-cycle__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  .building-cycle__content {
    gap: 20px;
  }
  .building-cycle__title {
    font-size: 24px;
  }
  .building-cycle__text {
    text-wrap: wrap;
  }
  .building-cycle__actions {
    margin-top: 20px;
  }
  .building-cycle__media {
    padding: 20px;
    background: var(--turnkey-card-bg-grey);
  }
  .building-cycle__media::before, .building-cycle__media::after {
    display: none;
  }
  .building-cycle__image {
    aspect-ratio: 295/290;
  }
}

.building-cta__deco {
  overflow: clip;
  overflow-clip-margin: 40px;
}
.building-cta__haze {
  --x: -45px;
  --y: 549px;
  --w: 676px;
  --o: 0.7;
}
.building-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  column-gap: 80px;
}
.building-cta__media {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 30px;
  border-radius: 20px;
  background: #131922;
}
.building-cta__media::before, .building-cta__media::after {
  --c: #4926d8;
  --w: 440px;
  --blur: 150px;
  content: "";
  position: absolute;
  width: calc(var(--w) + var(--blur) * 4);
  height: calc(var(--w) + var(--blur) * 4);
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 77%, transparent) 0%, color-mix(in srgb, var(--c) 68%, transparent) 20%, color-mix(in srgb, var(--c) 46%, transparent) 40%, color-mix(in srgb, var(--c) 22%, transparent) 60%, color-mix(in srgb, var(--c) 7%, transparent) 80%, color-mix(in srgb, var(--c) 0%, transparent) 100%);
  opacity: 0.4;
  mix-blend-mode: color-dodge;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.building-cta__media::before {
  top: -102px;
  left: -125px;
}
.building-cta__media::after {
  top: calc(100% + 151px);
  left: calc(100% + 22px);
}
.building-cta__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 540/440;
  object-fit: cover;
  border-radius: var(--turnkey-radius);
}
.building-cta__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  min-width: 0;
}
.building-cta__title {
  font-size: 30px;
}
.building-cta__text {
  text-wrap: wrap;
}
.building-cta__text + .building-cta__text {
  margin-top: 0;
}
@media (max-width: 1024px) {
  .building-cta__inner {
    column-gap: 40px;
  }
  .building-cta__title {
    font-size: 28px;
  }
  .building-cta__text {
    text-wrap: pretty;
  }
  .building-cta__media {
    padding: 20px;
  }
}
@media (max-width: 900px) {
  .building-cta__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  .building-cta__media {
    max-width: 640px;
  }
  .building-cta__image {
    aspect-ratio: 3/2;
  }
}
@media (max-width: 767px) {
  .building-cta__deco {
    display: none;
  }
  .building-cta__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  .building-cta__title {
    font-size: 24px;
  }
  .building-cta__text {
    text-wrap: wrap;
  }
  .building-cta__actions {
    margin-top: 20px;
  }
  .building-cta__media {
    padding: 16px 15px;
  }
  .building-cta__media::before, .building-cta__media::after {
    display: none;
  }
  .building-cta__image {
    aspect-ratio: 305/250;
  }
}

.turnkey .services-catalog--landing {
  padding-block: var(--turnkey-section-pt) var(--turnkey-section-pb);
  background: transparent;
  text-wrap: balance;
}
.turnkey .services-catalog--landing::before {
  display: none;
}
@media (min-width: 1025px) {
  .turnkey .services-catalog--landing .service-card {
    width: calc((100% - 80px) / 3);
  }
}

.building-cta:has(+ .services-catalog--landing) .building-cta__deco {
  overflow: visible;
}
