/* Keep lettering above the light pass: the edge moves, readability stays steady. */
.button.cta-attention{background:linear-gradient(110deg,#e7c987,#f5e1b3 48%,#ecd098);color:#241b0e;border:1px solid #f9e7bf;animation:cta-invite 3.2s ease-in-out infinite}
.cta-attention .cta-label{position:relative;z-index:2}
.button.cta-attention::before{content:"";position:absolute;inset:2px;border:1px solid #fff5;border-radius:inherit;pointer-events:none;z-index:1}
.button.cta-attention::after{inset:-50% auto -50% 0;width:34%;background:linear-gradient(100deg,transparent 5%,#fff9 38%,#fffe 50%,#fff9 62%,transparent 95%);animation:cta-light-sweep 3.8s cubic-bezier(.25,.6,.35,1) infinite;z-index:1}
.entry-offer .button.cta-attention::after{animation-delay:.7s}
.button.cta-attention:active{animation-play-state:paused}
@keyframes cta-invite{0%,100%{box-shadow:0 0 0 1px #f2d59026,0 0 16px #efcb8029,0 6px 22px #0003}48%{box-shadow:0 0 0 6px #f2d5901c,0 0 36px #efcb8070,0 8px 26px #d2a95824}70%{box-shadow:0 0 0 9px #f2d59000,0 0 22px #efcb8040,0 6px 22px #0003}}
@keyframes cta-light-sweep{0%,18%{transform:translateX(-155%) skewX(-18deg);opacity:0}23%{opacity:.85}51%{transform:translateX(405%) skewX(-18deg);opacity:.65}56%,100%{transform:translateX(405%) skewX(-18deg);opacity:0}}
@media(hover:hover) and (pointer:fine){.button.cta-attention:hover{background:linear-gradient(110deg,#f0d79f,#ffedc4 48%,#f2d79f)}}
@media(prefers-reduced-motion:reduce){.button.cta-attention,.button.cta-attention::after{animation:none}.button.cta-attention{box-shadow:0 0 18px #efcb8036}.button.cta-attention::after{display:none}}
@media print{.button.cta-attention,.button.cta-attention::after{animation:none}}
