
/* FEDERATION SUPERPRO EXPERIENCE */
:root{--fx-gold:#d7a84e;--fx-light:#fff1c8}
.fx-ambient{position:fixed;width:460px;height:460px;border-radius:50%;left:0;top:0;z-index:0;pointer-events:none;opacity:0;
background:radial-gradient(circle,rgba(220,168,74,.12),rgba(220,168,74,.025) 40%,transparent 70%);
transition:opacity .35s ease;transform:translate(-600px,-600px)}
body:hover .fx-ambient{opacity:1}
.fx-reveal{opacity:0;transform:translateY(48px) scale(.98);filter:blur(8px)}
.fx-reveal.fx-in{animation:fxReveal .9s cubic-bezier(.16,.82,.18,1) forwards}
@keyframes fxReveal{to{opacity:1;transform:none;filter:none}}
.fx-depth{transform-style:preserve-3d;will-change:transform;transition:transform .2s ease-out,box-shadow .35s ease}
.fx-depth:hover{box-shadow:0 30px 75px rgba(0,0,0,.22)}
.btn{position:relative;overflow:hidden;will-change:transform}
.btn:after{content:"";position:absolute;inset:0;opacity:0;pointer-events:none;
background:radial-gradient(circle at var(--fx-x,50%) var(--fx-y,50%),rgba(255,255,255,.34),transparent 40%);transition:opacity .2s}
.btn:hover:after{opacity:1}
.fx-project-light{position:relative;overflow:hidden}
.fx-project-light:after{content:"";position:absolute;inset:-30%;pointer-events:none;opacity:0;
background:radial-gradient(circle at var(--fx-x,50%) var(--fx-y,50%),rgba(255,228,163,.34),transparent 26%);transition:opacity .25s}
.fx-project-light:hover:after{opacity:1}
.fx-service{position:relative;overflow:hidden}
.fx-service:before{content:"";position:absolute;left:-45%;top:-60%;width:24%;height:220%;pointer-events:none;opacity:0;
background:linear-gradient(90deg,transparent,rgba(255,236,187,.42),rgba(255,255,255,.7),transparent);transform:rotate(15deg)}
.fx-service:hover:before{opacity:1;animation:fxSweep 1.05s ease forwards}
@keyframes fxSweep{to{left:125%}}
.fx-contact-final{position:relative}
.fx-contact-final:before{content:"";position:absolute;inset:-18px;z-index:-1;border-radius:32px;opacity:.22;filter:blur(28px);
background:radial-gradient(circle,rgba(215,168,78,.45),transparent 65%);animation:fxPulse 4s ease-in-out infinite}
@keyframes fxPulse{50%{opacity:.48;transform:scale(1.025)}}
.fx-video-stage{transform-style:preserve-3d}
.fx-video-stage video,.fx-video-stage iframe{box-shadow:0 34px 90px rgba(0,0,0,.35);transition:transform .4s ease,box-shadow .4s ease}
.fx-video-stage:hover video,.fx-video-stage:hover iframe{transform:translateZ(28px) scale(1.012);box-shadow:0 48px 110px rgba(0,0,0,.48)}
.fx-page-signature{position:fixed;right:18px;bottom:16px;z-index:20;pointer-events:none;font:600 10px/1.2 Arial,sans-serif;
letter-spacing:.22em;text-transform:uppercase;color:rgba(215,168,78,.48);mix-blend-mode:difference}
@media(max-width:760px){.fx-ambient,.fx-page-signature{display:none}.fx-reveal{transform:translateY(28px);filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.fx-reveal{opacity:1!important;transform:none!important;filter:none!important}.fx-reveal.fx-in{animation:none!important}.fx-depth,.btn{transform:none!important}.fx-ambient{display:none!important}}
