/* Base de motion compartida. Sin JS o con reduced-motion todo queda visible. */
.sw{display:inline-block;overflow:hidden;vertical-align:top;padding:.2em .14em .26em .08em;margin:-.2em -.14em -.26em -.08em}.sw.done{overflow:visible}.si{display:inline-block;will-change:transform}
.veil{position:fixed;inset:0;z-index:9998;background:var(--veil,#0d0c0a);pointer-events:none;transform:scaleY(0)}
.js .veil{transform:scaleY(1)}
.cursor{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;mix-blend-mode:difference}
.cursor span{display:grid;place-items:center;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;color:#000;font:600 11px/1 system-ui;transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1);overflow:hidden}
.cursor.hov span{width:64px;height:64px;margin:-32px 0 0 -32px}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
[data-tilt]{transform-style:preserve-3d;will-change:transform}
[data-ba]{touch-action:pan-y}
@media (prefers-reduced-motion:reduce){.veil,.cursor{display:none!important}}
.grain{position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grn 1s steps(4) infinite}
@keyframes grn{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-5%)}75%{transform:translate(-2%,-2%)}}
.xwm{overflow:hidden;line-height:1;white-space:nowrap;text-align:center;padding:4vw 0 1vw}.xwm span{display:inline-block}
.badge{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9991;display:flex;align-items:center;gap:10px;background:rgba(13,12,11,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#efe9e1;font:500 11px/1 ui-monospace,"Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px 10px 12px;border-radius:99px;border:1px solid rgba(239,233,225,.16);text-decoration:none;white-space:nowrap;transition:background .4s}
.badge span{opacity:.6}.badge b{font-weight:600}.badge i{font-style:normal;color:#ff5b14}.badge:hover{background:#ff5b14;color:#0d0c0b}.badge:hover i{color:inherit}
@media(max-width:700px){.badge{position:static;transform:none;justify-content:center;border-radius:0;padding:16px;border:0;border-top:1px solid rgba(239,233,225,.16);background:#0d0c0b}}
@media (prefers-reduced-motion:reduce){.grain{animation:none}}
