/* Extra interaction styles */
.scroll-progress{position:fixed;top:0;right:0;left:0;height:3px;z-index:1000;background:linear-gradient(90deg,var(--gold),var(--navy2));transform:scaleX(0);transform-origin:right;pointer-events:none}
.to-top{position:fixed;bottom:28px;right:28px;z-index:999;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:var(--navy);color:#fff;font-size:20px;box-shadow:var(--s2);opacity:0;visibility:hidden;transform:translateY(16px);transition:all .3s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--gold);color:var(--night)}
.nav-ul a.active{color:var(--navy2)}
.nav-ul a.active::after{width:100%}
.sc,.fc,.tc{will-change:transform}
.btn,.nav-cta{position:relative;overflow:hidden}
.ripple{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:rgba(255,255,255,.55);pointer-events:none;animation:ripple .65s ease-out forwards}
@keyframes ripple{to{transform:scale(22);opacity:0}}
.wa{animation:wa-pulse 2.4s ease-in-out infinite}
@keyframes wa-pulse{0%,100%{box-shadow:0 8px 28px rgba(37,211,102,.4),0 0 0 0 rgba(37,211,102,.45)}50%{box-shadow:0 8px 28px rgba(37,211,102,.4),0 0 0 14px rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.wa,.ripple{animation:none}.r{transition:none}}
