/* Lightweight, content-led motion. All effects use transform and opacity. */
@media (prefers-reduced-motion: no-preference) {
  .banner .hero-content h1{animation:hero-rise .8s cubic-bezier(.2,.7,.2,1) both}
  .banner .hero-content .role{animation:hero-rise .7s .14s both}
  .banner .hero-content .promise{animation:hero-rise .7s .22s both}
  .banner .hero-content .actions{animation:hero-rise .7s .3s both}
  .banner .hero-proof{animation:hero-rise .7s .4s both}
  .hero-photo img{animation:portrait-enter 1s .15s cubic-bezier(.2,.7,.2,1) both}
  @keyframes hero-rise{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
  @keyframes portrait-enter{from{opacity:0;transform:translate3d(22px,18px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
  .project,.ai-grid article,.story-grid article,.tman-cards>div,.journey>div{transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}
  .project:hover,.project:focus-visible{transform:translate3d(0,-5px,0);box-shadow:0 18px 42px #3b342318}
  .ai-grid article:hover,.story-grid article:hover,.tman-cards>div:hover,.journey>div:hover{transform:translate3d(0,-4px,0);box-shadow:0 12px 28px #3b342310;border-color:#bd9a74}
  .btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}
  .btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px #49321d22}
  .motion-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
  .motion-reveal.motion-visible{opacity:1;transform:translate3d(0,0,0)}
  .ai-grid article:nth-child(2),.journey>div:nth-child(2),.tman-cards>div:nth-child(2){transition-delay:75ms}
  .ai-grid article:nth-child(3),.journey>div:nth-child(3),.tman-cards>div:nth-child(3){transition-delay:150ms}
  .ai-grid article:nth-child(4),.journey>div:nth-child(4){transition-delay:225ms}
  .ai-grid article:nth-child(5){transition-delay:300ms}
  .case-cover .system-map span{transition:transform .3s ease,border-color .3s ease}
  .case-cover .system-map span:hover{transform:translateY(-3px);border-color:#ad835b}
}
@media(prefers-reduced-motion:reduce){.motion-reveal{opacity:1!important;transform:none!important}.banner .hero-content *, .hero-photo img{animation:none!important}.project,.ai-grid article,.story-grid article,.tman-cards>div,.journey>div,.btn{transition:none!important;transform:none!important}}
