/* Cursor: anel segmentado que gira devagar + ponto. Só em mouse/trackpad. */
@media(hover:hover) and (pointer:fine){
  html.has-cursor,html.has-cursor *{cursor:none!important}
}
@media(hover:none),(pointer:coarse){.cur,.cur-dot{display:none}}

.cur,.cur-dot{position:fixed;top:0;left:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .3s;
  --stroke:var(--bordo);--fill:var(--cream);--ink:var(--bordo);will-change:transform}
.cur.is-on,.cur-dot.is-on{opacity:1}
.cur[data-theme=dark],.cur-dot[data-theme=dark]{--stroke:var(--paper);--fill:var(--bordo-d);--ink:var(--paper)}

.cur__ring{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  transition:transform .45s var(--ease),background-color .3s}
.cur__ring svg{position:absolute;inset:0;animation:cur-spin 14s linear infinite}
.cur__ring circle{fill:none;stroke:var(--stroke);stroke-width:1.25;stroke-dasharray:26 8.5}
.cur__lbl{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;
  font:500 .62rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .25s}

.cur.is-link .cur__ring{transform:scale(1.5)}
.cur.is-cta .cur__ring{transform:scale(2.2);background:var(--fill)}
.cur.is-cta .cur__lbl{opacity:1}
.cur.is-down .cur__ring{transform:scale(.8)}

.cur-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--stroke)}
.cur-dot.is-on.is-hide{opacity:0}

@keyframes cur-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cur__ring svg{animation:none}.cur__ring{transition:none}}
