/* Scroll progress indicator */
.scroll-progress{position:fixed;right:clamp(16px,2.5vw,36px);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:0}
.scroll-progress__fill{position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;background:rgba(255,255,255,.45);height:0;transition:height .35s cubic-bezier(.22,.61,.36,1);pointer-events:none}
.scroll-progress__dot{position:relative;width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;cursor:pointer;padding:0;margin:14px 0;transition:background .3s,border-color .3s,transform .3s;z-index:1}
.scroll-progress__dot:hover{border-color:rgba(255,255,255,.8);transform:scale(1.3)}
.scroll-progress__dot.is-active{background:#fff;border-color:#fff;transform:scale(1.25)}
/* Light-background panels: invert dots via JS-toggled class */
.scroll-progress.is-light .scroll-progress__dot{border-color:rgba(23,23,21,.25)}
.scroll-progress.is-light .scroll-progress__dot:hover{border-color:rgba(23,23,21,.5)}
.scroll-progress.is-light .scroll-progress__dot.is-active{background:#171715;border-color:#171715}
.scroll-progress.is-light .scroll-progress__fill{background:rgba(23,23,21,.25)}
@media(max-width:700px){.scroll-progress{right:10px}.scroll-progress__dot{width:8px;height:8px;margin:10px 0}}
