/* AMG motion enhances the existing layout. All content is visible by default. */
:root{--amg-motion-ease:cubic-bezier(.19,1,.22,1)}
.motion-reveal{backface-visibility:hidden}
@view-transition{navigation:auto}
::view-transition-old(root){animation:amg-page-out 180ms ease-out both}
::view-transition-new(root){animation:amg-page-in 420ms cubic-bezier(.19,1,.22,1) both}
@keyframes amg-page-out{to{opacity:0}}
@keyframes amg-page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.motion-depth-layer{translate:calc(var(--motion-pointer-x,0px) + var(--motion-scroll-x,0px)) calc(var(--motion-pointer-y,0px) + var(--motion-scroll-y,0px));rotate:var(--motion-turn,0deg);transition:translate 850ms var(--amg-motion-ease),rotate 850ms var(--amg-motion-ease),transform 700ms var(--amg-motion-ease),width 700ms var(--amg-motion-ease)}
.motion-ambient-scroll{translate:0 var(--motion-scroll-y,0px);transition:translate 950ms var(--amg-motion-ease)}
.motion-ready .sculpture-orbit{animation:amg-orbit-sway 18s ease-in-out infinite alternate}
.motion-ready .sculpture-orbit.orbit-b{animation-name:amg-orbit-counter;animation-duration:22s}
.motion-ready .sculpture-halo{animation:amg-halo-breathe 10s ease-in-out infinite alternate}
.motion-ready .meaning-visual:before{animation:amg-meaning-breathe 8s ease-in-out infinite alternate;animation-play-state:paused}
.motion-ready:not(.motion-paused):not(.motion-document-hidden) .meaning-visual.is-motion-inview:before{animation-play-state:running}
.motion-ready .motion-loop{animation-play-state:paused!important}
.motion-ready:not(.motion-paused):not(.motion-document-hidden) .motion-loop.is-motion-inview{animation-play-state:running!important}
.motion-ready .sculpture-float{animation-duration:7.5s}
.motion-ready .stage-dot{transition:box-shadow 450ms ease,background 450ms ease,scale 450ms var(--amg-motion-ease)}
.motion-ready .stage-tabs button:is(:hover,:focus-visible) .stage-dot{scale:1.5}
.motion-ready .device-controls button,.motion-ready .channel-controls button{transition:background 250ms ease,color 250ms ease,box-shadow 250ms ease}
.motion-ready :is(.device-controls,.channel-controls) button:is(:hover,:focus-visible){box-shadow:inset 0 0 0 1px var(--deep)}
.motion-ready :is(.text-link,.bs-text-link,.ow-link,.breadcrumb){transition:color 250ms ease,translate 350ms var(--amg-motion-ease),border-color 250ms ease}
.motion-ready :is(.text-link,.bs-text-link,.ow-link,.breadcrumb):is(:hover,:focus-visible){translate:0 -2px}
.motion-ready .client-index a{transition:background 350ms ease,box-shadow 350ms ease}
.motion-ready .client-index a:is(:hover,:focus-visible){background:#a38ac612;box-shadow:inset 0 -3px 0 var(--purple)}
.motion-ready .client-index img{transition:scale 650ms var(--amg-motion-ease)}
.motion-ready .client-index a:is(:hover,:focus-visible) img{scale:1.045}
.motion-ready :is(.belief-grid,.bs-challenges,.bs-related-grid) article{transition:border-color 350ms ease}
.motion-ready :is(.belief-grid,.bs-challenges,.bs-related-grid) article:focus-within{border-color:var(--deep)}
.motion-ready .watch-button{transition:background 300ms ease,box-shadow 300ms ease,translate 350ms var(--amg-motion-ease)}
.motion-ready .watch-button:is(:hover,:focus-visible){translate:0 -3px;box-shadow:0 10px 28px #0003}
@keyframes amg-orbit-sway{from{rotate:-7deg;scale:.98}to{rotate:9deg;scale:1.04}}
@keyframes amg-orbit-counter{from{rotate:8deg;scale:1.025}to{rotate:-10deg;scale:.98}}
@keyframes amg-halo-breathe{from{opacity:.5;scale:.94}to{opacity:1;scale:1.08}}
@keyframes amg-meaning-breathe{from{scale:1;opacity:.5}to{scale:1.065;opacity:1}}
@media(max-width:850px){
  .motion-depth-layer,.motion-ambient-scroll{translate:none;rotate:none}
  .motion-ready .sculpture-orbit{animation-duration:24s}
  .motion-ready .sculpture-float{animation-duration:10s}
}
/* Pause also removes transitional motion and scroll effects from existing UI. */
html.motion-paused{scroll-behavior:auto!important}
html.motion-paused{view-transition-name:none}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation-play-state:paused!important;transition:none!important}
html.motion-paused .motion-depth-layer,html.motion-paused .motion-ambient-scroll{translate:none!important;rotate:none!important}
html.motion-paused .motion-reveal{opacity:1!important}
html.motion-paused .button:hover{transform:none!important}
html.motion-paused.motion-ready :is(.text-link,.bs-text-link,.ow-link,.breadcrumb,.watch-button):is(:hover,:focus-visible){translate:none!important}
html.motion-paused.motion-ready .client-index a:is(:hover,:focus-visible) img,html.motion-paused.motion-ready .stage-tabs button:is(:hover,:focus-visible) .stage-dot{scale:none!important}
html.motion-document-hidden .motion-loop,html.motion-document-hidden .meaning-visual:before{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  html{view-transition-name:none}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .motion-reveal{opacity:1!important}
  .motion-depth-layer,.motion-ambient-scroll{translate:none!important;rotate:none!important}
  .motion-ready :is(.text-link,.bs-text-link,.ow-link,.breadcrumb,.watch-button):is(:hover,:focus-visible){translate:none!important}
  .motion-ready .client-index a:is(:hover,:focus-visible) img,.motion-ready .stage-tabs button:is(:hover,:focus-visible) .stage-dot{scale:none!important}
}
