body.promo-page{
  background:linear-gradient(180deg, #fcfafc 0%, #fbf7fa 100%);
}

.promo-hero{
  padding:76px 0 88px;
}

.promo-card{
  max-width:860px;
  margin:0 auto;
  padding:42px 38px;
  border-radius:36px;
  background:linear-gradient(145deg, #9a5b80 0%, #844369 58%, #65324c 100%);
  box-shadow:0 28px 60px rgba(41, 19, 34, .16);
  text-align:center;
}

.promo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  min-height:110px;
  margin:0 auto 24px;
  border-radius:28px;
  background:#fff;
  color:var(--brand);
  font-size:2rem;
  font-weight:800;
  letter-spacing:-.06em;
  box-shadow:0 20px 40px rgba(41, 19, 34, .12);
}

.promo-card h1{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(2.5rem, 5vw, 4.5rem);
  line-height:.94;
  letter-spacing:-.065em;
  text-wrap:balance;
}

.promo-card p{
  max-width:56ch;
  margin:0 auto;
  color:rgba(255,255,255,.86);
  line-height:1.85;
  font-size:1.05rem;
}

.promo-code-inline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 22px;
  margin-top:24px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  font-weight:600;
  text-align:center;
}

.promo-code-inline strong{
  margin-left:8px;
  font-weight:800;
  letter-spacing:.06em;
}

.promo-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.promo-actions .btn-brand{
  background:#fff;
  color:var(--brand);
  box-shadow:none;
}

.promo-actions .btn-light{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
  color:#fff;
}

@media (max-width:760px){
  .promo-hero{
    padding-top:42px;
  }

  .promo-card{
    padding:28px 20px;
  }

  .promo-badge{
    min-width:92px;
    min-height:92px;
    font-size:1.7rem;
  }
}
