/* Motion is progressive enhancement: content stays visible without JavaScript. */
.priliv-flow{display:none}
/* Decorative orbits may extend outside the page; they must not create sideways scrolling. */
html,body{overflow-x:clip}
.panel.priliv-wait{opacity:1;transform:none}
.priliv-logout{margin-left:auto}
.priliv-logout button{border:1px solid var(--line,#e4dceb);border-radius:9px;background:var(--surface,#fff);color:var(--muted,#777181);font:inherit;font-size:12px;padding:7px 12px;cursor:pointer}
@media(max-width:600px){
 .display-settings{flex-wrap:wrap}
 .stats .stat.hero,.stats .stat:nth-child(2){grid-column:1/-1!important;min-height:145px;padding:20px}
 .stats .stat.hero strong,.stats .stat:nth-child(2) strong{font-size:clamp(26px,7.5vw,34px);white-space:nowrap;overflow-wrap:normal;word-break:normal}
 .stats .stat:last-child{grid-column:auto!important}
 .stats .stat:nth-child(n+3){min-height:200px}
 #demo-banner{padding:10px 14px;font-size:11px;margin-block:12px}
}
@media(prefers-reduced-motion:no-preference){
 .priliv-wait{opacity:0;transform:translateY(13px)}
 .priliv-enter{animation:priliv-enter .65s cubic-bezier(.2,.7,.2,1) var(--enter-delay,0ms) both}
 @keyframes priliv-enter{from{opacity:0;translate:0 13px}to{opacity:1;translate:0 0}}
 .hero-copy>.eyebrow{animation:priliv-enter .7s both}
 .hero-copy h1{animation:priliv-enter .85s .08s both}
 .hero-copy .lead{animation:priliv-enter .85s .16s both}
 .hero-copy .actions{animation:priliv-enter .85s .24s both}
 .growth>path:last-child,.trend-line{stroke-dasharray:1;stroke-dashoffset:1;animation:priliv-draw 1.5s cubic-bezier(.2,.6,.2,1) forwards;}
 /* Path percentages require pathLength, so use a gentle opacity transition on arbitrary app charts. */
 .trend-line{stroke-dasharray:none;stroke-dashoffset:0;animation:priliv-chart .7s ease-out both}
 .growth>path:last-child{stroke-dasharray:900;stroke-dashoffset:900}
 @keyframes priliv-draw{to{stroke-dashoffset:0}}
 @keyframes priliv-chart{from{opacity:.15}to{opacity:1}}
 .hero-art:before{content:'';position:absolute;inset:-25px;pointer-events:none;background:radial-gradient(ellipse at var(--glow-x,50%) var(--glow-y,50%),#bda1ed30,transparent 65%);border-radius:50%;transition:opacity .3s}
 .priliv-flow{display:block;position:absolute;inset:-25px -20px;width:calc(100% + 40px);height:calc(100% + 50px);pointer-events:none;overflow:visible}
 .priliv-flow path{fill:none;stroke:#ad8ed9;stroke-width:1.2;opacity:.25;stroke-dasharray:160 480;animation:priliv-current 14s linear infinite;animation-delay:calc(var(--wave-index)*-2s)}
 @keyframes priliv-current{to{stroke-dashoffset:-1280}}
 .portfolio-preview{top:var(--scroll-lift,0px)}
 .hero-copy h1{clip-path:inset(0);animation:priliv-heading 1s cubic-bezier(.16,1,.3,1) .08s both}
 @keyframes priliv-heading{from{opacity:0;clip-path:inset(0 0 100% 0);translate:0 22px}to{opacity:1;clip-path:inset(0);translate:0 0}}
 .orbit-one{animation:priliv-orbit 24s ease-in-out infinite alternate}
 .orbit-two{animation:priliv-orbit 30s ease-in-out infinite alternate-reverse}
 @keyframes priliv-orbit{from{translate:0 -7px}to{translate:7px 10px}}
 .chart .bar,.allocation .bar{transform-origin:bottom;animation:priliv-bars .7s cubic-bezier(.2,.7,.2,1) both}
 @keyframes priliv-bars{from{scale:1 .35;opacity:.4}to{scale:1 1;opacity:1}}
 button,.button{transition:background .18s,color .18s,box-shadow .2s,translate .2s}
 button:active,.button:active{translate:0 1px}
 .nav{animation:priliv-enter .65s both}
 @media(hover:hover) and (pointer:fine){
  .feature{transition:box-shadow .3s,border-color .3s,translate .3s}
  .feature:hover{translate:0 -4px;box-shadow:0 18px 45px #6344860c;border-color:#cfc0e5}
  .panel{transition:box-shadow .25s}
  .panel:hover{box-shadow:0 10px 35px #50327508}
  .primary:hover,.button.primary:hover{box-shadow:0 9px 25px #7955d930}
 }
}
@media(prefers-reduced-motion:reduce){.priliv-wait{opacity:1;transform:none}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
