/* Shared motion policy. Final content remains visible without JavaScript. */
@keyframes tq-reveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
@keyframes tq-highlight {
  from { color: #c9c6c0; }
  to { color: #1d1c1b; }
}
@keyframes tq-zoom {
  from { transform: scale(1.12); }
  to { transform: scale(1); }
}
@keyframes tq-last-step {
  from { opacity: 0; transform: translateY(10px); }
  4%, to { opacity: 1; transform: none; }
}
@keyframes tq-last-node {
  from { fill: #f8f7f4; }
  3%, to { fill: #1d1c1b; }
}

@media (prefers-reduced-motion: no-preference) {
  :is(.rv, [data-tq-animate="reveal"]) {
    animation: tq-reveal .9s cubic-bezier(.25,.46,.45,.94) both !important;
  }
  :is(.tqh-in, .tq-fade) {
    animation-name: tq-reveal !important;
    animation-duration: .9s !important;
    animation-timing-function: cubic-bezier(.25,.46,.45,.94) !important;
  }
  .rv[data-tq-motion-group] {
    animation: none !important;
  }
  [data-tq-animate="highlight"] {
    animation: tq-highlight .8s ease both !important;
  }
  :is(.zoom, [data-tq-animate="zoom"]) {
    animation: tq-zoom 1.4s cubic-bezier(.22,.8,.24,1) both !important;
  }
  :is(.rv, .zoom, [data-tq-animate]) {
    animation-timeline: auto !important;
    animation-range: normal !important;
  }
  :is(.tqh-line, .tqh-dot, .tqh-ring, .tqh-in, .tq-fade) {
    animation-iteration-count: 1 !important;
  }
  .tq-replay-idle:is(.rv, .zoom, .tqh-in, .tq-fade, [data-tq-animate]),
  .tq-replay-idle :is(.tqh-line, .tqh-dot, .tqh-ring) {
    animation-name: none !important;
  }
  .tq-replay-idle:is(.rv:not([data-tq-motion-group]), .tqh-in, .tq-fade, [data-tq-animate="reveal"]) {
    opacity: 0;
    transform: translateY(10px);
  }
  .tq-replay-idle:focus-within {
    opacity: 1;
    transform: none;
  }
  :is(.tqs-wait .draw, .tqs-wait .lvl) {
    transition: none !important;
  }
  .loop :is(.nshape, .halo, .arc, .lt) {
    animation-iteration-count: 1 !important;
  }
  .loop .lt.lt4 {
    animation-name: tq-last-step;
    animation-fill-mode: forwards;
  }
  .loop .n4 .nshape {
    animation-name: tq-last-node;
    animation-fill-mode: forwards;
  }
  .tq-loop-idle :is(.nshape, .halo, .arc, .lt) {
    animation-name: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.rv, .lit, .zoom, .tqh-in, .tqh-line, .tqh-dot, .tqh-ring, .tq-fade, .loop .nshape, .loop .halo, .loop .arc, .loop .lt, [data-tq-animate]) {
    animation: none !important;
  }
  :is(.draw, .lvl, .seg, .bmline, .pt, .fadein) {
    transition: none !important;
  }
}
