@media (min-width:992px) {
    html.w-mod-js:not(.w-mod-ix) [data-w-id="2e3dddcb-462a-2b3d-d361-bd6fec811ba9"] {
        opacity: 0;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="2c84ac9e-f379-5014-d0d4-8a9e2e7f77f4"] {
        opacity: 0;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="7a2c1409-9580-3be2-6716-409eec17aa5e"] {
        opacity: 0;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="a8e721e4-e0a6-704a-1870-986060a69dab"] {
        opacity: 0;
    }

    html.w-mod-js:not(.w-mod-ix) [data-w-id="c46c179c-4053-79a7-2905-7398fc5d0acf"] {
        opacity: 0;
    }
}

html.w-mod-js:not(.w-mod-ix3) :is(.menu-divider, .nav-link, *:has(> .nav-link) > :not(.nav-link), .overlay-hover-footer, .line-footer-link, .video-home-hero, .nav-wrap-animation, .wrap-home-about [animate="opacity"], .marquee-text.left, .marquee-text.right, .image-wrap-contact, .card-project [cms-overlay], .card-project [cms-image], .text-track-about, .image-wrap-about-hero.background > *, [text-left], [text-right], .marquee-images, [text="reveal"]) {
    visibility: hidden !important;
}

* {
    -webkit-font-smoothing: antialiased;
    /* For WebKit (Safari, Chrome) */
    -moz-osx-font-smoothing: grayscale;
    /* For macOS Firefox */
    font-smoothing: antialiased;
    /* Non-standard, fallback */
    text-rendering: optimizeLegibility;
    /* Improves kerning and ligatures */
}

.w-webflow-badge {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.logo {
    width: 100px;
    height: auto;
}

.desktop-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.mobile-video {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

@media (max-width: 767px) {
    .desktop-video {
        display: none !important;
    }

    .mobile-video {
        display: block !important;
    }
}

/* Update hero section colors for light video background */
.navigation .logo_text,
.navigation .nav_link_text,
.hero_section h1,
.hero_section .hero_sub_title,
.hero_section .hero_info,
.hero_social_links .color-white,
.hero_stat_title,
.hero_stat_info {
    color: #1a1a1a !important;
}

.hamburger_menu_icon_line,
.hero_social_line {
    background-color: #1a1a1a !important;
}

.nav_link_circle {
    border-color: #1a1a1a !important;
}

.hero_social_icon svg path,
.hero_stat_icon svg path {
    fill: #1a1a1a !important;
}

/* Move hero text to the right side on desktop */
@media (min-width: 992px) {
    .hero_heading {
        text-align: right;
        padding-right: 5vw;
        position: relative;
        z-index: 2;
        margin-left: auto;
    }

    .hero_wrapper .container {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .hero_content_wrapper {
        align-items: flex-end;
        text-align: right;
        margin-left: auto;
        max-width: 600px;
    }

    .hero_section .hero_sub_title,
    .hero_section .hero_info {
        max-width: 100%;
        text-align: right !important;
    }

    .hero_proof_area {
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-start;
        gap: 40px;
        margin-left: auto;
        width: auto;
    }

    .hero_social_links,
    .hero_stat {
        margin: 0;
    }
}

.nav-logo-text {
    font-family: 'Orbitron', sans-serif;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    line-height: 1;
    display: inline-block;
    position: relative;
}

.footer-logo-text {
    font-family: 'Orbitron', sans-serif;
    font-size: 4rem;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -0.05em;
    line-height: 0.8;
    display: inline-block;
}

.nav-logo-icon {
    height: 48px;
    width: auto;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    display: block;
}

.brand-nav:hover .nav-logo-icon {
    transform: rotate(180deg);
}

.footer-logo-icon {
    height: 96px;
    width: auto;
    margin-bottom: 20px;
    display: block;
}

.tm-symbol {
    font-size: 0.35em;
    vertical-align: super;
    margin-left: 2px;
    font-weight: 400;
}
