/* Shared CTA finish; the legal-dialog controls retain their simpler treatment. */
.button.button-premium{
 --cta-height:60px;
 --pointer-x:50%;--pointer-y:50%;
 position:relative;isolation:isolate;overflow:hidden;
 min-height:var(--cta-height);padding:12px 15px 12px 25px;gap:24px;
 border:1px solid transparent;border-radius:100px;
 background:linear-gradient(135deg,#0b48c4 0%,#125bd6 49%,#0643b3 100%) padding-box,linear-gradient(135deg,#80baff,#2867d1 45%,#06328e) border-box;
 color:#fff;font-size:.9375rem;font-weight:650;letter-spacing:.005em;
 box-shadow:0 2px 3px #06389818,0 9px 22px -9px #0953ca69,inset 0 1px 0 #ffffff40,inset 0 -2px 0 #062c8930;
 transform:translateY(0) scale(1);
 transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease;
}
.button.button-premium>.button-label{position:relative;z-index:2;font:inherit;line-height:1.45;letter-spacing:inherit;text-align:left}
.button.button-premium>span.button-arrow{
 position:relative;z-index:2;display:block;flex:0 0 30px;width:30px;height:30px;
 overflow:hidden;border-radius:0;background:none;transform:none;transition:none;
}
.button.button-premium>span.button-arrow svg{
 position:absolute;inset:4px;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;
 stroke-linecap:round;stroke-linejoin:round;transform:translate(0,0);
 transition:transform .5s cubic-bezier(.22,.8,.22,1);
}
.button.button-premium>span.button-arrow .button-arrow-next{transform:translate(-140%,140%)}
.button.button-premium::before{
 content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(ellipse 110px 70px at var(--pointer-x) var(--pointer-y),#58b3ff14,transparent 75%);
 opacity:0;transform:none;transition:opacity .28s ease;
}
.button.button-premium::after{
 content:'';position:absolute;inset:-1px;z-index:1;pointer-events:none;
 background:linear-gradient(108deg,transparent 20%,#bce8ff10 37%,#e2f5ff22 49%,#bce8ff10 61%,transparent 78%);
 opacity:0;transform:translateX(-120%);
}
.button.button-premium.button-small{--cta-height:48px;padding:7px 10px 7px 19px;gap:14px;font-size:.875rem}
.price-card .button.button-premium,form .button.button-premium{width:100%;justify-content:space-between;padding:12px 15px 12px 24px}
.button.button-premium.button-outline{
 background:linear-gradient(135deg,#fff,#f1f7ff) padding-box,linear-gradient(135deg,#aac7ed,#d7e7fb 50%,#85afe4) border-box;
 color:#163f77;box-shadow:0 5px 16px -10px #2a65ae50,inset 0 1px 0 #fff;
}
.button.button-premium.button-outline::before{background:radial-gradient(ellipse 110px 70px at var(--pointer-x) var(--pointer-y),#65a9ff22,transparent 75%)}
.button.button-premium.button-outline::after{background:linear-gradient(108deg,transparent 22%,#c2ddff70 49%,transparent 76%)}
.button.button-premium:focus-visible{outline:3px solid #0e4faf;outline-offset:5px;box-shadow:0 0 0 2px #fff,0 10px 24px -9px #0953ca69}
.button.button-premium:focus-visible::before{opacity:1}
.button.button-premium:disabled,.button.button-premium[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
@media(hover:hover) and (pointer:fine){
 .button.button-premium:not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-3px);box-shadow:0 3px 5px #06389818,0 16px 30px -12px #0953ca85,inset 0 1px 0 #ffffff50,inset 0 -2px 0 #062c8930}
 .button.button-premium.button-outline:hover{box-shadow:0 12px 25px -15px #2a65ae75,inset 0 1px 0 #fff}
 .button.button-premium:hover::before{opacity:1}
 .button.button-premium:hover>span.button-arrow{background:none;transform:none}
 .button.button-premium:hover>span.button-arrow svg{transform:translate(140%,-140%)}
 .button.button-premium:hover>span.button-arrow .button-arrow-next{transform:translate(0,0)}
}
.button.button-premium:focus-visible>span.button-arrow{background:none;transform:none}
.button.button-premium:focus-visible>span.button-arrow svg{transform:translate(140%,-140%)}
.button.button-premium:focus-visible>span.button-arrow .button-arrow-next{transform:translate(0,0)}
.button.button-premium:not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px) scale(.985);box-shadow:0 2px 7px -3px #06389844,inset 0 2px 4px #062c8938;transition-duration:.1s}
@media(prefers-reduced-motion:no-preference){
 .button.button-premium.is-revealing::after{animation:cta-entry-light .95s cubic-bezier(.2,.65,.3,1) both}
 .button.button-premium:focus-visible::after{animation:cta-action-light .8s cubic-bezier(.2,.65,.3,1) both}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
 .button.button-premium:hover::after{animation:cta-action-light .8s cubic-bezier(.2,.65,.3,1) both}
}
@keyframes cta-entry-light{0%{opacity:0;transform:translateX(-120%)}20%,65%{opacity:.8}100%{opacity:0;transform:translateX(120%)}}
@keyframes cta-action-light{0%{opacity:0;transform:translateX(-120%)}20%,65%{opacity:.8}100%{opacity:0;transform:translateX(120%)}}
@media(max-width:700px){
 .button.button-premium{--cta-height:58px;font-size:.875rem;padding:11px 13px 11px 21px;gap:18px}
 .button.button-premium.button-small{--cta-height:44px;padding:6px 8px 6px 16px;gap:9px;font-size:.875rem}
 .button.button-premium.button-small>span.button-arrow{width:27px;height:27px;flex-basis:27px}
 .button.button-premium.button-small>span.button-arrow svg{inset:3px;width:21px;height:21px}
 .price-card .button.button-premium,form .button.button-premium{padding:11px 13px 11px 21px}
}
@media(max-width:370px){.button.button-premium.button-small{font-size:.8125rem;padding-left:12px;gap:7px}}
@media(prefers-reduced-motion:reduce){
 .button.button-premium,.button.button-premium::before,.button.button-premium::after,.button.button-premium>span.button-arrow svg{animation:none!important;transition:none!important}
 .button.button-premium:hover,.button.button-premium:active{transform:none!important}
 .button.button-premium>span.button-arrow svg{transform:none!important}
 .button.button-premium>span.button-arrow .button-arrow-next{display:none}
 .button.button-premium::after{display:none}
}
@media print{.button.button-premium{box-shadow:none}.button.button-premium::before,.button.button-premium::after{display:none}}
