body.zp-custom-landing::before,body.zp-custom-landing::after{display:none!important}
body.zp-custom-landing[data-landing-background=solid]{background:var(--landing-color)!important}
body.zp-custom-landing[data-landing-background=image]{background-color:var(--landing-color)!important;background-image:var(--landing-image,none)!important;background-size:cover!important;background-position:center top!important;background-attachment:fixed!important}
.zp-landing-effects{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.zp-landing-effects[hidden]{display:none}.zp-custom-landing>main{position:relative;z-index:1}.zp-landing-effects i{display:none}
.zp-landing-effects{opacity:var(--landing-effect-opacity,.4)}
[data-landing-animation=astra]>.zp-landing-effects i{display:block;position:absolute;width:5px;height:5px;border-radius:50%;background:var(--landing-accent);opacity:.28;box-shadow:0 0 16px var(--landing-accent);animation:zpParticleFloat var(--duration) ease-in-out var(--delay) infinite alternate}
[data-landing-animation=grid]>.zp-landing-effects::before{content:"";position:absolute;inset:-64px;background-image:linear-gradient(color-mix(in srgb,var(--landing-accent) 15%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--landing-accent) 15%,transparent) 1px,transparent 1px);background-size:48px 48px;animation:zpGridShift 18s linear infinite}
@keyframes zpParticleFloat{from{transform:translate3d(-12px,18px,0);opacity:.14}to{transform:translate3d(32px,-42px,0);opacity:.5}}
@keyframes zpGridShift{to{transform:translate3d(48px,48px,0)}}
[data-landing-animation=astra]>.zp-landing-effects i{animation-duration:calc(var(--duration) * var(--landing-speed,1));opacity:.7}
[data-landing-animation=grid]>.zp-landing-effects::before{animation-duration:calc(18s * var(--landing-speed,1))}
[data-landing-animation=aurora]>.zp-landing-effects::before,[data-landing-animation=aurora]>.zp-landing-effects::after{content:"";position:absolute;inset:-30%;background:conic-gradient(from 40deg at 50% 50%,transparent,var(--landing-accent),transparent 40%,#22d3ee,transparent 70%);filter:blur(50px);animation:zpAuroraFlow calc(30s * var(--landing-speed,1)) ease-in-out infinite alternate}
[data-landing-animation=aurora]>.zp-landing-effects::after{animation-direction:alternate-reverse;transform:rotate(120deg);opacity:.6}
[data-landing-animation=orbs]>.zp-landing-effects i:nth-child(-n+6){display:block;position:absolute;width:clamp(80px,18vw,260px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--landing-accent) 35%,white),var(--landing-accent) 50%,transparent 72%);filter:blur(8px);animation:zpOrbFloat calc(var(--duration) * var(--landing-speed,1)) ease-in-out var(--delay) infinite alternate}
[data-landing-animation=waves]>.zp-landing-effects::before,[data-landing-animation=waves]>.zp-landing-effects::after{content:"";position:absolute;left:-25%;bottom:-72%;width:150%;height:110%;border-radius:44%;background:linear-gradient(45deg,var(--landing-accent),transparent);animation:zpWaveRoll calc(28s * var(--landing-speed,1)) linear infinite}
[data-landing-animation=waves]>.zp-landing-effects::after{bottom:-65%;border-radius:40%;opacity:.55;animation-direction:reverse;animation-duration:calc(36s * var(--landing-speed,1))}
[data-landing-animation=stars]>.zp-landing-effects i{display:block;position:absolute;width:3px;height:3px;border-radius:50%;background:var(--landing-accent);box-shadow:0 0 8px 2px var(--landing-accent);animation:zpStarTwinkle calc(6s * var(--landing-speed,1)) ease-in-out var(--delay) infinite alternate}
[data-landing-animation=stars]>.zp-landing-effects i:nth-child(3n){width:5px;height:5px}
[data-landing-animation=mesh]>.zp-landing-effects::before{content:"";position:absolute;inset:-25%;background:radial-gradient(ellipse at 20% 25%,var(--landing-accent),transparent 55%),radial-gradient(ellipse at 80% 30%,#a78bfa,transparent 50%),radial-gradient(ellipse at 40% 80%,#2dd4bf,transparent 55%);filter:blur(35px);animation:zpMeshDrift calc(24s * var(--landing-speed,1)) ease-in-out infinite alternate}
@keyframes zpAuroraFlow{from{transform:translate3d(-6%,-4%,0) rotate(-12deg) scale(.9)}to{transform:translate3d(8%,5%,0) rotate(25deg) scale(1.1)}}
@keyframes zpOrbFloat{from{transform:translate3d(-30px,20px,0) scale(.8)}to{transform:translate3d(45px,-60px,0) scale(1.1)}}
@keyframes zpWaveRoll{to{transform:rotate(360deg)}}
@keyframes zpStarTwinkle{from{opacity:.15;transform:scale(.6)}to{opacity:1;transform:scale(1.2)}}
@keyframes zpMeshDrift{from{transform:translate3d(-6%,-4%,0) scale(.9)}to{transform:translate3d(7%,6%,0) scale(1.15)}}
.zp-animation-paused>.zp-landing-effects i,.zp-animation-paused>.zp-landing-effects::before,.zp-animation-paused>.zp-landing-effects::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.zp-landing-effects i,.zp-landing-effects::before,.zp-landing-effects::after{animation:none!important}}
