/* Lightweight, optional motion layer. It only activates after motion.js adds .motion-ready. */
@media (prefers-reduced-motion:no-preference){
  .motion-ready .hero-copy>.eyebrow,.motion-ready .hero-copy>h1,.motion-ready .hero-copy>.lead,.motion-ready .hero-copy>.hero-actions,.motion-ready .hero-copy>.hero-stats{opacity:0;transform:translateY(18px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1)}
  .motion-ready .hero.motion-active .hero-copy>.eyebrow,.motion-ready .hero.motion-active .hero-copy>h1,.motion-ready .hero.motion-active .hero-copy>.lead,.motion-ready .hero.motion-active .hero-copy>.hero-actions,.motion-ready .hero.motion-active .hero-copy>.hero-stats{opacity:1;transform:translateY(0)}
  .motion-ready .hero-copy>h1{transition-delay:.08s}.motion-ready .hero-copy>.lead{transition-delay:.18s}.motion-ready .hero-copy>.hero-actions{transition-delay:.28s}.motion-ready .hero-copy>.hero-stats{transition-delay:.38s}
  .motion-ready .hero-sun{animation:pebo-hero-light 14s ease-in-out infinite}.motion-ready .map-grid{animation:pebo-grid-drift 18s linear infinite}.motion-ready .route:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#f0a24a;box-shadow:0 0 0 5px rgba(240,162,74,.12);animation:pebo-route-dot 4.8s ease-in-out infinite}.motion-ready .route-a:after{right:-4px;top:-4px}.motion-ready .route-b:after{left:-4px;bottom:-4px;animation-delay:-2.4s}.motion-ready .pin{animation:pebo-pin-pulse 3.6s ease-in-out infinite}.motion-ready .pin-b{animation-delay:-1.2s}.motion-ready .pin-c{animation-delay:-2.4s}
  .motion-ready .motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}.motion-ready .motion-reveal.is-inview{opacity:1;transform:translateY(0)}
  .motion-ready .service-card.motion-reveal{transform:translateY(18px)}.motion-ready .service-card.motion-reveal.is-inview{transform:translateY(0)}.motion-ready .service-card:hover{transform:translateY(-6px);box-shadow:0 20px 38px rgba(11,39,66,.17)}.motion-ready .service-card .service-icon{transition:transform .35s cubic-bezier(.22,1,.36,1),color .35s ease}.motion-ready .service-card:hover .service-icon{transform:translate(3px,-3px) scale(1.05);color:#2877ff}
  .motion-ready .cta-box{background-size:135% 135%;animation:pebo-cta-drift 16s ease-in-out infinite}.motion-ready .button span,.motion-ready .text-link span,.motion-ready .service-more span{display:inline-block;transition:transform .24s ease}.motion-ready .button:hover span,.motion-ready .text-link:hover span,.motion-ready .service-more:hover span{transform:translateX(4px)}
  @keyframes pebo-hero-light{50%{transform:translate3d(-20px,22px,0) scale(1.04);opacity:.42}}@keyframes pebo-grid-drift{50%{background-position:17px 17px}}@keyframes pebo-route-dot{50%{transform:translate(-16px,13px);opacity:.65}}@keyframes pebo-pin-pulse{50%{box-shadow:0 0 0 11px rgba(40,119,255,.06)}}@keyframes pebo-cta-drift{50%{background-position:100% 50%}}
}
@media (prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important;transform:none!important;transition:none!important}.map-grid,.route:after,.pin,.cta-box{animation:none!important}}
