/* JurreVideo cinematic motion layer */
:root{--jv-cyan:#35d7ff;--jv-purple:#8f62ff}
body{overflow-x:hidden}
.jv-master-nav{transition:box-shadow .35s ease,background .35s ease}.jv-master-nav.jv-scrolled{box-shadow:0 14px 40px rgba(0,0,0,.24);background:rgba(7,20,46,.91)}
.jv-master-brand img{transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}.jv-master-brand:hover img{transform:scale(1.06);filter:drop-shadow(0 0 15px rgba(53,215,255,.3))}
.jv-cinematic-reveal{opacity:0;transform:translateY(34px) scale(.985);filter:blur(8px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}.jv-cinematic-reveal.jv-visible{opacity:1;transform:none;filter:none}
.jv-stagger>*{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.jv-stagger.jv-visible>*{opacity:1;transform:none}.jv-stagger.jv-visible>*:nth-child(2){transition-delay:.08s}.jv-stagger.jv-visible>*:nth-child(3){transition-delay:.16s}.jv-stagger.jv-visible>*:nth-child(4){transition-delay:.24s}.jv-stagger.jv-visible>*:nth-child(5){transition-delay:.32s}.jv-stagger.jv-visible>*:nth-child(6){transition-delay:.40s}
.jv-glow{position:fixed;width:42vw;height:42vw;max-width:620px;max-height:620px;border-radius:50%;pointer-events:none;z-index:-1;filter:blur(95px);opacity:.12;background:linear-gradient(135deg,var(--jv-cyan),var(--jv-purple));animation:jvFloatGlow 12s ease-in-out infinite alternate;right:-15vw;top:12vh}@keyframes jvFloatGlow{to{transform:translate(-8vw,18vh) scale(1.15);opacity:.18}}
.jv-tilt{transform-style:preserve-3d;transition:transform .18s ease,box-shadow .3s ease}.jv-tilt:hover{box-shadow:0 25px 65px rgba(0,0,0,.22)}
.btn,.jv-master-cta,.choice a{transition:transform .2s ease,box-shadow .25s ease,background .25s ease}.jv-magnetic:hover{box-shadow:0 12px 34px rgba(53,215,255,.18)}
.heroimg img,.portfolioVideo img,.photo img{will-change:transform}.jv-parallax img{transform:scale(1.07);transition:transform .12s linear}
.jv-company-logo img{animation:jvLogoFloat 5s ease-in-out infinite}@keyframes jvLogoFloat{50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.jv-cinematic-reveal,.jv-stagger>*{opacity:1!important;transform:none!important;filter:none!important}}
