/* Shared CTA system based on the homepage hero and header controls. */
:root{
  --cta-green:#01a04c;
  --cta-green-hover:#0fbd5f;
  --cta-ink:#111719;
}

body .btn,
body .strategy-service-cta{
  min-height:60px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid transparent;
  border-radius:4px;
  font-size:14px;
  line-height:20px;
  font-weight:600;
  letter-spacing:-.02em;
  text-align:center;
  white-space:nowrap;
  cursor:pointer;
  transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

body .nav-cta,
body .mobile-cta{
  color:#fff;
  background:var(--cta-green);
  border:1px solid var(--cta-green);
  border-radius:4px;
  font-size:14px;
  line-height:20px;
  font-weight:600;
  text-align:center;
  white-space:nowrap;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease;
}

body .nav-cta:hover,
body .mobile-cta:hover{
  color:#fff;
  background:var(--cta-green-hover);
  border-color:var(--cta-green-hover);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
  transform:translateY(-2px);
}

body .nav-cta:active,
body .mobile-cta:active{
  box-shadow:0 5px 14px rgba(0,0,0,.18);
  transform:translateY(0) scale(.985);
}

body .nav-cta:focus-visible,
body .mobile-cta:focus-visible{
  outline:2px solid #fff;
  outline-offset:4px;
}

body .mobile-cta{
  min-height:56px;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:center;
}

body .btn>span,
body .strategy-service-cta>span{
  display:none;
}

body .btn-primary,
body .btn-dark,
body .why-exist-cta,
body .strategy-service-cta{
  color:#fff;
  background:var(--cta-green);
  border-color:var(--cta-green);
}

body .btn-primary:hover,
body .btn-dark:hover,
body .why-exist-cta:hover,
body .strategy-service-cta:hover{
  color:#fff;
  background:var(--cta-green-hover);
  border-color:var(--cta-green-hover);
  box-shadow:0 14px 30px rgba(0,0,0,.22);
  transform:translateY(-3px);
}

body .btn-outline,
body .forward-difference-cta,
body .financing-pathway-results-cta,
body .process-expectations-cta,
body .home-closing-cta-button{
  color:#fff;
  background:rgba(255,255,255,.03);
  border-color:#fff;
}

body .btn-outline:hover,
body .forward-difference-cta:hover,
body .financing-pathway-results-cta:hover,
body .process-expectations-cta:hover,
body .home-closing-cta-button:hover{
  color:var(--cta-ink);
  background:#fff;
  border-color:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.2);
  transform:translateY(-3px);
}

body .home-intro-outline{
  color:var(--cta-ink);
  background:#fff;
  border-color:var(--cta-ink);
}

body .home-intro-outline:hover{
  color:#fff;
  background:var(--cta-ink);
  border-color:var(--cta-ink);
  box-shadow:0 14px 30px rgba(0,0,0,.16);
  transform:translateY(-3px);
}

body .btn-light{
  color:var(--cta-ink);
  background:#fff;
  border-color:#fff;
}

body .btn:active,
body .strategy-service-cta:active{
  box-shadow:0 6px 16px rgba(0,0,0,.16);
  transform:translateY(0) scale(.985);
}

body .btn:focus-visible,
body .strategy-service-cta:focus-visible{
  outline:2px solid var(--cta-green-hover);
  outline-offset:4px;
}

body .hero .btn:focus-visible,
body .why-exist-cta:focus-visible,
body .forward-difference-cta:focus-visible,
body .financing-pathway-results-cta:focus-visible,
body .process-expectations-cta:focus-visible,
body .home-closing-cta-button:focus-visible{
  outline-color:#fff;
}

body .strategy-service-card:hover .strategy-service-cta:hover,
body .strategy-service-card:focus-within .strategy-service-cta:hover{
  transform:translateY(-3px);
}

@media(max-width:520px){
  body .btn{
    min-height:56px;
  }
}

@media(prefers-reduced-motion:reduce){
  body .btn,
  body .strategy-service-cta,
  body .nav-cta,
  body .mobile-cta{
    transition:none;
  }

  body .btn:hover,
  body .btn:active,
  body .strategy-service-cta:hover,
  body .strategy-service-cta:active,
  body .nav-cta:hover,
  body .nav-cta:active,
  body .mobile-cta:hover,
  body .mobile-cta:active,
  body .strategy-service-card:hover .strategy-service-cta:hover,
  body .strategy-service-card:focus-within .strategy-service-cta:hover{
    transform:none;
  }
}
