/* L'Égo Contour — efekty 3D (lekkie, bez bibliotek) */
#fx3d{position:absolute;top:50%;right:max(-6vw,-80px);width:min(78vw,680px);height:min(78vw,680px);transform:translate3d(0,-50%,0);z-index:-1;pointer-events:none;opacity:.9;will-change:transform}
@media(max-width:900px){#fx3d{right:50%;transform:translate3d(50%,-52%,0);width:min(112vw,560px);height:min(112vw,560px);opacity:.32}}
#dust{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.reveal{transform:perspective(900px) translate3d(0,40px,0) rotateX(9deg);transform-origin:50% 100%}
.reveal.in{transform:none}
.card .glare{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;transition:opacity .4s;mix-blend-mode:soft-light;
  background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,236,190,.95),rgba(255,236,190,0) 55%)}
.card.tilt-on{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(0,-8px,0) scale(1.02)!important;
  transition:transform .12s ease-out,border-color .5s,box-shadow .5s!important;
  box-shadow:0 34px 60px -26px rgba(168,33,61,.65),0 0 0 1px rgba(201,164,92,.25)}
.card.tilt-on .glare{opacity:.85}
.card.tilt-on .art{transform:scale(1.09) translate3d(var(--ax,0px),var(--ay,0px),0)!important}
.card.tilt-out{transition:transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .5s!important}
.frame.tilt-on{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;transition:transform .12s ease-out!important;box-shadow:0 40px 80px -40px rgba(168,33,61,.6)}
.frame svg{transition:transform .2s ease-out;transform:translate3d(var(--ax,0px),var(--ay,0px),0)}
.hero .wrap{will-change:transform,opacity}
.fx-par{will-change:transform}
@media(prefers-reduced-motion:reduce){#fx3d,#dust{display:none}.reveal{transform:none}}
