/* Shared page motion. Native controls, forms, tables and map contents keep their DOM. */
.page-kinetic-word { display:inline-block; white-space:nowrap; transform-origin:50% 85%; }
.page-kinetic-letter { display:inline-block; transform-origin:50% 85%; }
@keyframes page-type-sway {
  0%,100% { translate:0 0; rotate:-.7deg; }
  50% { translate:0 -3px; rotate:1deg; }
}
@keyframes page-caption-sway {
  0%,100% { translate:0 0; rotate:-.15deg; }
  50% { translate:0 -2px; rotate:.3deg; }
}
@media (hover:hover) and (pointer:fine) {
  .page-kinetic :is(.hero,.ui-hero,.page-header):hover .page-kinetic-word,
  .page-kinetic [data-kinetic]:hover .page-kinetic-word {
    animation:page-type-sway 1.5s ease-in-out infinite;
  }
  .page-kinetic-word:nth-child(2n) { animation-delay:-.35s; }
  .page-kinetic-word:nth-child(3n) { animation-delay:-.7s; }
  .page-kinetic :is(.hero,.ui-hero):hover > p,
  .page-kinetic :is(.hero,.ui-hero):hover .hero-copy > p {
    animation:page-caption-sway 1.5s ease-in-out infinite;
  }
}
.page-kinetic :is(a.tool-card,.hub-category-link,a.button,a.btn,a.download-button,a.seat-tab,button,summary:not([role=group])) {
  rotate:0deg;
  transition:rotate .4s ease,transform .4s ease,box-shadow .4s ease!important;
}
@media (hover:hover) and (pointer:fine) {
  .page-kinetic :is(a.tool-card,.hub-category-link,a.button,a.btn,a.download-button,a.seat-tab):hover,
  .page-kinetic button:not(:disabled):not([aria-disabled=true]):hover,
  .page-kinetic summary:not([role=group]):hover { rotate:-1deg; }
}
.page-kinetic :is(a.tool-card,.hub-category-link,a.button,a.btn,a.download-button,a.seat-tab):focus-visible,
.page-kinetic button:not(:disabled):focus-visible { rotate:-1deg; }
.page-kinetic :is(button:disabled,[aria-disabled=true]) { rotate:0deg!important; }
.page-kinetic :is(button:disabled,[aria-disabled=true]) { animation:none; }
@media print {
  .page-kinetic * { animation:none!important; translate:none!important; rotate:none!important; }
  .page-kinetic-letter { transform:none!important; opacity:1!important; }
}
