/* NABAT | CORE — EFEITOS */
/* =========================================================
   CAMADAS GLOBAIS / CURSOR
   ========================================================= */
.mouse-light { position: fixed; left: 0; top: 0; width: min(46vw,620px); height: min(46vw,620px); pointer-events: none; z-index: 1; opacity: .42; transform: translate3d(-50%,-50%,0); background: radial-gradient(circle, color-mix(in srgb,var(--blue) 18%,transparent), color-mix(in srgb,var(--gold) 8%,transparent) 28%, transparent 62%); filter: blur(18px); mix-blend-mode: screen; }
.cursor { position: fixed; width: 18px; height: 18px; border: 1px solid rgba(247,240,228,.72); border-radius: 50%; pointer-events: none; z-index: 190; transform: translate(-50%,-50%); transition: width .25s ease, height .25s ease, background .25s ease, border-color .25s ease; }
.cursor:after { content: ""; position: absolute; inset: 50%; width: 4px; height: 4px; background: var(--gold); border-radius: 50%; transform: translate(-50%,-50%); }
.cursor.is-hovering { width: 64px; height: 64px; background: color-mix(in srgb,var(--gold) 14%,transparent); border-color: color-mix(in srgb,var(--fg) 55%,transparent); }
.scroll-progress { position: fixed; left: 0; top: 0; height: 3px; width: 0; background: linear-gradient(90deg,var(--gold),var(--blue)); z-index: 170; }

/* =========================================================
   ANIMAÇÕES (REVEAL / WARP)
   ========================================================= */
.reveal { opacity: 0; transform: translateY(72px); filter: blur(16px); transition: opacity 1.05s ease, transform 1.25s var(--ease-premium), filter 1.15s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); filter: blur(0); }
.warp-border { transform-style: preserve-3d; }
.warp-border.is-warping { border-radius: var(--warp-radius,34px); }
