.ockham-scroll-to-top {
    --ockham-stt-offset: 82px;
    --ockham-stt-bottom: 72px;
    --ockham-stt-line-height: 80px;
    --ockham-stt-line-width: 1px;
    --ockham-stt-gap: 11px;
    --ockham-stt-font-size: 12px;
    --ockham-stt-font-weight: 700;
    --ockham-stt-letter-spacing: 0px;
    --ockham-stt-font-family: Arial, Helvetica, sans-serif;
    --ockham-stt-text-color: #111111;
    --ockham-stt-line-color: #111111;
    --ockham-stt-hover-color: #000000;
    --ockham-stt-adaptive-color: #ffffff;
    --ockham-stt-safe-min-offset: 28px;
    --ockham-stt-effective-offset: var(--ockham-stt-offset);
    --ockham-stt-z: 9999;

    all: unset !important;
    box-sizing: border-box !important;
    position: fixed !important;
    top: auto !important;
    bottom: var(--ockham-stt-bottom) !important;
    z-index: var(--ockham-stt-z) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    cursor: pointer !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(12px) !important;
    transition: opacity .28s ease, visibility .28s ease, transform .28s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.ockham-scroll-to-top::before,
.ockham-scroll-to-top::after {
    content: none !important;
    display: none !important;
}

.ockham-scroll-to-top.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.ockham-scroll-to-top--left {
    left: var(--ockham-stt-effective-offset) !important;
    right: auto !important;
}

.ockham-scroll-to-top--right {
    right: var(--ockham-stt-effective-offset) !important;
    left: auto !important;
}

.ockham-scroll-to-top__line {
    display: block !important;
    flex: 0 0 auto !important;
    width: var(--ockham-stt-line-width) !important;
    height: var(--ockham-stt-line-height) !important;
    margin: 0 0 var(--ockham-stt-gap) 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--ockham-stt-line-color) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .22s ease, transform .22s ease !important;
}

.ockham-scroll-to-top__label {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--ockham-stt-text-color) !important;
    font-family: var(--ockham-stt-font-family) !important;
    font-size: var(--ockham-stt-font-size) !important;
    font-style: normal !important;
    font-weight: var(--ockham-stt-font-weight) !important;
    line-height: 1 !important;
    letter-spacing: var(--ockham-stt-letter-spacing) !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
    transform-origin: center center !important;
    transition: color .22s ease !important;
}

.ockham-scroll-to-top:hover,
.ockham-scroll-to-top:focus,
.ockham-scroll-to-top:focus-visible,
.ockham-scroll-to-top:active {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
}

.ockham-scroll-to-top:hover .ockham-scroll-to-top__line,
.ockham-scroll-to-top:focus-visible .ockham-scroll-to-top__line {
    background: var(--ockham-stt-hover-color) !important;
    transform: scaleY(1.08) !important;
    transform-origin: center bottom !important;
}

.ockham-scroll-to-top:hover .ockham-scroll-to-top__label,
.ockham-scroll-to-top:focus-visible .ockham-scroll-to-top__label {
    color: var(--ockham-stt-hover-color) !important;
}



.ockham-scroll-to-top--overlap-protection {
    --ockham-stt-effective-offset: clamp(
        var(--ockham-stt-safe-min-offset),
        5vw,
        var(--ockham-stt-offset)
    );
}

.ockham-scroll-to-top--adaptive {
    mix-blend-mode: difference !important;
    isolation: auto !important;
}

.ockham-scroll-to-top--adaptive .ockham-scroll-to-top__line {
    background: var(--ockham-stt-adaptive-color) !important;
}

.ockham-scroll-to-top--adaptive .ockham-scroll-to-top__label {
    color: var(--ockham-stt-adaptive-color) !important;
}

.ockham-scroll-to-top--adaptive:hover .ockham-scroll-to-top__line,
.ockham-scroll-to-top--adaptive:focus-visible .ockham-scroll-to-top__line {
    background: var(--ockham-stt-adaptive-color) !important;
}

.ockham-scroll-to-top--adaptive:hover .ockham-scroll-to-top__label,
.ockham-scroll-to-top--adaptive:focus-visible .ockham-scroll-to-top__label {
    color: var(--ockham-stt-adaptive-color) !important;
}

@media (min-width: 1025px) {
    .ockham-scroll-to-top--hide-desktop { display: none !important; }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .ockham-scroll-to-top--hide-tablet { display: none !important; }
}

@media (max-width: 767px) {
    .ockham-scroll-to-top--hide-mobile { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .ockham-scroll-to-top,
    .ockham-scroll-to-top__line,
    .ockham-scroll-to-top__label {
        transition: none !important;
    }
}
