@font-face {
    font-family: "ForestSmooth";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("ForestSmooth Regular"), local("ForestSmooth"), local("ForestSmooth-Regular"),
        url("ForestSmooth-Regular.woff2") format("woff2"),
        url("ForestSmooth-Regular.ttf") format("truetype");
}

.elementor-element-7732c2f .youzhanin-header-logo {
    font-family: "ForestSmooth", sans-serif;
    font-size: 72px;
    font-weight: 400;
    line-height: 1;
    color: #9747FF;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
}

.elementor-element-6c090a5 .youzhanin-footer-logo {
    font-family: "ForestSmooth", sans-serif;
    font-size: 41px;
    font-weight: 400;
    line-height: 1;
    color: #9747FF;
    text-decoration: none;
    display: inline-block;
    white-space: nowrap;
}

/* Footer: logo on top, messenger icons in one row below */
.elementor-1833 .elementor-element.elementor-element-3c70065 {
    --padding-top: 81px !important;
    --padding-bottom: 57px !important;
    padding-top: 81px !important;
    padding-bottom: 57px !important;
}

.elementor-1833 .elementor-element.elementor-element-daa4dff {
    --padding-top: 41px !important;
    --padding-bottom: 41px !important;
    padding-top: 41px !important;
    padding-bottom: 41px !important;
}

.elementor-1833 .elementor-element.elementor-element-3734d2c {
    display: grid !important;
    grid-template-columns: repeat(4, auto);
    column-gap: 8px;
    row-gap: 13px;
    justify-content: start;
    align-items: center;
    align-content: start;
}

.elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-6c090a5 {
    grid-column: 1 / -1;
}

.elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-bf4792f,
.elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-14ca124,
.elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-maxmessenger,
.elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-c5110e0 {
    width: auto !important;
    max-width: none !important;
    flex-grow: 0 !important;
    --container-widget-width: auto !important;
}

.elementor-1833 .youzhanin-footer-call-btn {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 4px;
    padding: 10px 14px;
    border: none;
    border-radius: 999px;
    background: #9747ff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #ffffff;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.elementor-1833 .youzhanin-footer-call-btn:hover,
.elementor-1833 .youzhanin-footer-call-btn:focus-visible {
    background: #7f35e8;
}

@media (max-width: 767px) {
    .elementor-1833 .youzhanin-footer-call-btn {
        font-size: 13px;
        padding: 10px 14px;
    }
}

@media (max-width: 767px) {
    .elementor-1833 .elementor-element.elementor-element-3734d2c {
        justify-content: center;
    }

    .elementor-1833 .elementor-element.elementor-element-3734d2c > .elementor-element-6c090a5 > .elementor-widget-container {
        margin-bottom: 0 !important;
    }
}

/* Custom WhatsApp app icon */
.elementor-icon[href*="wa.me"] {
    background-color: transparent !important;
    background-image: url("../2026/07/whatsapp-icon.webp") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.elementor-icon[href*="wa.me"] svg {
    display: none !important;
}

/* Custom Telegram app icon */
.elementor-icon[href*="t.me"] {
    background-color: transparent !important;
    background-image: url("../2026/07/telegram-icon.webp") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.elementor-icon[href*="t.me"] svg {
    display: none !important;
}

/* Custom MAX messenger app icon */
.youzhanin-max-icon {
    background-color: transparent !important;
    background-image: url("../2026/07/max-icon.webp") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.youzhanin-max-icon span {
    display: none !important;
}

/* Custom email app icon */
.elementor-icon[href^="mailto:"],
.elementor-icon:has(svg.e-far-envelope) {
    background-color: transparent !important;
    background-image: url("../2026/07/email-icon.webp") !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 0 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.elementor-icon[href^="mailto:"] svg,
.elementor-icon:has(svg.e-far-envelope) svg {
    display: none !important;
}

/* Services block: keep all service names on one line */
#services .e-n-tab-title-text,
#services .elementor-icon-box-title {
    white-space: nowrap;
}

/* Narrow tab plaques; restore image panel to original width */
#services .elementor-element-a7704df {
    --n-tabs-heading-width: 33%;
    --n-tabs-icon-gap: 16px;
}

#services .cust-tab .e-n-tab-title {
    width: 100%;
    justify-content: space-between !important;
    gap: 12px;
}

#services .e-n-tabs-content > [role="tabpanel"]:not(.e-active) {
    display: none !important;
}

#services .e-n-tabs-content > [role="tabpanel"].e-active {
    display: flex !important;
}

/* FAQ: down-arrow icons on the right, inset inside plaque */
.elementor-element-7fd671f {
    --n-accordion-padding: 14px 20px 14px 20px !important;
}

.elementor-element-7fd671f .e-n-accordion-item-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-right: 20px !important;
}

.elementor-element-7fd671f .e-n-accordion-item-title-header {
    flex: 1 1 auto;
    min-width: 0;
}

.elementor-element-7fd671f .e-n-accordion-item-title-text {
    text-align: left;
}

.elementor-element-7fd671f .e-n-accordion-item-title-icon {
    order: 2;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin-left: auto;
    margin-right: 4px;
    --n-accordion-title-icon-order: 1;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #9747ff;
    color: #ffffff;
    transition: transform 0.25s ease;
}

.elementor-element-7fd671f .e-n-accordion-item-title-icon .e-closed,
.elementor-element-7fd671f .e-n-accordion-item-title-icon .e-opened {
    display: none !important;
}

.elementor-element-7fd671f .e-n-accordion-item-title-icon::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-right: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    transform: rotate(45deg);
    margin-top: -3px;
}

.elementor-element-7fd671f details[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon {
    transform: rotate(180deg);
}

@media (max-width: 1024px) {
    #services .elementor-element-a7704df {
        --n-tabs-heading-width: 100% !important;
        --n-tabs-gap: 16px !important;
        --n-tabs-title-gap: 10px !important;
        --n-tabs-icon-gap: 12px !important;
    }

    #services .elementor-element-a7704df .e-n-tabs {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    #services .elementor-element-a7704df .e-n-tabs-heading {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        overflow: visible !important;
        gap: 10px;
        width: 100%;
    }

    #services .elementor-element-3ae1d68,
    #services .elementor-element-fd6c64c,
    #services .elementor-element-870e8c8,
    #services .elementor-element-4d82f97,
    #services .elementor-element-a1b2c05 {
        --min-height: auto !important;
        min-height: auto !important;
        --padding-top: 24px !important;
        --padding-bottom: 24px !important;
        --padding-left: 20px !important;
        --padding-right: 20px !important;
    }

    #services .cust-tab .e-n-tab-title {
        width: 100% !important;
        max-width: 100%;
        flex: 0 0 auto;
        white-space: normal;
        text-align: left;
        padding: 14px 16px !important;
        min-height: 48px;
    }

    #services .e-n-tab-title-text,
    #services .elementor-icon-box-title {
        white-space: normal;
    }

    #services .e-n-tab-icon {
        flex: 0 0 28px;
    }

    #services .e-n-tab-icon svg {
        width: 28px;
        height: 28px;
    }

    #services .e-n-tabs-content {
        width: 100%;
    }

    #services .e-n-tabs-content > [role="tabpanel"] {
        min-height: auto !important;
        padding: 16px !important;
    }

    #services .service .e-con-inner {
        padding: 0 !important;
    }

    #services .elementor-icon-box-wrapper {
        align-items: flex-start !important;
        text-align: left;
        gap: 12px !important;
    }

    #services .elementor-icon-box-description {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }
}

@media (max-width: 767px) {
    #services.elementor-element-2e3ef9c,
    #services .elementor-element-2e3ef9c {
        --padding-top: 48px !important;
        --padding-bottom: 32px !important;
        --margin-top: 0 !important;
        padding-top: 48px !important;
        padding-bottom: 32px !important;
        margin-top: 0 !important;
    }

    #services .elementor-element-fa5899c .elementor-divider__text {
        font-size: 22px !important;
        line-height: 1.2 !important;
    }

    #services .cust-tab .e-n-tab-title {
        font-size: 14px !important;
        border-radius: 20px !important;
        gap: 10px !important;
    }

    #services .e-n-tabs-content > [role="tabpanel"] {
        min-height: auto !important;
        border-radius: 20px;
    }

    #services .elementor-element-3ae1d68,
    #services .elementor-element-fd6c64c,
    #services .elementor-element-870e8c8,
    #services .elementor-element-4d82f97,
    #services .elementor-element-a1b2c05 {
        --padding-top: 16px !important;
        --padding-bottom: 16px !important;
        --padding-left: 16px !important;
        --padding-right: 16px !important;
        padding: 16px !important;
    }

    #services .elementor-icon-box-title {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    #services .elementor-icon {
        font-size: 34px !important;
    }

    #services .youzhanin-services-carousel-hide {
        display: none !important;
    }

    #services .elementor-element-a7704df .e-n-tabs {
        gap: 0 !important;
    }

    #services .youzhanin-services-carousel-ready.e-n-tabs-content {
        padding: 0 !important;
        overflow: visible !important;
    }

    #services .youzhanin-services-carousel-viewport {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        width: 100%;
        scrollbar-width: none;
        touch-action: pan-x;
    }

    #services .youzhanin-services-carousel-viewport::-webkit-scrollbar {
        display: none;
    }

    #services .youzhanin-services-carousel-track {
        display: flex;
        align-items: stretch;
        gap: 12px;
        width: max-content;
        padding: 0 16px 4px;
    }

    #services .youzhanin-services-carousel-slide[role="tabpanel"] {
        display: flex !important;
        flex: 0 0 calc(100vw - 64px);
        width: calc(100vw - 64px);
        max-width: 320px;
        scroll-snap-align: start;
        min-height: 300px !important;
        border-radius: 20px !important;
        overflow: hidden;
    }

    #services .youzhanin-services-carousel-slide .service {
        width: 100%;
        min-height: 100%;
    }

    .elementor-element-7fd671f {
        --n-accordion-padding: 12px 16px 12px 16px !important;
    }

    .elementor-element-7fd671f .e-n-accordion-item-title {
        padding-right: 16px !important;
    }

    .elementor-element-7fd671f .e-n-accordion-item-title-text {
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .elementor-element-7fd671f .e-n-accordion-item-title-icon {
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        margin-right: 2px;
    }

    .elementor-element-7fd671f .e-n-accordion-item-title-icon::before {
        width: 6px;
        height: 6px;
        margin-top: -2px;
    }
}

/* Hero: reduce gap between header menu and main headline by 3x */
.elementor-14 .elementor-element.elementor-element-27c6caf {
    --justify-content: flex-start !important;
    justify-content: flex-start !important;
    --min-height: auto !important;
    min-height: auto !important;
    padding-top: 22px !important;
}

.elementor-14 .elementor-element.elementor-element-d0b3358 {
    --margin-bottom: 33px !important;
    margin-bottom: 33px !important;
}

@media (max-width: 1200px) {
    .elementor-14 .elementor-element.elementor-element-27c6caf {
        padding-top: 0 !important;
    }
}

@media (max-width: 880px) {
    .elementor-14 .elementor-element.elementor-element-27c6caf {
        padding-top: 30px !important;
    }

    .elementor-14 .elementor-element.elementor-element-d0b3358 {
        --margin-top: 20px !important;
        margin-top: 20px !important;
    }
}

/* Hero block illustration — full block background */
.elementor-14 .elementor-element.elementor-element-cd21f73 {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-width: 0 !important;
    border-style: none !important;
    border-color: transparent !important;
    --border-style: none !important;
    --border-color: transparent !important;
    --border-top-width: 0px !important;
    --border-right-width: 0px !important;
    --border-bottom-width: 0px !important;
    --border-left-width: 0px !important;
}

.elementor-14 .elementor-element.elementor-element-cd21f73 .elementor-background-video-container {
    display: none !important;
}

.elementor-14 .elementor-element.elementor-element-835eb09 {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    z-index: 0;
    padding: 0 !important;
    margin: 0 !important;
    justify-content: stretch !important;
    align-items: stretch !important;
}

.elementor-14 .elementor-element.elementor-element-835eb09 .elementor-element-92fa646,
.elementor-14 .elementor-element.elementor-element-835eb09 .elementor-widget-container {
    width: 100%;
    height: 100%;
}

.elementor-14 .elementor-element.elementor-element-835eb09 .youzhanin-hero-illustration {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
    margin: 0;
    border-radius: 0;
}

.elementor-14 .elementor-element.elementor-element-835eb09::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(22, 22, 22, 0.88) 0%,
        rgba(22, 22, 22, 0.72) 38%,
        rgba(22, 22, 22, 0.25) 62%,
        rgba(22, 22, 22, 0.05) 100%
    );
    pointer-events: none;
}

.elementor-14 .elementor-element.elementor-element-04199b2 {
    position: relative;
    z-index: 1;
}

.elementor-14 .elementor-element.elementor-element-22cc8bb .elementor-heading-title,
.elementor-14 .elementor-element.elementor-element-9f72c64 .elementor-heading-title {
    color: #ffffff !important;
}

.elementor-14 .elementor-element.elementor-element-80a8eaa .elementor-heading-title {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55), 0 4px 18px rgba(0, 0, 0, 0.35);
}

/* Hero progress bars — column layout + sequential fill */
.elementor-14 .elementor-element.elementor-element-185458f {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px;
    align-items: stretch;
}

.elementor-14 .elementor-element.elementor-element-185458f > .elementor-widget-progress {
    flex: 0 0 auto;
    width: 100%;
}

.elementor-14 .elementor-element.elementor-element-185458f .animals-text {
    opacity: 1 !important;
    transform: none !important;
}

.elementor-14 .elementor-element.elementor-element-185458f .elementor-progress-bar {
    transition: width 1.1s ease-in-out !important;
}

.elementor-14 .elementor-element.elementor-element-185458f.youzhanin-progress-pending .elementor-progress-bar {
    width: 0 !important;
}

/* Skills section — hide old carousels, show service pills */
.elementor-14 .elementor-element.elementor-element-e8a0700 {
    display: none !important;
}

.elementor-14 .elementor-element.elementor-element-fb157c6 {
    align-items: center !important;
    gap: 32px 48px !important;
}

.elementor-14 .elementor-element.elementor-element-345a3da {
    flex: 0 0 auto !important;
}

.youzhanin-services-pills {
    display: flex;
    align-items: center;
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    opacity: 1 !important;
    transform: none !important;
}

.youzhanin-services-marquee {
    overflow: hidden;
    width: 100%;
}

.youzhanin-services-track {
    display: flex;
    width: max-content;
    animation: youzhanin-services-scroll 32s linear infinite;
    will-change: transform;
}

.youzhanin-services-marquee:hover .youzhanin-services-track {
    animation-play-state: paused;
}

.youzhanin-services-set {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 16px;
    flex: 0 0 auto;
    padding-right: 16px;
}

@keyframes youzhanin-services-scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

.youzhanin-service-pill {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 14px 28px;
    border: 1px solid #d6d6d6;
    border-radius: 999px;
    background: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #333333;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .elementor-14 .elementor-element.elementor-element-fb157c6 {
        flex-direction: column !important;
        gap: 24px !important;
    }

    .youzhanin-services-set {
        gap: 12px;
        padding-right: 12px;
    }

    .youzhanin-service-pill {
        font-size: 17px;
        padding: 12px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .youzhanin-services-track {
        animation: none;
        transform: none;
    }

    .youzhanin-services-marquee {
        overflow-x: auto;
    }
}

/* Hide 3D model-viewer block in About section */
.elementor-element-8dc0cb2 {
    display: none !important;
}

/* Portfolio block — temporarily hidden */
#portfolio,
.elementor-element-ef38191 {
    display: none !important;
}

.menu-item-1800 {
    display: none !important;
}

/* Footer: hide partner logo carousel */
.elementor-1833 .elementor-element.elementor-element-566c59e,
.elementor-1833 .elementor-element.elementor-element-092050f {
    display: none !important;
}

.elementor-1833 .elementor-element.elementor-element-daa4dff {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px 26px;
}

.elementor-1833 .elementor-element.elementor-element-3734d2c {
    flex: 0 0 auto;
    order: 1;
    width: auto !important;
    align-self: center;
}

.elementor-1833 .youzhanin-footer-pills {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    gap: 5px 8px;
    flex: 1 1 auto;
    justify-content: center;
    align-content: center;
    order: 2;
    min-width: 0;
    padding: 0;
    opacity: 1 !important;
    transform: none !important;
}

.elementor-1833 .youzhanin-footer-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid #4a4a4a;
    border-radius: 999px;
    background: transparent;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #48494b;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .elementor-1833 .elementor-element.elementor-element-daa4dff {
        flex-direction: column !important;
        align-items: center !important;
        gap: 23px;
    }

    .elementor-1833 .elementor-element.elementor-element-3734d2c {
        width: 100% !important;
    }

    .elementor-1833 .youzhanin-footer-pills {
        width: 100%;
        gap: 4px 6px;
    }

    .elementor-1833 .elementor-element.elementor-element-7ea9a26 {
        align-items: center !important;
        text-align: center !important;
        max-width: none;
    }

    .elementor-1833 .elementor-element.elementor-element-7ea9a26 .elementor-icon-list-items {
        align-items: center !important;
    }

    .elementor-1833 .elementor-element.elementor-element-0a28c90 .elementor-widget-container,
    .elementor-1833 .elementor-element.elementor-element-79c45b7 .elementor-widget-container {
        text-align: center;
    }
}

@media (max-width: 767px) {
    .elementor-1833 .youzhanin-footer-pills {
        gap: 4px 5px;
    }

    .elementor-1833 .youzhanin-footer-pill {
        font-size: 8px;
        padding: 5px 8px;
        white-space: nowrap;
        text-align: center;
    }
}

/* Footer legal column — stacked links on the right */
.elementor-1833 .elementor-element.elementor-element-7ea9a26 {
    flex: 0 0 auto;
    order: 3;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    text-align: left !important;
    width: auto !important;
    max-width: 260px;
    gap: 4px;
}

.elementor-1833 .elementor-element.elementor-element-7ea9a26 .elementor-icon-list-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
}

.elementor-1833 .elementor-element.elementor-element-0a28c90,
.elementor-1833 .elementor-element.elementor-element-79c45b7 {
    width: auto !important;
}

.elementor-1833 .elementor-element.elementor-element-0a28c90 .elementor-widget-container,
.elementor-1833 .elementor-element.elementor-element-79c45b7 .elementor-widget-container {
    text-align: left;
}

.elementor-1833 .elementor-element.elementor-element-0a28c90 .elementor-inline-item,
.elementor-1833 .elementor-element.elementor-element-79c45b7 .elementor-inline-item {
    display: block;
    width: 100%;
}

/* Header CTA — full clickable area */
.elementor-1761 .elementor-element.elementor-element-ba9c44a .elementor-button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Custom Elementor popup fallback */
[data-elementor-type="popup"]:not(.youzhanin-popup__source) {
    display: none !important;
}

[data-elementor-type="popup"].youzhanin-popup__source {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.youzhanin-popup[hidden] {
    display: none !important;
}

.youzhanin-popup {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.youzhanin-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
}

.youzhanin-popup__panel {
    position: relative;
    z-index: 1;
    width: min(640px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    background: #1c1c1c;
    border-radius: 17px;
    box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
}

.youzhanin-popup__content {
    width: 100%;
}

.youzhanin-popup__content .elementor-2037,
.youzhanin-popup__content .elementor-2037 .e-con,
.youzhanin-popup__content .elementor-2037 .e-con-inner {
    width: 100% !important;
    max-width: none !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-755d806 {
    margin-top: 0 !important;
    --margin-top: 0px !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-a32c1e9 {
    width: 100% !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a {
    width: auto !important;
    max-width: 100% !important;
    --container-widget-width: auto !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider-separator {
    width: auto !important;
    max-width: none !important;
    display: inline-flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    border-top: none !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider-separator::before,
.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider-separator::after {
    content: none !important;
    display: none !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__element {
    margin: 0 !important;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text::before {
    content: "";
    display: inline-block;
    width: 60px;
    height: 2px;
    background: #9747ff;
    flex: 0 0 60px;
}

.youzhanin-popup__close {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #9747ff;
    color: #ffffff;
    cursor: pointer;
    appearance: none;
}

.youzhanin-popup__close-icon {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

body.youzhanin-popup-open {
    overflow: hidden;
    touch-action: none;
}

.youzhanin-popup--messengers .youzhanin-popup__panel {
    width: min(420px, 100%);
}

.youzhanin-messenger-popup {
    padding: 36px 28px 32px;
    text-align: center;
}

.youzhanin-messenger-popup__title {
    margin: 0 0 28px;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.35;
    color: #ffffff;
}

.youzhanin-messenger-popup__list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.youzhanin-messenger-popup__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    padding: 16px 20px;
    border: 1px solid #3a3a3a;
    border-radius: 16px;
    background: #242424;
    color: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.youzhanin-messenger-popup__item:hover,
.youzhanin-messenger-popup__item:focus-visible {
    border-color: #9747ff;
    background: #2d2440;
    transform: translateY(-1px);
    outline: none;
}

.youzhanin-messenger-popup__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
}

.youzhanin-messenger-popup__icon svg {
    width: 34px;
    height: 34px;
}

.youzhanin-messenger-popup__item--whatsapp .youzhanin-messenger-popup__icon {
    color: #25d366;
}

.youzhanin-messenger-popup__item--telegram .youzhanin-messenger-popup__icon {
    color: #2aabee;
}

.youzhanin-messenger-popup__item--max .youzhanin-messenger-popup__icon {
    background-image: url("../2026/07/max-icon.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 8px;
}

.youzhanin-messenger-popup__label {
    line-height: 1.2;
}

@media (max-width: 767px) {
    .youzhanin-messenger-popup {
        padding: 32px 20px 24px;
    }

    .youzhanin-messenger-popup__title {
        margin-bottom: 22px;
        font-size: 18px;
    }

    .youzhanin-messenger-popup__item {
        font-size: 16px;
        padding: 14px 16px;
    }
}

.youzhanin-popup--mobile-menu .youzhanin-popup__panel {
    width: min(420px, 100%);
}

.youzhanin-mobile-menu {
    padding: 36px 28px 32px;
}

.youzhanin-mobile-menu__title {
    margin: 0 0 24px;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #ffffff;
    text-align: center;
}

.youzhanin-mobile-menu__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.youzhanin-mobile-menu__item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    padding: 14px 20px;
    border: 1px solid rgba(151, 71, 255, 0.45);
    border-radius: 16px;
    background: #2a2238;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.youzhanin-mobile-menu__item:hover,
.youzhanin-mobile-menu__item:focus-visible {
    border-color: #9747ff;
    background: #352a4a;
    color: #ffffff;
    outline: none;
}

.youzhanin-capabilities-hero {
    position: relative;
    margin-bottom: 32px;
}

.youzhanin-capabilities-hero .elementor-widget-divider,
.youzhanin-capabilities-hero .elementor-widget-container {
    position: relative;
}

.youzhanin-capabilities-hero .elementor-widget-container {
    padding-right: 56px;
}

.youzhanin-capabilities-hero__arrow {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #9747ff;
    color: #ffffff;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.youzhanin-capabilities-hero__arrow:hover,
.youzhanin-capabilities-hero__arrow:focus-visible {
    background: #7f35e8;
    transform: translateY(-2px);
    outline: none;
}

.youzhanin-capabilities-hero__arrow svg {
    width: 22px;
    height: 22px;
}

.youzhanin-capabilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 8px;
}

.youzhanin-capabilities-card {
    padding: 18px 20px;
    border: 1px solid rgba(151, 71, 255, 0.25);
    border-radius: 16px;
    background: #f8f5ff;
}

.youzhanin-capabilities-card__tag {
    display: inline-block;
    margin: 0 0 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: #9747ff;
}

.youzhanin-capabilities-card__text {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
}

@media (max-width: 767px) {
    .youzhanin-mobile-menu {
        padding: 32px 20px 24px;
    }

    .youzhanin-mobile-menu__title {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .youzhanin-mobile-menu__item {
        font-size: 16px;
        min-height: 52px;
    }

    .youzhanin-capabilities-hero__arrow {
        width: 42px;
        height: 42px;
    }

    .youzhanin-capabilities-grid {
        grid-template-columns: 1fr;
    }
}

/* About: start button on the right, vertically centered */
#about .elementor-element-a026f77 {
    position: relative;
}

.youzhanin-about-start-btn {
    position: absolute;
    right: 28px;
    top: 50%;
    z-index: 3;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 24px;
    border: none;
    border-radius: 30px;
    background: #ffffff;
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #9747ff;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.youzhanin-about-start-btn:hover,
.youzhanin-about-start-btn:focus-visible {
    background: #f3ebff;
    color: #7f35e8;
}

@media (max-width: 1200px) {
    .youzhanin-about-start-btn {
        font-size: 28px;
        line-height: 28px;
    }
}

@media (max-width: 1024px) {
    .youzhanin-about-start-btn {
        right: 12px;
        padding: 13px 20px;
    }
}

.youzhanin-popup-form-status {
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    line-height: 1.4;
}

.youzhanin-popup-form-status--pending {
    background: rgba(151, 71, 255, 0.15);
    color: #d8c4ff;
}

.youzhanin-popup-form-status--success {
    background: rgba(46, 160, 67, 0.18);
    color: #9be7b1;
}

.youzhanin-popup-form-status--error {
    background: rgba(220, 53, 69, 0.18);
    color: #ffb3bd;
}

/* Mobile optimization */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    overflow-x: clip;
}

img,
video,
svg {
    max-width: 100%;
    height: auto;
}

@media (max-width: 1024px) {
    .elementor-element-7732c2f .youzhanin-header-logo {
        font-size: 56px;
    }

    #services .e-n-tab-title-text,
    #services .elementor-icon-box-title {
        white-space: normal;
    }
}

@media (max-width: 767px) {
    .elementor-element-7732c2f .youzhanin-header-logo {
        font-size: 40px;
    }

    .elementor-element-6c090a5 .youzhanin-footer-logo {
        font-size: 34px;
    }

    .elementor-1833 .elementor-element.elementor-element-3c70065 {
        --padding-top: 56px !important;
        --padding-bottom: 40px !important;
        padding-top: 56px !important;
        padding-bottom: 40px !important;
    }

    .elementor-1833 .elementor-element.elementor-element-daa4dff {
        --padding-top: 24px !important;
        --padding-bottom: 24px !important;
        padding-top: 24px !important;
        padding-bottom: 24px !important;
        gap: 18px !important;
    }

    .youzhanin-popup {
        padding: 0;
        align-items: flex-end;
    }

    .youzhanin-popup__panel {
        width: 100%;
        max-height: min(92dvh, 92vh);
        border-radius: 20px 20px 0 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }

    .youzhanin-popup__close {
        top: max(10px, env(safe-area-inset-top, 0px));
        right: max(10px, env(safe-area-inset-right, 0px));
        width: 40px;
        height: 40px;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-755d806 {
        --padding-top: 16px !important;
        --padding-bottom: 16px !important;
        --padding-left: 16px !important;
        --padding-right: 16px !important;
        padding: 16px 48px 16px 16px !important;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider {
        padding-block-start: 8px !important;
        padding-block-end: 8px !important;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text {
        font-size: 18px !important;
        line-height: 1.2 !important;
        gap: 8px;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text::before {
        width: 36px;
        flex: 0 0 36px;
    }

    .youzhanin-popup .elementor-2037 .elementor-form-fields-wrapper {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .youzhanin-popup .elementor-2037 .elementor-field-group.elementor-col-50,
    .youzhanin-popup .elementor-2037 .elementor-field-group.elementor-sm-50 {
        width: 100% !important;
        max-width: 100% !important;
    }

    .youzhanin-popup .elementor-2037 .elementor-field-label {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .youzhanin-popup .elementor-2037 .elementor-field-textual,
    .youzhanin-popup .elementor-2037 .elementor-field.elementor-size-md {
        width: 100%;
        min-height: 48px;
        padding: 12px 14px;
        font-size: 16px;
        line-height: 1.3;
        border-radius: 12px;
        box-sizing: border-box;
    }

    .youzhanin-popup .elementor-2037 textarea.elementor-field-textual {
        min-height: 96px;
        resize: vertical;
    }

    .youzhanin-popup .elementor-2037 .e-form__buttons {
        margin-top: 4px;
    }

    .youzhanin-popup .elementor-2037 .elementor-button[type="submit"] {
        width: 100%;
        min-height: 48px;
        padding: 14px 18px;
        font-size: 16px;
        border-radius: 999px;
    }

    .youzhanin-popup-form-status {
        margin-top: 12px;
        font-size: 13px;
    }

    .youzhanin-about-start-btn {
        position: static;
        transform: none;
        display: inline-flex;
        align-self: center;
        margin: 18px auto 0;
        font-size: 20px;
        line-height: 1.2;
        padding: 12px 20px;
    }

    #about .elementor-element-a026f77 {
        flex-direction: column !important;
        align-items: stretch !important;
        min-height: auto !important;
    }

    #about .elementor-element-eab4f9d {
        padding-right: 20px !important;
    }

    .youzhanin-services-marquee {
        overflow: hidden;
    }

    .youzhanin-service-pill {
        font-size: 11px;
        padding: 8px 14px;
    }

    .elementor-1833 .youzhanin-footer-call-btn,
    .youzhanin-about-start-btn,
    .youzhanin-popup__close {
        min-height: 44px;
        min-width: 44px;
    }

    .youzhanin-popup .elementor-2037 .elementor-field-textual,
    .youzhanin-popup .elementor-2037 .elementor-button[type="submit"] {
        min-height: 48px;
    }
}

@media (max-width: 480px) {
    .elementor-element-7732c2f .youzhanin-header-logo {
        font-size: 34px;
    }

    .elementor-1833 .youzhanin-footer-pills {
        grid-template-columns: repeat(2, max-content);
        gap: 4px 5px;
    }

    .elementor-1833 .youzhanin-footer-pill {
        font-size: 7px;
        padding: 4px 7px;
    }

    .youzhanin-popup__panel {
        max-height: min(96dvh, 96vh);
        border-radius: 16px 16px 0 0;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-755d806 {
        padding: 14px 44px 14px 14px !important;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text {
        font-size: 16px !important;
        white-space: nowrap;
    }

    .youzhanin-popup .elementor-2037 .elementor-element-d93281a .elementor-divider__text::before {
        width: 28px;
        flex: 0 0 28px;
    }

    .youzhanin-popup .elementor-2037 .elementor-form-fields-wrapper {
        gap: 10px;
    }
}
