.amg-rv{ transition:opacity .7s ease, transform .85s cubic-bezier(.2,.7,.3,1); will-change:opacity,transform; }
  html.amg-js .amg-rv:not(.amg-in){ opacity:0 !important; transform:translateY(34px) !important; }
  html.amg-js .amg-rv.amg-rv--left:not(.amg-in){ transform:translateX(-44px) !important; }
  html.amg-js .amg-rv.amg-rv--right:not(.amg-in){ transform:translateX(44px) !important; }
  html.amg-js .amg-rv.amg-rv--zoom:not(.amg-in){ transform:scale(.92) !important; }
  [data-tilt]{ transform-style:preserve-3d; transition:transform .25s cubic-bezier(.2,.7,.3,1); }
  [data-magnetic]{ transition:transform .25s cubic-bezier(.2,.7,.3,1); }
  /* looping marquee bands (data-amg-loop) pause while scrolled out of view — !important beats the id-scoped animation shorthand in each section */
  .amg-loop-off{ animation-play-state:paused !important; }
  /* The parent Halo theme pads the page body 80px at the bottom (base.css, homepage excepted),
     which shows as a grey strip under a full-bleed AMG section. AMG sections own their own
     bottom padding, so drop it whenever one closes the page. Specificity beats base.css. */
  .wrapper-body:has(> .shopify-section.amg-section:last-child){ padding-bottom:0; }


  @media (prefers-reduced-motion:reduce){
    html.amg-js .amg-rv:not(.amg-in){ opacity:1 !important; transform:none !important; }
  }
