body{position:relative;isolation:isolate;background-image:none!important}
/* Actual ember field and drifting smoke. No sweep, flashing filter or animated background opacity. */
.rip-scene{position:fixed;inset:0;height:100vh;min-height:830px;z-index:-3;pointer-events:none;background-size:cover;background-position:center top;background-repeat:no-repeat}
.rip-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.9)0%,rgba(8,10,13,.72)32%,rgba(8,10,13,.15)73%,rgba(8,10,13,.12)),linear-gradient(0deg,#0b0c0e 1%,rgba(11,12,14,.15)55%,rgba(11,12,14,.25))}
#rip-embers{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
#rip-embers[hidden]{display:none}
.rip-smoke{display:none;position:fixed;left:-15%;bottom:-12%;width:130%;height:65%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 20% 90%,rgba(150,126,107,.11),transparent 44%),radial-gradient(ellipse at 70% 70%,rgba(167,140,117,.08),transparent 42%);transform:translate3d(-3%,0,0)}
.rip-effects-on .rip-smoke{display:block;animation:rip-smoke-drift 38s ease-in-out infinite alternate}
.rip-effects-paused .rip-smoke{animation-play-state:paused}
@keyframes rip-smoke-drift{from{transform:translate3d(-3%,4%,0)}to{transform:translate3d(4%,-9%,0)}}
@media(max-width:767px){.rip-scene{height:100vh;min-height:830px;background-position:62% top}.rip-scene::after{background:linear-gradient(90deg,rgba(8,10,13,.81),rgba(8,10,13,.5)),linear-gradient(0deg,#0b0c0e 1%,transparent 75%)}.rip-smoke{height:50%}}
@media(prefers-reduced-motion:reduce){.rip-smoke{display:none!important;animation:none!important}}
