/* V14: responsive action controls and moving light sweep. Scoped to public CMS. */
.hero-copy,.hero-actions,.hero-actions > * {min-width:0}
.hero-actions {flex-wrap:wrap;row-gap:12px;column-gap:18px}
.hero-actions .btn,.hero-actions .textlink {max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
/* Light sweep uses an overlay; buttons remain clickable. */
main .btn,main .roundbtn,.header .btn {position:relative;isolation:isolate;overflow:hidden}
main .btn::after,main .roundbtn::after,.header .btn::after {
 content:"";position:absolute;z-index:1;pointer-events:none;inset:0;
 background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.08) 39%,rgba(255,255,255,.65) 50%,rgba(255,255,255,.08) 61%,transparent 75%);
 transform:translateX(-180%);animation:cms-button-shine 3.8s ease-in-out infinite;
}
main .textlink {position:relative;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere}
main .textlink::after {content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:linear-gradient(90deg,transparent,currentColor,transparent);transform:scaleX(0);transform-origin:left;animation:cms-link-light 3.8s ease-in-out infinite}
@keyframes cms-button-shine {0%,14%{transform:translateX(-180%)}45%,100%{transform:translateX(180%)}}
@keyframes cms-link-light {0%,15%,70%,100%{transform:scaleX(0);opacity:0}35%,55%{transform:scaleX(1);opacity:.9}}
@media(max-width:600px){
 .hero-actions {display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-top:22px;width:100%}
 .hero-actions .btn {flex:1 1 170px;padding:12px 15px;font-size:14px;line-height:1.4}
 .hero-actions .textlink {flex:1 1 115px;justify-content:center;padding:10px 4px;font-size:14px;line-height:1.4}
 .header .nav {min-width:0;flex-wrap:wrap;gap:8px;padding-block:10px}
 .header .brand {min-width:0;max-width:calc(100% - 130px);overflow-wrap:anywhere}
 .header .btn.small {max-width:130px;min-width:0;white-space:normal;text-align:center;line-height:1.35}
 .hero-copy {width:100%}
 .hero-copy .trust {flex-wrap:wrap}
}
@media(max-width:360px){.hero-actions .btn,.hero-actions .textlink{flex-basis:100%}.header .brand{font-size:14px}}
@media(prefers-reduced-motion:reduce){main .btn::after,main .roundbtn::after,.header .btn::after,main .textlink::after{animation:none;display:none}}
