 #sann-back-to-top {
   --scroll-progress: 0%;
   position: fixed;
   z-index: 999;
   right: clamp(16px, 2vw, 30px);
   bottom: clamp(18px, 2vw, 30px);
   display: grid;
   place-items: center;
   width: 50px;
   height: 50px;
   padding: 0;
   border: 0;
   border-radius: 50%;
   background: conic-gradient(#861a37 var(--scroll-progress), color-mix(in srgb, #151515 14%, transparent) 0);
   color: #151515;
   cursor: pointer;
   opacity: 0;
   visibility: hidden;
   transform: translateY(10px) scale(.92);
   pointer-events: none;
   box-shadow:0 3px 12px #00000012;
   transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
 }

 #sann-back-to-top::before {
   content: '';
   position: absolute;
   inset: 4px;
   border: 1px solid color-mix(in srgb, #151515 8%, transparent);
   border-radius: inherit;
   background: #fff;
 }

 #sann-back-to-top img {
   position: relative;
   z-index: 1;
   width:27px;height:27px;
   line-height: 1;
 }

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

 #sann-back-to-top:hover {
   color: #861a37;
   transform: translateY(-3px) scale(1.03);
 }

 #sann-back-to-top:focus-visible {
   outline: 3px solid color-mix(in srgb, #861a37 28%, transparent);
   outline-offset: 3px;
 }

 @media (max-width: 575.98px) {
   #sann-back-to-top {
     width: 44px;
     height: 44px;
   }

   #sann-back-to-top img { width:24px;height:24px; }
 }

 
#sann-back-to-top{bottom:calc(clamp(18px,2vw,30px) + env(safe-area-inset-bottom,0px));right:calc(clamp(16px,2vw,30px) + env(safe-area-inset-right,0px))}
@media(prefers-reduced-motion:reduce){#sann-back-to-top{transition:none}}
