@media(min-width: 1366px) {
    .top-part {
        display: inherit;
        position: sticky;
        top: -45px;
        z-index: 5;
        width: 100%;
    }
    .top-banner {
        background-image: url('../../assets/line-pattern-overlay.png');
        background-size: cover;
        background-position: 50% 50%;
        background-color: #4081b3;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 10px 5%;
    }
    .top-banner p {
        font-size: 15px;
        font-weight: 700;
        font-style: italic;
        color: #fff;
    }
    .nav-social-media a {
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        display: inline-block;
        margin: 0 0 0 15px;
    }
    .nav-social-media a:hover {
        color: #04080b;
    }
    nav.navbar {
        background-color: #04080b;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 5px 5%;
    }
    .nav-logo img {
        display: block;
        height: 64px;
    }
    ul.page-tabs {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    ul.page-tabs li {
        padding: 0;
        margin: 0 0 0 22px;
        position: relative;
    }
    ul.page-tabs li a:hover {
        color: #4081b3;
    }
    ul.page-tabs a.nav-active {
        color: #4081b3;
    }
    ul.page-tabs li a {
        display: block;
        color: #fff;
        margin: 0;
        padding: 0;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none;
        text-align: center;
        transition: 0.1s all ease-out;
    }
    /* sub-pages */
    @keyframes slide {
        from {
            opacity: 0;
            transform: translate(-50%, 8px);
        }
        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }
    ul.page-tabs li>ul {
        width: max-content;
        z-index: 2;
        display: none;
        position: absolute;
        grid-template-columns: 1fr;
        gap: 2px;
        background: #0d1218;
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        list-style: none;
        margin: 0;
        padding: 8px;
        animation: slide 0.2s ease-out 0s normal;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        min-width: 260px;
    }
    ul.page-tabs li:hover>ul {
        display: grid;
        animation: slide 0.2s ease-out 0s normal;
    }
    ul.page-tabs li>ul>li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        margin: 0;
        padding: 0;
        min-width: 0;
        transition: 0.15s all ease-in-out;
        border-radius: 8px;
    }
    ul.page-tabs li>ul>li:hover {
        background-color: #4081b3;
    }
    ul.page-tabs li>ul>li>a {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        vertical-align: middle;
        color: #fff;
        padding: 12px 16px;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: 0.15s all ease-in-out;
        text-align: left;
        border-radius: 8px;
        white-space: nowrap;
    }
    ul.page-tabs li>ul>li>a:hover,
    ul.page-tabs li>ul>li:hover>a {
        color: #fff;
    }
    .call-info {
        position: relative;
        min-width: 190px;
    }
    .call-info a {
        display: block;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        text-decoration: none;
        margin: 0;
        line-height: 1;
        text-align: right;
    }
    .float-estimate {
        border-radius: 10px 10px 0 0;
        display: inherit;
        position: fixed;
        bottom: 0;
        right: 5%;
        z-index: 3;
        text-transform: uppercase;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        box-shadow:  0 0 0 0 rgba(64, 129, 179, 0.55), 0 -4px 18px rgba(0, 34, 68, 0.3);
        text-decoration: none;
        margin: 0;
        padding: 15px 20px;
        letter-spacing: 0.5px;
        transition: 0.2s all ease-out;
        overflow: hidden;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
    }
    .float-estimate:hover {
        background: #fff;
        color: #04080b;
        animation: none;
        box-shadow: 0 0 0 2px #4081b3, 0 -4px 18px rgba(64, 129, 179, 0.35);
    }
    .float-estimate::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    /* nav call-to-action */
    @keyframes nav-cta-shine {
        0% {
            left: -60%;
        }
        60% {
            left: 120%;
        }
        100% {
            left: 120%;
        }
    }
    @keyframes nav-cta-pulse {
        0%, 100% {
            box-shadow: 0 0 0 0 rgba(64, 129, 179, 0.55), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
        50% {
            box-shadow: 0 0 0 8px rgba(64, 129, 179, 0), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
    }
    .nav-cta {
        flex-shrink: 0;
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 0 22px;
        padding: 10px 18px;
        border-radius: 100px;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
        transition: 0.2s transform ease-out, 0.2s background ease-out;
    }
    .nav-cta::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    .nav-cta i {
        font-size: 0.95em;
    }
    .nav-cta:hover {
        background: #fff;
        color: #04080b;
        transform: translateY(-1px);
        animation: none;
        box-shadow: 0 8px 20px rgba(255, 255, 255, 0.25);
    }
    @media (prefers-reduced-motion: reduce) {
        .nav-cta,
        .nav-cta::after,
        .float-estimate,
        .float-estimate::after {
            animation: none;
        }
    }
    .float-backtrack {
        border-radius: 10px 0 0 10px;
        display: none;
        position: fixed;
        cursor: pointer;
        bottom: 50%;
        right: 0%;
        z-index: 2;
        font-size: 30px;
        color: #fff;
        background: #4081b3;
        box-shadow: -1px -1px 10px rgba(0, 34, 68, 0.36);
        padding: 8px 10px;
        transition: 0.2s all ease-out;
    }
    .float-backtrack:hover {
        background: #04080b;
    }
}

@media(max-width: 1366px) and (min-width: 1024px) {
    .top-part {
        display: inherit;
        position: sticky;
        top: -45px;
        z-index: 5;
        width: 100%;
    }
    .top-banner {
        background-image: url('../../assets/line-pattern-overlay.png');
        background-size: cover;
        background-position: 50% 50%;
        background-color: #4081b3;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 8px 3%;
    }
    .top-banner p {
        font-size: 13px;
        font-weight: 700;
        font-style: italic;
        color: #fff;
    }
    .nav-social-media a {
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        display: inline-block;
        margin: 0 0 0 15px;
    }
    .nav-social-media a:hover {
        color: #04080b;
    }
    nav.navbar {
        background-color: #04080b;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 5px 3%;
    }
    .nav-logo img {
        display: block;
        height: 54px;
    }
    ul.page-tabs {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    ul.page-tabs li {
        padding: 0;
        margin: 0 0 0 16px;
        position: relative;
    }
    ul.page-tabs li a:hover {
        color: #4081b3;
    }
    ul.page-tabs a.nav-active {
        color: #4081b3;
    }
    ul.page-tabs li a {
        display: block;
        color: #fff;
        margin: 0;
        padding: 0;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        text-align: center;
        transition: 0.1s all ease-out;
    }
    /* sub-pages */
    @keyframes slide {
        from {
            opacity: 0;
            transform: translate(-50%, 8px);
        }
        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }
    ul.page-tabs li>ul {
        width: max-content;
        z-index: 2;
        display: none;
        position: absolute;
        grid-template-columns: 1fr;
        gap: 2px;
        background: #0d1218;
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        list-style: none;
        margin: 0;
        padding: 8px;
        animation: slide 0.2s ease-out 0s normal;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        min-width: 260px;
    }
    ul.page-tabs li:hover>ul {
        display: grid;
        animation: slide 0.2s ease-out 0s normal;
    }
    ul.page-tabs li>ul>li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        margin: 0;
        padding: 0;
        min-width: 0;
        transition: 0.15s all ease-in-out;
        border-radius: 8px;
    }
    ul.page-tabs li>ul>li:hover {
        background-color: #4081b3;
    }
    ul.page-tabs li>ul>li>a {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        vertical-align: middle;
        color: #fff;
        padding: 12px 16px;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: 0.15s all ease-in-out;
        text-align: left;
        border-radius: 8px;
        white-space: nowrap;
    }
    ul.page-tabs li>ul>li>a:hover,
    ul.page-tabs li>ul>li:hover>a {
        color: #fff;
    }
    .call-info {
        position: relative;
        min-width: 190px;
    }
    .call-info a {
        display: block;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        text-decoration: none;
        margin: 0;
        line-height: 1;
        text-align: right;
    }
    .float-estimate {
        border-radius: 10px 10px 0 0;
        display: inherit;
        position: fixed;
        bottom: 0;
        right: 3%;
        z-index: 3;
        text-transform: uppercase;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        box-shadow:  0 0 0 0 rgba(64, 129, 179, 0.55), 0 -4px 18px rgba(0, 34, 68, 0.3);
        text-decoration: none;
        margin: 0;
        padding: 15px 20px;
        letter-spacing: 0.5px;
        transition: 0.2s all ease-out;
        overflow: hidden;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
    }
    .float-estimate:hover {
        background: #fff;
        color: #04080b;
        animation: none;
        box-shadow: 0 0 0 2px #4081b3, 0 -4px 18px rgba(64, 129, 179, 0.35);
    }
    .float-estimate::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    /* nav call-to-action */
    @keyframes nav-cta-shine {
        0% {
            left: -60%;
        }
        60% {
            left: 120%;
        }
        100% {
            left: 120%;
        }
    }
    @keyframes nav-cta-pulse {
        0%, 100% {
            box-shadow: 0 0 0 0 rgba(64, 129, 179, 0.55), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
        50% {
            box-shadow: 0 0 0 8px rgba(64, 129, 179, 0), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
    }
    .nav-cta {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 0 25px;
        padding: 10px 18px;
        border-radius: 100px;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
        transition: 0.2s transform ease-out, 0.2s background ease-out;
    }
    .nav-cta::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    .nav-cta i {
        font-size: 0.95em;
    }
    .nav-cta:hover {
        background: #fff;
        color: #04080b;
        transform: translateY(-1px);
        animation: none;
        box-shadow: 0 8px 20px rgba(255, 255, 255, 0.25);
    }
    @media (prefers-reduced-motion: reduce) {
        .nav-cta,
        .nav-cta::after,
        .float-estimate,
        .float-estimate::after {
            animation: none;
        }
    }
    .float-backtrack {
        border-radius: 10px 0 0 10px;
        display: none;
        position: fixed;
        cursor: pointer;
        bottom: 50%;
        right: 0%;
        z-index: 2;
        font-size: 30px;
        color: #fff;
        background: #4081b3;
        box-shadow: -1px -1px 10px rgba(0, 34, 68, 0.36);
        padding: 8px 10px;
        transition: 0.2s all ease-out;
    }
    .float-backtrack:hover {
        background: #04080b;
    }
}

@media(max-width: 1024px) and (min-width: 769px) {
    .top-part {
        display: none;
        position: sticky;
        top: -45px;
        z-index: 5;
        width: 100%;
    }
    .top-banner {
        background-image: url('../../assets/line-pattern-overlay.png');
        background-size: cover;
        background-position: 50% 50%;
        background-color: #4081b3;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 10px 5%;
    }
    .top-banner p {
        font-size: 16px;
        font-weight: 700;
        font-style: italic;
        color: #fff;
    }
    .nav-social-media a {
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        display: inline-block;
        margin: 0 0 0 15px;
    }
    .nav-social-media a:hover {
        color: #04080b;
    }
    nav.navbar {
        background-color: #04080b;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 5px 5%;
    }
    .nav-logo img {
        height: 60px;
    }
    ul.page-tabs {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    ul.page-tabs li {
        padding: 0;
        margin: 0 0 0 15px;
        position: relative;
    }
    ul.page-tabs li a:hover {
        color: #4081b3;
    }
    ul.page-tabs a.nav-active {
        color: #4081b3;
    }
    ul.page-tabs li a {
        display: block;
        color: #fff;
        margin: 0;
        padding: 0;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        text-align: center;
        transition: 0.1s all ease-out;
    }
    /* sub-pages */
    @keyframes slide {
        from {
            opacity: 0;
            transform: translate(-50%, 8px);
        }
        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }
    ul.page-tabs li>ul {
        width: max-content;
        z-index: 2;
        display: none;
        position: absolute;
        grid-template-columns: 1fr;
        gap: 2px;
        background: #0d1218;
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        list-style: none;
        margin: 0;
        padding: 8px;
        animation: slide 0.2s ease-out 0s normal;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        min-width: 260px;
    }
    ul.page-tabs li:hover>ul {
        display: grid;
        animation: slide 0.2s ease-out 0s normal;
    }
    ul.page-tabs li>ul>li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        margin: 0;
        padding: 0;
        min-width: 0;
        transition: 0.15s all ease-in-out;
        border-radius: 8px;
    }
    ul.page-tabs li>ul>li:hover {
        background-color: #4081b3;
    }
    ul.page-tabs li>ul>li>a {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        vertical-align: middle;
        color: #fff;
        padding: 12px 16px;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
        transition: 0.15s all ease-in-out;
        text-align: left;
        border-radius: 8px;
        white-space: nowrap;
    }
    ul.page-tabs li>ul>li>a:hover,
    ul.page-tabs li>ul>li:hover>a {
        color: #fff;
    }
    .call-info {
        position: relative;
        min-width: 190px;
    }
    .call-info a {
        display: block;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        text-decoration: none;
        margin: 0;
        line-height: 1;
        text-align: right;
    }
    .float-estimate {
        border-radius: 10px 10px 0 0;
        display: none;
        position: fixed;
        bottom: 0;
        right: 5%;
        z-index: 3;
        text-transform: uppercase;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        box-shadow:  0 0 0 0 rgba(64, 129, 179, 0.55), 0 -4px 18px rgba(0, 34, 68, 0.3);
        text-decoration: none;
        margin: 0;
        padding: 15px 20px;
        letter-spacing: 0.5px;
        transition: 0.2s all ease-out;
        overflow: hidden;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
    }
    .float-estimate:hover {
        background: #fff;
        color: #04080b;
        animation: none;
        box-shadow: 0 0 0 2px #4081b3, 0 -4px 18px rgba(64, 129, 179, 0.35);
    }
    .float-estimate::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    /* nav call-to-action */
    @keyframes nav-cta-shine {
        0% {
            left: -60%;
        }
        60% {
            left: 120%;
        }
        100% {
            left: 120%;
        }
    }
    @keyframes nav-cta-pulse {
        0%, 100% {
            box-shadow: 0 0 0 0 rgba(64, 129, 179, 0.55), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
        50% {
            box-shadow: 0 0 0 8px rgba(64, 129, 179, 0), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
    }
    .nav-cta {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 0 20px;
        padding: 9px 16px;
        border-radius: 100px;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
        transition: 0.2s transform ease-out, 0.2s background ease-out;
    }
    .nav-cta::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    .nav-cta i {
        font-size: 0.95em;
    }
    .nav-cta:hover {
        background: #fff;
        color: #04080b;
        transform: translateY(-1px);
        animation: none;
        box-shadow: 0 8px 20px rgba(255, 255, 255, 0.25);
    }
    @media (prefers-reduced-motion: reduce) {
        .nav-cta,
        .nav-cta::after,
        .float-estimate,
        .float-estimate::after {
            animation: none;
        }
    }
    .float-backtrack {
        border-radius: 10px 0 0 10px;
        display: none;
        position: fixed;
        cursor: pointer;
        bottom: 50%;
        right: 0%;
        z-index: 2;
        font-size: 20px;
        color: #fff;
        background: #4081b3;
        box-shadow: -1px -1px 10px rgba(0, 34, 68, 0.36);
        padding: 8px 10px;
        transition: 0.2s all ease-out;
    }
    .float-backtrack:hover {
        background: #04080b;
    }
}

@media(max-width: 769px) {
    .top-part {
        display: none;
        position: sticky;
        top: -45px;
        z-index: 5;
        width: 100%;
    }
    .top-banner {
        background-image: url('../../assets/line-pattern-overlay.png');
        background-size: cover;
        background-position: 50% 50%;
        background-color: #4081b3;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 10px 5%;
    }
    .top-banner p {
        font-size: 18px;
        font-weight: 700;
        font-style: italic;
        color: #fff;
    }
    .nav-social-media a {
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        display: inline-block;
        margin: 0 0 0 15px;
    }
    .nav-social-media a:hover {
        color: #04080b;
    }
    nav.navbar {
        background-color: #04080b;
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 5px 5%;
    }
    .nav-logo img {
        height: 80px;
    }
    ul.page-tabs {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        list-style: none;
        padding: 0;
        margin: 0;
    }
    ul.page-tabs li {
        padding: 0;
        margin: 0 0 0 30px;
        position: relative;
    }
    ul.page-tabs li a:hover {
        color: #4081b3;
    }
    ul.page-tabs a.nav-active {
        color: #4081b3;
    }
    ul.page-tabs li a {
        display: block;
        color: #fff;
        margin: 0;
        padding: 0;
        font-size: 17px;
        font-weight: 700;
        text-decoration: none;
        text-align: center;
        transition: 0.1s all ease-out;
    }
    /* sub-pages */
    @keyframes slide {
        from {
            opacity: 0;
            transform: translate(-50%, 8px);
        }
        to {
            opacity: 1;
            transform: translate(-50%, 0);
        }
    }
    ul.page-tabs li>ul {
        width: max-content;
        z-index: 2;
        display: none;
        position: absolute;
        grid-template-columns: 1fr;
        gap: 2px;
        background: #0d1218;
        box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45);
        top: 18px;
        left: 50%;
        transform: translateX(-50%);
        list-style: none;
        margin: 0;
        padding: 8px;
        animation: slide 0.2s ease-out 0s normal;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 14px;
        min-width: 260px;
    }
    ul.page-tabs li:hover>ul {
        display: grid;
        animation: slide 0.2s ease-out 0s normal;
    }
    ul.page-tabs li>ul>li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
        margin: 0;
        padding: 0;
        min-width: 0;
        transition: 0.15s all ease-in-out;
        border-radius: 8px;
    }
    ul.page-tabs li>ul>li:hover {
        background-color: #4081b3;
    }
    ul.page-tabs li>ul>li>a {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        vertical-align: middle;
        color: #fff;
        padding: 12px 16px;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none;
        transition: 0.15s all ease-in-out;
        text-align: left;
        border-radius: 8px;
        white-space: nowrap;
    }
    ul.page-tabs li>ul>li>a:hover,
    ul.page-tabs li>ul>li:hover>a {
        color: #fff;
    }
    .call-info {
        position: relative;
        min-width: 190px;
    }
    .call-info a {
        display: block;
        font-size: 20px;
        font-weight: 700;
        color: #fff;
        text-decoration: none;
        margin: 0;
        line-height: 1;
        text-align: right;
    }
    .float-estimate {
        border-radius: 10px 10px 0 0;
        display: none;
        position: fixed;
        bottom: 0;
        right: 5%;
        z-index: 3;
        text-transform: uppercase;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        box-shadow:  0 0 0 0 rgba(64, 129, 179, 0.55), 0 -4px 18px rgba(0, 34, 68, 0.3);
        text-decoration: none;
        margin: 0;
        padding: 15px 20px;
        letter-spacing: 0.5px;
        transition: 0.2s all ease-out;
        overflow: hidden;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
    }
    .float-estimate:hover {
        background: #fff;
        color: #04080b;
        animation: none;
        box-shadow: 0 0 0 2px #4081b3, 0 -4px 18px rgba(64, 129, 179, 0.35);
    }
    .float-estimate::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    /* nav call-to-action */
    @keyframes nav-cta-shine {
        0% {
            left: -60%;
        }
        60% {
            left: 120%;
        }
        100% {
            left: 120%;
        }
    }
    @keyframes nav-cta-pulse {
        0%, 100% {
            box-shadow: 0 0 0 0 rgba(64, 129, 179, 0.55), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
        50% {
            box-shadow: 0 0 0 8px rgba(64, 129, 179, 0), 0 6px 18px rgba(64, 129, 179, 0.35);
        }
    }
    .nav-cta {
        position: relative;
        overflow: hidden;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 0 20px;
        padding: 9px 16px;
        border-radius: 100px;
        background: linear-gradient(135deg, #4f92c7 0%, #4081b3 55%, #326a96 100%);
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        text-decoration: none;
        white-space: nowrap;
        animation: nav-cta-pulse 2.8s ease-in-out infinite;
        transition: 0.2s transform ease-out, 0.2s background ease-out;
    }
    .nav-cta::after {
        content: "";
        position: absolute;
        top: 0;
        left: -60%;
        width: 40%;
        height: 100%;
        background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.35) 50%, rgba(255, 255, 255, 0) 100%);
        transform: skewX(-20deg);
        animation: nav-cta-shine 4s ease-in-out infinite;
        pointer-events: none;
    }
    .nav-cta i {
        font-size: 0.95em;
    }
    .nav-cta:hover {
        background: #fff;
        color: #04080b;
        transform: translateY(-1px);
        animation: none;
        box-shadow: 0 8px 20px rgba(255, 255, 255, 0.25);
    }
    @media (prefers-reduced-motion: reduce) {
        .nav-cta,
        .nav-cta::after,
        .float-estimate,
        .float-estimate::after {
            animation: none;
        }
    }
    .float-backtrack {
        border-radius: 10px 0 0 10px;
        display: none;
        position: fixed;
        cursor: pointer;
        bottom: 50%;
        right: 0%;
        z-index: 2;
        font-size: 20px;
        color: #fff;
        background: #4081b3;
        box-shadow: -1px -1px 10px rgba(0, 34, 68, 0.36);
        padding: 8px 10px;
        transition: 0.2s all ease-out;
    }
    .float-backtrack:hover {
        background: #04080b;
    }
}