.mobile-back-to-top {
    display: none;
}

@media (max-width: 700px) {
    .mobile-back-to-top {
        position: fixed;
        z-index: 80;
        right: 14px;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px) + var(--mobile-back-to-top-lift, 0px));
        display: grid;
        width: 48px;
        height: 48px;
        place-items: center;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, .28);
        border-radius: 50%;
        background: var(--brand-navy, #1d2a33);
        box-shadow: 0 5px 16px rgba(18, 31, 40, .28);
        color: #fff;
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transform: translateY(10px);
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        visibility: hidden;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-back-to-top[hidden] {
        display: none;
    }

    .mobile-back-to-top.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        visibility: visible;
    }

    .mobile-back-to-top svg {
        width: 25px;
        height: 25px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 2.5;
    }

    .mobile-back-to-top:active {
        background: #101d26;
        transform: translateY(1px);
    }

    .mobile-back-to-top:focus-visible {
        outline: 3px solid #fff;
        outline-offset: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-back-to-top {
        transition: none;
    }
}
