/* Mobile navigation is intentionally isolated and loaded after page-specific styles. */
@media (max-width: 1199px) {
    #ts-mobile-menu.uk-open {
        z-index: 2000;
    }

    #ts-mobile-menu .uk-offcanvas-bar.ts-offcanvas {
        position: absolute !important;
        inset: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 100dvh;
        transform: none !important;
        transition: none !important;
        padding: 18px max(20px, env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)) !important;
        overflow-x: hidden !important;
        color: #fff !important;
        background:
            radial-gradient(circle at 14% 0, rgba(24, 214, 177, .20), transparent 260px),
            linear-gradient(180deg, #07111f 0%, #05080d 100%) !important;
        box-shadow: none !important;
    }

    .ts-offcanvas__brand {
        display: flex;
        align-items: center;
        min-height: 58px;
        padding-right: 64px;
        border-bottom: 1px solid rgba(255, 255, 255, .10);
    }

    .ts-offcanvas__brand img {
        display: block !important;
        width: auto !important;
        max-width: 190px !important;
        max-height: 46px !important;
        object-fit: contain !important;
    }

    #ts-mobile-menu .uk-offcanvas-close {
        top: 20px !important;
        right: max(20px, env(safe-area-inset-right)) !important;
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .16);
        border-radius: 14px;
        color: #fff !important;
        background: rgba(255, 255, 255, .06);
    }

    .ts-mobile-nav {
        display: grid;
        gap: 0;
        width: 100%;
        margin: 18px 0 0;
        padding: 0;
        list-style: none;
    }

    .ts-mobile-nav > li {
        margin: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .10);
    }

    .ts-mobile-nav > li > a,
    .ts-mobile-services > summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        width: 100%;
        min-height: 58px;
        margin: 0;
        padding: 0;
        color: rgba(255, 255, 255, .86) !important;
        font-family: var(--ts-font-condensed);
        font-size: 20px;
        line-height: 1.15;
        font-weight: 800;
        letter-spacing: .02em;
        text-transform: uppercase;
        text-decoration: none !important;
        cursor: pointer;
        list-style: none;
    }

    .ts-mobile-services > summary::-webkit-details-marker {
        display: none;
    }

    .ts-mobile-nav > li > a > span {
        color: var(--ts-accent);
        font-size: 20px;
    }

    .ts-mobile-nav > li.uk-active > a,
    .ts-mobile-nav > li.uk-active .ts-mobile-services > summary,
    .ts-mobile-nav > li > a:hover,
    .ts-mobile-services > summary:hover,
    .ts-mobile-services[open] > summary {
        color: #fff !important;
    }

    .ts-mobile-services__toggle {
        position: relative;
        flex: 0 0 34px;
        width: 34px;
        height: 34px;
        border: 1px solid rgba(24, 214, 177, .34);
        border-radius: 50%;
        background: rgba(24, 214, 177, .08);
    }

    .ts-mobile-services__toggle::before,
    .ts-mobile-services__toggle::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 12px;
        height: 2px;
        border-radius: 2px;
        background: var(--ts-accent);
        transform: translate(-50%, -50%);
        transition: transform .2s ease;
    }

    .ts-mobile-services__toggle::after {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    .ts-mobile-services[open] .ts-mobile-services__toggle::after {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    .ts-mobile-services__body {
        padding: 2px 0 20px;
    }

    .ts-mobile-services__group + .ts-mobile-services__group {
        margin-top: 18px;
    }

    .ts-mobile-services__title {
        margin-bottom: 6px;
        color: var(--ts-accent);
        font-size: 11px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .ts-mobile-services__group ul {
        display: grid;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .ts-mobile-services__group a {
        display: block;
        padding: 8px 0;
        color: rgba(255, 255, 255, .70) !important;
        font-size: 15px;
        line-height: 1.35;
        font-weight: 600;
        text-decoration: none !important;
    }

    .ts-mobile-services__group li.uk-active a,
    .ts-mobile-services__group a:hover {
        color: #fff !important;
    }

    .ts-mobile-services__all {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-top: 18px;
        color: #fff !important;
        font-weight: 800;
        text-decoration: none !important;
    }

    .ts-mobile-contact {
        margin-top: 24px !important;
    }

    .ts-mobile-contact a {
        font-size: 18px !important;
    }

    .ts-offcanvas .ts-button {
        min-height: 50px !important;
        margin-top: 16px !important;
    }
}

@media (max-width: 380px) {
    .ts-mobile-nav > li > a,
    .ts-mobile-services > summary {
        min-height: 54px;
        font-size: 18px;
    }

    .ts-offcanvas__brand img {
        max-width: 170px !important;
    }
}
