/* CERP Neo theme layer */
:root{--neo-navy:#0b1235;--neo-ink:#101828;--neo-indigo:#666ae5;--neo-violet:#8b5cf6;--neo-mint:#43d9b3;--neo-glass:rgba(255,255,255,.72);--neo-line:rgba(102,106,229,.16);--neo-shadow:0 24px 70px rgba(17,27,74,.12);--neo-ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:#f6f7fc}
::selection{background:rgba(102,106,229,.25)}

/* Aurora backdrop behind light sections */
body:before{content:"";position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;background:radial-gradient(40vmax 40vmax at 15% 20%,rgba(102,106,229,.10),transparent 60%),radial-gradient(38vmax 38vmax at 85% 30%,rgba(67,217,179,.10),transparent 60%),radial-gradient(45vmax 45vmax at 50% 95%,rgba(139,92,246,.08),transparent 60%);animation:neo-aurora 26s ease-in-out infinite alternate}
@keyframes neo-aurora{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(2vmax,-2vmax,0) rotate(8deg)}100%{transform:translate3d(-2vmax,1vmax,0) rotate(-6deg)}}

/* Glass sticky header */
.wgl-theme-header .wgl-sticky-header,.neo-scrolled .wgl-theme-header .wgl-sticky-header{backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px)}
.neo-scrolled .wgl-theme-header .wgl-sticky-header.sticky_active,.neo-scrolled .wgl-sticky-header.sticky_active>.elementor{background:rgba(255,255,255,.78)!important;box-shadow:0 10px 40px rgba(17,27,74,.10)!important}
.wgl-theme-header .primary-nav>ul>li>a{position:relative}
.wgl-theme-header .primary-nav>ul>li>a:after{content:"";position:absolute;inset-inline:12px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--neo-mint),var(--neo-indigo));transform:scaleX(0);transition:transform .35s var(--neo-ease)}
.wgl-theme-header .primary-nav>ul>li:hover>a:after,.wgl-theme-header .primary-nav>ul>li.current-menu-item>a:after{transform:scaleX(1)}

/* Hero */
.neo-hero{position:relative;isolation:isolate}
.neo-hero:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:conic-gradient(from 180deg at 70% 40%,rgba(102,106,229,.0),rgba(102,106,229,.22),rgba(67,217,179,.18),rgba(139,92,246,.2),rgba(102,106,229,0));filter:blur(60px);opacity:.75;animation:neo-spin 18s linear infinite;pointer-events:none}
@keyframes neo-spin{to{transform:rotate(1turn)}}
.neo-stage{position:relative;width:100%;height:min(560px,62vw);min-height:320px;border-radius:28px}
.neo-stage canvas{display:block;width:100%;height:100%}
.neo-stage-bg{position:absolute;inset:0;height:auto;opacity:.35;z-index:-1}
.neo-hero-live .neo-hero-fallback{display:none!important}
.neo-hero h1{background:linear-gradient(100deg,#fff 0%,#fff 45%,#a9ffe9 70%,#b9bbff 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;background-size:200% 100%;animation:neo-shine 8s ease-in-out infinite}
@keyframes neo-shine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
.neo-hero .cerp-kicker{box-shadow:0 0 0 1px rgba(255,255,255,.08),0 10px 30px rgba(67,217,179,.18)}
.neo-hero .cerp-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--neo-mint);box-shadow:0 0 0 0 rgba(67,217,179,.7);animation:neo-ping 2s infinite}
@keyframes neo-ping{0%{box-shadow:0 0 0 0 rgba(67,217,179,.7)}80%,100%{box-shadow:0 0 0 12px rgba(67,217,179,0)}}
.cerp-actions a{position:relative;overflow:hidden}
.cerp-actions a:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--neo-ease)}
.cerp-actions a:hover:before{transform:translateX(120%)}

/* Pointer spotlight on dark panels */
.neo-spot{--sx:50%;--sy:30%}
.neo-spot>.elementor-container,.neo-spot>*{position:relative;z-index:1}
.neo-spot:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(420px circle at var(--sx) var(--sy),rgba(255,255,255,.09),transparent 60%);transition:opacity .3s}

/* Cards: depth, gradient border, tilt */
.cerp-feature-card,.cerp-use-card,.cerp-metric,.cerp-price-card,.cerp-addon-item,.download-card{transform-style:preserve-3d}
.neo-tilt-on{--rx:0deg;--ry:0deg;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--neo-ease),box-shadow .4s;will-change:transform;position:relative}
.neo-tilt-on.neo-hovering{transition:transform .08s linear,box-shadow .4s}
.neo-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(500px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.35),transparent 45%);mix-blend-mode:soft-light;z-index:3}
.neo-hovering .neo-glare{opacity:1}
.cerp-feature-card,.cerp-use-card{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(102,106,229,.35),rgba(67,217,179,.25),rgba(139,92,246,.25)) border-box!important;border:1px solid transparent!important;box-shadow:var(--neo-shadow)!important}
.cerp-feature-card:hover,.cerp-use-card:hover{box-shadow:0 34px 90px rgba(17,27,74,.18)!important}
.cerp-feature-icon{position:relative;transform:translateZ(30px);background:linear-gradient(135deg,var(--neo-indigo),var(--neo-violet))!important;color:#fff!important;box-shadow:0 12px 28px rgba(102,106,229,.35)}
.cerp-feature-card h3,.cerp-use-card h3{transform:translateZ(18px)}
.cerp-metric{background:rgba(255,255,255,.75)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--neo-line)!important}
.cerp-metric strong{background:linear-gradient(135deg,var(--neo-indigo),var(--neo-mint));-webkit-background-clip:text;background-clip:text;color:transparent!important;font-variant-numeric:tabular-nums}
.cerp-price-pro{animation:neo-float 6s ease-in-out infinite}
.cerp-price-pro.neo-hovering{animation:none}
@keyframes neo-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.cerp-price-pro:after{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--neo-a,0deg),#43d9b3,#666ae5,#8b5cf6,#43d9b3);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:neo-border 4s linear infinite;pointer-events:none}
@property --neo-a{syntax:"<angle>";initial-value:0deg;inherits:false}
@keyframes neo-border{to{--neo-a:360deg}}

/* Section headings get an animated underline */
.elementor-widget-heading h2.elementor-heading-title{position:relative}
.neo-in .elementor-heading-title:after,.neo-in.elementor-widget-heading h2.elementor-heading-title:after{content:"";display:block;width:64px;height:4px;margin-top:14px;border-radius:4px;background:linear-gradient(90deg,var(--neo-mint),var(--neo-indigo));animation:neo-grow .9s var(--neo-ease) both}
.neo-center:after{margin-inline:auto}
@keyframes neo-grow{from{width:0}to{width:64px}}

/* Scroll reveal */
.neo-reveal{opacity:0;transform:translate3d(0,34px,0) scale(.98);filter:blur(6px);transition:opacity .9s var(--neo-ease) var(--neo-delay,0ms),transform .9s var(--neo-ease) var(--neo-delay,0ms),filter .9s var(--neo-ease) var(--neo-delay,0ms)}
.neo-reveal.neo-in{opacity:1;transform:none;filter:none}
.neo-reveal.neo-tilt-on.neo-in{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry))}

/* Footer polish */
.wgl-footer,footer.footer{position:relative;overflow:hidden}
.wgl-footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(600px 300px at 80% 0%,rgba(102,106,229,.25),transparent 70%),radial-gradient(500px 260px at 10% 100%,rgba(67,217,179,.15),transparent 70%)}

/* Scrollbar */
@supports (scrollbar-color:red blue){html{scrollbar-color:#666ae5 #eef0fb}}

@media (max-width:767px){.neo-stage{height:340px;min-height:260px}.neo-hero:after{filter:blur(40px)}}
@media (prefers-reduced-motion:reduce){body:before,.neo-hero:after,.neo-hero h1,.cerp-price-pro,.cerp-price-pro:after{animation:none!important}.neo-reveal{opacity:1;transform:none;filter:none}}
@media (min-width:1025px){.wgl-theme-header .primary-nav>ul>li>a{padding:0 11px!important;font-size:15.5px!important}}
@media (min-width:1025px) and (max-width:1280px){.wgl-theme-header .primary-nav>ul>li>a{padding:0 8px!important;font-size:14.5px!important}}
@media (min-width:1025px){.wgl-theme-header .elementor-widget-wgl-menu{width:auto!important;max-width:none!important;flex:0 1 auto!important}.wgl-theme-header .elementor-element-436684d>.elementor-widget-wrap{flex-wrap:nowrap!important;align-items:center;justify-content:space-between}}
