/* Lightweight depth and motion. No external libraries. */
.hero{position:relative;isolation:isolate;overflow:hidden}.hero-grid{position:relative;z-index:1}.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 40%,#0866ff30,transparent 58%);pointer-events:none}.vfx-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.vfx-orbs span{position:absolute;width:var(--size);height:var(--size);left:var(--left);top:var(--top);border-radius:50%;border:1px solid #8ec5ff55;background:radial-gradient(circle at 28% 25%,#ffffff75 0%,#9ed3ff22 20%,#0866ff0a 55%,#69b9ff44 90%);box-shadow:inset -5px -8px 18px #00419c33,inset 3px 3px 8px #b5ddff22,0 14px 35px #0002;animation:orb-entry 4.5s ease-out both}.hero-media{perspective:1100px;transform-style:preserve-3d}.hero-media>.media{box-shadow:0 28px 60px #0005,0 0 0 1px #93bfff22;transform:rotateY(-5deg) rotateX(3deg);transition:transform .5s ease}.media-caption{position:relative;transform:translateZ(20px);box-shadow:0 12px 26px #0003}.hero-media>.media::after{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,#ffffff16 48%,transparent 55%);transform:translateX(75%);animation:light-sweep 3.8s ease-out both;pointer-events:none}.services article,.package{position:relative;transition:box-shadow .3s,border-color .3s,transform .25s;transform-style:preserve-3d}.services article:hover{box-shadow:0 22px 40px #12345a18;border-color:#71a8ff}.package:hover{box-shadow:0 22px 40px #0004}.depth-card{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px))}.depth-card h3,.depth-card .number{transform:translateZ(15px)}.reveal-pending{opacity:0;transform:translateY(24px)}.reveal-in{animation:section-in .65s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--reveal-delay,0ms)}.button:hover{box-shadow:0 8px 22px #0866ff30}.gallery .media img{transition:transform .55s ease}.gallery .media:hover img{transform:scale(1.035)}
@keyframes orb-entry{from{opacity:0;transform:translate3d(0,65px,0) scale(.85)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}@keyframes light-sweep{from{transform:translateX(-75%)}to{transform:translateX(75%)}}@keyframes section-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.hero-media>.media{transform:none}.vfx-orbs span:nth-child(n+5){display:none}.vfx-orbs{opacity:.55}.depth-card{transform:none}}
@media(prefers-reduced-motion:reduce){.vfx-orbs span,.hero-media>.media::after,.reveal-in{animation:none!important}.reveal-pending{opacity:1;transform:none}.hero-media>.media,.depth-card,.gallery .media:hover img{transform:none!important}.hero-media>.media::after{display:none}}
