/* HYPNOTIZE - capa de movimiento. Respeta prefers-reduced-motion. */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1);}
.reveal.reveal-in{opacity:1;transform:none;}

@keyframes hz-drift{0%,100%{transform:rotate(-1.2deg) scale(1);}50%{transform:rotate(1.2deg) scale(1.04);}}
.wm-drift{animation:hz-drift 14s ease-in-out infinite;will-change:transform;}

@keyframes hz-pulse{0%,100%{transform:scale(1);opacity:.08;}50%{transform:scale(1.045);opacity:.14;}}
.wm-pulse{animation:hz-pulse 6s ease-in-out infinite;will-change:transform,opacity;}

@keyframes hz-rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.hero-rise{animation:hz-rise 1.1s cubic-bezier(.22,1,.36,1) both;}
.hero-rise-d{animation:hz-rise 1.1s cubic-bezier(.22,1,.36,1) .35s both;}

@keyframes hz-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-track{display:flex;white-space:nowrap;width:max-content;animation:hz-marquee 22s linear infinite;will-change:transform;}

@keyframes hz-blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
.blink{animation:hz-blink 1.1s steps(1) infinite;}

a[class*="font-headline-lg"],a[class*="font-label-caps"]{transition:all .25s ease;}
a[class*="font-headline-lg"]:hover{letter-spacing:.06em;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none!important;}
  .wm-drift,.wm-pulse,.marquee-track,.hero-rise,.hero-rise-d,.blink{animation:none!important;}
  .marquee-track{white-space:normal;width:auto;flex-wrap:wrap;}
}
