/* GRE Motion System — capa de movimiento compartida (aditiva, no invasiva) */
html{scroll-behavior:smooth}
.gre-prog{position:fixed;top:0;left:0;height:2px;width:0;z-index:100;background:linear-gradient(90deg,#0064B1,#5fe0ff);box-shadow:0 0 12px rgba(0,165,223,.7);pointer-events:none}
.gre-grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.gre-cursor{position:fixed;top:0;left:0;width:11px;height:11px;border-radius:50%;background:#5fe0ff;mix-blend-mode:screen;pointer-events:none;z-index:99;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,opacity .3s;opacity:0}
.gre-cursor.lg{width:48px;height:48px;background:rgba(0,165,223,.3)}
@media (hover:hover) and (pointer:fine){.gre-cursor{opacity:.9}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gre-cursor{display:none}}
