/* ===== SMOKE EFFECT ===== */
.smoke-effect{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;opacity:0;transition:opacity .8s}
.scroll-section.visible .smoke-effect{opacity:1}
.smoke-layer{position:absolute;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);animation:smoke 20s infinite linear}
.smoke-layer:nth-child(1){top:-50%;left:-50%}
.smoke-layer:nth-child(2){top:-30%;left:-30%;animation-delay:-5s;animation-duration:25s}
.smoke-layer:nth-child(3){top:-70%;left:-70%;animation-delay:-10s;animation-duration:30s}
@keyframes smoke{0%{transform:translate(0,0) rotate(0) scale(1);opacity:0}25%{opacity:.5}50%{transform:translate(30%,30%) rotate(180deg) scale(1.5);opacity:.3}75%{opacity:.5}100%{transform:translate(60%,60%) rotate(360deg) scale(1);opacity:0}}
.particle{position:absolute;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:50%;filter:blur(40px);animation:pfloat 15s infinite ease-in-out}
.particle:nth-child(4){top:10%;left:20%}
.particle:nth-child(5){top:60%;left:70%;animation-delay:-3s;animation-duration:18s}
.particle:nth-child(6){top:40%;left:40%;animation-delay:-6s;animation-duration:20s}
.particle:nth-child(7){top:80%;left:10%;animation-delay:-9s;animation-duration:22s}
@keyframes pfloat{0%,100%{transform:translate(0,0) scale(1);opacity:0}25%{transform:translate(50px,-30px) scale(1.3);opacity:.6}50%{transform:translate(100px,20px) scale(.8);opacity:.4}75%{transform:translate(50px,50px) scale(1.2);opacity:.6}}
