.landing-back-to-top {
    position: fixed;
    right: max(var(--spacing-xl, 16px), env(safe-area-inset-right, 0px));
    bottom: max(var(--spacing-xl, 16px), env(safe-area-inset-bottom, 0px));
    z-index: 1200;
    display: grid;
    place-items: center;
    inline-size: var(--control-height-mobile, 42px);
    block-size: var(--control-height-mobile, 42px);
    padding: 0;
    border: 0;
    border-radius: var(--radius-full, 9999px);
    color: var(--color-text-primary, #eeeeee);
    background: var(--landing-control-glass-bg, color-mix(in srgb, var(--color-text-primary, #eeeeee) 6%, transparent));
    box-shadow: var(--landing-control-glass-edge, inset 0 1px 0 color-mix(in srgb, var(--color-text-primary, #eeeeee) 8%, transparent));
    -webkit-backdrop-filter: var(--landing-control-glass-blur, blur(16px) saturate(1.08));
    backdrop-filter: var(--landing-control-glass-blur, blur(16px) saturate(1.08));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.5rem) scale(0.94);
    transition:
        opacity var(--transition-base, 0.2s),
        visibility var(--transition-base, 0.2s),
        transform var(--transition-base, 0.2s),
        border-color var(--transition-base, 0.2s),
        background-color var(--transition-base, 0.2s);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

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

.landing-back-to-top svg {
    inline-size: 1rem;
    block-size: 1rem;
}

@media (hover: hover) and (pointer: fine) {
    .landing-back-to-top.is-visible:hover {
        background: var(--landing-control-glass-bg-hover, color-mix(in srgb, var(--color-text-primary, #eeeeee) 10%, transparent));
        transform: translateY(-0.15rem) scale(1);
    }
}

.landing-back-to-top:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--color-text-primary, #eeeeee) 56%, transparent);
    outline-offset: 3px;
}

body.landing-mobile-nav-open .landing-back-to-top {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 560px) {
    .landing-back-to-top {
        right: max(var(--spacing-md, 12px), env(safe-area-inset-right, 0px));
        bottom: max(var(--spacing-md, 12px), env(safe-area-inset-bottom, 0px));
    }
}

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