/* TechnoSys Website - smart balanced motion system (R93)
   Card/content reveals now favor bottom-to-top movement with smoother, slightly slower timing.
   Only specific UI groups may use directional staging; whole card sections no longer slide horizontally. */
:root{
  --ts-motion-ease:cubic-bezier(.22,1,.36,1);
  --ts-motion-fast:220ms;
  --ts-motion-normal:820ms;
  --ts-motion-slow:960ms;
}
.motion-enter{
  opacity:0;
  translate:0 30px;
  transition:opacity var(--ts-motion-normal) var(--ts-motion-ease),translate var(--ts-motion-slow) var(--ts-motion-ease);
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,translate;
}
.motion-enter.motion-from-left{translate:-20px 12px}
.motion-enter.motion-from-right{translate:20px 12px}
.motion-enter.motion-soft-scale{translate:0 22px}
.motion-enter.motion-in{opacity:1;translate:0 0}
.section-head.motion-enter,.partner-story-head.motion-enter{transition-duration:var(--ts-motion-slow)}
.section-head.motion-in .eyebrow:before,.partner-story-head.motion-in .eyebrow:before{animation:tsLineGrow 620ms var(--ts-motion-ease) both}
@keyframes tsLineGrow{from{transform:scaleX(.45);transform-origin:left;opacity:.45}to{transform:scaleX(1);transform-origin:left;opacity:1}}
.module-card,.cap,.relationship-card,.voice-card,.why-item,.career-panel,.client-mini,.info-card,.benefit-showcase-card,.job-card,.flow-item,.metric{
  transition:translate var(--ts-motion-fast) var(--ts-motion-ease),box-shadow var(--ts-motion-fast) var(--ts-motion-ease),border-color var(--ts-motion-fast) ease,background-color var(--ts-motion-fast) ease;
}
.module-card:hover,.cap:hover,.relationship-card:hover,.voice-card:hover,.why-item:hover,.career-panel:hover,.client-mini:hover,.info-card:hover,.benefit-showcase-card:hover,.job-card:hover{translate:0 -2px}
.relationship-card img,.voice-card img,.product-stage img,.industry-stage img,.dash-stage img,.career-panel img,.job-card img{transition:transform 620ms var(--ts-motion-ease)}
.relationship-card:hover img,.voice-card:hover img,.product-stage:hover img,.industry-stage:hover img,.dash-stage:hover img,.career-panel:hover img,.job-card:hover img{transform:scale(1.007)}
.btn,.link-arrow,.industry-tab,.platform-nav button,.dash-tab{transition:translate 190ms var(--ts-motion-ease),box-shadow 190ms var(--ts-motion-ease),background-color 190ms ease,border-color 190ms ease,color 190ms ease}
.btn:hover,.link-arrow:hover{translate:0 -1px}
.btn:active,.industry-tab:active,.platform-nav button:active,.dash-tab:active{translate:0 1px}
.partner-parallax-content .partner-story-head.motion-enter,.partner-parallax-content>p.motion-enter,.benefit-showcase-copy.motion-enter,.benefit-showcase-stage.motion-enter{translate:0 28px}
.partner-parallax-content .partner-story-head.motion-in,.partner-parallax-content>p.motion-in,.benefit-showcase-copy.motion-in,.benefit-showcase-stage.motion-in{translate:0 0}
@media(prefers-reduced-motion:reduce){
  .motion-enter,.motion-enter.motion-from-left,.motion-enter.motion-from-right,.partner-parallax-content .partner-story-head.motion-enter,.partner-parallax-content>p.motion-enter,.benefit-showcase-copy.motion-enter,.benefit-showcase-stage.motion-enter{opacity:1!important;translate:0 0!important;transition:none!important;animation:none!important}
  .section-head.motion-in .eyebrow:before,.partner-story-head.motion-in .eyebrow:before{animation:none!important}
  .module-card:hover,.cap:hover,.relationship-card:hover,.voice-card:hover,.why-item:hover,.career-panel:hover,.client-mini:hover,.info-card:hover,.benefit-showcase-card:hover,.job-card:hover,.btn:hover,.link-arrow:hover{translate:0 0!important}
  .relationship-card:hover img,.voice-card:hover img,.product-stage:hover img,.industry-stage:hover img,.dash-stage:hover img,.career-panel:hover img,.job-card:hover img{transform:none!important}
}
@media(max-width:760px){
  .motion-enter{translate:0 20px;transition-duration:700ms}
  .motion-enter.motion-from-left{translate:-14px 8px}.motion-enter.motion-from-right{translate:14px 8px}
  .motion-enter.motion-in{translate:0 0}
}
