/* =========================================================
   home.css
   Index/home page: section structure, page-specific sizes, overrides and values
   Loaded only on index.php
   ========================================================= */

/* Home-specific footer spacing */
.footer {
    margin-top: 0;
}

/* Hero / intro */
#intro {
    margin-top: 300px;
}

#step-btn-about {
    width: 360px;
    color: #ffffff;
    left: 50%;
    transform: translateX(-50%) translateY(0) scale(1);
    transition: transform 260ms ease, box-shadow 260ms ease, filter 260ms ease;
}

.intro-right {
    right: -100px;
    top: -30px;
}

.video-wrap {
    position: relative;
    height: 500px;
    width: 700px;
    overflow: visible;
}

.video-wrap::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 850px;
    height: 720px;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center,
            rgba(95, 111, 175, 0.65) 0%,
            rgba(95, 111, 175, 0.42) 26%,
            rgba(95, 111, 175, 0.18) 52%,
            rgba(95, 111, 175, 0.06) 72%,
            transparent 100%);
    filter: blur(5px);
    z-index: 1;
    pointer-events: none;
}

#intro .nav-link {
    --glass-radius: 23px;
    --corner-br-thickness: 1px;
    --corner-tl-thickness: 1px;
    --corner-br-mid-opacity: 0.69;
    --corner-tl-end-opacity: 0.69;
    --levitate-x: 8px;
    --levitate-y: -14px;
    --levitate-rotate: 0.7deg;
    --levitate-duration: 6s;
    border-radius: var(--glass-radius);
    background:
        var(--border-top),
        var(--border-bottom),
        var(--corner-top-right),
        var(--corner-bottom-left),
        linear-gradient(90deg, rgb(25 26 47 / 0.9) 0%, rgb(57 52 93) 100%);
    height: 55px;
    width: 230px;
    padding: 0;
    font-size: 24px;
    line-height: 1;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    animation-name: levitateTag;
    animation-duration: var(--levitate-duration);
    animation-timing-function: cubic-bezier(0.37, 0, 0.63, 1);
    animation-iteration-count: infinite;
    will-change: transform;
    transform-origin: center;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

#intro>div>div>div.intro-right.absolute>span:nth-child(2) {
    top: 50%;
    width: 130px;
    --levitate-x: 7px;
    --levitate-y: -17px;
    --levitate-rotate: 0.55deg;
    --levitate-duration: 6.4s;
    animation-delay: -1.7s;
}

#intro>div>div>div.intro-right.absolute>span:nth-child(3) {
    top: 60px;
    right: 100px;
    --levitate-x: -9px;
    --levitate-y: -12px;
    --levitate-rotate: -0.65deg;
    --levitate-duration: 7.1s;
    animation-delay: -4.2s;
}

#intro>div>div>div.intro-right.absolute>span:nth-child(4) {
    right: 100px;
    bottom: 120px;
    --levitate-x: 11px;
    --levitate-y: -14px;
    --levitate-rotate: 0.75deg;
    --levitate-duration: 7.7s;
    animation-delay: -2.8s;
}

.geex-video {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Services */
#services {
    margin-top: 300px;
}

.services-card {
    --glass-radius: var(--lg-border-radius);
    width: 390px;
    height: 530px;
    border-radius: var(--lg-border-radius);
    padding: 40px;
    box-sizing: border-box;
    background: transparent;
    overflow: visible;
}


.services-card h3 {
    font-family: 'Michroma', sans-serif;
    font-size: 28px;
    margin: 0 0 30px 0;
    font-weight: var(--f-light);
}

.services-card .regular-text {
    font-size: 20px;
}

.services-card .circle-badge {
    top: 42px;
    right: 42px;
}

.services-card .img-wrap {
    width: 340px;
    height: 280px;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
}

.services-card .badge-wrap {
    left: 40px;
    bottom: 35px;
    gap: 10px;
}

.services-card .badge-wrap .d-flex {
    gap: 12px;
}

/* Lazy rendering / content visibility */
#whyUs {
    margin-top: 270px;
}

#whyUs,
#projects,
#etap,
#next-step,
.footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
}

/* Nu aplica pe intro și services */
#intro,
#services {
    content-visibility: visible;
}

.services-pagination,
.etap-pagination {
    display: none;
}

/* Why us */
.whyUs-Wrap {
    --glass-radius: var(--sm-border-radius);
    height: 520px;
    padding: 60px 60px 55px 60px;
}

.whyUs-Wrap .subtitle {
    margin: 0 0 50px 0;

}

.whyUs-Wrap .regular-text {
    font-size: 20px;
}

.whyUs-Wrap .img-wrap {
    width: 480px;
    height: 350px;
    overflow: hidden;
    transform: initial;
}

.whyUs-Wrap .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.whyUs-Wrap-text {
    width: 320px;
}

.badge-row {
    bottom: 45px;
    left: 60px;
}

.badge-row.flex-between.absolute>div:nth-child(1) {
    gap: 42px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(1, 1fr);
}

.badge-row.flex-between.absolute>div.d-flex.centerV {
    right: 120px;
}

.badge-row .badge {
    width: inherit;
    background: var(--border-top), var(--border-bottom), var(--corner-top-right), var(--corner-bottom-left), transparent;
    gap: 20px;
    padding: 11px 30px;
    font-size: 20px;
    font-weight: var(--f-light);

}

#projects {
    margin-top: 350px;
}

.projects-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    row-gap: 40px;
    column-gap: 20px;
    margin-bottom: 40px;
}

.project-card-header {
    padding: 0 20px;
    height: 65px;
}

.project-card-header img {
    transform: rotate(315deg);
    width: 14px;
    height: 14px;
    display: flex;
}

.project-card-header .step-btn {
    display: none;
}

.project-card-header .regular-text {
    font-size: 20px;
    font-weight: var(--f-regular);
}

.project-card {
    width: 600px;
    height: 365px;
    border-radius: 16px;
    --glass-radius: 16px;
    overflow: hidden;
}

.project-img-wrap {
    width: 100%;
    height: 300px;
    overflow: hidden;
}

.project-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.add-project-wrap {
    position: relative;
    isolation: isolate;
    border-radius: 16px;
    --glass-radius: 16px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.1);
}

.add-project-img {
    position: absolute;
    inset: 1px;
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    z-index: 1;
    pointer-events: none;
    display: none;
}

.add-project-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.add-project-plasma {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: hidden;
}

.add-project-plasma canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.add-project-content {
    inset: 0;
    z-index: 3;
    pointer-events: auto;
}

#projects>div>div>div.d-column.center.w-100.relative.add-project-wrap>div.d-column.center.absolute {
    gap: 40px;
    z-index: 2;
}

/* Work steps */
#etap {
    margin-top: 300px;
}

.etap-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    justify-content: space-between;
    row-gap: 50px;
}

.etap-card {
    width: 390px;
    height: 185px;
    padding: 22px 17px 20px 32px;
    background: var(--border-top), var(--border-bottom), var(--corner-bottom-right), var(--corner-top-left), var(--border-left), var(--border-right);
    --border-top: linear-gradient(90deg, transparent 0, transparent var(--glass-radius), var(--nav-top-left) var(--glass-radius), rgba(255, 255, 255, 0.52) 18%, rgba(255, 255, 255, 0.42) 42%, rgba(255, 255, 255, 0.28) 68%, rgba(255, 255, 255, 0.58) 84%, rgba(255, 255, 255, 0.34) calc(100% - var(--glass-radius) - 20px), rgba(255, 255, 255, 0.12) calc(100% - var(--glass-radius) - 10px), transparent calc(100% - var(--glass-radius)), transparent 100%) top / 100% 1px no-repeat;
    --border-right: linear-gradient(180deg, transparent 0, transparent var(--glass-radius), rgba(255, 255, 255, 0.18) calc(var(--glass-radius) + 15px), rgba(255, 255, 255, 0.2) calc(var(--glass-radius) + 15px), rgba(255, 255, 255, 0.3) calc(var(--glass-radius) + 40px), var(--nav-right-top) calc(var(--glass-radius)), var(--nav-right-bottom) calc(100% - var(--glass-radius)), transparent calc(100% - var(--glass-radius)), transparent 100%) right / 1px 100% no-repeat;
    overflow: hidden;
    isolation: isolate;
    transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.etap-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ffffff;
    opacity: 0;
    z-index: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.etap-card::after {
    background: var(--corner-top-left), var(--corner-top-right), var(--corner-bottom-left), var(--corner-bottom-right), var(--border-top), var(--border-bottom), var(--border-left), var(--border-right);
}

.etap-card>* {
    z-index: 1;
}

.etap-card .circle-badge {
    bottom: 16px;
    right: 20px;
    top: initial;
    transition: color 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.etap-card .badge {
    padding: 11px 15px;
    top: 22px;
    right: 20px;
    background: transparent;
    height: 22px;
    font-size: 12px;
    border-radius: 11px;
    --glass-radius: 11px;
    font-family: 'InterTight', sans-serif;
    font-weight: var(--f-regular);
    transition: color 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.etap-card .subtitle {
    font-size: 24px;
    margin: 0 0 24px 0;
    transition: color 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.etap-card .regular-text {
    font-size: 16px;
    margin: 0 0 50px 0;
    top: 75px;
    left: 32px;
    transition: color 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease;
}

.option-btn-wrap {
    display: none;
}

.etap-card-white::before {
    opacity: 1;
}

.etap-link {
    text-decoration: none;
    color: #ffffff;
    width: 140px;
    height: 28px;
    background: linear-gradient(180deg, rgba(28, 17, 71, 1) 0%, rgba(164, 128, 222, 1) 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 0 20px;
    box-sizing: border-box;
    border-radius: 14px;
    font-size: 13px;
    font-weight: var(--f-thin);
    font-family: 'InterThin', sans-serif;
    bottom: 20px;
    left: 32px;
}

.etap-link img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(103deg) brightness(105%) contrast(105%);
}

.etap-card-white {
    background: transparent;
}

.etap-card-white .subtitle,
.etap-card-white .badge,
.etap-card-white .regular-text {
    color: #040404;
}

.etap-card-white .badge,
.etap-card-white .circle-badge {
    background: #F3F3F3;
    box-shadow: 0px 4px 5px rgb(0 0 0 / 30%);
}


#facilities {
    margin: 480px 0 600px 0;
    overflow: visible;
}

#facilities .subtitle {
    margin-bottom: 200px;
}

.facilities-wrap {
    height: 350px;
    overflow: visible;
}

.facilities-wrap .orbite {
    z-index: 1;
}

.facilities-wrap .glass-cursor,
.facilities-wrap .glass-cursor-placeholder {
    width: auto;
    height: auto;
    top: -100px;
    left: 50%;
    transform: translateX(-35%);
    pointer-events: none;
    user-select: none;
    will-change: left, top, height, transform;
    z-index: 20;
}

.glass-cursor-placeholder {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.glass-cursor.is-cursor {
    position: fixed !important;
    left: 0;
    top: 0;
    width: auto;
    transform: translate(-50%, -50%);
    z-index: 2147483647 !important;
    pointer-events: none;
    user-select: none;
}

body.glass-cursor-hidden,
body.glass-cursor-hidden * {
    cursor: none !important;
}


.facilities-wrap .regular-text {
    font-size: 21px;
    z-index: 5;
}

#facilities>div>div>p:nth-child(3) {
    top: -100px;
}

#facilities>div>div>p:nth-child(4) {
    top: -60px;
    right: 0;
}

#facilities>div>div>p:nth-child(5) {
    bottom: -90px;
    left: 210px;
}

#facilities>div>div>p:nth-child(6) {
    bottom: -80px;
    right: 95px;
}

.orbit-wave-svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}

.orbit-wave-svg path {
    vector-effect: non-scaling-stroke;
}

#next-step {
    background: #ffffff;
    padding: 210px 0;
}

#next-step .subtitle.black-text {
    color: #000000;
    margin-bottom: 50px;
}

#next-step .regular-text {
    color: #000000;
    margin: 0;
    font-size: 32px;
    text-align: center;
    font-weight: var(--f-regular);
}

.step-wrap {
    margin: 120px auto 0 auto;
    gap: 45px;
}

.step-card {
    background: #131313;
    border-radius: var(--md-border-radius);
    padding: 25px 40px 40px 40px;
    width: 465px;
    height: 640px;
    overflow: visible;
}

.step-card .subtitle {
    color: #ffffff !important;
    font-size: 28px;
    margin-bottom: 0;
}

.step-card .circle-badge {
    background: transparent;
    width: 25px;
    height: 25px;
    top: 28px;
    right: 35px;
}


#next-step .step-card {
    overflow: hidden;
    isolation: isolate;
}

@media (hover: hover) and (pointer: fine) {

    .etap-card:hover {
        transform: translateY(-4px);
    }

    #next-step .step-card:hover .premium-floating-asset {
        --asset-hover-transform: translate3d(var(--asset-hover-x), var(--asset-hover-y), 0) scale(1.045);
    }

    #next-step .step-card:hover .premium-floating-asset__img {
        filter: drop-shadow(0 28px 42px rgba(0, 0, 0, 0.48)) drop-shadow(0 0 28px var(--asset-hover-shadow));
    }

    #next-step .step-card:hover .premium-floating-asset::before {
        opacity: 0.88;
        filter: blur(34px);
    }

    .services-card:hover .light {
        opacity: 1;
        transform: translateX(-50%) scale(1);
        transition-delay: var(--hover-delay);
    }

    .services-wrap:hover .services-card {
        opacity: .25;
        transition-delay: 0ms;
    }

    .services-wrap:hover .services-card:hover {
        opacity: 1;
        transform: translateY(-8px);
        transition-delay: var(--hover-delay);
    }

    .services-card:hover .badge {
        --badge-glow: 1;
        transition-delay: var(--hover-delay);
    }

    .services-wrap:not(:hover) .services-card,
    .services-wrap:not(:hover) .services-card .light,
    .services-wrap:not(:hover) .services-card .badge {
        transition-delay: 0ms;
    }

}

.premium-asset-question-left {
    left: 20px;
    bottom: 140px;
    --asset-mask: url("/images/question.png");
    --asset-w: 240px;
    --asset-h: 240px;
    --asset-base-transform: rotate(340deg);
    --asset-hover-x: -4px;
    --asset-hover-y: -7px;
    --asset-glow-1: rgba(164, 128, 222, 0.38);
    --asset-glow-2: rgba(95, 111, 175, 0.24);
    --asset-glow-3: rgba(164, 128, 222, 0.20);
    --asset-shadow: rgba(164, 128, 222, 0.24);
    --asset-hover-shadow: rgba(164, 128, 222, 0.38);
    --asset-float-duration: 8.5s;
    --asset-glow-duration: 7.5s;
    --asset-shine-duration: 9.5s;
    animation-name: premiumAssetFloatA;
}

.premium-asset-question-right {
    right: 60px;
    bottom: 120px;
    --asset-mask: url("/images/question.png");
    --asset-w: 185px;
    --asset-h: 185px;
    --asset-base-transform: rotate(30deg) scaleX(-1);
    --asset-hover-x: 4px;
    --asset-hover-y: -6px;
    --asset-glow-1: rgba(164, 128, 222, 0.35);
    --asset-glow-2: rgba(95, 111, 175, 0.22);
    --asset-glow-3: rgba(164, 128, 222, 0.18);
    --asset-shadow: rgba(164, 128, 222, 0.22);
    --asset-hover-shadow: rgba(164, 128, 222, 0.36);
    --asset-float-duration: 9.5s;
    --asset-glow-duration: 8.4s;
    --asset-shine-duration: 10.5s;
    animation-name: premiumAssetFloatB;
    animation-delay: -3.5s;
}

.premium-asset-question-right::before {
    animation-delay: -2.6s;
}

.premium-asset-question-right::after {
    animation-delay: -3.8s;
}

.premium-asset-chat {
    right: 10px;
    bottom: 4px;
    --asset-mask: url("/images/GlassChat.png");
    --asset-w: 170px;
    --asset-h: 161px;
    --asset-base-transform: rotate(0deg);
    --asset-hover-x: -4px;
    --asset-hover-y: -7px;
    --asset-glow-1: rgba(120, 145, 255, 0.34);
    --asset-glow-2: rgba(164, 128, 222, 0.18);
    --asset-glow-3: rgba(210, 220, 255, 0.16);
    --asset-shadow: rgba(125, 150, 255, 0.26);
    --asset-hover-shadow: rgba(140, 165, 255, 0.42);
    --asset-float-duration: 8.8s;
    --asset-glow-duration: 8.2s;
    --asset-shine-duration: 10.8s;
    animation-name: premiumAssetFloatB;
    animation-delay: -2s;
}

.premium-asset-chat::before {
    animation-delay: -2.4s;
}

.premium-asset-chat::after {
    animation-delay: -5.2s;
}

.premium-asset-media {
    right: 4px;
    bottom: 2px;
    --asset-mask: url("/images/GlassMedia.png");
    --asset-w: 177px;
    --asset-h: 114px;
    --asset-base-transform: rotate(0deg);
    --asset-hover-x: 4px;
    --asset-hover-y: -7px;
    --asset-glow-1: rgba(180, 198, 255, 0.34);
    --asset-glow-2: rgba(164, 128, 222, 0.17);
    --asset-glow-3: rgba(230, 236, 255, 0.18);
    --asset-shadow: rgba(180, 198, 255, 0.28);
    --asset-hover-shadow: rgba(190, 205, 255, 0.44);
    --asset-float-duration: 9.6s;
    --asset-glow-duration: 9.2s;
    --asset-shine-duration: 11.2s;
    animation-name: premiumAssetFloatA;
    animation-delay: -3.4s;
}

.premium-asset-media::before {
    animation-delay: -3s;
}

.premium-asset-media::after {
    animation-delay: -6s;
}


/* Next step responsive card sizes */
.step-wrap-sec .step-card {
    width: 575px;
    height: 305px;
}

.step-wrap-sec-img {
    bottom: 10px;
    right: 10px;
}

.step-card:first-child {
    overflow: hidden;
    isolation: isolate;
}

/* Services hover behavior - page-specific orchestration */
.services-card .light {
    opacity: 0;
    transform: translateX(-50%) scale(.85);
    transition: opacity var(--hover-duration) ease, transform var(--hover-duration) ease;
    pointer-events: none;
    transition-delay: 0ms;
}

.services-card .badge {
    --badge-glow: 0;
    background:
        var(--border-top),
        var(--border-bottom),
        var(--corner-top-right),
        var(--corner-bottom-left),
        radial-gradient(ellipse at top center,
            rgb(255 255 255 / calc(var(--badge-glow) * .85)) 0%,
            rgb(255 255 255 / calc(var(--badge-glow) * .45)) 32%,
            rgb(255 255 255 / calc(var(--badge-glow) * .18)) 62%,
            rgb(46 45 45 / .75) 100%),
        linear-gradient(90deg, rgb(46 44 44 / 45%) 0%, rgb(46 45 45 / 85%) 100%);
    box-shadow: inset 0 1px 14px rgb(255 255 255 / calc(var(--badge-glow) * .45)), 0 8px 28px rgb(255 255 255 / calc(var(--badge-glow) * .18));
    transition: --badge-glow var(--hover-duration) ease, box-shadow var(--hover-duration) ease;
    transition-delay: 0ms;
}

.puzzle-3d {
    width: 480px;
    height: 350px;
    overflow: visible;
    top: -30px;
    right: 50px;
    isolation: isolate;
}

#puzzleCanvas {
    width: 100%;
    height: 100%;
    display: block;
    background: transparent;
}

.puzzle-loading {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    font-size: 14px;
    color: #6b7280;
}

.puzzle-loading.hidden {
    display: none;
}

.done-ring-wrap {
    right: 50px;
    top: 60px;
}

@media (pointer: coarse) {

    body.glass-cursor-hidden,
    body.glass-cursor-hidden * {
        cursor: auto !important;
    }

    .glass-cursor.is-cursor {
        position: absolute !important;
        transform: none;
    }
}

.puzzle-3d::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 520px;
    height: 450px;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center,
            rgba(95, 111, 175, 0.65) 0%,
            rgba(95, 111, 175, 0.42) 26%,
            rgba(95, 111, 175, 0.18) 52%,
            rgba(95, 111, 175, 0.06) 72%,
            transparent 100%);
    filter: blur(5px);
    z-index: 0;
    pointer-events: none;
}

#puzzleCanvas {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    background: transparent;
    opacity: 0;
    transition: opacity 350ms ease;
    pointer-events: none;
}


.puzzle-poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    opacity: 1;
    visibility: visible;
    transition: opacity 350ms ease, visibility 350ms ease;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.puzzle-loading {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 18px;
    pointer-events: none;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.58);
    opacity: 0;
    visibility: hidden;
    transition: opacity 220ms ease, visibility 220ms ease;
}

.puzzle-3d.is-loading .puzzle-loading {
    opacity: 1;
    visibility: visible;
}

.puzzle-3d.is-first-frame-ready #puzzleCanvas {
    opacity: 1;
}

.puzzle-3d.is-webgl-visible .puzzle-poster {
    opacity: 0;
    visibility: hidden;
}

.puzzle-3d.is-interactive #puzzleCanvas {
    pointer-events: auto;
}

.puzzle-3d.is-static #puzzleCanvas,
.puzzle-3d.is-error #puzzleCanvas {
    display: none;
}

.puzzle-3d.is-static .puzzle-poster,
.puzzle-3d.is-error .puzzle-poster {
    opacity: 1;
    visibility: visible;
}

.puzzle-3d.is-static .puzzle-loading,
.puzzle-3d.is-error .puzzle-loading {
    display: none;
}

#puzzle3d.is-worker-ready #puzzlePoster {
    opacity: 0;
    pointer-events: none;
}

#puzzle3d.is-worker-ready #puzzleCanvas {
    opacity: 1;
}

@media (max-width: 1120px) {
    #intro {
        margin-top: 140px;
    }

    .intro-left .regular-text {
        text-align: center;
        font-size: 13px;
        margin: 0;
    }

    .intro-left {
        height: 550px;
        width: 100%;
    }

    .intro-btn-wrap {
        width: 100%;
        position: absolute;
        bottom: 10px;
        justify-content: center;
    }

    .intro-btn {
        width: 150px;
        height: 35px;
        font-size: 14px;
    }

    .intro-right {
        left: 0;
        right: 0;
        bottom: 75px;
        top: auto;
        width: 100%;
    }

    .video-wrap {
        height: 300px;
        width: 100%;
    }

    .geex-video {
        position: relative;
        z-index: 2;
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .video-wrap::before {
        width: 400px;
        height: 400px;
    }

    #intro .nav-link {
        height: 22px;
        --glass-radius: 10px;
        border-radius: var(--glass-radius);
        font-size: 10px;
        width: 100px;
    }

    #intro>div>div>div.intro-right.absolute>span:nth-child(2) {
        width: 55px;
        left: 10px;
    }

    #intro>div>div>div.intro-right.absolute>span:nth-child(3) {
        right: 10px;
    }

    #intro>div>div>div.intro-right.absolute>span:nth-child(4) {
        right: 50px;
    }

    #services {
        margin-top: 140px;
        overflow: hidden;
    }

    #services .container {
        overflow: hidden;
    }

    #services .services-wrap {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        padding-left: calc((100% - 335px) / 2);
        padding-right: calc((100% - 335px) / 2);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        /* touch-action: pan-x pan-y; */
        overscroll-behavior-x: contain;
    }

    #services .services-wrap::-webkit-scrollbar {
        display: none;
    }


    #services .services-card {
        flex: 0 0 335px;
        width: 335px;
        height: 450px;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        box-sizing: border-box;
    }

    #services .services-card h3 {
        font-size: 20px;
    }

    #services .circle-badge {
        height: 28px;
        width: 32px;
        font-size: 12px;
    }

    #services .services-card .circle-badge {
        top: 36px;
        right: 36px;
    }

    #services .services-card .regular-text {
        font-size: 14px;
        margin: 0;
    }

    #services .services-card .img-wrap {
        width: 290px;
        height: 240px;
    }

    #services .services-card .badge {
        height: 30px;
        --glass-radius: 14px;
        font-size: 13px;

    }

    .services-pagination,
    .etap-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        margin-top: 25px;
        min-height: 24px;
    }

    .services-pagination-dot,
    .etap-pagination-dot {
        display: block;
        width: 7px;
        height: 7px;
        flex: 0 0 7px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.3);
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
        transition:
            width 0.3s ease,
            flex-basis 0.3s ease,
            border-radius 0.3s ease,
            background-color 0.3s ease;
    }


    .services-pagination-dot.is-active,
    .etap-pagination-dot.is-active {
        width: 24px;
        flex-basis: 24px;
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.95);
    }

    #services .services-card.is-slider-clone {
        visibility: visible;
    }

    #whyUs {
        margin-top: 150px;
    }

    .whyUs-Wrap {
        height: 580px;
        padding: 40px 23px;
    }

    .puzzle-3d {
        width: 100%;
        max-width: 480px;
        height: 230px;
        right: inherit;
        top: 170px;
    }

    .whyUs-Wrap .subtitle {
        text-align: left;
        margin-bottom: 30px;
    }

    .whyUs-Wrap .regular-text {
        font-size: 14px;
    }

    .done-ring-wrap {
        top: 50px;
        right: 25px;
        bottom: inherit;
    }

    .done-ring-wrap img {
        width: 40px;
        height: auto;
    }

    .badge-row.flex-between.absolute>div:nth-child(1) {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 10px;
    }

    .badge-row .badge {
        font-size: 12px;
        padding: 0;
        height: 26px;
        width: 140px;
        align-items: center;
        justify-content: center;
        --glass-radius: 12px;
        border-radius: var(--glass-radius);
    }

    .badge-row .badge img {
        width: 12px;
        height: auto;
    }

    .badge-row {
        left: 50%;
        justify-content: center;
        transform: translateX(-50%);
    }

    #projects {
        margin-top: 150px;
    }

    .projects-wrap {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(4, 1fr);
    }

    .add-project-wrap {
        width: 330px;
        height: 200px;
        margin: 0 auto;
        --border-top: linear-gradient(90deg, transparent 0, transparent var(--glass-radius), var(--nav-top-left) var(--glass-radius), rgba(255, 255, 255, 0.52) 18%, rgba(255, 255, 255, 0.42) 42%, rgba(255, 255, 255, 0.28) 68%, rgba(255, 255, 255, 0.58) 84%, rgba(255, 255, 255, 0.34) calc(100% - var(--glass-radius) - 22px), rgba(255, 255, 255, 0.12) calc(100% - var(--glass-radius) - 10px), transparent calc(100% - var(--glass-radius)), transparent 100%) top / 100% 1px no-repeat;
    }

    .project-card {
        width: 330px;
        height: 300px;
        margin: 0 auto;
    }

    .project-card-header .regular-text {
        font-size: 14px;
    }

    .project-img-wrap {
        width: 100%;
        height: 100%;
    }

    .project-card-header img {
        display: none;
    }

    .project-card-header .step-btn {
        display: flex;
        right: 20px;
        bottom: 50%;
        transform: translateY(50%);
        height: 25px;
        border-radius: 12px;
        width: 110px;
    }


    .project-card.glass-fade {
        --border-top: linear-gradient(90deg, transparent 0, transparent var(--glass-radius), var(--nav-top-left) var(--glass-radius), rgba(255, 255, 255, 0.52) 18%, rgba(255, 255, 255, 0.42) 42%, rgba(255, 255, 255, 0.28) 68%, rgba(255, 255, 255, 0.58) 84%, rgba(255, 255, 255, 0.34) calc(100% - var(--glass-radius) - 22px), rgba(255, 255, 255, 0.12) calc(100% - var(--glass-radius) - 10px), transparent calc(100% - var(--glass-radius)), transparent 100%) top / 100% 1px no-repeat;
    }

    #add-projects-btn img {
        width: 60px;
        height: auto;
        margin-bottom: 20px;
    }

    #etap .container {
        overflow: hidden;
    }

    #etap .etap-wrap {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        width: 100%;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding-left: calc((100% - 330px) / 2);
        padding-right: calc((100% - 330px) / 2);
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        /* touch-action: pan-x pan-y; */
        overscroll-behavior-x: contain;
    }

    #etap .etap-wrap::-webkit-scrollbar {
        display: none;
    }

    #etap .etap-card {
        flex: 0 0 330px;
        width: 330px;
        min-width: 330px;
        max-width: 330px;
        height: 220px;
        margin: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
        box-sizing: border-box;

    }

    .etap-card.glass-box {
        background: none;
        --corner-bottom-left: none;
        --corner-top-right: none;
    }



    .etap-card.glass-box::before {
        background:
            var(--border-top),
            var(--border-bottom),
            var(--border-left),
            var(--border-right);
        opacity: 1;
        z-index: 1;
        transition: none;
    }

    .etap-card.glass-box::after {
        background:
            var(--corner-top-left),
            var(--corner-top-right),
            var(--corner-bottom-left),
            var(--corner-bottom-right);
        opacity: 1;
        z-index: 2;
    }

    #etap .etap-card .subtitle {
        text-align: left;
        font-size: 18px;
    }

    #etap .etap-card .regular-text {
        font-size: 14px;
        top: 80px;
    }

    #etap {
        margin-top: 200px;
        overflow: hidden;
    }

    .option-btn-wrap {
        display: flex;
        gap: 10px;
        bottom: 60px;
    }

    .option-btn-wrap .step-btn {
        width: 90px;
        height: 25px;
        gap: 5px;
        font-size: 13px;
        border-radius: 7px;
    }

    .option-btn-wrap .step-btn img {
        rotate: 315deg;
        width: 8px;
        height: auto;
        filter: brightness(0) saturate(100%)
    }

    #facilities {
        margin: 200px 0 150px;
    }

    #facilities .subtitle {
        margin-bottom: 250px;
    }

    .facilities-wrap {
        height: 700px;
    }

    .orbit-wave-svg {
        width: 600px;
        height: 330px;
        display: block;
        overflow: visible;
        rotate: 270deg;
        top: 45%;
        right: 0;
        transform: translate(50%, 30%) scaleY(-1);
    }

    .facilities-wrap .glass-cursor {
        width: 160px;
        height: auto;
        top: 90px;
        right: 50px;
        transform: none;
        left: inherit;
    }

    .facilities-wrap .regular-text {
        font-size: 14px;
    }

    .orbit-wave-svg circle:nth-of-type(3) {
        transform: translate(80.46px, -17.3269px);
    }

    #facilities>div>div>p:nth-child(3) {
        top: -180px;
        right: 5px;
    }

    #facilities>div>div>p:nth-child(4) {
        top: 0;
        left: 30px;
    }

    #facilities>div>div>p:nth-child(6) {
        top: 235px;
        right: 145px;
        text-align: right;
        bottom: inherit;
    }

    #facilities>div>div>p:nth-child(5) {
        bottom: 230px;
        left: 90px;
    }

    #next-step {
        padding: 100px 0;
    }

    #next-step .subtitle.black-text {
        font-size: 24px;
        margin-bottom: 30px;
    }

    #next-step .regular-text {
        font-size: 14px;
    }

    .step-wrap {
        flex-direction: column;
        margin: 70px 0;
    }

    .step-card {
        width: 330px;
        height: 460px;
        margin: 0 auto;
        padding: 20px 40px 30px 28px;
    }

    .step-card .subtitle {
        font-size: 18px;
        text-align: left;
        margin-bottom: 10px;
    }

    .step-card .circle-badge {
        top: 20px;
        right: 25px;
    }

    .step-card .sm-text {
        margin: 0;
        font-size: 14px;
    }

    .premium-asset-question-left {
        --asset-w: 170px;
        --asset-h: 170px;
        bottom: 110px;
    }

    .premium-asset-question-right {
        --asset-w: 135px;
        --asset-h: 135px;
        right: 30px;
        bottom: 85px;
    }

    #step-btn-about {
        width: 260px;
        height: 35px;
        border-radius: 17px;
        font-size: 15px;
    }

    .step-wrap-sec {
        gap: 45px;
    }

    .step-wrap-sec .step-card {
        width: 330px;
        height: 190px;
        padding: 20px;
    }

    .step-btn {
        font-size: 12px;
        width: 125px;
        height: 30px;
        border-radius: 14px;
        bottom: 20px;
    }

    .premium-asset-chat {
        --asset-w: 130px;
        --asset-h: 124px;
    }

    .premium-asset-media {
        --asset-w: 130px;
        --asset-h: 84px;
    }

    .etap-card-white,
    .etap-card-white.glass-box::before,
    .etap-card-white.glass-box::after {
        background: #ffffff;
    }

    #projects>div>div>div.d-column.center.w-100.relative.add-project-wrap>div.d-column.center.absolute {
        gap: 0;
    }

    .add-project-wrap {
        height: 200px;
    }

    .puzzle-3d {
        width: 100%;
        max-width: 480px;
        height: 230px;
        right: auto;
        top: 170px;
    }

    .puzzle-loading {
        padding-bottom: 8px;
        font-size: 12px;
    }

    #next-step .premium-floating-asset {
        animation-name: premiumAssetFloatA !important;
        animation-duration: var(--asset-float-duration) !important;
        animation-timing-function: ease-in-out !important;
        animation-iteration-count: infinite !important;
        will-change: transform;
    }

    #next-step .premium-floating-asset::before {
        animation: none !important;
        filter: none !important;
        opacity: 0.35;
        will-change: auto;
    }

    #next-step .premium-floating-asset::after {
        animation: none !important;
        opacity: 0 !important;
        will-change: auto !important;
    }

    #next-step .premium-floating-asset__img {
        filter: none !important;
        will-change: auto !important;
    }

}

@media (prefers-reduced-motion: reduce) {

    .puzzle-poster,
    #puzzleCanvas,
    .puzzle-loading {
        transition: none;
    }
}
