
/* FEDERATION / RUSSIAN FUTURE — abstract tricolor light + 3D, no official emblems */
:root{--rf-white:#f7fbff;--rf-blue:#176cff;--rf-red:#ff334f;--rf-gold:#e1b158}
.rf-space{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden;opacity:.72}
.rf-beam{position:absolute;width:64vw;height:13vh;left:-16vw;filter:blur(30px);opacity:.12;transform:rotate(-18deg);mix-blend-mode:screen}
.rf-beam.w{top:12%;background:linear-gradient(90deg,transparent,var(--rf-white),transparent);animation:rfDrift 14s ease-in-out infinite alternate}
.rf-beam.b{top:34%;background:linear-gradient(90deg,transparent,var(--rf-blue),transparent);animation:rfDrift 17s ease-in-out -4s infinite alternate}
.rf-beam.r{top:57%;background:linear-gradient(90deg,transparent,var(--rf-red),transparent);animation:rfDrift 19s ease-in-out -8s infinite alternate}
@keyframes rfDrift{to{transform:translateX(68vw) rotate(-18deg) scaleX(1.22)}}
.rf-orb{position:fixed;right:4vw;top:18vh;width:112px;height:112px;border-radius:50%;z-index:1;pointer-events:none;opacity:.18;
background:radial-gradient(circle at 32% 25%,#fff 0 3%,#d8e9ff 9%,#2256b9 30%,#1b102e 57%,#050507 78%);
box-shadow:0 0 26px rgba(255,255,255,.18),0 0 65px rgba(23,108,255,.25),0 0 110px rgba(255,51,79,.12);
animation:rfFloat 8s ease-in-out infinite;transform-style:preserve-3d}
.rf-orb:before,.rf-orb:after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(225,177,88,.48);border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);box-shadow:0 0 15px rgba(225,177,88,.18)}
.rf-orb:before{width:165px;height:54px;animation:rfRing 9s linear infinite}
.rf-orb:after{width:62px;height:172px;animation:rfRing2 12s linear infinite}
@keyframes rfFloat{50%{transform:translateY(22px) rotate(7deg)}}
@keyframes rfRing{to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg)}}
@keyframes rfRing2{to{transform:translate(-50%,-50%) rotateY(68deg) rotateZ(-360deg)}}
.rf-mapfield{position:absolute;inset:0;pointer-events:none;opacity:.13;
background-image:radial-gradient(circle,rgba(247,251,255,.75) 0 1px,transparent 1.4px);
background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent 4%,#000 26%,#000 72%,transparent 96%)}
.rf-section{position:relative;transform-style:preserve-3d}
.rf-section:before{content:"";position:absolute;inset:7% -4%;pointer-events:none;z-index:-1;opacity:.12;
background:linear-gradient(115deg,transparent 10%,rgba(247,251,255,.10),rgba(23,108,255,.11),rgba(255,51,79,.08),transparent 80%);
filter:blur(28px)}
.rf-tricolor-edge{position:relative}
.rf-tricolor-edge:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;pointer-events:none;opacity:.55;
background:linear-gradient(90deg,transparent 2%,var(--rf-white) 18%,var(--rf-blue) 50%,var(--rf-red) 82%,transparent 98%);
box-shadow:0 0 10px rgba(23,108,255,.28)}
.portfolio-showcase .cinematic-stage{box-shadow:0 36px 115px rgba(0,0,0,.55),0 0 30px rgba(247,251,255,.08),0 0 55px rgba(23,108,255,.13),0 0 75px rgba(255,51,79,.08)!important}
body[data-fx-page="projects"] .project-card:hover,body[data-fx-page="projects"] .card:hover{
box-shadow:0 34px 80px rgba(0,0,0,.26),-7px 0 26px rgba(247,251,255,.08),0 0 32px rgba(23,108,255,.13),7px 0 38px rgba(255,51,79,.08)!important}
body[data-fx-page="video"] video,body[data-fx-page="video"] iframe{outline:1px solid rgba(247,251,255,.08);
box-shadow:0 42px 110px rgba(0,0,0,.52),-10px 0 38px rgba(247,251,255,.07),0 0 45px rgba(23,108,255,.15),10px 0 55px rgba(255,51,79,.09)!important}
body[data-fx-page="contacts"] form{position:relative}
body[data-fx-page="contacts"] form:after{content:"Ф";position:absolute;right:22px;bottom:10px;font:700 92px/1 Georgia,serif;color:rgba(225,177,88,.045);pointer-events:none;text-shadow:0 0 22px rgba(23,108,255,.07)}
@media(max-width:760px){.rf-orb{width:62px;height:62px;right:5vw;opacity:.11}.rf-orb:before{width:92px;height:30px}.rf-orb:after{width:35px;height:96px}.rf-beam{opacity:.07}}
@media(prefers-reduced-motion:reduce){.rf-beam,.rf-orb,.rf-orb:before,.rf-orb:after{animation:none!important}}

/* FEDERACIA: remove the old upper decorative orb */
.rf-orb{display:none!important;visibility:hidden!important}
