/* MS Impulso · fondos animados con capturas reales (muro, ola, anillo, profundidad) */
[data-sc]{position:relative;overflow:hidden;isolation:isolate}
.sc-shot{flex:none;border-radius:14px;overflow:hidden;border:1px solid rgba(224,242,254,.14);box-shadow:0 20px 40px -14px #000;background:#0a1220;aspect-ratio:440/751}
.sc-shot img{width:100%;height:100%;object-fit:cover;display:block}
.sc-layer{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.sc-off *{animation-play-state:paused!important}

/* ── muro ── */
.sc-wall{position:absolute;inset:-25% -35%;display:flex;justify-content:center;gap:clamp(10px,2vw,22px);transform:perspective(1600px) rotateX(24deg) rotateZ(-14deg) scale(1.25);transform-origin:center center}
.sc-col{width:clamp(120px,26vw,230px);flex:none;align-self:flex-start;display:flex;flex-direction:column;gap:clamp(10px,2vw,22px);animation:sc-up var(--d) linear infinite;will-change:transform}
.sc-col.rev{animation-direction:reverse}
@keyframes sc-up{to{transform:translateY(-50%)}}

/* ── ola ── */
.sc-plane{position:absolute;left:50%;top:50%;display:grid;gap:clamp(10px,1.8vw,20px);transform-style:preserve-3d;transform:translate(-50%,-50%) perspective(1500px) rotateX(52deg) rotateZ(-30deg) scale(1.35)}
.sc-plane .sc-shot{width:clamp(96px,24vw,190px);animation:sc-wave 4.6s ease-in-out infinite;animation-delay:calc((var(--r) + var(--c)) * -.38s);transform-style:preserve-3d}
@keyframes sc-wave{0%,100%{transform:translateZ(0);filter:brightness(.78)}50%{transform:translateZ(90px);filter:brightness(1.2)}}

/* ── anillo (banda delgada) ── */
.sc-ringband{--pw:84px;--R:330px;height:clamp(176px,24vw,250px);perspective:900px;perspective-origin:50% 45%;background:linear-gradient(180deg,var(--night,#04080f),#071428 50%,var(--night,#04080f));border-top:1px solid rgba(34,211,238,.14);border-bottom:1px solid rgba(34,211,238,.14);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.sc-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(-6deg);animation:sc-spin 80s linear infinite}
@keyframes sc-spin{to{transform:rotateX(-6deg) rotateY(360deg)}}
.sc-rp{position:absolute;width:var(--pw);aspect-ratio:440/751;left:calc(var(--pw)/-2);top:calc(var(--pw)*-.85);transform:rotateY(calc(var(--k)*18deg)) translateZ(calc(var(--R)*-1));backface-visibility:hidden;border-radius:12px;overflow:hidden;border:1px solid rgba(224,242,254,.2);background:#0a1220;box-shadow:0 0 40px -12px rgba(34,211,238,.4)}
.sc-rp img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){.sc-ringband{--pw:104px;--R:430px}}

/* ── profundidad ── */
.sc-float{position:absolute;will-change:transform;transition:transform .25s ease-out}
.sc-float .sc-shot{width:var(--w);animation:sc-bob var(--t) ease-in-out infinite;animation-delay:var(--dl)}
@keyframes sc-bob{50%{transform:translateY(-16px) rotate(1.5deg)}}

@media(prefers-reduced-motion:reduce){.sc-col,.sc-plane .sc-shot,.sc-ring,.sc-float .sc-shot{animation:none!important}}

/* ── cinta (anillo en celular) ── */
.sc-belt{position:absolute;left:0;top:50%;display:flex;gap:14px;width:max-content;margin-top:-84px;animation:sc-belt 70s linear infinite;will-change:transform}
@keyframes sc-belt{to{transform:translateX(-50%)}}
.sc-bp{flex:none;width:98px;aspect-ratio:440/751;border-radius:12px;overflow:hidden;border:1px solid rgba(224,242,254,.22);background:#0a1220;box-shadow:0 0 36px -10px rgba(34,211,238,.45);animation:sc-bpb 5s ease-in-out infinite;animation-delay:calc(var(--k) * -.55s)}
.sc-bp img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes sc-bpb{0%,100%{transform:translateY(10px) scale(.94);filter:brightness(.75)}50%{transform:translateY(-10px) scale(1.04);filter:brightness(1.1)}}
@media(max-width:899px){.sc-ringband{height:210px}}
/* ── fondo liviano (flotantes pocos y tenues) ── */
[data-lite] .sc-layer{opacity:.42}
[data-lite] .sc-float .sc-shot{box-shadow:0 14px 28px -14px #000}
@media(prefers-reduced-motion:reduce){.sc-belt,.sc-bp{animation:none!important}}
