
.bw-cta { position: relative; overflow: hidden; background: var(--basic, #25225e); border-radius: 24px; padding: 48px 52px; }
.bw-cta__glow {
  position: absolute; top: -60px; right: -40px; width: 240px; height: 240px;
  border-radius: 9999px; pointer-events: none;
  background: radial-gradient(circle at center, color-mix(in srgb, var(--blue, var(--udi-blue, #53a7dc)) 32%, transparent), transparent 70%);
}
.bw-cta__inner { position: relative; z-index: 1; }

.bw-cta__title { margin: 0; font-size: calc(28px * var(--a11y-fs, 1)) !important; line-height: 1.22; font-weight: 800; letter-spacing: -0.5px; color: #fff; text-wrap: balance; }
.bw-cta__desc { margin: 14px 0 0; font-size: calc(16px * var(--a11y-fs, 1)); line-height: 1.7; color: var(--udi-on-dark, #B6B9CE); max-width: 560px; }
.bw-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bw-cta__btn {
  display: inline-flex; align-items: center; justify-content: center;
  appearance: none; -webkit-appearance: none; border: 0; cursor: pointer;
  border-radius: 9999px; font-family: inherit; font-weight: 600; line-height: inherit; text-decoration: none;
  white-space: nowrap; transition: all .15s;
}
.bw-cta__btn--primary {
  padding: 15px 30px; background: var(--orange, var(--udi-orange, #f9741c)); color: #fff; font-size: calc(16px * var(--a11y-fs, 1));
  box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--orange, var(--udi-orange, #f9741c)) 70%, transparent);
}
.bw-cta__btn--primary:hover { background: color-mix(in srgb, var(--orange, var(--udi-orange, #f9741c)) 88%, #000); }
.bw-cta__btn--ghost {
  padding: 14px 30px; background: transparent; border: 1.5px solid rgba(255,255,255,0.22);
  color: #fff; font-size: calc(15px * var(--a11y-fs, 1));
}
.bw-cta__btn--ghost:hover { border-color: var(--blue, var(--udi-blue, #53a7dc)); color: color-mix(in srgb, var(--blue, var(--udi-blue, #53a7dc)) 60%, #fff); }

@media (max-width: 640px) {
  .bw-cta { padding: 34px 26px; border-radius: 20px; }
  .bw-cta__title { font-size: calc(23px * var(--a11y-fs, 1)) !important; }
  .bw-cta__actions { flex-direction: column; }
  .bw-cta__btn { width: 100%; white-space: normal; text-align: center; }
}

@media (max-width: 380px) {
  .bw-cta { padding: 28px 20px; }
  .bw-cta__title { font-size: calc(20px * var(--a11y-fs, 1)) !important; }
}
