/* Lenis owns wheel interpolation; CSS smooth scrolling is the native fallback. */
html.has-lenis{scroll-behavior:auto!important}
.motion-scene{position:relative;--scene-entry:1;--scene-shift:0px;--scene-beam-x:430%}
.transition-edge{position:absolute;inset:0 0 auto;height:42px;overflow:hidden;pointer-events:none;z-index:3;border-top:1px solid #6ba9fa26}
.transition-edge:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#3f8aeb0b,transparent);opacity:var(--scene-entry)}
.transition-beam{display:block;position:absolute;top:-1px;left:0;width:23%;height:2px;background:linear-gradient(90deg,transparent,#72b6ff,#c0e1ff,transparent);box-shadow:0 0 18px #499bff7a;transform:translate3d(var(--scene-beam-x),0,0)}
.transition-edge i{position:absolute;top:0;width:1px;height:7px;background:#6ca7ed66;left:25%}
.transition-edge i:nth-of-type(2){left:50%}.transition-edge i:nth-of-type(3){left:75%}
.motion-enabled .hero-media{transform:translate3d(0,var(--hero-shift,0px),0) scale(1.04);will-change:transform}
.motion-enabled .consulting-image>img{transform:translate3d(0,var(--scene-shift),0) scale(1.09);will-change:transform}
.motion-enabled .contact-lines{transform:translate3d(var(--scene-shift),0,0) skewX(-25deg)}
.motion-enabled .architecture-mark{translate:0 var(--scene-shift)}
.js .reveal{transition-duration:.95s;transition-delay:var(--reveal-delay,0ms);transition-timing-function:cubic-bezier(.16,1,.3,1)}
.js .reveal h2{transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.js .reveal:not(.visible) h2{clip-path:inset(0 0 10% 0);transform:translateY(20px)}
.js .reveal.visible h2{clip-path:inset(0);transform:none}
.js .service-grid .reveal:not(.visible){transform:translateY(38px)}
.js .client-names>.reveal,.js .history-milestones>.reveal{transition-duration:.8s}
.product-image-wrap .product-image-next{position:absolute;inset:0;height:100%;width:100%;z-index:1;opacity:0;transform:scale(1.045);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1)}
.product-image-wrap .product-image-next.is-visible{opacity:1;transform:scale(1)}
.product-image-wrap .image-index,.product-image-wrap .visual-cross{z-index:2;pointer-events:none}
.product-image-wrap:after{z-index:3}
.history-milestones{position:relative}
.history-milestones:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,#367ce4,#a7d4ff);transform:scaleX(var(--scene-entry));transform-origin:left}
@media(max-width:800px){.transition-edge{height:28px}.transition-edge i{height:5px}.js .service-grid .reveal:not(.visible){transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){
  html.has-lenis{scroll-behavior:auto!important}
  .transition-beam,.transition-edge:after{display:none}
  .hero-media,.consulting-image>img,.contact-lines,.architecture-mark{will-change:auto!important;translate:none!important}
  .hero-media,.consulting-image>img{transform:none!important}
  .js .reveal,.js .reveal h2,.js .service-grid .reveal:not(.visible){clip-path:none!important;transform:none!important;opacity:1!important;transition:none!important}
  .product-image-wrap .product-image-next{transition:none!important;transform:none!important}
}
