/* Interactive effects: separate transforms preserve existing animation. */
.fx-depth{position:relative;translate:0 var(--depth,0px);will-change:translate}.fx-tilt{position:relative;transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out;transform-style:preserve-3d}.fx-tilt:after{content:'';position:absolute;inset:0;border-radius:32px;pointer-events:none;background:radial-gradient(circle at var(--px,50%) var(--py,30%),#fff8,transparent 46%);mix-blend-mode:soft-light;opacity:var(--shine,0);transition:opacity .3s}.fx-spot{position:relative;isolation:isolate}.fx-spot:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(300px circle at var(--px,50%) var(--py,50%),#ffdc5738,transparent 75%);opacity:var(--shine,0);transition:opacity .25s;z-index:2}.gallery-photo-button img{transition:transform .7s cubic-bezier(.2,.7,.2,1)!important}.gallery-photo-button:hover img,.gallery-photo-button:focus-visible img{transform:scale(1.055)}.gallery-photo-caption{transition:opacity .28s,transform .28s!important}.fx-circuit{position:absolute;inset:-32px;width:calc(100% + 64px);height:calc(100% + 64px);pointer-events:none;overflow:visible;z-index:2}.fx-circuit .wire{fill:none;stroke:#ebce4760;stroke-width:1.5}.fx-circuit .signal{fill:none;stroke:#ffdf58;stroke-width:3;stroke-dasharray:16 480;animation:fx-signal 8s linear infinite;filter:drop-shadow(0 0 4px #ffda54)}.fx-circuit .node{fill:#102b22;stroke:#e5cc65;stroke-width:1.5}.fx-circuit .icon{fill:none;stroke:#f1db82;stroke-width:2;stroke-linejoin:round}.fx-ripple{position:absolute;pointer-events:none;border-radius:50%;background:#fff9;transform:translate(-50%,-50%) scale(0);animation:fx-ripple .65s ease-out forwards;z-index:4}.fx-feedback{position:relative;overflow:hidden}.fx-feedback:active{scale:.98}.fx-video-section{max-width:1160px;margin:80px auto;padding:0 20px}.fx-video-frame{position:relative;overflow:hidden;min-height:420px;border:1px solid #d3ca7360;border-radius:28px;background:#092019}.fx-video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fx-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05140fe8,transparent 85%)}.fx-video-copy{position:relative;z-index:1;padding:65px 38px;max-width:560px}.fx-video-copy h2{font-size:clamp(30px,4vw,52px);line-height:1.1;color:#f3d23b}.fx-video-copy a{display:inline-block;margin-top:22px;padding:13px 24px;border-radius:24px;background:#f3d23b;color:#102015;font-weight:700}.fx-video-control{position:absolute;right:20px;bottom:20px;z-index:3;background:#081c18db;color:white;border:1px solid #d9ca7d80;border-radius:22px;padding:10px 16px}.fx-compare{max-width:1000px;margin:60px auto;padding:20px}.fx-compare-stage{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:24px}.fx-compare-stage img{position:absolute;width:100%;height:100%;object-fit:cover}.fx-compare-after{clip-path:inset(0 0 0 var(--split,50%))}.fx-divider{position:absolute;left:var(--split,50%);top:0;bottom:0;width:3px;background:#f9d942;pointer-events:none}.fx-compare input{width:100%;accent-color:#ecca33;min-height:44px}.fx-comparison-labels{display:flex;justify-content:space-between}.motion-paused .fx-depth{translate:none}.motion-paused .fx-tilt{transform:none}.motion-paused .fx-circuit .signal{animation-play-state:paused}.motion-paused .fx-ripple{display:none}.motion-paused .fx-spot:after,.motion-paused .fx-tilt:after{opacity:0}.motion-paused .gallery-photo-button img{transform:none!important}.motion-paused .gallery-photo-caption{transition:none!important}@keyframes fx-signal{to{stroke-dashoffset:-992}}@keyframes fx-ripple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}@media(hover:none),(pointer:coarse){.fx-tilt{transform:none!important}.fx-depth{translate:none!important}.fx-spot:after,.fx-tilt:after{display:none}.gallery-photo-button:hover img{transform:none}.fx-circuit{inset:-15px;width:calc(100% + 30px);height:calc(100% + 30px)}}@media(max-width:640px){.fx-video-frame{min-height:380px}.fx-video-copy{padding:45px 24px}.fx-circuit .signal{animation-duration:14s}}@media(prefers-reduced-motion:reduce){.fx-depth{translate:none!important}.fx-tilt{transform:none!important}.fx-circuit .signal,.fx-ripple{animation:none!important}.gallery-photo-button img{transform:none!important;transition:none!important}.gallery-photo-caption{transition:none!important}.fx-spot:after,.fx-tilt:after{display:none}}
