/* Estreno del logo nuevo. Solo transform/opacity. */
html[data-logo=d] .brand img{width:36px;height:36px;object-fit:contain}
#lanz{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,#3b1670 0%,#12081f 62%,#08050f 100%);opacity:0;transition:opacity .45s cubic-bezier(.23,1,.32,1);cursor:pointer;overflow:hidden;text-align:center;color:#fff}
#lanz.on{opacity:1}#lanz.out{opacity:0;pointer-events:none}
.lz-glow{position:absolute;left:50%;top:42%;width:120vmin;height:120vmin;margin:-60vmin 0 0 -60vmin;border-radius:50%;background:conic-gradient(from 0deg,rgba(139,92,246,.0),rgba(236,72,153,.28),rgba(139,92,246,0),rgba(245,158,11,.18),rgba(139,92,246,0));animation:lzspin 9s linear infinite;opacity:.9}
@keyframes lzspin{to{transform:rotate(360deg)}}
.lz-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px}
.lz-box img{position:relative;z-index:2;width:132px;height:132px;border-radius:50%;box-shadow:0 18px 60px rgba(236,72,153,.5);transform:scale(.2) rotate(-40deg);opacity:0}
#lanz.on .lz-box img{animation:lzlogo 1s .15s cubic-bezier(.2,1.2,.3,1) forwards,lzfloat 3s 1.2s ease-in-out infinite}
@keyframes lzlogo{to{transform:none;opacity:1}}
@keyframes lzfloat{50%{transform:translateY(-7px)}}
.lz-ring{position:absolute;left:50%;top:66px;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;border:2px solid rgba(236,72,153,.7);opacity:0}
#lanz.on .lz-ring{animation:lzring 1.8s .45s cubic-bezier(.2,.7,.3,1) infinite}
#lanz.on .lz-ring.r2{animation-delay:1.1s}
@keyframes lzring{0%{transform:scale(.8);opacity:.9}100%{transform:scale(3.2);opacity:0}}
.lz-conf{position:absolute;left:50%;top:66px;width:0;height:0;z-index:1}
.lz-conf i{position:absolute;left:-4px;top:-4px;width:8px;height:12px;border-radius:2px;background:var(--c);opacity:0}
#lanz.on .lz-conf i{animation:lzconf var(--t) var(--w) cubic-bezier(.1,.8,.3,1) .35s backwards,lzhold 0s 3s forwards}
@keyframes lzconf{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:1}100%{transform:rotate(var(--a)) translateY(calc(var(--d)*-1)) rotate(280deg) scale(1);opacity:0}}
.lz-k,.lz-s,.lz-box h2,.lz-b{opacity:0;transform:translateY(14px)}
.lz-k{margin:22px 0 0;font-size:12px;letter-spacing:.32em;font-weight:700;color:#f9a8d4}
.lz-box h2{margin:0;font-size:clamp(46px,13vw,84px);line-height:.95;font-weight:850;letter-spacing:-.03em;font-family:var(--display,inherit)}
.lz-box h2 span{display:block;font-size:.36em;font-weight:500;letter-spacing:.02em;color:#e9d5ff;margin-top:6px}
.lz-s{margin:6px 0 14px;font-size:15px;color:#e9d5ff}
.lz-b{all:unset;box-sizing:border-box;cursor:pointer;padding:13px 26px;border-radius:999px;background:linear-gradient(135deg,#8b5cf6,#ec4899);font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(236,72,153,.4);opacity:0;transform:translateY(14px);touch-action:manipulation}
.lz-b:focus-visible{outline:2px solid #fff;outline-offset:3px}
#lanz.on .lz-k{animation:lzup .6s .9s cubic-bezier(.23,1,.32,1) forwards}
#lanz.on .lz-box h2{animation:lzup .6s 1.05s cubic-bezier(.23,1,.32,1) forwards}
#lanz.on .lz-s{animation:lzup .6s 1.25s cubic-bezier(.23,1,.32,1) forwards}
#lanz.on .lz-b{animation:lzup .6s 1.5s cubic-bezier(.23,1,.32,1) forwards}
@keyframes lzup{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lz-glow,.lz-ring,.lz-conf{display:none}#lanz.on .lz-box img,#lanz.on .lz-k,#lanz.on .lz-box h2,#lanz.on .lz-s,#lanz.on .lz-b{animation:none;opacity:1;transform:none}}
