
/* ============================================================
   Acelerity V8 — CTA system inspired by Acelerity One Page
   Navbar intentionally excluded.
   ============================================================ */

main{
  --a-btn-accent:#55AEFF;
  --a-btn-ink:#26262D;
  --a-btn-off:#EFEDE8;
}

/* IA pages inherit their own identity color. */
main.v29-approved-ia{
  --a-btn-accent:var(--accent,#55AEFF);
}

/* Main content CTA buttons only — never header/navbar. */
main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
){
  --_accent:var(--a-btn-accent,#55AEFF);
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  min-height:52px!important;
  padding:9px 9px 9px 20px!important;
  border:1px solid var(--_accent)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--a-btn-ink)!important;
  -webkit-text-fill-color:var(--a-btn-ink)!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.005em!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
  opacity:1!important;
  transition:
    background .30s ease,
    color .30s ease,
    border-color .35s ease,
    transform .25s ease!important;
}

/* Circular arrow on the right, matching the source document. */
main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
)::after{
  content:"›";
  flex:0 0 32px;
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  padding-bottom:3px;
  background:var(--_accent);
  color:#26262D;
  -webkit-text-fill-color:#26262D;
  font-size:22px;
  line-height:1;
  font-weight:500;
  transition:background .30s ease,color .30s ease,transform .30s ease;
}

/* Hover: the pill fills with the accent; the arrow reverses. */
main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
):is(:hover,:focus-visible){
  background:var(--_accent)!important;
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
  border-color:var(--_accent)!important;
  transform:translateY(-1px)!important;
}

main :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit,
  .blogx-newsletter button[type="submit"]
):is(:hover,:focus-visible)::after{
  background:#26262D!important;
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
  transform:translateX(1px);
}

/* Dark sections keep the label light before hover. */
main :is(
  .section-dark,
  .dark,
  .v40-growth-card,
  .v45-flow-card
) :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit
){
  color:#EFEDE8!important;
  -webkit-text-fill-color:#EFEDE8!important;
}

/* On hover, dark-section buttons still follow the source inversion. */
main :is(
  .section-dark,
  .dark,
  .v40-growth-card,
  .v45-flow-card
) :is(
  a.src-btn,
  a.btn,
  button.btn,
  a.hero-source-btn,
  a.m-primary-btn,
  a.blogx-btn,
  a.v45-nsi-more,
  button.v29-demo-submit
):is(:hover,:focus-visible){
  color:#26262D!important;
  -webkit-text-fill-color:#26262D!important;
}

/* Keep full-width form submits usable without changing the visual language. */
main button.v29-demo-submit{
  width:100%!important;
  justify-content:space-between!important;
}

/* Existing NSI intro button now uses the same global CTA treatment. */
main a.v45-nsi-more{
  margin-top:22px!important;
}

/* Compact mobile sizing. */
@media(max-width:680px){
  main :is(
    a.src-btn,
    a.btn,
    button.btn,
    a.hero-source-btn,
    a.m-primary-btn,
    a.blogx-btn,
    a.v45-nsi-more,
    button.v29-demo-submit,
    .blogx-newsletter button[type="submit"]
  ){
    min-height:48px!important;
    padding:7px 7px 7px 17px!important;
    gap:11px!important;
    font-size:14px!important;
  }

  main :is(
    a.src-btn,
    a.btn,
    button.btn,
    a.hero-source-btn,
    a.m-primary-btn,
    a.blogx-btn,
    a.v45-nsi-more,
    button.v29-demo-submit,
    .blogx-newsletter button[type="submit"]
  )::after{
    width:32px;
    height:32px;
    flex-basis:32px;
  }
}
