:root{--shiny-cta-bg:#1d2e30;--shiny-cta-bg-subtle:#2b4344;--shiny-cta-fg:#fff;--shiny-cta-highlight:#3eb8aa;--shiny-cta-highlight-subtle:#5dd4c9}@property --gradient-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@property --gradient-angle-offset{syntax:"<angle>";initial-value:0deg;inherits:false}@property --gradient-percent{syntax:"<percentage>";initial-value:5%;inherits:false}@property --gradient-shine{syntax:"<color>";initial-value:#fff;inherits:false}.shiny-cta{--animation:gradient-angle linear infinite;--duration:3s;--shadow-size:2px;background:linear-gradient(var(--shiny-cta-bg),var(--shiny-cta-bg)) padding-box,conic-gradient(from calc(var(--gradient-angle) - var(--gradient-angle-offset)),transparent,var(--shiny-cta-highlight) var(--gradient-percent),var(--gradient-shine) calc(var(--gradient-percent)*2),var(--shiny-cta-highlight) calc(var(--gradient-percent)*3),transparent calc(var(--gradient-percent)*4)) border-box;border:1px solid transparent;box-shadow:inset 0 0 0 1px var(--shiny-cta-bg-subtle);color:var(--shiny-cta-fg);font-family:inherit;font-size:1.125rem;isolation:isolate;line-height:1.2;outline-offset:4px;overflow:hidden;position:relative}.shiny-cta:after,.shiny-cta:before,.shiny-cta>span:before{content:"";inset-block-start:50%;inset-inline-start:50%;pointer-events:none;position:absolute;translate:-50% -50%;z-index:0}.shiny-cta:active{translate:0 1px}.shiny-cta:before{--size:calc(100% - var(--shadow-size)*3);--position:2px;--space:calc(var(--position)*2);background:radial-gradient(circle at var(--position) var(--position),#fff calc(var(--position)/4),transparent 0) padding-box;background-repeat:space;background-size:var(--space) var(--space);border-radius:inherit;height:var(--size);mask-image:conic-gradient(from calc(var(--gradient-angle) + 45deg),#000,transparent 10% 90%,#000);opacity:.4;width:var(--size)}.shiny-cta:after{--animation:shimmer linear infinite;aspect-ratio:1;background:linear-gradient(-50deg,transparent,var(--shiny-cta-highlight),transparent);mask-image:radial-gradient(circle at bottom,transparent 40%,#000);opacity:.6;width:200%}.shiny-cta>span{position:relative;z-index:10}.shiny-cta>span:before{--size:calc(100% + 1rem);box-shadow:inset 0 0 2rem 4px var(--shiny-cta-highlight);height:var(--size);opacity:0;width:var(--size);z-index:-1}.shiny-cta [role=button],.shiny-cta a,.shiny-cta button{position:relative;z-index:20}.shiny-cta{--transition:800ms cubic-bezier(0.25,1,0.5,1);transition:var(--transition);transition-property:--gradient-angle-offset,--gradient-percent,--gradient-shine}.shiny-cta,.shiny-cta:after,.shiny-cta:before{animation:var(--animation) var(--duration),var(--animation) calc(var(--duration)/.4) reverse paused;animation-composition:add}.shiny-cta>span:before{animation:calc(var(--duration)*1.5) breathe linear infinite;transition:opacity var(--transition)}.shiny-cta:is(:hover,:focus-visible){--gradient-percent:20%;--gradient-angle-offset:95deg;--gradient-shine:var(--shiny-cta-highlight-subtle)}.shiny-cta:is(:hover,:focus-visible),.shiny-cta:is(:hover,:focus-visible):after,.shiny-cta:is(:hover,:focus-visible):before{animation-play-state:running}.shiny-cta:is(:hover,:focus-visible) span:before{opacity:1}@keyframes gradient-angle{to{--gradient-angle:360deg}}@keyframes shimmer{to{rotate:1turn}}@keyframes breathe{0%,to{scale:1}50%{scale:1.2}}