/* SpecBridge motion system. Existing layout, content, navigation and controls remain authoritative. */
:root{--sb-motion-ease:cubic-bezier(.2,.75,.25,1);--sb-motion-duration:520ms;--sb-motion-y:6px}
.sb-reveal{transition:opacity var(--sb-motion-duration) var(--sb-motion-ease),translate var(--sb-motion-duration) var(--sb-motion-ease),filter var(--sb-motion-duration) var(--sb-motion-ease);transition-delay:var(--sb-reveal-delay,0ms)}
.sb-reveal[data-sb-visible="false"]{opacity:.22;translate:0 var(--sb-motion-y);filter:blur(1px)}
.sb-reveal[data-sb-visible="true"]{opacity:1;translate:0 0;filter:none}
[data-sb-motion-level="minimal"]{--sb-motion-duration:300ms;--sb-motion-y:4px}
[data-sb-motion-level="minimal"] .sb-reveal[data-sb-visible="false"]{opacity:.65;filter:none}
.sb-reveal:focus-within{opacity:1!important;translate:none!important;filter:none!important}
/* Native sticky positioning stays inside the original section. No scroll-position writes. */
@media(min-width:1101px) and (prefers-reduced-motion:no-preference){
 [data-sb-motion-page="how"] .customer-process,
 [data-sb-motion-page="platform"] .sb-platform-stack .sub-card-grid,
 [data-sb-motion-page="datacenter"] .project-grid,
 [data-sb-motion-page="bess"] .operation-cards{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:clamp(38px,7vh,76px);isolation:isolate}
 .sb-stack> .sb-stack-card{position:sticky;top:var(--sb-stack-top,110px);align-self:start;height:100%;box-sizing:border-box;z-index:var(--sb-stack-z,1);scale:var(--sb-stack-scale,1);transform-origin:50% 0;opacity:1;transition:scale 160ms linear,box-shadow 200ms ease;background-color:var(--surface,#f5f8fa);box-shadow:0 10px 24px #0b263413}
 .sb-stack> .sb-stack-card.sb-stack-front{scale:1;box-shadow:0 20px 38px #0b26341f}
 .sb-stack> .sb-stack-card:focus-within{z-index:30;scale:1}
 [data-sb-motion-page="datacenter"] .project-grid>article{padding:24px;border:1px solid var(--line);border-radius:10px}
 .sb-stack[data-sb-stack-mode="flow"]>.sb-stack-card{position:relative;top:auto;scale:1;box-shadow:none}
 .sb-parallax-visual{translate:0 var(--sb-parallax-y,0px)}
}
@media(min-width:1101px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .sb-magnetic{translate:var(--sb-mag-x,0px) var(--sb-mag-y,0px);transition:translate 160ms var(--sb-motion-ease)}
 .sb-magnetic[data-sb-magnet-live]{transition-duration:60ms}
 .sb-icon-motion{transition:translate 200ms ease,scale 200ms ease}
 .sb-icon-host:hover .sb-icon-motion{translate:0 -2px;scale:1.04}
 .sb-icon-host:nth-child(2n):hover .sb-icon-motion{translate:2px 0;scale:1.025}
 .sb-icon-host:nth-child(3n):hover .sb-icon-motion{translate:0 0;scale:1.06}
 .sb-depth{transition:box-shadow 200ms ease,translate 200ms ease}
 .sb-depth:hover{translate:0 -2px;box-shadow:0 12px 28px #112b4014}
}
/* Progressive native details animation; semantics and keyboard interaction stay native. */
@supports (interpolate-size:allow-keywords){
 [data-sb-motion-level="light"] details{interpolate-size:allow-keywords}
 [data-sb-motion-level="light"] details::details-content{block-size:0;opacity:0;overflow:clip;transition:block-size 200ms ease,opacity 180ms ease,content-visibility 200ms;transition-behavior:allow-discrete}
 [data-sb-motion-level="light"] details[open]::details-content{block-size:auto;opacity:1}
}
/* The v12 profile keeps its own controllers; only amplitudes are unified here. */
[data-sb-motion-page="profile"] .carousel-card.is-focus,[data-sb-motion-page="profile"] .credential-card.is-focus{transform:scale(1)!important}
[data-sb-motion-page="profile"] .carousel-card.is-near,[data-sb-motion-page="profile"] .credential-card.is-near{transform:scale(.95);filter:blur(.7px) saturate(.88)}
html.motion-paused .sb-reveal,body.motion-paused .sb-reveal{opacity:1!important;translate:none!important;filter:none!important;transition:none!important}
html.motion-paused :is(.sb-magnetic,.sb-parallax-visual),body.motion-paused :is(.sb-magnetic,.sb-parallax-visual){translate:none!important}
html.motion-paused .sb-icon-motion,body.motion-paused .sb-icon-motion{translate:none!important;scale:1!important;transition:none!important}
[data-sb-motion-page] :is(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--cyan,#248fa9);outline-offset:4px}
@media(max-width:1100px){.sb-reveal{--sb-motion-y:4px;--sb-motion-duration:340ms;filter:none!important}.sb-magnetic,.sb-parallax-visual{translate:none!important}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .sb-reveal{opacity:1!important;translate:none!important;filter:none!important;transition:none!important}
 .sb-magnetic,.sb-parallax-visual,.sb-depth,.sb-icon-motion{translate:none!important;scale:1!important;transition:none!important}
 .sb-stack>.sb-stack-card{position:relative!important;top:auto!important;scale:1!important;transition:none!important}
 details::details-content{transition:none!important}
}
@media print{.sb-reveal{opacity:1!important;translate:none!important;filter:none!important}.sb-stack>.sb-stack-card{position:static!important;scale:1!important;break-inside:avoid}.sb-magnetic,.sb-parallax-visual{translate:none!important}}
