/* Floating back-to-top anchor — hidden on hero, fades in elsewhere.
   .is-visible class toggled by initScrollSpy in landing.js. */
.bp-back-to-top {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 50;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity 250ms ease, transform 250ms ease, filter 200ms ease;
}
.bp-back-to-top.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.bp-back-to-top img {
    width: 56px;
    height: 56px;
    display: block;
    filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}
.bp-back-to-top:hover { transform: translateY(-2px); }
.bp-back-to-top:hover img { filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.5)); }
.bp-back-to-top:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 4px;
    border-radius: 50%;
}

@media (max-width: 767px) {
    .bp-back-to-top { right: 1rem; bottom: 1rem; }
    .bp-back-to-top img { width: 48px; height: 48px; }
}
