/* GLP One Guide motion layer (listicle + cravings). One signature moment: the laurel score "awards" itself
   as each program comes into view. Buttons get a light sheen and responsive feedback. Reduced motion respected. */
@media (prefers-reduced-motion: no-preference){
  /* 1) laurel award: wreath grows from its stem, number counts up (JS), gold laurel gets a shine */
  .gm .gs .gs-n{transform-origin:50% 85%;transition:transform .7s cubic-bezier(.2,1.4,.4,1),opacity .5s ease}
  .gm .gs:not(.gm-in) .gs-n{transform:scale(.55) rotate(-8deg);opacity:0}
  .gm .gs.gm-in .gs-r{animation:gmFade .5s .35s both}
  .gm .gs-top .gs-n::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,transparent 35%,rgba(255,250,225,.95) 50%,transparent 65%) 220% 0/260% 100% no-repeat;
    -webkit-mask:url(/img/laurel-gold.svg) center/contain no-repeat;mask:url(/img/laurel-gold.svg) center/contain no-repeat}
  .gm .gs-top.gm-in .gs-n::after{animation:gmShine 5.5s .9s ease-in-out infinite}
  @keyframes gmShine{0%{background-position:220% 0}22%,100%{background-position:-120% 0}}
  @keyframes gmFade{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}

  /* 2) rank badge settles in when its card arrives */
  .gm .pc .pc-rank{transition:transform .55s cubic-bezier(.2,1.5,.4,1)}
  .gm .pc:not(.gm-seen) .pc-rank{transform:scale(.4)}

  /* 3) buttons (.btn already has its own shine) */: sheen sweep, arrow nudge, press feedback */
  .gm .pc-btn,.gm .ds-btn,.gm .sticky-btn,.gm .rvm-cta{position:relative;overflow:hidden;isolation:isolate}
  .gm .pc-btn::before,.gm .ds-btn::before,.gm .sticky-btn::before,.gm .rvm-cta::before{
    content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;
    background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%) 160% 0/250% 100% no-repeat;transition:background-position .7s ease}
  .gm .pc-btn:hover::before,.gm .ds-btn:hover::before,.gm .sticky-btn:hover::before,.gm .rvm-cta:hover::before{background-position:-90% 0}
  /* the #1 program's buttons keep a slow sheen so the eye finds them */
  .gm .pc-feat .pc-btn::before,.gm .ds-btn::before,.gm .sticky-btn::before{animation:gmSheen 4.8s 1.2s ease-in-out infinite}
  @keyframes gmSheen{0%{background-position:160% 0}28%,100%{background-position:-90% 0}}
  .gm .arr{transition:transform .25s ease}
  .gm a:hover .arr{transform:translateX(4px)}
  .gm .pc-btn:active,.gm .btn:active,.gm .ds-btn:active,.gm .sticky-btn:active,.gm .rvm-cta:active{transform:translateY(1px) scale(.985)}
  /* soft breathing glow on the #1 card button */
  .gm .pc-feat .pc-btn{animation:gmGlow 3.2s ease-in-out infinite}
  @keyframes gmGlow{0%,100%{box-shadow:0 16px 38px -12px rgba(194,80,47,.75)}50%{box-shadow:0 16px 46px -8px rgba(224,121,79,.95)}}

  /* 4) money-back seals turn slowly, like a stamp */
  .gm .mbp-i{animation:gmTurn 22s linear infinite}
  @keyframes gmTurn{to{transform:rotate(360deg)}}

  /* 5) hero numbers count up (JS); keep width stable while counting */
  .gm .proof .n{font-variant-numeric:tabular-nums}
}
