.story-copy .trainer-tier-note{font-size:16px;line-height:1.6;border-left:3px solid #dcad35;padding-left:16px;margin:18px 0}
.gold-tier-link{color:#77520b;font-weight:800;text-decoration:underline;text-decoration-color:#dba82c;text-underline-offset:4px;background:linear-gradient(transparent 60%,#ffe38799 60%);border-radius:3px}
.gold-tier-link:hover{color:#473000;background:#ffe387}.gold-tier-link:focus-visible{outline:3px solid #b98716;outline-offset:4px}
#vip-plus,#shiny-vip{scroll-margin-top:28px}.plan-more{font-weight:700;color:#386853}
.feature-stories{overflow-x:clip}
.feature-reveal{opacity:0;transform:translate3d(calc(var(--reveal-direction,1)*76px),12px,0);transition:opacity .65s ease,transform .85s cubic-bezier(.16,1,.3,1)}
.feature-reveal.is-visible{opacity:1;transform:none}
.feature-recording.feature-reveal{transition-delay:100ms}
/* A separate inner animation keeps the slide and finishing accent independent. */
.feature-recording:before{content:none}
.feature-recording.is-visible video{animation-duration:.65s;animation-delay:.92s;animation-timing-function:ease-out;animation-fill-mode:backwards}
.feature-recording[data-accent=settle].is-visible video{animation-name:demo-settle}
.feature-recording[data-accent=lift].is-visible video{animation-name:demo-lift}
.feature-recording[data-accent=tilt].is-visible video{animation-name:demo-tilt}
.feature-recording[data-accent=nod].is-visible video{animation-name:demo-nod}
.feature-recording[data-accent=focus].is-visible video{animation-name:demo-focus}
.feature-recording[data-accent=shine]:after,.feature-recording[data-accent=bloom]:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0}
.feature-recording[data-accent=shine]:after{background:linear-gradient(110deg,transparent 25%,#fff9 48%,transparent 65%);transform:translateX(-100%)}
.feature-recording[data-accent=shine].is-visible:after{animation:demo-shine .9s .92s ease-out}
.feature-recording[data-accent=bloom]:after{background:radial-gradient(ellipse at 50% 50%,#e6d8ff88,transparent 70%)}
.feature-recording[data-accent=bloom].is-visible:after{animation:demo-bloom .8s .92s ease-out}
.feature-recording .demo-playback{z-index:2}
@keyframes demo-settle{0%{transform:scale(1)}45%{transform:scale(1.018)}100%{transform:scale(1)}}
@keyframes demo-lift{0%,100%{transform:translateY(0)}45%{transform:translateY(-5px)}}
@keyframes demo-tilt{0%,100%{transform:rotate(0)}35%{transform:rotate(-.65deg)}70%{transform:rotate(.3deg)}}
@keyframes demo-nod{0%,100%{transform:scale(1)}40%{transform:scale(.99)}75%{transform:scale(1.005)}}
@keyframes demo-focus{0%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes demo-shine{0%{opacity:0;transform:translateX(-100%)}20%{opacity:.8}85%{opacity:.5}100%{opacity:0;transform:translateX(100%)}}
@keyframes demo-bloom{0%,100%{opacity:0}45%{opacity:.8}}
@media(max-width:760px){.feature-reveal{transform:translate3d(calc(var(--reveal-direction,1)*76px),0,0);transition:opacity .7s ease,transform .95s cubic-bezier(.22,.8,.3,1)}.feature-reveal.is-visible{transform:none}.story-copy .trainer-tier-note{font-size:16px}}
.motion-paused .feature-reveal{opacity:1;transform:none;transition:none}
.motion-paused .feature-recording video,.motion-paused .feature-recording:after{animation:none!important}
@media(prefers-reduced-motion:reduce){.feature-reveal{opacity:1;transform:none;transition:none}.feature-recording video,.feature-recording:after{animation:none!important}}
