/* Add data-site-motion to the public layout, data-motion-scene to each looping scene.
   Content stays visible without JavaScript; mount() enables reveal transitions. */
:where([data-site-motion]) .site-flow-track{fill:none;stroke:currentColor;stroke-width:1;opacity:.2}
:where([data-site-motion]) .site-flow-packet{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-dasharray:9 91;animation:site-flow-travel 5s linear infinite}
:where([data-site-motion]) .site-flow-second{animation-delay:-2.5s}
@keyframes site-flow-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
:where([data-site-motion]) [data-revealed]{transition:opacity .65s ease,translate .65s cubic-bezier(.22,1,.36,1)}
:where([data-site-motion]) [data-revealed="false"]{opacity:0;translate:0 20px}
:where([data-site-motion]) [data-revealed="true"]{opacity:1;translate:0 0}
:where([data-site-motion]) .button,:where([data-site-motion]) .mini-cta{transition:translate .22s ease,box-shadow .22s ease,background-color .22s ease}
:where([data-site-motion]) .button>span{transition:translate .22s ease}
:where([data-site-motion]) .button:active{translate:0 0;scale:.98}
@media(hover:hover){
  :where([data-site-motion]) .button:hover,:where([data-site-motion]) .mini-cta:hover{translate:0 -2px;box-shadow:0 7px 18px #162a2818}
  :where([data-site-motion]) .button:hover>span{translate:2px -2px}
}
:where([data-site-motion]) [data-motion-scene][data-motion-visible="false"],
:where([data-site-motion]) [data-motion-scene][data-motion-visible="false"] *,
:where([data-site-motion].site-page-hidden) *,
:where([data-site-motion].motion-off) *{animation-play-state:paused!important}
:where([data-site-motion].motion-off) [data-revealed]{opacity:1;translate:none;transition:none}
/* Finite entrances must not leave text invisible when the visitor pauses immediately. */
:where([data-site-motion].motion-off) [data-motion-entrance]{animation:none!important}
:where([data-site-motion].motion-off) .button,:where([data-site-motion].motion-off) .mini-cta,
:where([data-site-motion].motion-off) .button>span{transition:none;translate:none;scale:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-site-motion]{scroll-behavior:auto}
  :where([data-site-motion]) *,:where([data-site-motion]) *::before,:where([data-site-motion]) *::after{animation:none!important;transition:none!important;scroll-behavior:auto}
  :where([data-site-motion]) [data-revealed]{opacity:1;translate:none}
}
