/* CTA and scroll animations adapted from automationhub.cloud. */
.animated-cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .18s ease,filter .18s ease,background-color .18s ease}
.animated-cta::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-70%;width:46%;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.1) 25%,rgba(255,255,255,.88) 50%,rgba(255,255,255,.1) 75%,transparent 100%);transform:skewX(-18deg);pointer-events:none;opacity:0}
.animated-cta.cta-shine::after{animation:cta-shine .95s ease-out}
.animated-cta:hover{transform:translateY(-2px);filter:brightness(.94)}
.button-secondary{transition:transform .18s ease,background-color .18s ease}
.button-secondary:hover{background:#fff;transform:translateY(-2px)}
@keyframes cta-shine{0%{left:-55%;opacity:0}12%{opacity:.9}100%{left:125%;opacity:0}}
@keyframes scroll-cue-bounce{0%,100%{transform:translate(-50%,0);opacity:.55}50%{transform:translate(-50%,9px);opacity:1}}
.scroll-cue{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:44px;height:34px;color:var(--berry);transition:opacity .25s ease,visibility .25s ease;animation:scroll-cue-bounce 1.7s ease-in-out infinite}
.scroll-cue::before{content:"";width:16px;height:16px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);border-radius:1px}
.scroll-cue.is-hidden{opacity:0;visibility:hidden;pointer-events:none;animation-play-state:paused}
.scroll-cue:focus-visible{outline:3px solid var(--berry);outline-offset:3px;border-radius:10px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.animated-cta,.button-secondary,.scroll-cue{transition:none}.animated-cta.cta-shine::after,.scroll-cue{animation:none}}
