/* Approved ambient signal motion: pointer-safe and behind the content. */
.scroll-surface{position:relative;isolation:isolate;--signal-rgb:6,82,134}
.scroll-surface.dark,.scroll-surface.engineering,.scroll-surface.solutions-section,.scroll-surface.silicon-section,.scroll-surface.planning-section{--signal-rgb:86,185,255}
[data-theme="dark"] .scroll-surface{--signal-rgb:125,198,255}
.scroll-surface>.container{position:relative;z-index:1}
.scroll-signal{position:absolute;top:24px;left:6%;width:88%;height:1px;background:rgba(var(--signal-rgb),.12);opacity:var(--signal-opacity,0);pointer-events:none;overflow:hidden;z-index:0}
.scroll-signal::after{content:"";position:absolute;inset:0 auto 0 0;width:21%;background:linear-gradient(90deg,transparent,rgba(var(--signal-rgb),.68) 65%,#d65527);transform:translate3d(var(--signal-x,0%),0,0)}
.scroll-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;mask-image:linear-gradient(transparent,#000 15%,#000 75%,transparent)}
.scroll-halo{position:absolute;top:10%;right:-17%;width:clamp(440px,55vw,860px);aspect-ratio:1;border:1px solid rgba(var(--signal-rgb),.26);border-radius:50%;background:radial-gradient(ellipse at 60% 35%,rgba(var(--signal-rgb),.055),transparent 64%);transform:translate3d(var(--halo-x,0px),var(--halo-y,0px),0) scale(var(--halo-scale,.8));opacity:var(--halo-opacity,0)}
.scroll-halo::before,.scroll-halo::after{content:"";position:absolute;inset:9%;border:1px solid rgba(var(--signal-rgb),.19);border-radius:50%}
.scroll-halo::after{inset:-9%;border-color:#d655272e}
.scroll-fx-ready .human-statement{position:relative}
.scroll-fx-ready .human-statement::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#065286,#2d8fd3 80%,#d65527);transform-origin:left;transform:scaleX(var(--rule-progress,0));pointer-events:none}
.scroll-fx-ready .template-photo-depth{scale:1.07}
.scroll-fx-ready .hero-image{
  animation: none;
  transform: scale(var(--hero-zoom, 1.12));
  transform-origin: 65% 52%;
}.scroll-fx-ready .hero-content{
  translate: 0 var(--hero-copy-y, 0px);
}.scroll-fx-ready .scroll-depth{
  translate: 0 var(--depth-y, 0px);
}.scroll-fx-ready .scroll-depth-crop{
  scale: 1.18;
}.scroll-fx-ready .hardware-showcase > .scroll-depth{
  animation: none;
  transform: rotateY(var(--product-turn, -16deg)) rotateZ(var(--product-lean, -8deg));
}.scroll-fx-ready .resource-art img{
  scale: var(--image-scale, 1);
}.scroll-fx-ready .scroll-step{
  transition: opacity .9s ease, translate 1.05s cubic-bezier(.2,.7,.2,1);
  transition-delay: var(--step-delay, 0ms);
}.scroll-fx-ready .scroll-step:not(.scroll-entered){
  opacity: 0;
  translate: 0 38px;
}.scroll-fx-ready .scroll-step.scroll-entered{
  opacity: 1;
  translate: 0 0;
}.scroll-fx-ready .scroll-step:focus-within{
  opacity: 1;
  translate: 0 0;
  transition-delay: 0ms;
}.scroll-fx-ready.motion-ready .reveal{
  transition-duration: .95s, 1.15s;
}.scroll-fx-ready.motion-ready .reveal:not(.is-visible){
  transform: translateY(54px) scale(.985);
}.motion-paused .scroll-signal,.motion-paused .scroll-atmosphere,.motion-paused .human-statement::before{
  opacity: 0 !important;
}.motion-paused .scroll-depth,.motion-paused .scroll-step,.motion-paused .hero-content,.motion-paused .resource-art img{
  translate: none !important;
  scale: 1 !important;
  opacity: 1 !important;
  transition: none !important;
}.motion-paused .hero-image{ transform: none !important; }
@media (max-width: 700px) {.scroll-halo{right:-65%;width:520px}.scroll-signal{top:16px}.scroll-fx-ready .scroll-depth-crop{ scale: 1.12; }.scroll-fx-ready.motion-ready .reveal:not(.is-visible){ transform: translateY(32px); }.scroll-fx-ready .scroll-step:not(.scroll-entered){ translate: 0 26px; }
}
@media (prefers-reduced-motion: reduce) {.scroll-signal,.scroll-atmosphere,.scroll-fx-ready .human-statement::before{display:none}.scroll-fx-ready .scroll-depth,.scroll-fx-ready .scroll-step,.scroll-fx-ready .hero-content,.scroll-fx-ready .resource-art img{
    translate: none !important;
    scale: 1 !important;
    opacity: 1 !important;
    transition: none !important;
  }.scroll-fx-ready .hero-image{ transform: none; }.scroll-fx-ready.motion-ready .reveal:not(.is-visible){ transform: none; }
}
