/* Efeitos do site — aparecer ao rolar, vídeo no fundo do topo, luz que segue
   o mouse e botão elástico. O comportamento fica em efeitos.js. */

/* ── Aparecer ao rolar ────────────────────────────────────────────── */
.fx-surgir{opacity:0;translate:0 28px;transition:opacity 1s cubic-bezier(.2,.7,.2,1) var(--fx-atraso,0ms),translate 1s cubic-bezier(.2,.7,.2,1) var(--fx-atraso,0ms),filter 1.1s ease var(--fx-atraso,0ms)}
h1.fx-surgir,h2.fx-surgir{filter:blur(10px)}
.fx-surgir.fx-visivel{opacity:1;translate:none;filter:none}

/* ── Vídeo no fundo do topo ───────────────────────────────────────── */
.fx-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;pointer-events:none}
.fx-video--pronto{opacity:.7}

/* ── Luz que segue o mouse ────────────────────────────────────────── */
.fx-luz{position:relative;overflow:hidden;isolation:isolate}
.fx-luz::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(260px circle at var(--x,50%) var(--y,50%),var(--luz,rgba(255,227,191,.28)),transparent 70%)}
.fx-luz:hover::before{opacity:1}

/* ── Botão elástico ───────────────────────────────────────────────── */
.fx-elastico{will-change:transform}
