/* Intentional motion: guides attention without competing with the sales message. */
:root { --scroll-progress: 0; }

@media (prefers-reduced-motion: no-preference) {
  body::before {
    background: linear-gradient(90deg, var(--yellow), #9bcb8a, var(--mint));
    content: "";
    height: 4px;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    transform: scaleX(var(--scroll-progress));
    transform-origin: left center;
    transition: transform .12s linear;
    z-index: 60;
  }

  .hero-dashboard-art {
    --dashboard-shift-x: 0px;
    --dashboard-shift-y: 0px;
    animation: dashboard-float 7s ease-in-out infinite;
    transform-origin: center center;
    will-change: transform;
  }

  .hero .pulse-dot { animation: pulse-dot 2.6s ease-in-out infinite; }
  .hero .button-primary span { animation: arrow-nudge 1.8s ease-in-out infinite; }

  .pain-card,
  .price-card,
  .insight-card,
  .contact-options a { transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease, border-color .28s ease; }

  .pain-card:hover { transform: translate(-4px, -6px); }
  .price-card:hover { border-color: var(--yellow); transform: translateY(-8px); }
  .price-card.featured:hover { transform: translateY(-16px); }
  .insight-card:hover { transform: translateY(-6px); }
  .contact-options a:hover { transform: translateX(7px); }
  .service-row:hover .service-icon { transform: rotate(45deg) scale(1.08); }
  .service-icon { transition: transform .24s ease, background-color .24s ease; }

  .pain-grid .reveal:nth-child(2),
  .pricing-grid .reveal:nth-child(2),
  .insight-grid .reveal:nth-child(2) { transition-delay: .1s; }
  .pain-grid .reveal:nth-child(3),
  .pricing-grid .reveal:nth-child(3),
  .insight-grid .reveal:nth-child(3) { transition-delay: .2s; }
  .insight-grid .reveal:nth-child(4) { transition-delay: .3s; }
  .service-row.reveal:nth-child(2) { transition-delay: .05s; }
  .service-row.reveal:nth-child(3) { transition-delay: .1s; }
  .service-row.reveal:nth-child(4) { transition-delay: .15s; }
  .service-row.reveal:nth-child(5) { transition-delay: .2s; }
  .service-row.reveal:nth-child(6) { transition-delay: .25s; }

  @keyframes dashboard-float {
    0%, 100% { transform: translate3d(var(--dashboard-shift-x), calc(-50% + var(--dashboard-shift-y)), 0); }
    50% { transform: translate3d(calc(var(--dashboard-shift-x) - 9px), calc(-58% + var(--dashboard-shift-y)), 0); }
  }

  @keyframes pulse-dot {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 213, 61, .45); transform: scale(1); }
    45% { box-shadow: 0 0 0 7px rgba(255, 213, 61, 0); transform: scale(1.12); }
  }

  @keyframes arrow-nudge {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(4px); }
  }
}

@media (max-width: 850px) {
  .hero-dashboard-art { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-dashboard-art,
  .hero-marquee div { animation: none !important; }
  .reveal { transition-duration: .01ms; }
}

:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 4px;
}
