/** Site-wide motion extensions for Rose IT BD interior pages. */
:root{--rit-reveal-time:480ms;--rit-reveal-distance:16px}
/* Include template-specific controls and cards in the same transition system as Phase 01. */
:where(.rose-services-page,.rose-projects-page,.rose-about,.rose-contact-page,.product-hero,.product-details,.woocommerce) :is(a,button,input,select,textarea,.services-detail-card,.package-card,.portfolio-card,.about-service-card,.about-team-card,.contact-channel,.contact-form-panel,.spec-card,.product-gallery,.product-info){
 transition-property:color,background-color,border-color,box-shadow,transform,opacity;
 transition-duration:var(--rit-motion-base,240ms);
 transition-timing-function:var(--rit-motion-ease,cubic-bezier(.2,.75,.3,1));
}
@media(hover:hover) and (pointer:fine){
 :is(.services-detail-card,.package-card,.portfolio-card,.about-service-card,.about-team-card,.contact-channel,.spec-card):hover{
  transform:translateY(-3px);box-shadow:0 18px 38px rgba(44,26,88,.11);border-color:#b69bed;
 }
 :where(.rose-services-page,.rose-projects-page,.rose-about,.rose-contact-page,.product-hero,.product-details) :is(.services-primary,.services-secondary,.projects-primary,.about-button,.contact-primary,.contact-secondary,.services-card-link,.about-text-link,a.button,button[type=submit]):hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(72,38,147,.17)}
 :is(.portfolio-card,.services-detail-card,.about-service-card,.contact-channel) img{transition:transform 340ms cubic-bezier(.2,.75,.3,1)}
 :is(.portfolio-card,.services-detail-card,.about-service-card,.contact-channel):hover img{transform:scale(1.025)}
}
/* Progressive enhancement: pending is added only by JS, never from the server. */
@media(prefers-reduced-motion:no-preference){
 body:not(.home) .rit-page-reveal-pending{opacity:0;transform:translate3d(0,var(--rit-reveal-distance),0);transition:opacity var(--rit-reveal-time) ease,transform var(--rit-reveal-time) cubic-bezier(.2,.7,.2,1);transition-delay:var(--rit-reveal-delay,0ms)}
 body:not(.home) .rit-page-reveal-pending.rit-page-reveal-visible{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce){
 body:not(.home) .rit-page-reveal-pending{opacity:1;transform:none;transition:none}
}
