
/* DRP landing v3.9.1 — definitive button contrast + alignment */
:root{
  --lp391-primary-a:#625bf6;
  --lp391-primary-b:#2e9ee8;
  --lp391-teal:#12b8a6;
  --lp391-ink:#132844;
  --lp391-border:#d7e3f1;
}

/* All interactive CTA elements use a single geometry */
.lp-btn,
a.lp-btn,
button.lp-btn,
.lp-login,
a.lp-login,
.lp-lang,
.lp-header nav a,
.lp-footer a{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  vertical-align:middle!important;
  line-height:1.15!important;
  gap:8px!important;
  text-decoration:none!important;
}
.lp-btn,.lp-login{font-weight:800!important}

/* Primary: always white on saturated gradient */
.lp-btn.primary{
  color:#fff!important;
  background:linear-gradient(135deg,var(--lp391-primary-a),var(--lp391-primary-b))!important;
  border:1px solid transparent!important;
  box-shadow:0 14px 30px rgba(65,96,207,.22)!important;
}
.lp-btn.primary:hover{color:#fff!important;filter:brightness(1.03)!important;transform:translateY(-1px)!important}
.lp-btn.primary *{color:#fff!important}

/* Secondary: always dark on white */
.lp-btn.secondary{
  color:var(--lp391-ink)!important;
  background:#fff!important;
  border:1px solid var(--lp391-border)!important;
  box-shadow:0 6px 16px rgba(17,35,63,.04)!important;
}
.lp-btn.secondary:hover{color:#0e2039!important;background:#f7faff!important;border-color:#a9bcdc!important;transform:translateY(-1px)!important}
.lp-btn.secondary *{color:inherit!important}

/* Partner CTA lives on a dark card: use an explicit colored button */
.lp-audience-card.partner .lp-btn.partner-cta,
.lp-btn.partner-cta{
  min-height:50px!important;
  padding:0 20px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#17b9aa,#2b9ee7)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:14px!important;
  box-shadow:0 14px 28px rgba(2,14,30,.20)!important;
}
.lp-audience-card.partner .lp-btn.partner-cta:hover{color:#fff!important;filter:brightness(1.04)!important;transform:translateY(-1px)!important}
.lp-audience-card.partner .lp-btn.partner-cta *{color:#fff!important}

/* Footer CTA has its own explicit contrast, no inherited dark/white conflicts */
.lp-footer .lp-login.footer-portal,
.lp-login.footer-portal{
  min-width:190px!important;
  min-height:50px!important;
  padding:0 20px!important;
  border-radius:15px!important;
  color:#fff!important;
  background:linear-gradient(135deg,var(--lp391-primary-a),var(--lp391-primary-b))!important;
  border:1px solid transparent!important;
  box-shadow:0 15px 30px rgba(45,94,194,.24)!important;
}
.lp-footer .lp-login.footer-portal:hover{color:#fff!important;filter:brightness(1.035)!important;transform:translateY(-1px)!important}
.lp-footer .lp-login.footer-portal *{color:#fff!important}

/* Header login remains a light action and never inherits footer styles */
.lp-header .lp-login:not(.footer-portal){
  color:#203653!important;
  background:#fff!important;
  border:1px solid var(--lp391-border)!important;
}
.lp-header .lp-login:not(.footer-portal):hover{color:#10233e!important;background:#f7faff!important;border-color:#acbdd7!important}

/* Contact CTA */
.lp-contact button.lp-btn.primary{width:100%!important;min-height:52px!important}

/* Accessibility/focus */
.lp-btn:focus-visible,.lp-login:focus-visible,.lp-header nav a:focus-visible{
  outline:3px solid rgba(92,94,245,.24)!important;
  outline-offset:3px!important;
}

/* Keep partner copy and list readable */
.lp-audience-card.partner h3{color:#fff!important}
.lp-audience-card.partner p{color:#c4d1e3!important}
.lp-audience-card.partner li{color:#f1f5fb!important}
.lp-audience-card.partner li i{color:#43e2cf!important}

@media(max-width:640px){
  .lp-btn,.lp-login.footer-portal{width:100%!important}
}
