
/* FEDERATION — PREMIUM NEON layer */
:root{
  --neon-blue:#3ad8ff;
  --neon-violet:#9a5cff;
  --neon-gold:#e3b45a;
  --neon-white:#f8fbff;
}
body{position:relative}
.neon-aurora{
 position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.32;
 background:
 radial-gradient(650px circle at var(--nx,25%) var(--ny,25%),rgba(58,216,255,.14),transparent 58%),
 radial-gradient(520px circle at calc(var(--nx,25%) + 18%) calc(var(--ny,25%) + 10%),rgba(154,92,255,.10),transparent 62%);
 transition:opacity .35s ease;
}
.neon-progress{position:fixed;left:0;top:0;height:2px;width:var(--scroll,0%);z-index:99999;pointer-events:none;
 background:linear-gradient(90deg,var(--neon-gold),var(--neon-blue),var(--neon-violet));
 box-shadow:0 0 8px var(--neon-blue),0 0 20px rgba(58,216,255,.65),0 0 32px rgba(154,92,255,.35)}
.site-header{box-shadow:0 1px 0 rgba(58,216,255,.07),0 10px 38px rgba(0,0,0,.08)}
.brand-logo img{filter:drop-shadow(0 0 0 transparent);transition:filter .45s ease,transform .45s ease}
.brand-logo:hover img{filter:drop-shadow(0 0 8px rgba(227,180,90,.45)) drop-shadow(0 0 18px rgba(58,216,255,.22));transform:translateY(-1px)}
.neon-target{position:relative;isolation:isolate;transition:box-shadow .3s ease,border-color .3s ease,filter .3s ease}
.neon-target:after{
 content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:-1;pointer-events:none;opacity:0;
 background:linear-gradient(120deg,rgba(227,180,90,.65),rgba(58,216,255,.72),rgba(154,92,255,.62),rgba(227,180,90,.42));
 filter:blur(11px);transition:opacity .28s ease
}
.neon-target:hover:after{opacity:.38}
.neon-target:hover{box-shadow:0 18px 58px rgba(0,0,0,.18),0 0 22px rgba(58,216,255,.13),0 0 42px rgba(154,92,255,.08)}
.neon-title{position:relative}
.neon-title span,.neon-title strong{filter:drop-shadow(0 0 10px rgba(227,180,90,.13))}
.neon-title:after{
 content:"";display:block;width:0;height:1px;margin-top:10px;
 background:linear-gradient(90deg,var(--neon-gold),var(--neon-blue),transparent);
 box-shadow:0 0 10px rgba(58,216,255,.55);transition:width .85s cubic-bezier(.16,.82,.18,1)
}
.neon-title.neon-seen:after{width:min(220px,55%)}
.btn{transition:transform .2s ease,box-shadow .25s ease,filter .25s ease}
.btn:hover{box-shadow:0 0 0 1px rgba(58,216,255,.18),0 0 18px rgba(58,216,255,.18),0 0 34px rgba(154,92,255,.10)}
.portfolio-showcase .cinematic-stage{box-shadow:0 35px 110px rgba(0,0,0,.48),0 0 34px rgba(58,216,255,.10),0 0 62px rgba(154,92,255,.07)!important}
body[data-fx-page="video"] video,body[data-fx-page="video"] iframe{
 box-shadow:0 32px 90px rgba(0,0,0,.48),0 0 24px rgba(58,216,255,.16),0 0 50px rgba(154,92,255,.10)!important
}
body[data-fx-page="contacts"] form{
 box-shadow:0 24px 70px rgba(0,0,0,.18),0 0 28px rgba(58,216,255,.11),0 0 55px rgba(154,92,255,.07)
}
.neon-pulse-dot{position:fixed;right:18px;bottom:18px;width:7px;height:7px;border-radius:50%;z-index:9999;pointer-events:none;
 background:var(--neon-blue);box-shadow:0 0 8px var(--neon-blue),0 0 20px var(--neon-violet);animation:neonPulse 2.2s ease-in-out infinite}
@keyframes neonPulse{50%{transform:scale(1.55);opacity:.55;box-shadow:0 0 14px var(--neon-blue),0 0 34px var(--neon-violet)}}
@media(max-width:760px){.neon-aurora{opacity:.18}.neon-target:hover:after{opacity:.18}.neon-pulse-dot{display:none}}
@media(prefers-reduced-motion:reduce){.neon-pulse-dot{animation:none}.neon-title:after{transition:none}.neon-aurora{display:none}}
