
html.tt-enhanced-home body #services.services.tt-theme-light {
  background-color: var(--tt-paper) !important;
  background-image: none !important;
  color: var(--tt-ink) !important;
}

/* Keep the desktop services restart control just below the final sphere. */
@media (min-width: 1280px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block > .services-circle-end-block-el__restart-btn {
    top: calc(100% + 18px) !important;
  }
}

html.tt-enhanced-home body #services.services.tt-theme-light .heading__title,
html.tt-enhanced-home body #services.services.tt-theme-light .services__text,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item-title,
html.tt-enhanced-home body #services.services.tt-theme-light .services-circle-item-title,
html.tt-enhanced-home body #services.services.tt-theme-light .services-circle-item-description,
html.tt-enhanced-home body #services.services.tt-theme-light .services-circle-end-block-el__text {
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .services__item {
  border-color: rgb(5 5 5 / 72%) !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active + .services__item {
  border-top-color: transparent !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .services__tag,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active .services__item-title,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active .services__item-description,
html.tt-enhanced-home body #services.services.tt-theme-light .services__item.is-active .collapse__content-el {
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .heading svg path {
  stroke: var(--tt-ink) !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .services-circle-svg circle:first-of-type {
  stroke: var(--tt-services-ring) !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light .restart-btn {
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body section.hero {
  background-color: transparent !important;
  background-image: none !important;
  overflow: visible !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading,
html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__title,
html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__button.active span {
  color: #fff !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__icon svg path {
  stroke: #fff !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__button {
  border-color: rgb(255 255 255 / 34%) !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__button span {
  color: rgb(255 255 255 / 48%) !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .heading__button.active {
  border-color: #fff !important;
}

html.tt-enhanced-home body #cases.cases.tt-theme-dark .cases__items::before {
  content: none !important;
  display: none !important;
}

html.tt-enhanced-home body #cases.cases:not(.tt-theme-dark) {
  background-color: var(--tt-paper) !important;
  background-image: none !important;
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body #cases.cases:not(.tt-theme-dark) .heading,
html.tt-enhanced-home body #cases.cases:not(.tt-theme-dark) .heading__title,
html.tt-enhanced-home body #cases.cases:not(.tt-theme-dark) .heading__button.active span {
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body #cases.cases:not(.tt-theme-dark) .heading__icon svg path {
  stroke: var(--tt-ink) !important;
}

/* codex-cases-corner-clip */
html.tt-enhanced-home body #cases.cases .case {
  --tt-case-radius: 38px;
  background-clip: padding-box;
  background-color: #000 !important;
  border-radius: var(--tt-case-radius) !important;
  clip-path: inset(0 round var(--tt-case-radius)) !important;
  isolation: isolate;
  overflow: hidden !important;
  transform: translateZ(0);
}

html.tt-enhanced-home body #cases.cases .case__image,
html.tt-enhanced-home body #cases.cases .case__info {
  border-radius: calc(var(--tt-case-radius) + 1px) !important;
}

html.tt-enhanced-home body #cases.cases .case__image {
  inset: -1px !important;
  overflow: hidden !important;
  z-index: 0 !important;
}

html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image {
  background-color: #000 !important;
}

html.tt-enhanced-home body #cases.cases .case__image.case-no-image,
html.tt-enhanced-home body #cases.cases .case.case-no-image .case__image {
  background: linear-gradient(180deg, #4f0fff, #300999) !important;
}

html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image img {
  border-radius: calc(var(--tt-case-radius) + 1px) !important;
  display: block !important;
  height: 100% !important;
  margin: 0 !important;
  max-width: none !important;
  object-fit: fill !important;
  overflow: hidden !important;
  width: 100% !important;
}

html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__info {
  background-color: rgb(0 0 0 / 85%) !important;
  inset: -1px !important;
  overflow: hidden !important;
}

html.tt-enhanced-home body #cases.cases .case:not(.case-no-image)::after {
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 68%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}

html.tt-enhanced-home body #cases.cases .case.case-no-image::after {
  content: none !important;
}

@media (min-width: 768px) and (max-width: 1279px) {
  html.tt-enhanced-home body #cases.cases .case {
    --tt-case-radius: 26px;
  }
}

/* codex-mobile-cases-polish */
@media (max-width: 767px) {
  html.tt-enhanced-home body #cases.cases .cases__items {
    overscroll-behavior-x: contain;
    touch-action: auto !important;
  }

  html.tt-enhanced-home body #cases.cases .swiper {
    touch-action: pan-y !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) {
    background-color: #000 !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image)::after {
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgb(0 0 0 / 72%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 3;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image {
    background-color: #000 !important;
    inset: -1px !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image img {
    border-radius: inherit !important;
    display: block !important;
    height: calc(100% + 2px) !important;
    margin: -1px !important;
    max-width: none !important;
    object-fit: cover !important;
    width: calc(100% + 2px) !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__info {
    background-color: rgb(0 0 0 / 85%) !important;
    inset: 0 !important;
  }
}

@media (max-width: 767px) {
  html.tt-enhanced-home body section.hero > .container {
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
    top: auto !important;
  }

}

html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus,
html.tt-enhanced-home body #services.services.tt-services-final-focus {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading__title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .collapse__content-el,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text {
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading svg path {
  stroke: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item {
  border-color: rgb(255 255 255 / 34%) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active + .services__item {
  border-color: transparent !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .restart-btn {
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading__title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .collapse__content-el,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text {
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading svg path {
  stroke: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item {
  border-color: rgb(255 255 255 / 34%) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .restart-btn {
  color: #fff !important;
}

html.tt-enhanced-home body .services-pause-shell {
  background: #000 !important;
  transition:
    background-color 560ms cubic-bezier(0.16, 1, 0.3, 1),
    background 560ms cubic-bezier(0.16, 1, 0.3, 1);
}

html.tt-enhanced-home body .services-pause-shell.tt-theme-light {
  background: var(--tt-paper) !important;
}

html.tt-enhanced-home body #services.services {
  transition:
    background-color 560ms cubic-bezier(0.16, 1, 0.3, 1),
    color 560ms cubic-bezier(0.16, 1, 0.3, 1);
}

html.tt-enhanced-home body #services.services.tt-services-final-focus,
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus,
html.tt-enhanced-home body #services.services.tt-services-final-focus {
  background-color: var(--tt-paper) !important;
  background-image: none !important;
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading__title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .collapse__content-el,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus .heading__title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .collapse__content-el,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text {
  color: var(--tt-ink) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__tag,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .collapse__content-el,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__tag,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .services__item-title,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .services__item-description,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active .collapse__content-el {
  color: #fff !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active::before,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active::before {
  background-color: var(--tt-purple) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .heading svg path,
html.tt-enhanced-home body #services.services.tt-services-final-focus .heading svg path {
  stroke: var(--tt-ink) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item {
  border-color: rgb(5 5 5 / 72%) !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active + .services__item,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active,
html.tt-enhanced-home body #services.services.tt-services-final-focus .services__item.is-active + .services__item {
  border-color: transparent !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .restart-btn,
html.tt-enhanced-home body #services.services.tt-services-final-focus .restart-btn {
  color: var(--tt-ink) !important;
}

/* codex-desktop-services-black-entry */
@media (min-width: 768px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .heading__title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__text,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item-title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item-description,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .collapse__content-el,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-item-title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-item-description,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text {
    color: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .heading svg path {
    stroke: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item {
    border-color: rgb(255 255 255 / 34%) !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item.is-active,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item.is-active + .services__item {
    border-color: transparent !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .restart-btn {
    color: #fff !important;
  }
}

@media (max-width: 767px) {
  html.tt-enhanced-home body .award-pause-shell {
    padding-bottom: clamp(26px, 7.5vw, 42px) !important;
  }
}
/* codex-mobile-counters-under-text */

@media (max-width: 767px) {
  html.tt-enhanced-home.tt-counters-visible body .counter-section {
    z-index: 15 !important;
  }

  html.tt-enhanced-home.tt-counters-visible body .counter-section__counter {
    transform: none !important;
  }
}


/* codex-mobile-services-black-entry */
@media (max-width: 767px) {
  html.tt-enhanced-home body .services-pause-shell {
    background: #000 !important;
    margin-top: clamp(44px, 7svh, 68px) !important;
  }

  html.tt-enhanced-home body .services-pause-shell > #services.services {
    padding-top: 18px !important;
  }

  html.tt-enhanced-home body .services-pause-shell > #services.services .services-circle-wrapper {
    min-height: min(250px, 66vw) !important;
  }

  html.tt-enhanced-home body .services-pause-shell.tt-theme-light {
    background: var(--tt-paper) !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) {
    background-color: #000 !important;
    background-image: none !important;
    color: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .heading__title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__text,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item-title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item-description,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .collapse__content-el,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-item-title,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-item-description,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text {
    color: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .heading svg path {
    stroke: #fff !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item {
    border-color: rgb(255 255 255 / 34%) !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item.is-active,
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services__item.is-active + .services__item {
    border-color: transparent !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .restart-btn {
    color: #fff !important;
  }
}
/* codex-mobile-counters-original-motion */
@media (max-width: 767px) {
  html.tt-enhanced-home body .counter-section .counter-section__counter {
    transition: transform 500ms linear, opacity 700ms ease !important;
    will-change: transform, opacity;
  }

  html.tt-enhanced-home:not(.tt-counters-visible) body .counter-section .counter-section__counter,
  html.tt-enhanced-home body .counter-section:not(.is-visible) .counter-section__counter,
  html.tt-enhanced-home body .counter-section.counter-section--guard-hidden .counter-section__counter {
    opacity: 0 !important;
    transform: translate3d(0, 100px, 0) !important;
  }

  html.tt-enhanced-home.tt-counters-visible body .counter-section.is-visible .counter-section__counter {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 500ms linear, opacity 700ms ease !important;
  }

}

@media (max-width: 767px) {
  html.tt-enhanced-home body .key-visual canvas {
    opacity: 1 !important;
    transition: opacity .7s ease, transform .7s ease !important;
    transform: translate3d(0, 0, 0) !important;
    transform-origin: 50% 50% !important;
  }

  html.tt-enhanced-home.tt-counters-visible body .key-visual canvas {
    opacity: 0 !important;
  }

  html.tt-enhanced-home body .key-visual__phone {
    --key-visual-offset-y: -430px !important;
  }

  html.tt-enhanced-home.tt-mobile-hero-title-hidden body .hero .hero__title {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 180ms linear !important;
    visibility: hidden !important;
  }

  html.tt-enhanced-home body .hero .hero__name .hero__tip {
    box-sizing: border-box !important;
    display: block !important;
    font-size: clamp(14px, 3.6vw, 16px) !important;
    font-weight: 300 !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    padding: 9px 12px !important;
    pointer-events: none !important;
    right: 0 !important;
    text-align: left !important;
    top: 150px !important;
    transform: none !important;
    visibility: visible !important;
    width: clamp(176px, 42vw, 188px) !important;
    --tw-translate-y: 0px !important;
  }

  html.tt-enhanced-home body .counter-section {
    bottom: 48px !important;
  }

  html.tt-enhanced-home body .counter-section__counter {
    transition: transform .7s ease, opacity .7s ease !important;
    will-change: transform, opacity;
  }

}

/* codex-services-normal-flow */
html.tt-enhanced-home body .services-pause-shell > #services.services {
  position: relative !important;
  top: auto !important;
}

html.tt-enhanced-home body .services-pause-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

/* codex-mobile-cases-original-edges */
@media (max-width: 767px) {
  html.tt-enhanced-home body #cases.cases .case {
    background-color: transparent !important;
    border-radius: 38px !important;
    clip-path: none !important;
    isolation: auto !important;
    overflow: visible !important;
    transform: none !important;
  }

  html.tt-enhanced-home body #cases.cases .case::after {
    content: none !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) {
    background-color: transparent !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image {
    background-color: #fff !important;
    border-radius: 40px !important;
    inset: 0 !important;
    overflow: visible !important;
    position: absolute !important;
    z-index: -1 !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image {
    background-color: #fff !important;
    inset: 0 !important;
    overflow: visible !important;
    z-index: -1 !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image,
  html.tt-enhanced-home body #cases.cases .case__image img {
    aspect-ratio: 1 / 1 !important;
    border-radius: 40px !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image img {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    max-width: 100% !important;
    object-fit: fill !important;
    overflow: visible !important;
    transform: none !important;
    width: 100% !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image img {
    border-radius: 40px !important;
    height: auto !important;
    margin: 0 !important;
    max-width: 100% !important;
    object-fit: fill !important;
    overflow: visible !important;
    transform: none !important;
    width: 100% !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image.case-no-image,
  html.tt-enhanced-home body #cases.cases .case.case-no-image .case__image {
    background: linear-gradient(180deg, #4f0fff, #300999) !important;
  }

  html.tt-enhanced-home body #cases.cases .case__info {
    background-color: rgb(0 0 0 / 90%) !important;
    border-radius: 0 !important;
    inset: 0 !important;
    overflow: visible !important;
    position: absolute !important;
    z-index: auto !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__info {
    background-color: rgb(0 0 0 / 90%) !important;
    border-radius: 0 !important;
    inset: 0 !important;
    overflow: visible !important;
    z-index: auto !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide .case.case-no-image .case__info {
    background-color: rgb(0 0 0 / 85%) !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide .case__content {
    opacity: 0.25 !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide-active .case .case__info {
    background-color: rgb(0 0 0 / 85%) !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide-active .case:not(.case-no-image) .case__info {
    background-color: rgb(0 0 0 / 85%) !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide-active .case.case-no-image .case__info {
    background-color: rgb(0 0 0 / 15%) !important;
  }

  html.tt-enhanced-home body #cases.cases .cases__items .swiper-wrapper .swiper-slide.swiper-slide-active .case .case__content,
  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide-active .case__content {
    opacity: 1 !important;
  }
}

/* codex-desktop-cases-flat-overlay */
@media (min-width: 768px) {
  html.tt-enhanced-home body #cases.cases .case {
    --tt-case-radius: 38px;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: var(--tt-case-radius) !important;
    box-shadow: none !important;
    clip-path: none !important;
    isolation: isolate !important;
    overflow: hidden !important;
    transform: none !important;
  }

  html.tt-enhanced-home body #cases.cases .case::after,
  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image)::after {
    box-shadow: none !important;
    content: none !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) {
    background-color: #191919 !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image,
  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image {
    border-radius: inherit !important;
    inset: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    z-index: 0 !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image {
    background-color: #fff !important;
    border-radius: calc(var(--tt-case-radius) - 1px) !important;
    inset: 1px !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image.case-no-image,
  html.tt-enhanced-home body #cases.cases .case.case-no-image .case__image {
    background: linear-gradient(180deg, #4f0fff, #300999) !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image,
  html.tt-enhanced-home body #cases.cases .case__image img {
    aspect-ratio: 1 / 1 !important;
  }

  html.tt-enhanced-home body #cases.cases .case__image img,
  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__image img {
    border-radius: inherit !important;
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
    max-width: none !important;
    mix-blend-mode: normal !important;
    object-fit: fill !important;
    opacity: 1 !important;
    transform: none !important;
    width: 100% !important;
  }

  html.tt-enhanced-home body #cases.cases .case__info,
  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__info {
    border-radius: 0 !important;
    inset: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    z-index: 1 !important;
  }

  html.tt-enhanced-home body #cases.cases .case:not(.case-no-image) .case__info {
    background-color: rgb(0 0 0 / 90%) !important;
  }

  html.tt-enhanced-home body #cases.cases .case.case-no-image .case__info,
  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide .case.case-no-image .case__info,
  html.tt-enhanced-home body #cases.cases .cases__items .swiper-slide-active .case.case-no-image .case__info {
    background-color: rgb(0 0 0 / 15%) !important;
  }
}

/* codex-mobile-section-spacing-and-services-blur */
@media (max-width: 767px) {
  html.tt-enhanced-home body .services-pause-shell > #services.services,
  html.tt-enhanced-home body #services.services,
  html.tt-enhanced-home body #clients.clients,
  html.tt-enhanced-home body #cases.cases {
    padding-top: 40px !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus .services__content,
  html.tt-enhanced-home body #services.services.tt-services-final-focus .heading {
    filter: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}

/* codex-mobile-award-spacing */
@media (max-width: 767px) {
  html.tt-enhanced-home body .award-pause-shell {
    align-items: flex-start !important;
    justify-content: center !important;
    min-height: 540px !important;
  }

  html.tt-enhanced-home body .award-pause-shell .hero__award {
    align-self: flex-start !important;
  }
}

/* codex-services-final-text-only */
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__img {
  filter: none !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text,
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text-line,
html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text,
html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text-line {
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el {
  isolation: isolate;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__img {
  position: relative;
  z-index: 0;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text {
  z-index: 2;
}

@media (min-width: 1280px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el {
    margin-top: -18% !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__img,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__img {
    margin-left: -40% !important;
    width: 180% !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text {
    font-size: 64px !important;
  }
}

@media (max-width: 767px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text {
    font-size: 24px !important;
  }
}

/* Match the replacement sphere's visible desktop size to the original asset. */
@media (min-width: 1280px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el {
    width: 100% !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__img,
  html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__img {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 64.67% !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__restart-btn {
    top: calc(100% + 63px) !important;
  }
}

html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text-line,
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text-line {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text-line:first-child,
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text-line:first-child {
  background-image: linear-gradient(
    91deg,
    #4f0fff 0%,
    #280685 35%,
    #280685 66%,
    #4f0fff 100%
  );
}

html[lang="en"].tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text-line:first-child,
html[lang="en"].tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text-line:first-child {
  background-image: linear-gradient(
    91deg,
    #4f0fff 0%,
    #280685 35%,
    #280685 66%,
    #4f0fff 100%
  );
}

html.tt-enhanced-home body #services.services.tt-services-final-focus:not(.tt-theme-light) .services-circle-end-block-el__text-line:nth-child(2),
html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .services-circle-end-block-el__text-line:nth-child(2) {
  background-image: linear-gradient(
    91deg,
    #4f0fff 0%,
    #280685 27%,
    #280685 73%,
    #4f0fff 100%
  );
}

html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .restart-btn {
  border-color: #4f0fff !important;
  color: #4f0fff !important;
}

html.tt-enhanced-home body #services.services.tt-theme-light.tt-services-final-focus .restart-btn__icon path {
  fill: #4f0fff !important;
  stroke: #4f0fff !important;
}

/* codex-hero-mobile-text-wrap3 */
@media (max-width: 767px) {
  html.tt-enhanced-home body .key-visual__phone {
    --key-visual-offset-y: -205px !important;
  }

  html.tt-enhanced-home body .key-visual__paragraph:nth-child(2) {
    font-size: clamp(30px, 7.7vw, 38px) !important;
    line-height: 1.06 !important;
  }
}

/* codex-hero-mobile-wide-browser-anchor */

/* codex-services-desktop-hover-compositor-guard */
@media (min-width: 1280px) {
  html.tt-enhanced-home body #services.services.tt-services-final-focus .services__content,
  html.tt-enhanced-home body #services.services.tt-services-final-focus .heading {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__img,
  html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__text {
    pointer-events: none !important;
  }

  html.tt-enhanced-home body #services.services.tt-services-final-focus .services-circle-end-block-el__restart-btn {
    pointer-events: auto !important;
  }
}
@media (min-width: 480px) and (max-width: 767px) {
  html.tt-enhanced-home body .key-visual canvas {
    transform: translate3d(0, 0, 0) !important;
    transform-origin: 50% 50% !important;
  }
}

/* codex-hero-mobile-open-phone-reference */
@media (max-width: 767px) {
  html.tt-enhanced-home.tt-mobile-hero-title-hidden:not(.tt-counters-visible) body .key-visual canvas {
    transform: translate3d(0, -4px, 0) scale(1.43) !important;
    transform-origin: 50% 47% !important;
  }

  html.tt-enhanced-home.tt-mobile-hero-title-hidden:not(.tt-counters-visible) body .key-visual::before,
  html.tt-enhanced-home.tt-mobile-hero-title-hidden:not(.tt-counters-visible) body .key-visual::after {
    font-family: Geologica, Arial, sans-serif !important;
    font-size: clamp(18px, 4.8vw, 21px) !important;
    font-weight: 300 !important;
    left: 50% !important;
    letter-spacing: 0 !important;
    line-height: 1.08 !important;
    pointer-events: none !important;
    position: fixed !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
    width: min(320px, calc(100vw - 64px)) !important;
    z-index: 7 !important;
  }

  html.tt-enhanced-home.tt-mobile-hero-title-hidden:not(.tt-counters-visible) body .key-visual::before {
    color: #fff !important;
    content: "Формируем медиа-сплит для" !important;
    top: 45.8vh !important;
  }

  html.tt-enhanced-home.tt-mobile-hero-title-hidden:not(.tt-counters-visible) body .key-visual::after {
    color: #4f0fff !important;
    content: "достижения наилучших\\A результатов." !important;
    top: calc(45.8vh + 21px) !important;
    white-space: pre-line !important;
  }
}

/* codex-mobile-counter-gap-cssonly1 */
@media (max-width: 767px) and (orientation: portrait) {
  html.tt-enhanced-home body .counter-section {
    bottom: 48px !important;
  }
}

/* The production desktop key visual owns its own loading lifecycle. Its canvas
   must remain visible; the generic readiness gate is used by the mobile build. */
@media (min-width: 768px) {
  html.tt-enhanced-home body .key-visual canvas {
    opacity: 1 !important;
  }
}

@media (max-width: 767px) and (min-height: 761px) and (orientation: portrait) {
  html.tt-enhanced-home body .counter-section {
    bottom: 48px !important;
  }
}

/* codex-mobile-cta-icon-stable1 */
@media (max-width: 767px) {
  html.tt-enhanced-home body .hero__button--desktop .button__icon {
    flex: 0 0 36px;
    height: 36px !important;
    max-height: 36px !important;
    max-width: 36px !important;
    min-height: 36px !important;
    min-width: 36px !important;
    width: 36px !important;
  }

  html.tt-enhanced-home body .hero__button--desktop .button__icon svg {
    flex: 0 0 20px;
    height: 18px !important;
    max-height: 18px !important;
    max-width: 20px !important;
    min-height: 18px !important;
    min-width: 20px !important;
    overflow: visible;
    width: 20px !important;
  }
}

/* codex-mobile-keyvisual-stage-isolation */
@media (max-width: 767px) {
  html.tt-enhanced-home body .key-visual-final-text,
  html.tt-enhanced-home.tt-keyvisual-final-text-visible body .key-visual-final-text,
  html.tt-enhanced-home.tt-counters-visible body .key-visual-final-text {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 120ms linear !important;
    visibility: hidden !important;
  }

  html.tt-enhanced-home.tt-keyvisual-final-text-visible:not(.tt-counters-visible) body .counter-section {
    pointer-events: none !important;
  }

  html.tt-enhanced-home.tt-keyvisual-final-text-visible:not(.tt-counters-visible) body .counter-section__counter {
    opacity: 0 !important;
    transform: translate3d(0, 100px, 0) !important;
  }
}

/* codex-mobile-keyvisual-scroll-tail */
@media (max-width: 767px) {
  html.tt-enhanced-home body .key-visual-wrapper {
    height: 3080px !important;
    margin-bottom: 48px !important;
  }

  html.tt-enhanced-home body .key-visual-pin {
    transform: none !important;
  }
}

/* codex-mobile-hero-title-intro */
@media (max-width: 767px) {
  html.tt-enhanced-home body section.hero .hero__name {
    overflow: hidden !important;
  }

  html.tt-enhanced-home body section.hero .hero__title > .hero__name:nth-child(2) {
    overflow: visible !important;
  }

  html.tt-enhanced-home body section.hero .hero__title > .hero__name:nth-child(2),
  html.tt-enhanced-home body section.hero .hero__title > .hero__name:nth-child(3) {
    opacity: 1 !important;
    transform: none !important;
    transition-property: none !important;
  }

  html.tt-enhanced-home body section.hero .hero__name > span {
    transform: translate3d(0, 100%, 0) !important;
    transition: transform 600ms cubic-bezier(.4, 0, .2, 1) !important;
    will-change: transform !important;
  }

  html.tt-enhanced-home body section.hero .hero__name.active > span,
  html.tt-enhanced-home body section.hero .hero__name.was-animated > span {
    transform: translate3d(0, 0, 0) !important;
  }

  html.tt-enhanced-home body section.hero .hero__name > span > i::before {
    background: #4f0fff !important;
    border-radius: 2px !important;
    bottom: 10px !important;
    content: "" !important;
    height: 10px !important;
    left: 0 !important;
    position: absolute !important;
    transition: width 600ms cubic-bezier(.4, 0, .2, 1) !important;
    transition-delay: 500ms !important;
    width: 0 !important;
    z-index: -1 !important;
  }

  html.tt-enhanced-home body section.hero .hero__name.active > span > i::before,
  html.tt-enhanced-home body section.hero .hero__name.was-animated > span > i::before {
    width: 100% !important;
  }

  html.tt-enhanced-home body section.hero .hero__tip {
    opacity: 0 !important;
    transform: translate3d(0, 100%, 0) !important;
    transition-duration: 450ms, 0s, 600ms !important;
    transition-delay: 0s, 450ms, 0s !important;
    transition-property: opacity, visibility, transform !important;
    visibility: hidden !important;
  }

  html.tt-enhanced-home body section.hero .hero__title > .hero__name:nth-child(2).active .hero__tip,
  html.tt-enhanced-home body section.hero .hero__title > .hero__name:nth-child(2).was-animated .hero__tip {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    transition-delay: 120ms, 0s, 0s !important;
    visibility: visible !important;
  }
}

/* codex-mobile-counters-lift-safearea */
@media (max-width: 767px) and (orientation: portrait) {
  html.tt-enhanced-home body .counter-section,
  html.tt-enhanced-home body .counter-section.counter-section--guard-hidden,
  html.tt-enhanced-home body .counter-section.counter-section--reverse-hidden,
  html.tt-enhanced-home.tt-counters-visible body .counter-section {
    bottom: auto !important;
    gap: clamp(4px, 1.2svh, 8px) !important;
    justify-content: flex-start !important;
    top: clamp(332px, calc(47svh - 18px), 380px) !important;
  }

  html.tt-enhanced-home body .counter-section__counter {
    padding-bottom: clamp(8px, 1.7svh, 10px) !important;
  }

  html.tt-enhanced-home body .counter-section__counter-number {
    font-size: clamp(58px, 17.8vw, 68px) !important;
    line-height: 1.08 !important;
  }

  html.tt-enhanced-home body .counter-section__counter-text {
    font-size: clamp(16px, 4.2vw, 18px) !important;
    line-height: 1.08 !important;
  }
}
