html{scroll-behavior:smooth}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(40px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}.reveal.fade-up{transform:translateY(40px)}.reveal.fade-down{transform:translateY(-40px)}.reveal.fade-left{transform:translate(-40px)}.reveal.fade-right{transform:translate(40px)}.reveal.zoom-in{transform:scale(.92)}.reveal.zoom-out{transform:scale(1.08)}.reveal.is-visible.fade-up,.reveal.is-visible.fade-down,.reveal.is-visible.fade-left,.reveal.is-visible.fade-right{transform:translate(0,0)}.reveal.is-visible.zoom-in,.reveal.is-visible.zoom-out{transform:scale(1)}.reveal-stagger>*{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}.reveal-stagger.is-visible>:first-child{opacity:1;transition-delay:50ms;transform:translate(0,0)}.reveal-stagger.is-visible>:nth-child(2){opacity:1;transition-delay:.15s;transform:translate(0,0)}.reveal-stagger.is-visible>:nth-child(3){opacity:1;transition-delay:.25s;transform:translate(0,0)}.reveal-stagger.is-visible>:nth-child(4){opacity:1;transition-delay:.35s;transform:translate(0,0)}.reveal-stagger.is-visible>:nth-child(5){opacity:1;transition-delay:.45s;transform:translate(0,0)}.reveal-stagger.is-visible>:nth-child(6){opacity:1;transition-delay:.55s;transform:translate(0,0)}.parallax-container{position:relative;overflow:hidden}.parallax-bg{will-change:transform;transition:transform .1s linear;position:absolute;inset:0}.parallax-bg img,.parallax-bg svg{object-fit:cover;object-position:center;width:100%;height:120%}@keyframes textReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes textSlideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes textSlideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes textZoom{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.text-reveal{animation:.8s cubic-bezier(.2,.7,.2,1) both textReveal}.text-slide-left{animation:.8s cubic-bezier(.2,.7,.2,1) both textSlideLeft}.text-slide-right{animation:.8s cubic-bezier(.2,.7,.2,1) both textSlideRight}.text-zoom{animation:.8s cubic-bezier(.2,.7,.2,1) both textZoom}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes glowPulse{0%,to{opacity:.72;transform:scale(.98)}50%{opacity:1;transform:scale(1.04)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes badgeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-float{animation:6s ease-in-out infinite float}.animate-float-slow{animation:8s ease-in-out infinite floatSlow}.animate-pulse{animation:4s ease-in-out infinite pulse}.animate-glow{animation:8s ease-in-out infinite glowPulse}.animate-spin{animation:20s linear infinite spin}.animate-badge-float{animation:10s ease-in-out infinite badgeFloat}.animate-fade-in-up{animation:.8s ease-out both fadeInUp}.animate-fade-in{animation:.6s ease-out both fadeIn}.animate-scale-in{animation:.6s ease-out both scaleIn}.animate-slide-left{animation:.7s ease-out both slideInLeft}.animate-slide-right{animation:.7s ease-out both slideInRight}.section-progress{z-index:100;pointer-events:none;background:var(--canvas);width:100%;height:2px;position:fixed;top:0;left:0}.section-progress:before{content:"";background:var(--accent);width:0;height:100%;transition:width .3s var(--ease-spring);position:absolute;top:0;left:0}.section-progress.active:before{width:var(--progress,0%)}.scroll-snap-container{scroll-snap-type:y mandatory;height:100vh;overflow-y:scroll}.scroll-snap-section{scroll-snap-align:start;min-height:100vh}[id]{scroll-margin-top:5.5rem}.page-progress-bar{z-index:999999;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0d5b68 0%,#06b6d4 50%,#f97316 100%);height:3.5px;position:fixed;top:0;left:0;right:0;transform:translate(-100%)}.page-progress-bar.active{opacity:1;animation:.65s cubic-bezier(.2,.8,.2,1) forwards pageProgressSweep;box-shadow:0 0 14px #06b6d4d9}@keyframes pageProgressSweep{0%{transform:translate(-100%)}45%{transform:translate(-20%)}85%{transform:translate(-5%)}to{opacity:0;transform:translate(0%)}}.page-transition-wrapper{width:100%}@keyframes pageFadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:1rem;height:1rem;animation:.65s linear infinite spinnerRotate;display:inline-block}.btn-spinner.dark{border-color:#0f172a33;border-top-color:var(--primary)}@keyframes spinnerRotate{to{transform:rotate(360deg)}}.skeleton-shimmer{background:linear-gradient(90deg,#e2e8f099 25%,#f1f5f9e6 50%,#e2e8f099 75%) 0 0/200% 100%;border-radius:.5rem;animation:1.6s ease-in-out infinite shimmerWave}@keyframes shimmerWave{0%{background-position:200% 0}to{background-position:-200% 0}}.cad-scanning-bar{background:#0d5b681a;border-radius:9999px;width:100%;height:6px;margin:.75rem 0;position:relative;overflow:hidden}.cad-scanning-fill{background:linear-gradient(90deg,#0d5b68,#06b6d4,#10b981);border-radius:9999px;height:100%;transition:width .3s ease-out;animation:1.2s ease-in-out infinite cadScanGlow}@keyframes cadScanGlow{0%,to{box-shadow:0 0 8px #06b6d466}50%{box-shadow:0 0 16px #10b981cc}}.hover-lift{transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-spring)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0f172a1a}.hover-scale{transition:transform var(--dur-fast) var(--ease-spring)}.hover-scale:hover{transform:scale(1.03)}.hover-glow{transition:box-shadow var(--dur-fast) var(--ease-spring)}.hover-glow:hover{box-shadow:0 0 20px #d4865f4d}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}.parallax-bg{transform:none!important}}
