/* Canonical visual owner for explicitly enrolled public primary CTAs. */
.ctg-cta{
  --ctg-cta-border:rgba(255,255,255,.94);
  --ctg-cta-highlight-start:rgba(255,255,255,.98);
  --ctg-cta-highlight-mid:rgba(255,255,255,.46);
  --ctg-cta-highlight-end:rgba(255,255,255,0);
  --ctg-cta-surface-top:#fff;
  --ctg-cta-surface-mid:#f8f9ff;
  --ctg-cta-surface-bottom:#e9edff;
  --ctg-cta-color:#171a20;
  --ctg-cta-focus:rgba(184,198,255,.72);
  --ctg-cta-focus-offset:4px;
  --ctg-cta-inset-top:rgba(255,255,255,1);
  --ctg-cta-inset-bottom:rgba(112,126,180,.16);
  --ctg-cta-depth:#cbd3ef;
  --ctg-cta-depth-secondary:rgba(114,126,171,.34);
  --ctg-cta-ambient:rgba(0,0,0,.22);
  --ctg-cta-hairline:rgba(184,198,255,.14);
  --ctg-cta-sheen-start:rgba(255,255,255,.52);
  --ctg-cta-sheen-end:rgba(255,255,255,0);
  --ctg-cta-hover-border:#fff;
  --ctg-cta-hover-highlight-start:rgba(255,255,255,1);
  --ctg-cta-hover-highlight-mid:rgba(255,255,255,.56);
  --ctg-cta-hover-highlight-end:rgba(255,255,255,0);
  --ctg-cta-hover-surface-top:#fff;
  --ctg-cta-hover-surface-mid:#fbfbff;
  --ctg-cta-hover-surface-bottom:#eef1ff;
  --ctg-cta-hover-inset-top:rgba(255,255,255,1);
  --ctg-cta-hover-inset-bottom:rgba(112,126,180,.14);
  --ctg-cta-hover-depth:#cbd3ef;
  --ctg-cta-hover-depth-secondary:rgba(114,126,171,.30);
  --ctg-cta-hover-ambient:rgba(0,0,0,.26);
  --ctg-cta-hover-hairline:rgba(184,198,255,.20);
  --ctg-cta-active-inset-top:rgba(255,255,255,.92);
  --ctg-cta-active-inset-press:rgba(96,106,146,.10);
  --ctg-cta-active-inset-bottom:rgba(112,126,180,.11);
  --ctg-cta-active-depth:#cbd3ef;
  --ctg-cta-active-depth-secondary:rgba(114,126,171,.24);
  --ctg-cta-active-ambient:rgba(0,0,0,.18);
  --ctg-cta-active-hairline:rgba(184,198,255,.16);
  position:relative;
  isolation:isolate;
  overflow:visible;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:56px;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:0 24px;
  border:1px solid var(--ctg-cta-border);
  border-radius:4px;
  background:
    radial-gradient(120% 82% at 50% -8%,var(--ctg-cta-highlight-start) 0%,var(--ctg-cta-highlight-mid) 32%,var(--ctg-cta-highlight-end) 68%),
    linear-gradient(180deg,var(--ctg-cta-surface-top) 0%,var(--ctg-cta-surface-mid) 54%,var(--ctg-cta-surface-bottom) 100%);
  color:var(--ctg-cta-color);
  box-shadow:
    inset 0 1px 0 var(--ctg-cta-inset-top),
    inset 0 -1px 0 var(--ctg-cta-inset-bottom),
    0 3px 0 var(--ctg-cta-depth),
    0 5px 0 var(--ctg-cta-depth-secondary),
    0 13px 24px var(--ctg-cta-ambient),
    0 0 0 1px var(--ctg-cta-hairline);
  font-family:var(--ctg-public-font-body,"Manrope",sans-serif);
  font-size:16px;
  font-weight:700;
  line-height:1.1;
  letter-spacing:.035em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
  transform:translateY(0);
  transition:
    transform .18s cubic-bezier(.22,.61,.36,1),
    box-shadow .18s cubic-bezier(.22,.61,.36,1),
    border-color .18s ease,
    background .18s ease,
    filter .18s ease;
  will-change:transform;
}

.ctg-cta::before{
  position:absolute;
  z-index:-3;
  inset:-10px;
  border-radius:inherit;
  background:radial-gradient(ellipse at 50% 62%,rgba(184,198,255,.22),rgba(184,198,255,.07) 40%,rgba(184,198,255,0) 72%);
  content:"";
  opacity:.34;
  filter:blur(14px);
  transition:opacity .25s ease,transform .25s ease;
  pointer-events:none;
}

.ctg-cta::after{
  position:absolute;
  z-index:1;
  inset:1px 1px auto;
  height:44%;
  border-radius:3px 3px 44% 44% / 3px 3px 18% 18%;
  background:linear-gradient(180deg,var(--ctg-cta-sheen-start),var(--ctg-cta-sheen-end));
  content:"";
  opacity:.58;
  pointer-events:none;
}

.ctg-cta:hover,
.ctg-cta:focus-visible{
  border-color:var(--ctg-cta-hover-border);
  outline:none;
  background:
    radial-gradient(125% 88% at 50% -10%,var(--ctg-cta-hover-highlight-start) 0%,var(--ctg-cta-hover-highlight-mid) 34%,var(--ctg-cta-hover-highlight-end) 70%),
    linear-gradient(180deg,var(--ctg-cta-hover-surface-top) 0%,var(--ctg-cta-hover-surface-mid) 52%,var(--ctg-cta-hover-surface-bottom) 100%);
  box-shadow:
    inset 0 1px 0 var(--ctg-cta-hover-inset-top),
    inset 0 -1px 0 var(--ctg-cta-hover-inset-bottom),
    0 4px 0 var(--ctg-cta-hover-depth),
    0 6px 0 var(--ctg-cta-hover-depth-secondary),
    0 18px 30px var(--ctg-cta-hover-ambient),
    0 0 0 1px var(--ctg-cta-hover-hairline);
  transform:translateY(-2px);
  filter:brightness(1.012);
}

.ctg-cta:hover::before,
.ctg-cta:focus-visible::before{
  opacity:.48;
  transform:scale(1.025);
}

.ctg-cta:active{
  box-shadow:
    inset 0 1px 0 var(--ctg-cta-active-inset-top),
    inset 0 2px 5px var(--ctg-cta-active-inset-press),
    inset 0 -1px 0 var(--ctg-cta-active-inset-bottom),
    0 1px 0 var(--ctg-cta-active-depth),
    0 2px 0 var(--ctg-cta-active-depth-secondary),
    0 6px 12px var(--ctg-cta-active-ambient),
    0 0 0 1px var(--ctg-cta-active-hairline);
  transform:translateY(2px);
  filter:brightness(.995);
}

.ctg-cta:active::before{
  opacity:.24;
  transform:scale(.985);
}

.ctg-cta:focus-visible{
  outline:2px solid var(--ctg-cta-focus);
  outline-offset:var(--ctg-cta-focus-offset);
}

.ctg-cta__label{
  position:relative;
  z-index:3;
}

.ctg-cta--strong{font-weight:800;}
.ctg-cta--title-case{text-transform:none;}
.ctg-cta--full{width:100%;}
.ctg-cta--compact{min-height:34px;padding:0;font-size:12px;letter-spacing:.025em;}
.ctg-cta--editorial{min-height:58px;padding:1rem 1.75rem;font-size:1rem;font-weight:750;line-height:1.25;letter-spacing:-.018em;text-transform:none;}
.ctg-cta--diagnostic{min-height:54px;padding:0 28px;font-size:15px;letter-spacing:.015em;line-height:1.1;text-transform:none;white-space:normal;}
.ctg-cta--large{min-height:72px;padding:0 32px;font-size:15px;letter-spacing:.15em;line-height:1.2;}

.ctg-cta:is(.ctg-cta--blue,.ctg-cta--dark){
  --ctg-cta-border:color-mix(in srgb,var(--ctg-cta-material-bright) 34%,var(--ctg-cta-material));
  --ctg-cta-highlight-start:color-mix(in srgb,var(--ctg-cta-material-bright) 18%,transparent);
  --ctg-cta-highlight-mid:color-mix(in srgb,var(--ctg-cta-material-bright) 6%,transparent);
  --ctg-cta-surface-top:color-mix(in srgb,var(--ctg-cta-material-bright) 16%,var(--ctg-cta-material));
  --ctg-cta-surface-mid:var(--ctg-cta-material);
  --ctg-cta-surface-bottom:color-mix(in srgb,var(--ctg-cta-material-deep) 30%,var(--ctg-cta-material));
  --ctg-cta-color:var(--ctg-cta-material-text);
  --ctg-cta-focus:color-mix(in srgb,var(--ctg-cta-material-bright) 72%,var(--ctg-cta-material));
  --ctg-cta-inset-top:color-mix(in srgb,var(--ctg-cta-material-bright) 22%,transparent);
  --ctg-cta-inset-bottom:color-mix(in srgb,var(--ctg-cta-material-deep) 18%,transparent);
  --ctg-cta-depth:color-mix(in srgb,var(--ctg-cta-material-bright) 18%,var(--ctg-cta-material-deep));
  --ctg-cta-depth-secondary:color-mix(in srgb,var(--ctg-cta-material-deep) 48%,transparent);
  --ctg-cta-ambient:color-mix(in srgb,var(--ctg-cta-material-shadow) 28%,transparent);
  --ctg-cta-hairline:color-mix(in srgb,var(--ctg-cta-material-bright) 16%,transparent);
  --ctg-cta-sheen-start:color-mix(in srgb,var(--ctg-cta-material-bright) 14%,transparent);
  --ctg-cta-hover-border:color-mix(in srgb,var(--ctg-cta-material-bright) 42%,var(--ctg-cta-material));
  --ctg-cta-hover-highlight-start:color-mix(in srgb,var(--ctg-cta-material-bright) 22%,transparent);
  --ctg-cta-hover-highlight-mid:color-mix(in srgb,var(--ctg-cta-material-bright) 8%,transparent);
  --ctg-cta-hover-surface-top:color-mix(in srgb,var(--ctg-cta-material-bright) 22%,var(--ctg-cta-material));
  --ctg-cta-hover-surface-mid:color-mix(in srgb,var(--ctg-cta-material-bright) 7%,var(--ctg-cta-material));
  --ctg-cta-hover-surface-bottom:color-mix(in srgb,var(--ctg-cta-material-deep) 22%,var(--ctg-cta-material));
  --ctg-cta-hover-inset-top:color-mix(in srgb,var(--ctg-cta-material-bright) 26%,transparent);
  --ctg-cta-hover-inset-bottom:color-mix(in srgb,var(--ctg-cta-material-deep) 16%,transparent);
  --ctg-cta-hover-depth:color-mix(in srgb,var(--ctg-cta-material-bright) 22%,var(--ctg-cta-material-deep));
  --ctg-cta-hover-depth-secondary:color-mix(in srgb,var(--ctg-cta-material-deep) 44%,transparent);
  --ctg-cta-hover-ambient:color-mix(in srgb,var(--ctg-cta-material-shadow) 32%,transparent);
  --ctg-cta-hover-hairline:color-mix(in srgb,var(--ctg-cta-material-bright) 20%,transparent);
  --ctg-cta-active-inset-top:color-mix(in srgb,var(--ctg-cta-material-bright) 15%,transparent);
  --ctg-cta-active-inset-press:color-mix(in srgb,var(--ctg-cta-material-shadow) 18%,transparent);
  --ctg-cta-active-inset-bottom:color-mix(in srgb,var(--ctg-cta-material-deep) 16%,transparent);
  --ctg-cta-active-depth:color-mix(in srgb,var(--ctg-cta-material-bright) 16%,var(--ctg-cta-material-deep));
  --ctg-cta-active-depth-secondary:color-mix(in srgb,var(--ctg-cta-material-deep) 40%,transparent);
  --ctg-cta-active-ambient:color-mix(in srgb,var(--ctg-cta-material-shadow) 24%,transparent);
  --ctg-cta-active-hairline:color-mix(in srgb,var(--ctg-cta-material-bright) 16%,transparent);
}

.ctg-cta--blue{
  --ctg-cta-material-bright:#6b9fee;
  --ctg-cta-material:#3978dc;
  --ctg-cta-material-deep:#245cae;
  --ctg-cta-material-shadow:#173d78;
  --ctg-cta-material-text:#fff;
}

.ctg-cta--dark{
  --ctg-cta-material-bright:#4a4d53;
  --ctg-cta-material:#202226;
  --ctg-cta-material-deep:#111317;
  --ctg-cta-material-shadow:#08090b;
  --ctg-cta-material-text:#f8f6f1;
}

.ctg-cta--form{
  --ctg-cta-focus-offset:2px;
  font-family:var(--ctg-public-font-heading,"Instrument Sans","Manrope",sans-serif);
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.005em;
}

.ctg-cta-money{
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
}

.ctg-cta-bill{
  --bill-x:0px;
  --bill-y:-34px;
  --bill-r:0deg;
  position:absolute;
  left:50%;
  top:50%;
  width:34px;
  height:18px;
  display:grid;
  place-items:center;
  margin:-9px 0 0 -17px;
  border:1px solid rgba(20,54,35,.28);
  border-radius:3px;
  background:linear-gradient(135deg,#d9f0d9,#a8d2aa);
  color:#315f3d;
  box-shadow:0 4px 12px rgba(0,0,0,.16);
  font:800 10px/1 var(--ctg-public-font-body,"Manrope",sans-serif);
  opacity:0;
  transform:translate3d(0,0,0) rotate(0deg) scale(.74);
  transform-origin:center;
}

.ctg-cta-bill::before,
.ctg-cta-bill::after{
  position:absolute;
  inset:3px;
  border:1px solid rgba(32,83,50,.14);
  border-radius:2px;
  content:"";
}

.ctg-cta-bill::after{inset:6px 10px;border-radius:999px;}
.ctg-cta-bill.bill-1{--bill-x:-72px;--bill-y:-54px;--bill-r:-18deg;}
.ctg-cta-bill.bill-2{--bill-x:-34px;--bill-y:-72px;--bill-r:12deg;}
.ctg-cta-bill.bill-3{--bill-x:8px;--bill-y:-78px;--bill-r:-6deg;}
.ctg-cta-bill.bill-4{--bill-x:48px;--bill-y:-64px;--bill-r:19deg;}
.ctg-cta-bill.bill-5{--bill-x:76px;--bill-y:-40px;--bill-r:19deg;}

.ctg-cta--money:hover .ctg-cta-bill,
.ctg-cta--money:focus-visible .ctg-cta-bill{animation:ctgCtaMoneyBurst .62s cubic-bezier(.18,.72,.28,1) both;}
.ctg-cta--money:hover .bill-2,.ctg-cta--money:focus-visible .bill-2{animation-delay:.035s;}
.ctg-cta--money:hover .bill-3,.ctg-cta--money:focus-visible .bill-3{animation-delay:.07s;}
.ctg-cta--money:hover .bill-4,.ctg-cta--money:focus-visible .bill-4{animation-delay:.105s;}
.ctg-cta--money:hover .bill-5,.ctg-cta--money:focus-visible .bill-5{animation-delay:.14s;}

@keyframes ctgCtaMoneyBurst{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0deg) scale(.72);}
  30%{opacity:.98;}
  72%{opacity:.9;transform:translate3d(var(--bill-x),var(--bill-y),0) rotate(var(--bill-r)) scale(1);}
  100%{opacity:0;transform:translate3d(calc(var(--bill-x) * 1.08),calc(var(--bill-y) - 8px),0) rotate(calc(var(--bill-r) * 1.15)) scale(.92);}
}

@media(max-width:540px){
  .ctg-cta--mobile-full{width:100%;}
}

@media(prefers-reduced-motion:reduce){
  .ctg-cta,
  .ctg-cta::before,
  .ctg-cta::after,
  .ctg-cta-bill{
    transition:none;
    animation:none;
  }

  .ctg-cta:hover,
  .ctg-cta:focus-visible,
  .ctg-cta:active{
    transform:none;
  }

  .ctg-cta--money:hover .ctg-cta-bill,
  .ctg-cta--money:focus-visible .ctg-cta-bill{
    opacity:0;
  }
}
