.page_scrollspy{position:fixed;top:0;left:0;z-index:990;width:100%;background:rgba(255,255,255,.98);border-bottom:1px solid #e8e8e8;box-shadow:0 4px 16px rgba(0,0,0,.08);opacity:0;visibility:hidden;transform:translateY(-110%);transition:opacity .25s ease,visibility .25s ease,transform .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.page_scrollspy.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.page_scrollspy_inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;min-height:clamp(60px,4.5vw,72px);margin:0 auto;padding:0 var(--container-padding);gap:clamp(20px,6vw,4rem)}
.page_scrollspy_logo{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:clamp(150px,16vw,240px);max-width:240px}
.page_scrollspy_logo img{display:block;width:100%;max-width:240px;height:auto}
.page_scrollspy_nav{display:flex;align-items:center;justify-content:flex-start;align-self:stretch;flex:1;min-width:0;gap:clamp(16px,2vw,32px);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.page_scrollspy_nav::-webkit-scrollbar{display:none}
.page_scrollspy_link{position:relative;display:flex;align-items:center;align-self:stretch;padding:0 clamp(1px,.15vw,2px);color:#555;font-family:var(--font-heading);font-size:clamp(11px,1vw,14px);font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;transition:color var(--transition-fast)}
.page_scrollspy_link::after{position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg, #3B65FA 0%, #9C3AFF 55%, #DE2178 100%);border-radius:3px 3px 0 0;content:"";transform:scaleX(0);transform-origin:center;transition:transform var(--transition-normal)}
.page_scrollspy_link:hover{color:var(--color-red)}
.page_scrollspy_link.active{color:transparent;background:linear-gradient(90deg, #3B65FA 0%, #9C3AFF 55%, #DE2178 100%);-webkit-background-clip:text;background-clip:text;font-weight:700}
.page_scrollspy_link.active::after{transform:scaleX(1)}
.page_scrollspy_download{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:clamp(140px,11vw,180px);font-size:clamp(12px,1vw,15px);white-space:nowrap;text-decoration:none!important; padding:clamp(8px, 1vw,15px) clamp(12px, 2.5vw, 20px)}
.page_scrollspy_download:hover{text-decoration:none!important}
[id]{scroll-margin-top: calc(var(--header-height) - 45px);}
.page_scrollspy_download.hide_download_btn {
    display: none !important;
}
.back_to_top {
    position: fixed;
    bottom: 26px;
    right: 26px;
    z-index: 995;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(24,22,23,.14);
    border-radius: 50%;
    background: #ffffff;
    color: #181617;
    box-shadow: 0 4px 14px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(16px);
    transition: opacity .25s ease,visibility .25s ease,transform .25s cubic-bezier(.4,0,.2,1),background .2s ease,color .2s ease,box-shadow .2s ease,border-color .2s ease;
    cursor: pointer
}

.back_to_top:hover {
    background: var(--gradient-brand,linear-gradient(147deg,#f53843 10%,#2f5795 68%));
    color: #ffffff;
    border-color: transparent;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(225,31,38,.32)
}

.back_to_top:active {
    transform: translateY(0) scale(.95)
}

.back_to_top:focus-visible {
    outline: 2px solid #e11f26;
    outline-offset: 3px
}

.back_to_top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-bottom: 75px;
    transform: translateY(0)
}

.back_to_top svg {
    display: block;
    width: 20px;
    height: 20px;
    transition: transform .2s ease
}

.back_to_top:hover svg {
    transform: translateY(-2px)
}
@media screen and (max-width:991px){
.page_scrollspy{display:none!important}
}
@media screen and (min-width:1440px){
.page_scrollspy_inner{max-width:1440px}
}
@media screen and (max-width: 767px) {
    .back_to_top {
        bottom:20px;
        right: 16px;
        width: 40px;
        height: 40px
    }

    .back_to_top svg {
        width: 18px;
        height: 18px
    }
}

@media (prefers-reduced-motion:reduce) {
    .back_to_top,.back_to_top svg {
        transition: none
    }
}
