/* QPest Pro motion: shared easing, small distances, no layout shifts.
   Content is visible by default; JavaScript only enhances visible sections. */
.pro-page .pro-motion-enter {
  animation: pro-enter 620ms var(--ease-out) var(--pro-enter-delay, 0ms) backwards;
}
@keyframes pro-enter {
  from { opacity: 0; translate: 0 16px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes pro-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}
@keyframes pro-ambient {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(2%, 1%, 0) scale(1.04); }
}
.pro-page[data-pro-motion] { --pro-motion-play-state: paused; }
.pro-page[data-pro-motion="running"] { --pro-motion-play-state: running; }
.pro-page .pro-motion-toggle {
  display: block;
  margin: 8px auto 0;
  padding: 8px 12px;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink-3);
  font: 500 11px/1.5 var(--f-display);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pro-page .pro-motion-toggle:hover { color: var(--ink); }
.pro-page :is(.pro-offer, .pro-annual-card, .pro-catalog-card, .pro-establishment-card) {
  transition: transform 260ms var(--ease-out), box-shadow 260ms var(--ease-out), border-color 200ms;
}
.pro-page :is(.pro-text-link > svg, .pro-faq-list summary > span, .pro-card-breakdown > summary > span, .pro-price-explainer > summary > span) {
  transition: transform 240ms var(--ease-out);
}
.pro-page .pro-choice-grid label > span { transition: border-color 180ms, background-color 180ms; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .pro-page :is(.pro-offer, .pro-annual-card, .pro-catalog-card, .pro-establishment-card):hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-xl);
  }
  .pro-page .pro-segment-card:hover .pro-text-link > svg,
  .pro-page .pro-segment-card:focus-visible .pro-text-link > svg { transform: translateX(4px); }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  .pro-page[data-pro-motion] .pro-hero::before {
    animation: pro-ambient 22s var(--ease-in-out) infinite;
    animation-play-state: var(--pro-motion-play-state);
  }
  .pro-page[data-pro-motion] :is(.pro-dashboard, .pro-stage-label, .pro-dash-bottom) {
    animation: pro-float 6s var(--ease-in-out) infinite;
    animation-play-state: var(--pro-motion-play-state);
  }
  .pro-page[data-pro-motion] .pro-stage-label { animation-delay: -1.5s; }
  .pro-page[data-pro-motion] .pro-dash-bottom { animation-delay: -3s; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.pro-page) { scroll-behavior: auto; }
  .pro-page .pro-motion-enter,
  .pro-page .pro-hero::before,
  .pro-page :is(.pro-dashboard, .pro-stage-label, .pro-dash-bottom) {
    animation: none !important;
    opacity: 1 !important;
    translate: none !important;
    transform: none !important;
  }
  .pro-page :is(.btn, .pro-segment-card, .pro-offer, .pro-annual-card, .pro-catalog-card, .pro-establishment-card):hover {
    transform: none;
  }
}
