/* Invictus Heritage · motion (transform/opacity only; off for reduced motion) */
@media (prefers-reduced-motion:no-preference){
  /* hero: photo settles in, then text rises line by line */
  .hero-wrap{overflow:hidden}
  .slot-hero{animation:settle 2.4s cubic-bezier(.23,1,.32,1) both}
  @keyframes settle{from{transform:scale(1.12);opacity:.4}}
  .hero>div>*,.hero .cov{animation:rise .7s cubic-bezier(.23,1,.32,1) both}
  .hero>div>:nth-child(1){animation-delay:.15s}
  .hero>div>:nth-child(2){animation-delay:.25s}
  .hero>div>:nth-child(3){animation-delay:.38s}
  .hero>div>:nth-child(4){animation-delay:.5s}
  .hero>div>:nth-child(5){animation-delay:.6s}
  .hero .cov{animation-delay:.7s}
  .pg>*{animation:rise .7s cubic-bezier(.23,1,.32,1) both}
  .pg>:nth-child(2){animation-delay:.12s}
  .pg>:nth-child(3){animation-delay:.24s}
  .pg>:nth-child(n+4){animation-delay:.36s}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}}

  /* gold buttons: light sweep every few seconds */
  .b1{position:relative;overflow:hidden;isolation:isolate}
  .b1::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);animation:sweep 4.5s ease-in-out 1.6s infinite}
  @keyframes sweep{0%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}
  .btn{transition:transform 160ms cubic-bezier(.23,1,.32,1),opacity 160ms}
  .btn:active{transform:scale(.96)}

  /* bottom bar slides up after the hero */
  .bar{animation:up .5s cubic-bezier(.23,1,.32,1) .9s both}
  @keyframes up{from{transform:translateY(100%)}}

  /* header gets a shadow once you scroll */
  .top{transition:box-shadow 200ms}
  .top.sc{box-shadow:0 8px 24px rgba(0,0,0,.45)}

  /* sections rise as they come into view */
  .rv{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.23,1,.32,1),transform .6s cubic-bezier(.23,1,.32,1)}
  .rv.on{opacity:1;transform:none}
}
