/* finPhlo animated hero: 9 finance cubes (all faces) + live CFO/treasury screen, teal accent */
.fpx-hero{container-type:inline-size;width:100%;max-width:700px;margin:0 auto}
.fpx-fit{position:relative;width:100%;aspect-ratio:700/540}
.fpx-scene{position:absolute;top:0;left:0;width:700px;height:540px;transform-origin:top left;transform:scale(calc(100cqw / 700))}
.fpx-dash{position:absolute;right:0;top:0;width:344px;height:auto;filter:drop-shadow(0 20px 34px rgba(44,50,96,.18))}
.fpx-stage{position:absolute;left:0;top:206px;width:680px;height:340px;perspective:1500px}
.fpx-iso{position:absolute;left:25%;top:7%;transform-style:preserve-3d;transform:rotateX(56deg) rotateZ(-45deg)}
.fpx-c3{position:absolute;width:76px;height:76px;margin-left:-38px;margin-top:-38px;transform-style:preserve-3d;transform:translate3d(var(--tx),var(--ty),0)}
.fpx-c3i{position:absolute;width:76px;height:76px;transform-style:preserve-3d;animation:fpx-tumble 11s cubic-bezier(.66,0,.34,1) infinite}
.fpx-cf{position:absolute;width:76px;height:76px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;letter-spacing:.2px;line-height:1.05;border:1px solid rgba(255,255,255,.5);box-sizing:border-box;padding:3px;font-family:'Poppins',system-ui,Arial,sans-serif}
.fpx-top{transform:rotateX(90deg) translateZ(38px)}
.fpx-bottom{transform:rotateX(-90deg) translateZ(38px)}
.fpx-front{transform:translateZ(38px)}
.fpx-back{transform:rotateY(180deg) translateZ(38px) rotate(180deg)}
.fpx-right{transform:rotateY(90deg) translateZ(38px)}
.fpx-left{transform:rotateY(-90deg) translateZ(38px)}
.fpx-cash{background:#0fb0cf;color:#fff}
.fpx-fund{background:#dbe6fb;color:#1d2447}
.fpx-life{background:#2c3260;color:#fff}
@keyframes fpx-tumble{0%,20%{transform:rotateX(0)}25%,45%{transform:rotateX(-90deg)}50%,70%{transform:rotateX(-180deg)}75%,95%{transform:rotateX(-270deg)}100%{transform:rotateX(-360deg)}}
.fpx-rbar{transform-box:fill-box;transform-origin:50% 100%;animation:fpx-bar 2.6s ease-in-out infinite}
@keyframes fpx-bar{0%,100%{transform:scaleY(var(--s))}50%{transform:scaleY(1)}}
.fpx-rline{stroke-dasharray:230;animation:fpx-draw 4.5s ease-in-out infinite}
.fpx-rarea{animation:fpx-fade 4.5s ease-in-out infinite}
@keyframes fpx-draw{0%{stroke-dashoffset:230}38%,100%{stroke-dashoffset:0}}
@keyframes fpx-fade{0%{opacity:0}38%,100%{opacity:.6}}
.fpx-live{animation:fpx-pulse 1.5s ease-in-out infinite}
.fpx-rdot{transform-box:fill-box;transform-origin:center;animation:fpx-ping 1.5s ease-in-out infinite}
@keyframes fpx-pulse{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes fpx-ping{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
@media (prefers-reduced-motion: reduce){.fpx-c3i,.fpx-rbar,.fpx-rline,.fpx-rarea,.fpx-live,.fpx-rdot{animation:none}.fpx-rline{stroke-dasharray:none}.fpx-rarea{opacity:.6}}
