/* ASP — shared motion & micro-interactions (additive, loaded after each page's inline styles) */

/* Scroll progress bar (injected by motion.js) */
#scroll-prog{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,var(--red,#ff161f),var(--red-d,#cc0007));
  z-index:1200;pointer-events:none;
  box-shadow:0 0 12px rgba(255,22,31,.5);
  transition:width .08s linear;
}
@media (prefers-reduced-motion: reduce){
  #scroll-prog{transition:none;}
}

@media (prefers-reduced-motion: no-preference){

  /* ── Buttons ── */
  .btn{transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .2s ease,border-color .2s ease,color .2s ease;}
  .btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(13,34,53,.22);}
  .btn:active{transform:translateY(-1px);box-shadow:0 6px 14px rgba(13,34,53,.18);}

  /* ── Cards: lift + shadow ── */
  .or-card,.proc-step,.mv-card,.stat-cell,.fq-card,.prom-card,.who-card,.why-card,
  .tech-card,.sidebar-card,.art-card,.form-card,.page-tile,.req-card{
    transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .3s ease;
  }
  .or-card:hover,.mv-card:hover,.fq-card:hover,.prom-card:hover,.who-card:hover,
  .why-card:hover,.tech-card:hover,.art-card:hover,.page-tile:hover,.req-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 44px rgba(13,34,53,.16);
  }
  .stat-cell:hover{transform:translateY(-4px);}

  /* ── Process steps: lift + accent + number wake-up ── */
  .proc-step:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 44px rgba(13,34,53,.16);
    border-color:var(--red,#ff161f);
  }
  .proc-step .proc-n{transition:color .35s ease,transform .35s cubic-bezier(.16,1,.3,1);}
  .proc-step:hover .proc-n{color:rgba(255,22,31,.22);transform:translateY(-2px);}

  /* ── Chips ── */
  .role-chip,.kpi-chip{transition:transform .2s ease,background .2s ease;}
  .role-chip:hover,.kpi-chip:hover{transform:translateY(-2px);}

  /* ── Nav links: underline grow ── */
  .nav-links a{position:relative;}
  .nav-links a::after{
    content:'';position:absolute;left:0;bottom:-5px;height:2px;width:0;
    background:var(--red,#ff161f);transition:width .26s cubic-bezier(.16,1,.3,1);
  }
  .nav-links a:hover::after{width:100%;}

  /* ── Inline arrow nudge inside links/buttons ── */
  .see-all,.ho-ctas .btn,.cta-btns .btn{will-change:transform;}
}
