@keyframes heroRoiMarquee {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(calc(-50% - var(--roi-half-gap)))
    }
}

.typewriter_text {
    white-space: pre-wrap
}

html[data-js] .typewriter_char {
    visibility: hidden
}

.typewriter_char.is-visible, html[data-js] .typewriter_char.is-visible {
    visibility: visible
}

.about_hero-title, .home_hero-title.typewriter_host {
    background: none
}

.home_hero-title.typewriter_host .typewriter_char {
    background: linear-gradient(179deg, #fff 31.04%, #0042e1 107.63%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.about_hero-title .typewriter_char {
    background: linear-gradient(179deg, #fff 11.04%, #0042e1 107.63%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.home_hero-title.typewriter_host:after {
    display: none
}

@media (prefers-reduced-motion:reduce) {
    .home_hero-roi-track {
        animation-play-state: paused
    }

    html[data-js] .typewriter_char {
        visibility: visible
    }

    html[data-js] .home_hero .hero_reveal {
        opacity: 1;
        visibility: visible
    }
}

@keyframes whatContentIn {
    0% {
        opacity: 0;
        filter: blur(5px);
        transform: translateY(14px)
    }

    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0)
    }
}

@keyframes whatCountIn {
    0% {
        opacity: 0;
        text-shadow: 0 0 0 rgba(0, 212, 255, 0);
        transform: translateY(14px) scale(.96)
    }

    to {
        opacity: 1;
        text-shadow: 0 0 26px rgba(0, 212, 255, .24);
        transform: translateY(0) scale(1)
    }
}

@keyframes reviewActiveExitNext {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%)
    }

    to {
        opacity: .62;
        transform: translate(-58%, -50%) scale(.985)
    }
}

@keyframes reviewCrossfadeInNext {
    0% {
        opacity: 0;
        translate: 26px 0;
        scale: .985
    }

    to {
        opacity: 1;
        translate: 0 0;
        scale: 1
    }
}

@keyframes reviewContentReveal {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes reviewContentHide {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes reviewContentLift {
    0% {
        opacity: 0;
        translate: 0 10px;
        filter: blur(3px)
    }

    to {
        opacity: 1;
        translate: 0 0;
        filter: blur(0)
    }
}

@keyframes reviewCrossfadeInPrev {
    0% {
        opacity: 0;
        translate: -26px 0;
        scale: .985
    }

    to {
        opacity: 1;
        translate: 0 0;
        scale: 1
    }
}

@keyframes reviewCrossfadeOutNext {
    0% {
        opacity: 1;
        translate: 0 0
    }

    to {
        opacity: 0;
        translate: -22px 0
    }
}

@keyframes reviewCrossfadeOutPrev {
    0% {
        opacity: 1;
        translate: 0 0
    }

    to {
        opacity: 0;
        translate: 22px 0
    }
}

@keyframes reviewSideSettle {
    0% {
        opacity: .16
    }

    to {
        opacity: .3
    }
}

@keyframes reviewActiveExitPrev {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%)
    }

    to {
        opacity: .62;
        transform: translate(-42%, -50%) scale(.985)
    }
}

@keyframes reviewActiveEnterNext {
    0% {
        opacity: .68;
        transform: translate(-42%, -50%) scale(.985)
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%)
    }
}

@keyframes reviewActiveEnterPrev {
    0% {
        opacity: .68;
        transform: translate(-58%, -50%) scale(.985)
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%)
    }
}

@keyframes reviewSideExitSoft {
    0% {
        opacity: .3
    }

    to {
        opacity: .18
    }
}

@keyframes reviewSideExitNext {
    0% {
        opacity: .3;
        transform: translateX(-18px)
    }

    to {
        opacity: .2;
        transform: translateX(-54px)
    }
}

@keyframes reviewSideExitPrev {
    0% {
        opacity: .3;
        transform: translateX(18px)
    }

    to {
        opacity: .2;
        transform: translateX(54px)
    }
}

@keyframes reviewSideEnterSoft {
    0% {
        opacity: .18
    }

    to {
        opacity: .3
    }
}

@keyframes reviewSideEnterNext {
    0% {
        opacity: .2;
        transform: translateX(-54px)
    }

    to {
        opacity: .3;
        transform: translateX(-18px)
    }
}

@keyframes reviewSideEnterPrev {
    0% {
        opacity: .2;
        transform: translateX(54px)
    }

    to {
        opacity: .3;
        transform: translateX(18px)
    }
}

@keyframes reviewSingleFadeOut {
    0% {
        opacity: 1;
        transform: translateX(0) scale(1)
    }

    68% {
        opacity: .28;
        transform: translateX(-34px) scale(.975)
    }

    to {
        opacity: 0;
        transform: translateX(-44px) scale(.97)
    }
}

@keyframes reviewSingleFadeIn {
    0% {
        opacity: 0;
        transform: translateX(44px) scale(.97)
    }

    62% {
        opacity: .92;
        transform: translateX(7px) scale(.997)
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1)
    }
}

@keyframes reviewSingleFadeOutPrev {
    0% {
        opacity: 1;
        transform: translateX(0) scale(1)
    }

    68% {
        opacity: .28;
        transform: translateX(34px) scale(.975)
    }

    to {
        opacity: 0;
        transform: translateX(44px) scale(.97)
    }
}

@keyframes reviewSingleFadeInPrev {
    0% {
        opacity: 0;
        transform: translateX(-44px) scale(.97)
    }

    62% {
        opacity: .92;
        transform: translateX(-7px) scale(.997)
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1)
    }
}

@media (prefers-reduced-motion:reduce) {
    .what_we_do-item, .what_we_do-line-marker {
        transition: none
    }

    .review_card-active, .review_card-next, .review_card-prev {
        animation: none
    }

    .review_card-outgoing, .review_transition-fx {
        display: none
    }
}

.home_hero-image--mobile, .service_hero-image {
    display: none
}

#home {
    overflow-anchor: none
}

@media (min-width:1440px) {
    .service_hero-bottom .home_hero-text {
        max-width: 910px
    }
}

@media (min-width:1921px) {
    .what_we_do-scene {
        min-height: 980px
    }

    .what_we_do-orbit-svg {
        left: max(-760px, -32vw);
        width: 920px;
        height: 920px
    }

    .what_we_do-item {
        gap: 21px
    }

    .what_we_do-item--num {
        font-size: 180px
    }

    .what_we_do-item_content {
        max-width: min(1275px, 58vw);
        padding-top: 15px;
        gap: 15px
    }

    .what_we_do-item--title {
        font-size: 72px;
        line-height: 1.08
    }

    .what_we_do-item--desc {
        font-size: 30px;
        line-height: 1.35
    }

    .what_we_do-line-marker {
        width: 30px;
        height: 30px
    }

    .what_we_do-line-marker-core {
        width: 14px;
        height: 14px
    }

    .content_container {
        max-width: 2400px
    }

    #home .home_hero-title {
        font-size: clamp(265px, 13.8vw, 340px)
    }

    .home_hero-image {
        width: min(35vw, 1580px)
    }

    .tg_hero-image {
        width: min(58vw, 1320px)
    }

    #home .home_hero-content, .tg_hero .home_hero-content {
        bottom: clamp(24px, 3dvh, 48px)
    }
}

@media (min-width:1920px) {
    .we_build .we_build-card {
        width: min(25vw, 520px)
    }
}

@media (min-width:1250px) and (max-width:1919px) {
    .we_build {
        min-height: clamp(810px, 59.4vw, 1138px)
    }

    .we_build .we_build-card {
        width: min(31vw, 500px)
    }
}

@media (min-width:1201px) and (max-width:1800px) {
    .cases_section .cases_row:last-child {
        flex-wrap: wrap
    }

    .cases_section .cases_bottom-items {
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .cases_section .cases_bottom-items .cases_card:nth-child(n+3) {
        display: flex
    }

    .cases_section .cases_other {
        width: 100%;
        max-width: none;
        min-height: 140px
    }
}

@media (max-width:1500px) {
    .numbers_value {
        font-size: 80px
    }

    .case_timeline {
        max-width: 100%
    }

    .cases_other {
        max-width: 355px
    }

    .cases_bottom-items {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .cases_bottom-items .cases_card:nth-child(n+3) {
        display: none
    }

    .footer_nav {
        gap: 24px
    }
}

@media (max-width:1350px) {
    .talk_btn {
        width: 150px;
        height: 150px;
        padding: 10px
    }

    .about_hero-astronaut {
        width: min(calc(27.75vw + 657px), max(1014px, calc(156svh - 167px)))
    }

    .case_result-card {
        min-height: 300px
    }

    .blog_top {
        gap: 28px
    }

    .blog_top-image {
        width: min(42vw, 520px);
        height: auto;
        align-self: center;
        -o-object-fit: contain;
        object-fit: contain
    }

    .blog_subscribe-input {
        width: min(54vw, 600px)
    }
}

@media (max-width:1280px) {
    .footer .footer_title {
        font-size: clamp(64px, 14vw, 180px)
    }

    .blog_subscribe-input {
        flex: 1 1 auto;
        width: 100%
    }

    .services_block {
        padding-inline: 20px
    }

    .services_header {
        gap: 36px
    }

    .home_hero {
        min-height: auto
    }



    .tg_hero {
        min-height: auto
    }

    .tg_hero-image {
        width: min(80vw, 860px)
    }

    .tg_hero .home_hero-content {
        bottom: clamp(84px, 11dvh, 132px)
    }

    .home_hero-content {
        
        align-items: flex-start;
        gap: 40px;
        margin-top: 390px;
        margin-bottom: 72px
    }

    .home_hero-btn {
        width: min(100%, 430px);
        min-width: 0
    }

    .numbers_top {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .numbers_card, .numbers_intro {
        padding-inline: 42px
    }

    .numbers_card-title {
        font-size: 20.8px
    }

    .numbers_card-text {
        font-size: 16px
    }

    .numbers_value {
        font-size: 62px
    }

    .reviews_track {
        width: min(1180px, calc(100vw - 150px))
    }

    .review_card-active {
        width: min(600px, calc(100vw - 96px))
    }

    .review_card-head h3 {
        font-size: 30px
    }

    .review_card-text {
        font-size: 20px
    }
}

@media (max-width:1250px) {
    .about_hero-title {
        font-size: min(16vw, calc((100svh - 130px) / 1.85))
    }

    .about_hero-title>.about_hero-accent {
        margin-top: 28px
    }

    .footer {
        padding-bottom: 56px
    }

    .footer_container {
        display: grid
    }

    .footer .footer_title {
        margin-top: 0;
        font-size: clamp(48px, 14vw, 126px);
        text-align: center
    }

    .footer_intro, .footer_layout {
        display: contents
    }

    .footer_text {
        order: 2;
        max-width: 620px;
        margin: 18px auto 0;
        font-size: 18px;
        line-height: 1.35
    }

    .footer_nav, .footer_text {
        position: relative;
        z-index: 30;
        text-align: center
    }

    .footer_nav {
        order: 3;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 28px;
        margin-top: 30px
    }

    .footer_nav-list {
        justify-items: center
    }

    .footer_socials {
        position: relative;
        z-index: 30;
        order: 4;
        justify-content: center;
        margin-top: 28px
    }

    .footer_logo-bg {
        top: calc(50% + 20px);
        width: 309px;
        transform: translate(-50%, -50%) rotate(-15deg)
    }

    .cases_row:last-child {
        flex-direction: column
    }

    .cases_bottom-items {
        width: 100%
    }

    .cases_other {
        max-width: 100%;
        min-height: 220px
    }

    .blog_grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:1200px) {
    .about_hero-title {
        margin-left: clamp(32px, 8vw, 96px)
    }

    .reviews_slider {
        position: relative;
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: 24px;
        margin-top: 34px
    }

    .reviews_track.reviews_deck {
        display: block;
        flex: 0 1 700px;
        width: min(700px, calc(100vw - 176px));
        height: 470px;
        min-height: 0;
        margin-top: 0;
        overflow: visible
    }

    .review_deck-card, .review_deck-card.review_card-active {
        position: absolute;
        top: 50%;
        left: 50%;
        width: min(840px, calc(100vw - 220px));
        height: 430px;
        min-height: 0;
        padding: 34px 36px 28px;
        transform: none;
        overflow: hidden;
        will-change: opacity, transform
    }

    .reviews_track.reviews_deck.reviews_swiper {
        flex: 0 1 calc(100vw - 176px);
        width: calc(100vw - 176px);
        max-width: 1024px
    }

    .reviews_swiper .swiper-slide {
        width: min(580px, calc(100% - 58px));
        height: 400px
    }

    .service_hero-bottom .home_hero-text {
        max-width: 550px
    }

    .service_hero-bottom {
        gap: 20px
    }

    .review_deck-card .review_card-text {
        max-height: 300px
    }

    .trust_marquee:before {
        left: -84px
    }

    .trust_marquee:after {
        right: -84px
    }

    .cases_page-grid {
        grid-template-columns: repeat(2, minmax(0, 500px))
    }
}

@media (max-width:1100px) {
    .numbers_card-featured {
        width: 200%
    }

    .case_result-card {
        min-height: 250px
    }
}

@media (max-width:1050px) {
    .cases_row {
        flex-direction: column
    }

    .cases_card-arrow {
        max-width: 130px
    }

    .cases_head {
        padding: 38px 32px
    }

    .cases_head .numbers_title, .cases_head p {
        max-width: 100%;
        margin-left: 0;
        text-align: left
    }

    .cases_bottom-items {
        grid-template-columns: 1fr
    }

    .cases_card {
        flex-basis: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .cases_card-main {
        height: 360px
    }

    .cases_card-info {
        grid-template-columns: minmax(0, 1fr) 120px
    }

    .cases_card-info--item {
        min-height: 190px;
        padding: 36px 28px
    }

    .cases_card-info--item-title {
        font-size: 26px
    }

    .cases_card-info--item-desc {
        font-size: 22px
    }

    .cases_other {
        min-height: 190px
    }
}

@media (min-width:901px) and (max-width:1920px) {
    #home .home_hero-content, .tg_hero .service_hero-content {
        bottom: clamp(0px, 3svh, 48px)
    }
}

@media (min-width:901px) {
    .trust_logo {
        height: 80px
    }

    .trust_logo-image {
        width: 80px;
        height: 80px;
        flex-basis: 80px
    }

    .trust_logo--as-is .trust_logo-image, .trust_logo--as-is img {
        width: auto;
        height: 80px
    }

    .trust_logo:not(.trust_logo--as-is) p {
        font-size: 30px
    }

    .talk_radar {
        width: min(88vw, 1600px);
        margin-top: clamp(-140px, -7vw, -56px)
    }

    .service_hero--tg .home_hero-visible:before {
        position: absolute;
        inset: 0 0 auto;
        z-index: 1;
        height: clamp(140px, 18vh, 220px);
        content: "";
        background: linear-gradient(180deg, rgba(5, 2, 0, .78), rgba(5, 2, 0, .4) 48%, rgba(5, 2, 0, 0));
        pointer-events: none
    }
}

@media (min-width:901px) and (max-width:1250px) {
    .we_build {
        height: 90svh;
        min-height: 630px;
        max-height: 882px
    }

    .we_build-title {
        top: 40%;
        font-size: clamp(36px, 6vw, 62px)
    }

    .we_build .we_build-card {
        width: min(33vw, 430px);
        padding: 20px 22px
    }

    .we_build .we_build-connector:after {
        width: 24px;
        height: 24px;
        border: 3px solid #0011ff
    }

    .we_build .we_build-card h3 {
        margin-bottom: 20px
    }

    .home_hero-planet {
        width: 50vw;
        max-width: none
    }

    .home_hero-planet-glow {
        width: 74vw;
        max-width: none;
        filter: blur(clamp(130px, 13vw, 165px))
    }
}

@media (max-width:900px) {
    .about_hero {
        height: 100svh;
        min-height: 450px;
        display: block
    }

    .about_hero-title {
        margin-left: 0
    }

    .about_hero-btn {
        right: 24px;
        bottom: 48px;
        left: 24px;
        width: min(100%, 380px);
        min-width: 0;
        min-height: 76px;
        padding: 20px 28px
    }

    .reviews_slider>.review_arrow-cont {
        display: none
    }

    .reviews_track.reviews_deck.reviews_swiper {
        flex-basis: auto;
        width: 100%;
        max-width: none
    }

    .reviews_swiper .swiper-slide {
        width: min(580px, calc(100% - 32px))
    }

    .contacts_list {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .contacts_item {
        min-height: 140px
    }

    .contacts_item:first-child {
        grid-row: auto;
        grid-column: auto;
        min-height: 140px
    }

    .contacts_item:nth-child(4) {
        grid-column: auto
    }

    .we_build {
        --dna-shift: 0vw;
        height: 650px;
        min-height: 650px;
        max-height: 650px;
        padding: 0
    }

    .we_build-dna--desktop {
        display: none
    }

    .we_build-dna--mobile {
        display: block;
        top: 60px;
        left: -35px;
        width: calc(100% + 32px);
        height: 100%;
        opacity: 1;
        -o-object-fit: contain;
        object-fit: contain;
        transform: none
    }

    .we_build-dna--desktop, .we_build-dna--mobile {
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent);
        mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent)
    }

    .we_build:after {
        z-index: 4;
        background: linear-gradient(180deg, rgba(0, 0, 0, .34), transparent 12%, transparent 86%, rgba(0, 0, 0, .58)), rgba(0, 0, 0, .16)
    }

    .we_build .we_build-item {
        z-index: 5
    }

    .we_build .we_build-card {
        width: 30%;
        padding: 0;
        text-shadow: 0 2px 8px #000, 0 0 16px rgba(0, 0, 0, .9)
    }

    .we_build .we_build-card h3 {
        margin-bottom: 7px;
        font-size: clamp(11px, 3.2vw, 20px);
        line-height: 1.1
    }

    .we_build .we_build-card p {
        color: rgba(255, 255, 255, .82);
        font-size: clamp(7px, 1.85vw, 12px);
        line-height: 1.35;
        text-align: left
    }

    .we_build .we_build-card h3, .we_build .we_build-card p {
        text-shadow: 0 1px 2px #000, 0 2px 6px #000, 0 4px 14px rgba(0, 0, 0, .98), 0 0 24px rgba(0, 0, 0, .9)
    }

    .we_build .we_build-item--1 .we_build-card {
        top: 12%;
        right: 4%;
        left: auto
    }

    .we_build .we_build-item--2 .we_build-card {
        top: 35%;
        left: 5%
    }

    .we_build .we_build-item--3 .we_build-card {
        top: 70%;
        left: 5%
    }

    .we_build .we_build-item--4 .we_build-card {
        top: 55%;
        right: 5%;
        left: auto
    }

    .we_build .we_build-connector {
        display: block;
        width: 10%;
        height: 1px;
        background: rgba(0, 34, 255, 0.72)
    }

    .we_build .we_build-connector:after {
        top: 50%;
        bottom: auto;
        width: 12px;
        height: 12px;
        border-width: 2px;
        border-radius: 1px 4px 1px 4px;
        transform: translate(-50%, -50%)
    }

    .we_build .we_build-item--1 .we_build-connector {
        top: 20%;
        left: 51%;
        height: 1px;
        width: 13%
    }

    .we_build .we_build-item--2 .we_build-connector {
        top: 41%;
        left: 35%;
        height: 1px;
        width: 16%
    }

    .we_build .we_build-item--3 .we_build-connector {
        top: 84%;
        left: 35%;
        height: 1px;
        width: 18%
    }

    .we_build .we_build-item--4 .we_build-connector {
        top: 62%;
        left: 54%;
        height: 1px
    }

    .we_build .we_build-item--1 .we_build-connector:after, .we_build .we_build-item--4 .we_build-connector:after {
        top: 50%;
        right: auto;
        bottom: auto;
        left: 0
    }

    .we_build .we_build-item--2 .we_build-connector:after, .we_build .we_build-item--3 .we_build-connector:after {
        top: 50%;
        right: 0;
        bottom: auto;
        left: auto;
        transform: translate(50%, -50%)
    }

    #home .home_hero-roi-marquee {
        width: calc(100% + 64px);
        margin-inline: -32px
    }

    .home_hero-roi-track {
        --roi-gap: 20px;
        --roi-half-gap: 10px;
        padding-block: 8px;
        animation-duration: 20s
    }

    .home_hero-roi-pill {
        min-width: 72px;
        padding: 5px 10px;
        font-size: 8px
    }

    .talk_section .numbers_title {
        font-size: clamp(30px, 6vw, 54px)
    }

    .about_hero-astronaut {
        width: min(calc(27.75vw + 657px), max(842px, calc(156svh - 167px)));
        transform: translate(-44%, -38%)
    }

    .about_hero-shadow--head {
        left: 64%;
        top: 31%
    }

    .about_hero-shadow--foot {
        left: 29%;
        top: 57%
    }

    .what_we_do {
        min-height: auto;
        padding-top: 72px;
        --what-line-segment: 96px;
        --what-line-gap: 74px
    }

    .blog_top {
        flex-direction: column-reverse;
        gap: 0
    }

    .blog_top_content {
        width: 100%;
        max-width: none;
        padding: 30px 20px;
        border-top: .5px solid #0042e1;
        border-right: 0
    }

    .blog_read-more {
        height: 60px
    }

    .blog_subscribe-btn {
        font-size: 20px
    }

    .blog_top-image {
        width: 100%;
        height: auto
    }

    .blog_subscribe-input {
        flex: 1 1 auto;
        width: 100%;
        font-size: 20px
    }

    .blog_subscribe-input::-moz-placeholder {
        font-size: 20px
    }

    .blog_subscribe-input::placeholder {
        font-size: 20px
    }

    .tg_hero {
        padding-bottom: 0
    }

    .tg_hero, .tg_hero .home_hero-container, .tg_hero .home_hero-visible {
        min-height: 100svh
    }

    .service_hero-content .sub_hero-title {
        font-size: clamp(42px, 8.5vw, 72px)
    }

    .service_hero-bottom .home_hero-text {
        max-width: 500px
    }

    .tg_hero .home_hero-container {
        position: relative;
        height: 100svh;
        min-height: 100svh
    }

    .tg_hero .service_hero-content {
        top: auto;
        right: 32px;
        bottom: 140px;
        left: 32px;
        margin: 0
    }

    .service_hero-bottom {
        gap: 24px
    }

    .service_hero-bottom .home_hero-btn {
        flex: 0 0 auto;
        margin: 0
    }

    .case_step {
        gap: 20px
    }

    .underFooter {
        background-repeat: repeat;
        background-size: contain;
        background-position: bottom
    }

    .home_hero-visible {
        min-height: auto
    }

    .what_we_do-scene {
        min-height: 660px;
        margin-top: 18px
    }

    .what_we_do-orbit-svg {
        top: -6px;
        left: -650px;
        width: 820px;
        height: 820px;
        opacity: .58
    }

    .what_we_do-ray {
        width: max(260vw, 1800px)
    }

    .what_we_do-items {
        min-height: 660px
    }

    .what_we_do-item {
        gap: 10px;
        width: min(72vw, 560px)
    }

    .what_we_do-item--num {
        font-size: 40px
    }

    .what_we_do-item_content {
        max-width: min(460px, 48vw);
        padding-top: 4px;
        gap: 6px
    }

    .what_we_do-item--title {
        font-size: 24px;
        line-height: 1.08
    }

    .what_we_do-item--desc {
        font-size: 14px;
        line-height: 1.34
    }

    .what_we_do-line-marker {
        width: 18px;
        height: 18px;
        box-shadow: 0 0 0 6px rgba(0, 212, 255, .14), 0 0 22px rgba(0, 212, 255, .42)
    }

    .what_we_do-line-marker-core {
        width: 8px;
        height: 8px
    }

    .what_pin {
        padding-block: 62px 82px
    }

    .what_slider {
        margin-top: 22px
    }

    .what_panel {
        min-height: 230px;
        padding-inline: 18px;
        align-content: center
    }

    .what_subtitle {
        margin-top: 0;
        font-size: clamp(25.5px, 5.95vw, 35.7px);
        line-height: 1.12
    }

    .what_text {
        max-width: 620px;
        margin-top: 16px;
        font-size: 18px;
        line-height: 1.42
    }

    .what_line {
        margin-top: 30px;
        height: 78px
    }

    .what_line-track {
        height: 78px;
        transform: translateX(calc(var(--line-step) * -360px))
    }

    .what_line-pattern {
        width: 1440px;
        height: 78px;
        flex-basis: 1440px
    }

    .what_footer {
        gap: 20px;
        margin-top: 18px
    }

    .footer {
        padding-bottom: 56px
    }

    .numbers_card-featured {
        width: 100%
    }

    .footer_container {
        display: grid
    }

    .footer .footer_title {
        margin-top: 0;
        font-size: clamp(48px, 14vw, 126px);
        text-align: center
    }

    .footer_intro, .footer_layout {
        display: contents
    }

    .footer_text {
        order: 2;
        max-width: 620px;
        margin: 18px auto 0;
        font-size: 18px;
        line-height: 1.35
    }

    .footer_nav, .footer_text {
        position: relative;
        z-index: 30;
        text-align: center
    }

    .footer_nav {
        order: 3;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 28px;
        margin-top: 30px
    }

    .footer_nav-list {
        justify-items: center
    }

    .footer_nav-item, .footer_nav-title {
        font-size: 16px
    }

    .footer_socials {
        position: relative;
        z-index: 30;
        order: 4;
        justify-content: center;
        margin-top: 28px
    }

    .footer_logo-bg {
        top: calc(50% + 16px);
        width: 302px;
        opacity: 1;
        transform: translate(-50%, -50%) rotate(-15deg)
    }

    .services_block {
        padding: 48px 0 34px
    }

    .services_block .content_container {
        padding-inline: 20px
    }

    .services_block:last-child:before {
        width: 100%
    }

    .services_header {
        grid-template-columns: 96px minmax(0, 1fr) 96px;
        gap: 12px;
        margin-bottom: 30px
    }

    .services_icon {
        width: 92px;
        opacity: .9
    }

    .services_title {
        font-size: clamp(34px, 8vw, 48px)
    }

    .services_subtitle {
        font-size: 18px;
        line-height: 1.35
    }

    .services_timeline {
        margin-bottom: 34px
    }

    .services_timeline-line {
        display: none
    }

    .services_items {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px
    }

    .services_item {
        min-height: 112px;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 12px;
        padding: 18px;
        border: 1px solid rgba(0, 212, 255, .42);
        border-radius: 6px 20px;
        background: rgba(0, 0, 0, .32);
        box-shadow: inset 0 0 44px rgba(0, 212, 255, .08);
        text-align: left;
        backdrop-filter: blur(4px)
    }

    .services_item-text {
        max-width: none;
        font-size: 16px;
        line-height: 1.28
    }

    .trust_logo {
        width: auto;
        height: auto
    }

    .reviews_track.reviews_deck {
        flex-basis: 700px;
        width: min(700px, calc(100vw - 176px));
        height: 470px;
        min-height: 0;
        overflow: hidden
    }

    .review_deck-card, .review_deck-card.review_card-active {
        position: absolute;
        top: 50%;
        left: 50%;
        width: calc(100% - 58px);
        height: 430px;
        min-height: 0;
        overflow: hidden;
        transform: none
    }

    .trust_logo-image {
        width: 64px;
        height: 64px;
        flex-basis: 64px
    }

    .cases_page-title {
        margin: 20px 0
    }

    .blog_article, .cases_page-main {
        padding-top: 82px
    }

    .cases_page-grid {
        grid-template-columns: 1fr;
        justify-content: center;
        gap: 22px
    }

    .cases_empty {
        min-height: 360px
    }

    .services_btn {
        width: min(100%, 360px);
        padding-block: 18px
    }

    .home_hero {
        min-height: auto;
        padding-bottom: 56px;
        background-position: top
    }

    .tg_hero .home_hero-visible:after {
        height: 46%
    }

    .home_hero-container {
        padding-inline: 32px
    }

    .talk_section .numbers_title {
        padding-inline: 20px;
        margin-bottom: 56px
    }

    #home {
        min-height: auto
    }

    .home_hero-title {
        margin-top: 18px;
        font-size: clamp(48px, 13.2vw, 86px);
        line-height: 1.05
    }

    .sub_hero-title {
        font-size: clamp(36px, 9vw, 64px)
    }

    .home_hero-image {
        position: relative;
        top: auto;
        left: 50%;
        display: block;
        width: min(128vw, 640px);
        margin-top: -70px;
        transform: translateX(-50%)
    }

    .home_hero-image--mobile {
        display: none
    }

    .home_hero-planet {
        top: 96px;
        bottom: auto;
        width: 132vw;
        max-width: none
    }

    .home_hero-planet-glow {
        top: 118px;
        bottom: auto;
        width: 108vw;
        max-width: none;
        filter: blur(clamp(90px, 14vw, 140px))
    }

    .tg_hero-image {
        position: relative;
        top: auto;
        left: 50%;
        display: block;
        width: min(132vw, 640px);
        margin-top: 20px;
        transform: translateX(-50%)
    }

    .home_hero-content {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        display: block;
        margin: -118px -32px 0;
        padding: 96px 32px 42px;
        background: linear-gradient(180deg, rgba(9, 4, 0, 0), rgba(9, 4, 0, .94) 22%, #090400)
    }

    .home_hero-next-wrap {
        background: #090400
    }

    .home_hero {
        padding-bottom: 0
    }

    #home .home_hero-container, .tg_hero .home_hero-container {
        min-height: auto
    }

    #home .home_hero-content {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        margin: -190px -32px 0
    }

    .tg_hero .home_hero-content {
        position: relative;
        right: auto;
        bottom: auto;
        left: auto;
        margin: -112px -32px 0;
        padding-top: 112px;
        background: linear-gradient(180deg, rgba(9, 4, 0, 0), rgba(9, 4, 0, .96) 18%, #090400)
    }

    .home_hero-heading {
        margin-bottom: 12px;
        line-height: 1.12;
        font-size: 32px
    }

    .home_hero-text {
        font-size: clamp(18px, 4.4vw, 22px)
    }

    .home_hero-btn {
        width: min(100%, 380px);
        min-height: 76px;
        margin-top: 32px;
        padding: 20px 28px;
        font-size: 13px
    }

    #home .home_hero-btn {
        margin-top: 0
    }

    .home_hero-next {
        margin-top: 0;
        font-size: 40px;
        line-height: 1.15
    }

    .talk_radar {
        min-height: 0;
        overflow: hidden
    }

    .talk_radar-img {
        width: 100%;
        max-width: none
    }

    .talk_btn {
        top: 0;
        left: 0;
        width: 128px;
        height: 128px;
        font-size: 15px;
        line-height: 135%
    }

    .numbers_grid, .numbers_top {
        grid-template-columns: 1fr
    }

    .numbers_grid {
        gap: 25px;
        margin-top: 25px
    }

    .numbers_card-featured {
        grid-column: auto
    }

    .numbers_grid .numbers_card, .numbers_grid .numbers_card:first-child, .numbers_grid .numbers_card:last-child {
        border-radius: 4.788px 15.96px 0 15.96px
    }

    .numbers_card, .numbers_card-featured, .numbers_intro {
        min-height: auto;
        padding: 38px 24px
    }

    .numbers_title {
        font-size: 42px
    }

    .numbers_value {
        font-size: 68px
    }

    .cases_row {
        flex-direction: column-reverse
    }

    .cases_card {
        flex-basis: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0
    }

    .cases_card-info {
        grid-template-columns: minmax(0, 1fr) 120px
    }

    .cases_card-info--item {
        min-height: 190px;
        padding: 36px 28px
    }

    .cases_card-info--item-title {
        font-size: 26px
    }

    .cases_card-info--item-desc {
        font-size: 22px
    }

    .contact_modal {
        align-items: flex-start;
        justify-content: center;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 20px;
        -webkit-overflow-scrolling: touch
    }

    .contact_form {
        width: 100%;
        min-height: auto;
        margin: 16px 0 20px;
        padding: 72px 24px 28px
    }

    .contact_form-title {
        margin-bottom: 34px;
        font-size: 28px
    }

    .contact_form-close {
        top: 18px;
        right: 20px;
        width: 40px;
        height: 36px
    }

    .floating_tg_btn {
        right: 16px;
        bottom: 16px;
        width: 68px;
        height: 68px
    }

    .floating_tg_btn img {
        width: 40px
    }

    .review_card-head h3 {
        font-size: 20px;
        overflow-wrap: anywhere
    }
}

@media (max-width:808px) {
    .about_hero-astronaut {
        width: 109vw
    }

    .about_hero-shadow {
        display: none
    }
}

@media (min-width:768px) and (max-width:950px) {
    .footer .footer_title {
        font-size: clamp(92px, 12.5vw, 118px)
    }
}

@media (min-width:769px) and (max-width:900px) {
    #home .home_hero-content {
        background: linear-gradient(180deg, rgba(9, 4, 0, 0), rgba(9, 4, 0, 0) 32%, rgba(9, 4, 0, .82) 62%, #090400)
    }
}

@media (max-width:768px) {
    .cases_card-arrow-image {
        display: none
    }

    #home .home_hero-container, #home .home_hero-visible {
        height: 100svh;
        min-height: 100svh
    }

    #home .home_hero-content {
        position: absolute;
        top: auto;
        right: 20px;
        bottom: max(24px, env(safe-area-inset-bottom));
        left: 20px;
        margin: 0;
        padding: 0 0 24px;
        background: transparent
    }

    #home .home_hero-content:before {
        display: none
    }

    .cases_card-read-more {
        display: block
    }

    #home, #home .home_hero-visible, .wrapper, body, html {
        background-color: #050200
    }

    #home {
        background-image: linear-gradient(180deg, #0b0501, #050200 64%, #050200)
    }

    #home .home_hero-visible:after {
        height: 52%;
        background: linear-gradient(180deg, rgba(5, 2, 0, 0), rgba(5, 2, 0, .82) 38%, #050200 68%, #050200)
    }

    .tg_hero {
        background-image: linear-gradient(182deg, #020315 44.6%, #030b42 140.52%) !important;
        
    }

    .service_hero--meta, .service_hero--tg {
        background-image: var(--service-hero-bg-mobile) !important;
        background-position: top;
        background-size: cover
    }

    .home_hero-image--desktop {
        display: none
    }

    .home_hero-image--mobile, .service_hero-image {
        position: absolute;
        z-index: 118;
        display: block;
        width: auto;
        height: auto;
        max-width: none;
        pointer-events: none
    }

    .home_hero-image--mobile {
        top: clamp(145px, calc(365px - 20svh), 185px);
        bottom: auto;
        left: 50%;
        width: min(82vw, 400px);
        transform: translateX(-50%)
    }

    #home .home_hero-container {
        min-height: 100svh
    }

    #home .home_hero-content {
        transform: none
    }

    #home .home_hero-next-wrap {
        background: #050200
    }

    .service_hero-image {
        top: 82px;
        left: 50%;
        width: 100%;
        transform: translateX(-50%)
    }

    .service_hero-image--google {
        top: 76px;
        width: 100%
    }

    .tg_hero .home_hero-visible:after {
        z-index: 119;
        height: 48%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0), #000)
    }

    .what_pin:after, .what_pin:before {
        display: none
    }

    .privacy_policy-page>.trust {
        padding-bottom: 64px
    }

    .service_hero--meta {
        background-position: 38%
    }

    .service_hero-content .sub_hero-title {
        font-size: clamp(36px, 9.5vw, 60px)
    }

    .privacy_policy-page>.footer {
        background-image: linear-gradient(180deg, #090400 0, rgba(9, 4, 0, .65) 28px, transparent 90px), url("/assets/images/footer_bg.png")
    }

    .privacy_policy-content {
        padding-top: 42px;
        padding-bottom: 80px
    }

    .blog_page-main {
        padding-top: 82px
    }

    .privacy_policy-body {
        gap: 28px;
        margin-top: 64px
    }

    .case_page-main {
        padding-top: 75px
    }

    .case_page-title {
        font-size: 40px
    }

    .case_timeline {
        gap: 28px;
        margin-top: 64px;
        padding-left: 15px
    }

    .case_timeline:after, .case_timeline:before {
        top: 17px;
        bottom: 17px;
        left: -10px
    }

    .case_step {
        display: block
    }

    .case_step-card {
        min-height: 0;
        padding: 24px 22px
    }

    .case_step-card p {
        margin-top: 14px
    }

    .case_step-number {
        left: -25px;
        width: 34px;
        height: 34px;
        font-size: 11px;
        transform: translateY(-50%)
    }

    .case_results-grid {
        grid-template-columns: 1fr;
        margin-top: 24px;
        border-radius: 0 8px
    }

    .case_result-card {
        min-height: 150px;
        border-radius: 0
    }

    .case_result-card+.case_result-card {
        margin-top: -1px;
        margin-left: 0
    }

    .case_result-card p {
        margin-top: 28px
    }

    .case_page {
        background-size: auto, auto 1050px
    }

    .header_lang_switcher {
        display: none
    }

    .burger_languages {
        display: flex
    }

    .about_pioneering-intro {
        min-height: 0;
        padding: 36px 24px
    }

    .about_pioneering-intro h2 {
        font-size: clamp(28px, 6vw, 36px)
    }

    .about_pioneering-grid {
        grid-template-columns: 1fr
    }

    .about_pioneering-card {
        min-height: 0;
        padding: 30px 24px
    }

    .about_pioneering-card+.about_pioneering-card {
        border-top: 1px solid rgba(0, 55, 255, 0.72);
        border-left: 0
    }

    .about_pioneering-card p {
        min-height: 0
    }

    .about_pioneering-card strong {
        padding-top: 24px;
        font-size: clamp(52px, 16vw, 82px)
    }

    .about_hero {
        height: 100svh;
        min-height: 540px
    }

    .about_hero-title {
        font-size: min(21vw, calc((100svh - 160px) / 1.7));
        line-height: .88
    }

    .about_hero-title>.about_hero-accent {
        margin-top: 28px
    }

    .tg_hero .service_hero-content {
        top: auto;
        right: 24px;
        bottom: max(0px, env(safe-area-inset-bottom));
        left: 24px;
        margin: 0
    }

    .blog_card-content {
        padding: 20px
    }

    .service_hero-content .sub_hero-title {
        margin: 0 0 18px;
        font-size: clamp(38px, 9.5vw, 72px);
        line-height: 1
    }

    .service_hero-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px
    }

    .home_hero-text {
        max-width: 100%;
        font-size: 18px
    }

    #home .home_hero-btn, .service_hero-bottom .home_hero-btn {
        width: 100%;
        margin: 0
    }

    .numbers {
        padding: 50px 0
    }
}

@media (min-width:561px) and (max-width:768px) {
    #home .home_hero-image--mobile {
        width: min(108vw, 560px)
    }
}

@media (max-height:720px) {
    .burger_menu {
        padding-top: 24px;
        padding-bottom: 20px
    }

    .burger_nav {
        gap: 8px;
        margin-top: 28px
    }

    .burger_nav a {
        font-size: 22px;
        line-height: 128%
    }

    .burger_nav a.active {
        font-size: 32px;
        line-height: 120%
    }

    .burger_footer {
        padding-top: 22px
    }
}

@media (max-width:640px) {
    #home .home_hero-title {
        font-size: clamp(42px, 9.5vw, 58px)
    }

    #home .home_hero-title .typewriter_text {
        white-space: nowrap
    }

    .service_hero--meta {
        background-position: 28%
    }

    .blog_article-header {
        padding: 20px
    }

    .blog_article-meta {
        font-size: 18px
    }

    .blog_article-meta time {
        font-size: 14px
    }

    .blog_recommended {
        margin-top: 40px
    }

    .blog_article-image {
        max-height: 320px
    }

    .blog_article-body {
        margin-top: 30px;
        font-size: 15px
    }

    .blog_recommended-link {
        min-height: 0
    }

    .blog_recommended-content {
        padding: 18px
    }

    .what_pin {
        padding-block: 52px 70px
    }

    .cases_card-main {
        height: 268px;
        margin-top: 82px;
        padding: 22px 16px 0
    }

    .cases_page-grid .cases_card-main, .cases_section .cases_card-main {
        height: calc(clamp(300px, 34vh, 380px) - 82px);
        margin-top: 82px
    }

    .cases_card-main--body {
        padding-bottom: 22px
    }

    .cases_card-arrow {
        max-width: 100%
    }

    .blog_grid, .blog_recommended-grid {
        grid-template-columns: 1fr
    }

    .blog_card h2, .blog_card-description {
        min-height: 0
    }

    .blog_subscribe-btn {
        font-size: 18px
    }

    .blog_subscribe-input {
        font-size: 18px;
        padding: 15px
    }

    .blog_subscribe-input::-moz-placeholder {
        font-size: 18px
    }

    .blog_subscribe-input::placeholder {
        font-size: 18px
    }

    .cases_card-main--title {
        font-size: 22px
    }

    .what_panel {
        min-height: 250px;
        padding-inline: 0
    }

    .what_subtitle {
        font-size: clamp(20.1px, 4.8vw, 22.9px)
    }

    .what_text {
        font-size: 16px;
        line-height: 1.4
    }

    .what_line {
        margin-top: 24px;
        height: 58px;
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
        mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent)
    }

    .what_line-track {
        height: 58px;
        transform: translateX(calc(var(--line-step) * -260px))
    }

    .what_line-pattern {
        width: 1120px;
        height: 58px;
        flex-basis: 1120px
    }

    .what_count {
        font-size: 40px
    }

    .what_footer {
        gap: 16px;
        margin-top: 14px
    }

    .what_dots {
        gap: 10px
    }

    .numbers_intro {
        padding: 30px 0
    }

    .numbers_intro-text {
        font-size: 18px
    }

    .cases_card-info, .cases_card-info--items {
        grid-template-columns: 1fr
    }

    .cases_card-info--item {
        min-height: auto;
        padding: 28px 24px
    }

    .cases_card-info>.cases_card-info--item {
        min-height: 96px
    }

    .cases_card-info--item-title {
        font-size: 24px
    }

    .cases_card-info--item-desc {
        font-size: 18px
    }

    .review_card-text {
        max-height: 320px;
        font-size: 16px;
        line-height: 1.45
    }

    .cases_page-title {
        margin-bottom: 14px
    }

    .cases_page-controls {
        flex-direction: column;
        margin-bottom: 24px
    }

    .cases_filter, .cases_filter-button, .cases_search {
        width: 100%
    }

    .cases_filter-button {
        justify-content: center
    }

    .cases_filter-menu {
        width: 100%
    }

    .cases_card-read-more br {
        display: none
    }
}

@media (max-width:560px) {
    #home .home_hero-visible {
        min-height: 100svh
    }

    .footer {
        min-height: 450px;
        padding: 34px 0 75px
    }

    .footer .footer_container {
        padding-inline: 12px
    }

    .footer .footer_title {
        margin: 0 auto 18px;
        font-size: clamp(48px, 15vw, 64px);
        line-height: .98;
        white-space: normal
    }

    .footer_title-word {
        display: block
    }

    .footer_title-word+.footer_title-word {
        margin-left: 10px
    }

    .footer_layout {
        display: flex;
        flex-direction: column;
        gap: 0
    }

    .footer_intro {
        display: contents
    }

    .footer_text {
        order: 1;
        font-size: 13px;
        line-height: 1.4;
        text-align: center;
        margin: 0
    }

    .footer_socials {
        order: 2;
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin: 0 0 28px
    }

    .footer_socials a {
        width: 56px !important;
        height: 56px !important;
        margin-left: 0;
        border-radius: 5px 12px;
        flex-shrink: 0
    }

    .footer_socials img {
        width: 23px
    }

    .footer_nav {
        order: 3;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        gap: 12px;
        margin-top: 0
    }

    .footer_nav-title {
        font-size: 10px;
        white-space: nowrap
    }

    .footer_nav-list {
        gap: 9px;
        margin-top: 8px
    }

    .footer_nav-item {
        font-size: 10px;
        line-height: 1.25
    }

    .contact_form-title {
        font-size: 24px;
        width: 75%;
        max-width: 75%;
        margin: 0 auto 5px
    }

    #home .home_hero-content {
        margin: 0;
        background: transparent
    }

    #home .home_hero-content:before {
        position: absolute;
        right: 0;
        bottom: 100%;
        left: 0;
        height: 190px;
        content: "";
        background: linear-gradient(180deg, rgba(5, 2, 0, 0), rgba(5, 2, 0, .3) 34%, rgba(5, 2, 0, .68) 68%, rgba(5, 2, 0, .86));
        pointer-events: none
    }

    .reviews {
        padding-top: 40px;
        padding-bottom: 60px
    }

    .reviews_slider {
        margin-top: 18px
    }

    .reviews_track.reviews_deck {
        width: calc(100% + 24px);
        height: auto;
        min-height: 470px;
        margin-left: -12px;
        overflow: hidden
    }

    .review_deck-card, .review_deck-card.review_card-active {
        width: calc(100% - 46px);
        height: 430px;
        min-height: 0;
        padding: 22px 18px 19px;
        border-radius: 7px 18px;
        box-shadow: none
    }

    .review_deck-card .review_card-head {
        gap: 12px;
        margin-bottom: 10px
    }

    .review_deck-card .review_card-head img {
        width: 46px;
        height: 46px
    }

    .review_deck-card .review_card-head h3 {
        font-size: clamp(17px, 5vw, 20px)
    }

    .review_deck-card .review_card-author {
        gap: 12px;
        margin: 0 0 12px
    }

    .review_deck-card .review_card-author strong {
        font-size: 14px
    }

    .review_deck-card .review_card-author span {
        font-size: 11px
    }

    .review_deck-card .review_card-text {
        flex: 1 1 auto;
        max-height: none;
        margin-bottom: 12px;
        font-size: 15px;
        line-height: 1.42
    }

    .reviews_pagination {
        gap: 7px;
        margin-top: 14px
    }

    .reviews_pagination-dot {
        width: 7px;
        height: 7px
    }

    .reviews_pagination-dot.active {
        width: 20px
    }

    .trust_logo {
        width: auto;
        height: 52px
    }

    .trust_logo-image {
        width: 52px;
        height: 52px;
        flex-basis: 52px
    }

    .trust_logo--as-is .trust_logo-image {
        width: auto;
        height: 52px;
        max-width: none
    }

    .trust_logo--as-is img {
        height: 52px
    }

    .trust_logo p {
        font-size: 16px
    }

    .about_hero {
        height: 100svh;
        min-height: 420px
    }

    .about_hero-title {
        font-size: min(22vw, calc((100svh - 150px) / 1.75));
        margin-left: 0;
        line-height: .92
    }

    .about_hero-title>.about_hero-accent {
        margin-top: 18px
    }

    .about_wrapper {
        background-position: 55% top
    }

    .about_hero-astronaut {
        width: 109vw;
        max-width: none
    }

    .about_hero-shadow--head {
        left: 63%;
        top: 38%;
        width: 25vw
    }

    .about_hero-shadow--foot {
        left: 17%;
        top: 60%;
        width: 24vw
    }

    .about_pioneering-intro h2 {
        font-size: clamp(22px, 4vw, 30px)
    }

    .burger_button, .burger_button svg {
        width: 43px;
        height: 60px
    }

    .case_page-title {
        font-size: 32px
    }

    .case_results {
        margin-top: 60px;
        margin-bottom: 60px;
        padding-bottom: 60px
    }

    .burger_menu {
        width: 100vw;
        padding: 28px 20px 24px
    }

    .burger_close {
        width: 38px;
        height: 34px
    }

    .burger_nav {
        gap: 9px;
        margin-top: 42px
    }

    .burger_nav a {
        font-size: 22px;
        line-height: 132%
    }

    .burger_nav a.active {
        font-size: 32px;
        line-height: 120%
    }

    .burger_footer {
        gap: 14px;
        padding-top: 24px
    }

    .burger_socials {
        gap: 8px
    }

    .burger_socials a {
        width: 46px;
        height: 40px
    }

    .what_we_do {
        padding-top: 56px;
        --what-line-segment: 74px;
        --what-line-gap: 56px
    }

    .what_we_do-scene {
        min-height: 560px
    }

    .what_we_do-orbit-svg {
        top: -4px;
        left: -605px;
        width: 720px;
        height: 720px;
        opacity: .5
    }

    .what_we_do-items {
        min-height: 560px
    }

    .what_we_do-item {
        width: calc(89% - 12px)
    }

    .what_we_do-item_content {
        max-width: 100%
    }

    .what_we_do-item--title {
        font-size: clamp(18px, 5.7vw, 24px)
    }

    .what_we_do-item--num {
        font-size: 32px
    }

    .what_we_do-item--desc {
        font-size: 14px;
        line-height: 1.32
    }

    .what_we_do-ray {
        width: max(280vw, 1300px)
    }

    .reviews {
        padding-bottom: 72px
    }

    .review_card-active {
        min-height: 0
    }

    .reviews_slider {
        display: block;
        margin-top: 26px
    }

    .reviews_track {
        width: 100%;
        flex: initial;
        touch-action: pan-y
    }

    .reviews_pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        margin-top: 22px
    }

    .reviews_pagination-dot {
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid rgba(8, 0, 255, 0.72);
        border-radius: 999px;
        background: rgba(0, 51, 255, 0.18);
        box-shadow: 0 0 18px rgba(0, 212, 255, .18);
        cursor: pointer;
        transition: width .3s ease, background .3s ease, box-shadow .3s ease, opacity .3s ease
    }

    .reviews_pagination-dot.active {
        width: 24px;
        background: #0042e1;
        box-shadow: 0 0 20px rgb(0 30 173 / 86%)
    }

    .reviews_pagination-dot:disabled {
        cursor: default;
        opacity: .72
    }

    .review_arrow-cont {
        display: none
    }

    .review_card-active {
        padding: 24px 20px 22px;
        border-radius: 7px 20px
    }

    .review_card-head {
        gap: 14px;
        margin-bottom: 12px
    }

    .reviews_swiper .swiper-slide {
        width: calc(100% - 46px);
        height: 400px
    }

    .contacts_intro {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px
    }

    .contacts_list {
        grid-template-columns: 1fr
    }

    .contacts_item:first-child, .contacts_item:nth-child(4) {
        grid-column: auto
    }

    .contacts_page-main {
        padding-bottom: 120px
    }

    .contacts_list {
        gap: 10px;
        margin-top: 30px
    }

    .contacts_item, .contacts_item:first-child {
        min-height: 132px;
        padding: 20px;
        border-radius: 6px 18px
    }

    .contacts_item-index {
        margin-bottom: 20px;
        font-size: 11px
    }

    .contacts_item:first-child .contacts_item-index {
        margin-bottom: 20px
    }

    .contacts_item-label {
        font-size: 11px
    }

    .contacts_item-value {
        margin-top: 6px;
        font-size: clamp(16px, 4.5vw, 20px)
    }

    .contacts_item-arrow {
        width: 40px;
        height: 40px;
        font-size: 19px
    }

    .footer {
        padding: 30px 0 38px
    }

    .footer .footer_container {
        padding-right: 24px;
        padding-left: 24px
    }

    .footer .footer_title {
        width: auto;
        font-size: clamp(36px, 13vw, 52px);
        line-height: 1.05;
        letter-spacing: -.025em
    }

    .footer_nav {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
        gap: 28px 18px;
        margin-top: 26px;
        text-align: left
    }

    .footer_nav-list {
        justify-items: start;
        gap: 10px
    }

    .footer_nav-title {
        font-size: 13px
    }

    .footer_nav-item {
        font-size: 14px
    }

    .footer_logo-bg {
        top: 58%;
        width: 210px;
        opacity: .76
    }

    .review_card-active .review_card-head img, .review_card-head img {
        width: 52px;
        height: 52px
    }

    .trust .numbers_title {
        margin-bottom: 0
    }

    .what_we_do:after {
        height: min(16dvh, 220px)
    }

    .reviews .numbers_title {
        margin-bottom: 40px
    }

    .trust_marquee {
        padding-block: 40px 0;
        margin-top: 0
    }

    .trust_marquee:before {
        left: -44px
    }

    .trust_marquee:after {
        right: -44px
    }

    .review_card-footer {
        flex-wrap: wrap;
        gap: 10px 16px
    }

    .review_card-footer time {
        font-size: 12px
    }

    .footer {
        padding-bottom: 44px
    }

    .numbers_title {
        font-size: 32px !important
    }

    .services_title {
        font-size: 30px !important
    }

    .footer .footer_title {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin-top: 0;
        font-size: clamp(44px, 14vw, 82px);
        line-height: 1.08;
        white-space: nowrap
    }

    .footer_text {
        display: block
    }

    .footer_nav {
        grid-template-columns: repeat(3, 1fr);
        gap: 15px
    }

    .footer_nav-column:last-child {
        grid-column: auto
    }

    .footer_socials {
        margin-top: 26px
    }

    .numbers_value {
        font-size: 45px
    }

    .footer_socials img {
        width: 18px;
        height: auto
    }

    .footer_logo-bg {
        display: none
    }

    .floating_tg_btn {
        right: 12px;
        bottom: 12px;
        width: 58px;
        height: 58px
    }

    .floating_tg_btn img {
        width: 34px
    }

    .services_block {
        padding-block: 30px
    }

    .services_header {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 26px
    }

    .services_icon {
        grid-row: 1;
        width: 76px;
        transform: scale(1.5)
    }

    .services_icon-mirror {
        display: none
    }

    .services_title {
        font-size: clamp(32px, 10vw, 42px)
    }

    .services_subtitle {
        max-width: 330px;
        font-size: 16px
    }

    .services_items {
        grid-template-columns: 1fr !important;
        gap: 10px
    }

    .services_item {
        min-height: 0;
        flex-direction: row;
        align-items: flex-start;
        padding: 15px 16px;
        border-radius: 6px 16px
    }

    .services_circle {
        margin-top: 5px
    }

    .services_btn {
        width: 100%;
        min-height: 58px;
        padding: 16px 22px;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .home_hero {
        padding-bottom: 0
    }

    .home_hero-container {
        padding-inline: 20px
    }

    #home .home_hero-title {
        margin-top: 22px;
        font-size: clamp(42px, 13.4vw, 58px)
    }

    .sub_hero-title {
        font-size: clamp(30px, 9vw, 42px)
    }

    .home_hero-image {
        width: min(142vw, 560px);
        margin-top: -54px
    }

    #home .home_hero-image {
        width: min(120vw, 560px);
        margin-top: -95px
    }

    .home_hero-planet {
        top: 88px;
        width: 144vw;
        max-width: none
    }

    .numbers_card-text {
        margin-bottom: 12px
    }

    .home_hero-planet-glow {
        top: 108px;
        width: 107vw;
        max-width: none;
        filter: blur(clamp(72px, 18vw, 104px))
    }

    .tg_hero-image {
        width: min(100vw, 540px);
        margin-top: 18px
    }

    .home_hero-content {
        margin: -96px -24px 0;
        padding: 82px 24px 36px
    }

    .tg_hero .home_hero-content {
        margin: -100px -24px 0;
        padding-top: 100px;
        background: linear-gradient(180deg, rgba(9, 4, 0, 0), rgba(9, 4, 0, .96) 16%, #090400)
    }

    .home_hero-text {
        font-size: 18px
    }

    .home_hero-btn {
        width: 100%;
        left: 0;
        min-height: 78px;
        margin-inline: auto;
        padding: 18px 24px;
        font-size: 12px
    }

    .tg_hero .service_hero-content {
        top: auto;
        right: 20px;
        left: 20px;
        margin: 0
    }

    .service_hero-content .sub_hero-title {
        margin-bottom: 14px;
        white-space: normal
    }

    .service_hero-bottom {
        gap: 18px
    }

    .service_hero-bottom .home_hero-btn {
        width: 100%;
        min-height: 60px;
        margin: 0
    }

    #home .home_hero-btn {
        width: 100%;
        min-height: 60px;
        margin: 18px 0 0
    }

    .talk_section .numbers_title {
        padding-inline: 20px;
        margin-bottom: 32px
    }

    .talk_radar {
        width: 124%;
        max-width: none;
        min-height: 0;
        height: auto;
        aspect-ratio: 1920/1044;
        margin-left: -12%;
        overflow: hidden
    }

    .talk_radar-img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        max-width: none;
        -o-object-fit: contain;
        object-fit: contain;
        transform: none
    }

    .talk_radar-icon {
        width: clamp(42px, 11vw, 48px)
    }

    .talk_radar-icon--cpa {
        left: 55% !important;
        top: 49% !important
    }

    .talk_radar-icon--roas {
        left: 65% !important;
        top: 80% !important
    }

    .talk_radar-icon--cac {
        left: 25% !important;
        top: 71% !important
    }

    .talk_btn {
        position: absolute;
        top: 0;
        bottom: auto;
        left: 0;
        width: 80px;
        height: 80px;
        min-width: 80px;
        min-height: 80px;
        aspect-ratio: 1;
        box-sizing: border-box;
        flex: 0 0 80px;
        margin: 0;
        border-width: 2px;
        border-radius: 50%;
        padding: 8px;
        font-size: 9px;
        line-height: 1.15;
        letter-spacing: -.03em;
        backdrop-filter: none
    }

    .talk_btn-label--desktop {
        display: none
    }

    .talk_btn-label--mobile {
        display: block;
        width: 64px;
        white-space: normal
    }
}

@supports (-webkit-touch-callout:none) {
    body.burger_menu_open .header {
        background: #090400;
        backdrop-filter: none
    }

    .burger_menu {
        inset: 0;
        width: 100vw;
        height: 100dvh;
        max-height: none;
        background-color: #090400
    }

    .talk_radar-img--svg {
        display: none
    }

    .talk_radar-img--webkit {
        display: block
    }
}

@media (max-width:480px) {
    .we_build {
        height: 540px;
        min-height: 540px;
        max-height: 540px
    }

    .blog_post-meta {
        gap: 6px;
        font-size: 11px
    }

    .blog_article-stats {
        font-size: 12px
    }

    .trust_marquee {
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 90px, #000 calc(100% - 90px), transparent);
        mask-image: linear-gradient(90deg, transparent, #000 90px, #000 calc(100% - 90px), transparent)
    }

    .trust_marquee:before {
        left: -34px
    }

    .service_hero-content .sub_hero-title {
        font-size: clamp(30px, 9vw, 42px)
    }

    .trust_marquee:after {
        right: -34px
    }

    .blog_subscribe-input--desktop {
        display: none
    }

    .blog_subscribe-input--mobile {
        display: block
    }

    .blog_article {
        padding-top: 82px;
        padding-bottom: 72px
    }

    .reviews_track.reviews_deck {
        width: 100%;
        height: auto;
        min-height: 448px;
        margin-left: 0
    }

    .review_deck-card, .review_deck-card.review_card-active {
        width: calc(100% - 32px);
        height: 414px;
        min-height: 0
    }

    .numbers_title {
        font-size: 32px !important
    }

    .services_title {
        font-size: 30px !important
    }
}

.LoadingScreen_root__BHfRt {
    --void: #070401;
    --flame: #0042e1;
    --glow: #595fff;
    --p: 0;
    --ra-display: var(--font-display), "Arial Black", "Helvetica Neue", Impact, sans-serif;
    --ra-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: var(--void);
    opacity: 1;
    transition: opacity .62s cubic-bezier(.4, 0, .2, 1), transform .62s cubic-bezier(.4, 0, .2, 1), filter .62s cubic-bezier(.4, 0, .2, 1)
}

.LoadingScreen_root__BHfRt[data-state=out] {
    opacity: 0;
    transform: scale(1.05);
    filter: blur(8px);
    pointer-events: none
}

.LoadingScreen_haze__WqxRy {
    position: absolute;
    inset: 0;
    background: radial-gradient(44vmin 44vmin at 50% 48%, rgba(0, 212, 255, calc(.04 + var(--p) * .07)), transparent 70%), radial-gradient(120vmin 90vmin at 50% 120%, rgba(2, 89, 122, .14), transparent 70%)
}

.LoadingScreen_vignette__VqPTD {
    position: absolute;
    inset: 0;
    background: radial-gradient(80vmin 80vmin at 50% 50%, transparent 30%, rgba(0, 0, 0, .78) 100%)
}

.LoadingScreen_dust__a0o7J {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(75vmax 75vmax at 50% 50%, #000 35%, transparent 92%);
    mask-image: radial-gradient(75vmax 75vmax at 50% 50%, #000 35%, transparent 92%)
}

.LoadingScreen_root__BHfRt[data-state=out] .LoadingScreen_dust__a0o7J {
    opacity: 0;
    transition: opacity .4s ease
}

.LoadingScreen_stage__O7LP4 {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 24px
}

.LoadingScreen_scene__TBX4f {
    position: relative;
    width: min(460px, 88vw);
    height: min(460px, 88vw)
}

.LoadingScreen_canvas__mvic8 {
    position: absolute;
    inset: 0;
    animation: LoadingScreen_fadeIn__9s3Z1 .7s ease both;
    -webkit-mask-image: radial-gradient(closest-side, #000 58%, transparent 97%);
    mask-image: radial-gradient(closest-side, #000 58%, transparent 97%)
}

.LoadingScreen_bloom__If2GP {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 62%;
    height: 62%;
    margin: -31% 0 0 -31%;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(118, 159, 255, 0.42) 0, rgba(0, 72, 255, 0.2) 32%, rgba(0, 212, 255, .06) 54%, transparent 74%);
    opacity: calc(.05 + var(--p) * var(--p) * .6);
    transform: translateZ(0) scale(calc(.7 + var(--p) * .26));
    will-change: opacity, transform
}

.LoadingScreen_root__BHfRt[data-state=flash] .LoadingScreen_bloom__If2GP, .LoadingScreen_root__BHfRt[data-state=out] .LoadingScreen_bloom__If2GP {
    opacity: 1;
    transform: translateZ(0) scale(1.4);
    transition: opacity .56s cubic-bezier(.22, 1, .36, 1), transform .56s cubic-bezier(.22, 1, .36, 1)
}

.LoadingScreen_meta__zhahN {
    display: flex;
    align-items: baseline;
    gap: 14px;
    animation: LoadingScreen_rise__C5qQO .9s cubic-bezier(.16, 1, .3, 1) .26s both
}

.LoadingScreen_label__cswSX {
    font-family: var(--ra-display);
    font-size: 12px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: rgba(89, 164, 255, 0.4)
}

.LoadingScreen_percent__ZPxii {
    font-family: var(--ra-mono);
    font-size: 11px;
    letter-spacing: .16em;
    color: rgba(89, 147, 255, 0.8);
    font-variant-numeric: tabular-nums;
    min-width: 4ch;
    text-align: right
}

@keyframes LoadingScreen_fadeIn__9s3Z1 {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes LoadingScreen_rise__C5qQO {
    0% {
        opacity: 0;
        transform: translateY(10px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media (prefers-reduced-motion:reduce) {
    .LoadingScreen_canvas__mvic8, .LoadingScreen_meta__zhahN {
        animation: none
    }

    .LoadingScreen_dust__a0o7J {
        display: none
    }

    .LoadingScreen_root__BHfRt {
        transition-duration: .2s
    }

    .LoadingScreen_root__BHfRt[data-state=out] {
        transform: none;
        filter: none
    }
}