/* Motion system v2 — projected hologram, native scrolling and tactile surfaces. */
.brand .animated-logo{width:44px;height:44px;flex-shrink:0;overflow:visible;transition:rotate .6s cubic-bezier(.16,1,.3,1),scale .6s,filter .6s}.footer .brand .animated-logo{width:36px;height:36px}.logo-orbit{opacity:.45;transform-origin:24px 24px}.logo-constellation{transform-origin:24px 24px}.logo-signals{stroke-dasharray:7 95;stroke-dashoffset:0;opacity:.85}.logo-node,.logo-core,.logo-core-halo{transform-box:fill-box;transform-origin:center}.logo-core-halo{opacity:.35}.motion-enabled .logo-orbit{animation:logo-orbit 30s linear infinite}.motion-enabled .logo-constellation{animation:logo-breathe 8s ease-in-out infinite}.motion-enabled .logo-signals{animation:logo-signal 5s linear infinite}.motion-enabled .logo-signal-secondary{stroke-dasharray:4 80;animation:logo-signal 4s linear infinite reverse}.motion-enabled .logo-node{animation:logo-node 3.6s ease-in-out infinite}.motion-enabled .logo-node:nth-child(2){animation-delay:-.6s}.motion-enabled .logo-node:nth-child(3){animation-delay:-1.2s}.motion-enabled .logo-node:nth-child(4){animation-delay:-1.8s}.motion-enabled .logo-node:nth-child(5){animation-delay:-2.4s}.motion-enabled .logo-node:nth-child(6){animation-delay:-3s}.motion-enabled .logo-core{animation:logo-core 3s ease-in-out infinite}.motion-enabled .logo-core-halo{animation:logo-halo 3s ease-out infinite}.motion-enabled .brand:hover .animated-logo{rotate:12deg;scale:1.1;filter:drop-shadow(0 0 8px #53dff578)}.motion-enabled .brand:hover .logo-orbit{animation-duration:7s}.motion-enabled .brand:hover .logo-signals{animation-duration:2s}
@keyframes logo-orbit{to{transform:rotate(360deg)}}
@keyframes logo-breathe{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes logo-signal{to{stroke-dashoffset:-204}}
@keyframes logo-node{0%,100%{transform:scale(.86);opacity:.72}50%{transform:scale(1.12);opacity:1}}
@keyframes logo-core{0%,100%{transform:scale(.95)}50%{transform:scale(1.14)}}
@keyframes logo-halo{0%{transform:scale(.65);opacity:.65}85%,100%{transform:scale(1.65);opacity:0}}
@media(max-width:600px){.brand .animated-logo{width:38px;height:38px}.footer .brand .animated-logo{width:34px;height:34px}}
.header{position:sticky;top:0;backdrop-filter:blur(18px);background:#050716e6;transition:background .3s}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--purple));transform:scaleX(0);transform-origin:left;transition:transform .35s}.header nav a[aria-current]:after,.header nav a:hover:after{transform:scaleX(1)}.header nav a[aria-current]{color:var(--cyan)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;pointer-events:none;z-index:20;background:linear-gradient(90deg,#35e7fa,#a375ff,#e0a8ff);transform:scaleX(var(--progress,0));transform-origin:0 50%;box-shadow:0 0 13px #44dff5a0}
.hero-line{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.hero-line>span{display:inline-block}.hero-art{isolation:isolate;--scene-x:0px;--scene-y:0px}.hero-art>img{transition:opacity .65s;pointer-events:none}.hero-art.scene-ready>img{opacity:0}.neon-scene{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0;transition:opacity .8s;mask-image:radial-gradient(ellipse at 50% 49%,#000 48%,transparent 77%)}.scene-ready .neon-scene{opacity:1}.art-caption{bottom:22px;z-index:4;letter-spacing:2px}.scene-panel{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid #7a9beb3d;border-radius:12px;background:linear-gradient(140deg,#192244bd,#0d1232a6);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff14,0 15px 45px #0004,0 0 35px #2d73cc0d;font-size:11px;line-height:1.4;color:#c9daf6;white-space:nowrap;opacity:0;transition:opacity .8s;translate:var(--scene-x) var(--scene-y)}.scene-ready .scene-panel{opacity:1}.scene-panel-icon{color:var(--cyan);font-size:22px;line-height:1;text-shadow:0 0 14px #4ddff560}.scene-panel-content{left:5%;top:25%;rotate:-8deg;--float-delay:-1s}.scene-panel-visual{right:3%;top:19%;rotate:8deg;--float-delay:-3s}.scene-panel-visual .scene-panel-icon{color:#bb88ff}.scene-panel-flow{right:1%;bottom:28%;rotate:-5deg;--float-delay:-5s}.scene-bars{height:21px;display:flex;align-items:end;gap:3px;margin-left:6px}.scene-bars i{width:3px;height:100%;border-radius:2px;background:linear-gradient(0deg,#5079ec,#78eeff);transform-origin:bottom;scale:1 .5}.scene-panel-visual .scene-bars i{background:linear-gradient(0deg,#7652cb,#d4a4ff)}
.motion-enabled .scene-panel{animation:glass-float 6s ease-in-out infinite;animation-delay:var(--float-delay,0s)}.motion-enabled .scene-bars i{animation:bar-flow 2.4s ease-in-out infinite alternate;animation-delay:calc(var(--bar)*-.36s)}.motion-enabled .hero-art:before{content:'';position:absolute;inset:10% 0 3%;border-radius:50%;z-index:-1;background:radial-gradient(ellipse at 55% 50%,#3d15912e,transparent 66%);animation:ambient-flow 9s ease-in-out infinite alternate}.motion-enabled .gradient-text{background-size:220% 100%;animation:spectral-flow 7s ease-in-out infinite}.motion-enabled .status-dot{animation:beacon 3s ease-in-out infinite}.motion-enabled .hero-content>.eyebrow,.motion-enabled .hero-description,.motion-enabled .hero-actions,.motion-enabled .hero-signature{animation:rise-in 1s cubic-bezier(.16,1,.3,1) both}.motion-enabled .hero-description{animation-delay:.48s}.motion-enabled .hero-actions{animation-delay:.62s}.motion-enabled .hero-signature{animation-delay:.76s}.motion-enabled .hero-line>span{animation:title-in 1.2s cubic-bezier(.16,1,.3,1) both;animation-delay:.14s}.motion-enabled .hero-line:nth-child(2)>span{animation-delay:.28s}.motion-enabled .hero-line:nth-child(3)>span{animation-delay:.42s;animation-name:title-in,spectral-flow;animation-duration:1.2s,7s;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;animation-iteration-count:1,infinite}
.motion-enabled [data-reveal]{opacity:0;translate:0 38px;scale:.98;transition:opacity .9s,translate .9s cubic-bezier(.16,1,.3,1),scale .9s cubic-bezier(.16,1,.3,1);transition-delay:var(--entry-delay,0ms)}.motion-enabled [data-reveal].is-revealed{opacity:1;translate:0 0;scale:1}.motion-enabled .service-card,.motion-enabled .about-visual,.motion-enabled .work-card{transform-style:preserve-3d;transition:opacity .9s,translate .9s cubic-bezier(.16,1,.3,1),scale .9s,transform .4s cubic-bezier(.2,.7,.3,1),box-shadow .4s,border-color .4s}.motion-enabled .service-card:hover,.motion-enabled .about-visual:hover,.motion-enabled .work-card:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px);box-shadow:0 25px 55px #0004;border-color:#6ec9ff55}.motion-enabled .service-card:after,.motion-enabled .about-visual:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(330px circle at var(--pointer-x,50%) var(--pointer-y,50%),#74d5ff20,transparent 70%);opacity:0;transition:opacity .4s}.motion-enabled .service-card:hover:after,.motion-enabled .about-visual:hover:after{opacity:1}.service-card .service-icon{transition:transform .5s,filter .5s}.motion-enabled .service-card:hover .service-icon{transform:translateZ(24px) rotate(-6deg);filter:drop-shadow(0 0 15px #3de8f56a)}.motion-enabled .service-card:before{content:'';position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;border:1px solid transparent;background:conic-gradient(from var(--border-angle,0deg),transparent 55%,#4ad9ffb0 76%,#b388ffb0 87%,transparent 100%) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s}.motion-enabled .service-card:hover:before{opacity:1;animation:border-orbit 4s linear infinite}
@property --border-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.button{position:relative;isolation:isolate;overflow:hidden}.button span,.text-link span{transition:transform .3s}.motion-enabled .button:not(.secondary):before{content:'';position:absolute;inset:-100% -30%;z-index:-1;background:linear-gradient(105deg,transparent 35%,#ffffff5c 47%,transparent 60%);transform:translateX(-100%) skewX(-15deg);pointer-events:none}.motion-enabled .button:not(.secondary):hover:before{animation:button-light .8s ease}.motion-enabled .magnetic-button{translate:var(--mag-x,0px) var(--mag-y,0px);transition:translate .25s cubic-bezier(.16,1,.3,1),transform .25s,box-shadow .3s}.button:hover span,.text-link:hover span{transform:translate(4px,-3px)}
.motion-enabled .orbit-one{animation:orbit-a 19s linear infinite}.motion-enabled .orbit-two{animation:orbit-b 26s linear infinite}.motion-enabled .orbit-three{animation:orbit-c 32s linear infinite}.motion-enabled .orbit-dot{animation:beacon 3.5s ease-in-out infinite}.motion-enabled .orbit-dot.two{animation-delay:-1.7s}.motion-enabled .empty-symbol{animation:orbit-symbol 18s linear infinite}.motion-enabled .process-grid article:before{content:'';position:absolute;left:0;right:0;top:-26px;height:2px;background:linear-gradient(90deg,var(--cyan),#895bd58a,transparent);transform:scaleX(0);transform-origin:left}.motion-enabled .process-grid article.is-revealed:before{animation:draw-line 1.2s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--entry-delay)}.motion-enabled .project-dialog[open]{animation:dialog-in .45s cubic-bezier(.16,1,.3,1) both}.motion-enabled #navigation.open{animation:dialog-in .35s cubic-bezier(.16,1,.3,1) both}
.motion-toggle{position:fixed;bottom:17px;right:20px;z-index:9;display:flex;align-items:center;gap:9px;border:1px solid #73a6c345;border-radius:30px;padding:10px 15px;background:#0a1225e8;color:#c2d1e8;backdrop-filter:blur(15px);font:12px/1.4 var(--font);box-shadow:0 4px 25px #0004}.motion-toggle:hover{border-color:#3de8f595;color:var(--cyan)}.motion-toggle svg{width:14px;height:14px;fill:currentColor}.motion-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused [data-reveal]{opacity:1;translate:none;scale:1;transition:none}.motion-paused .hero-content>*,.motion-paused .hero-line>span{opacity:1;transform:none;animation:none!important}.motion-paused .magnetic-button{translate:none}.motion-reduced .scene-ready>img{opacity:1}.motion-reduced .neon-scene,.motion-reduced .scene-panel{display:none}.motion-paused .scene-panel{translate:none}
@keyframes title-in{from{opacity:0;transform:translateY(110%) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes rise-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes spectral-flow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes beacon{0%,100%{opacity:.55;box-shadow:0 0 7px var(--cyan)}50%{opacity:1;box-shadow:0 0 18px var(--cyan)}}
@keyframes glass-float{0%,100%{transform:translateY(0) rotateY(-5deg)}50%{transform:translateY(-14px) rotateY(5deg)}}
@keyframes bar-flow{0%{scale:1 .25}50%{scale:1 1}100%{scale:1 .5}}
@keyframes ambient-flow{from{transform:scale(.9) translateX(-15px);opacity:.6}to{transform:scale(1.1) translateX(15px);opacity:1}}
@keyframes orbit-a{from{transform:rotateX(12deg) rotate(-28deg)}to{transform:rotateX(12deg) rotate(332deg)}}
@keyframes orbit-b{from{transform:rotateX(-15deg) rotate(32deg)}to{transform:rotateX(-15deg) rotate(-328deg)}}
@keyframes orbit-c{from{transform:rotateY(20deg) rotate(90deg)}to{transform:rotateY(20deg) rotate(450deg)}}
@keyframes orbit-symbol{to{transform:rotate(360deg)}}
@keyframes border-orbit{to{--border-angle:360deg}}
@keyframes draw-line{to{transform:scaleX(1)}}
@keyframes button-light{to{transform:translateX(100%) skewX(-15deg)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:800px){.scene-panel{font-size:10px;padding:10px;gap:7px}.scene-panel-content{left:0;top:22%}.scene-panel-visual{right:0;top:18%}.scene-panel-flow{right:-3%;bottom:25%}.scene-bars{display:none}}
@media(max-width:600px){.scene-panel{font-size:10px;padding:9px 11px;gap:7px;border-radius:9px}.scene-panel-content{left:1%;top:20%;rotate:-7deg}.scene-panel-visual{right:0;top:14%;rotate:7deg}.scene-panel-flow{right:0;bottom:24%;font-size:9px}.scene-panel-icon{font-size:18px}.art-caption{bottom:6px;font-size:8px}.motion-enabled .scene-panel{animation-duration:7s}.motion-enabled [data-reveal]{translate:0 22px;scale:1}.motion-enabled [data-reveal].is-revealed{translate:0 0}.motion-toggle{right:12px;bottom:12px;font-size:11px;padding:10px 12px}.motion-enabled .service-card:hover,.motion-enabled .work-card:hover,.motion-enabled .about-visual:hover{transform:none}.motion-enabled .process-grid article:before{top:-15px}.header nav a:after{bottom:5px;width:40px;right:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enabled *,.motion-enabled *:before,.motion-enabled *:after{animation:none!important;transition:none!important}.motion-enabled [data-reveal]{opacity:1;translate:none;scale:1}.hero-art.scene-ready>img{opacity:1}.neon-scene,.scene-panel{display:none}}
