#totweb-stl-promo {
  --twsp-purple: #60277a;
  --twsp-pink: #d52a73;
  box-sizing: border-box;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.32fr) minmax(250px, .9fr);
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin: 30px 0 38px;
  padding: clamp(24px, 4vw, 48px);
  overflow: hidden;
  isolation: isolate;
  border: 1px solid #eedfeb;
  border-radius: 20px;
  background: linear-gradient(115deg, #fff6f9 0%, #faf2ff 58%, #eee3f8 100%);
  color: #35233e;
  text-align: left;
  clear: both;
}
#totweb-stl-promo *, #totweb-stl-promo *::before, #totweb-stl-promo *::after { box-sizing: border-box; }
#totweb-stl-promo .twsp-copy { position: relative; z-index: 2; min-width: 0; }
#totweb-stl-promo .twsp-eyebrow { margin: 0 0 15px; color: #a22161; font-size: 11px; font-weight: 800; letter-spacing: .13em; line-height: 1.5; }
#totweb-stl-promo .twsp-eyebrow span { padding-right: 6px; font-size: 15px; }
#totweb-stl-promo h2 { margin: 0 0 16px; max-width: 650px; color: var(--twsp-purple); font-size: clamp(25px, 3vw, 39px); font-weight: 800; line-height: 1.15; text-transform: none; letter-spacing: -.035em; overflow-wrap: anywhere; }
#totweb-stl-promo .twsp-message { margin: 0 0 18px; max-width: 560px; color: #58475f; font-size: 16px; line-height: 1.65; }
#totweb-stl-promo .twsp-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 23px; padding: 0; list-style: none; }
#totweb-stl-promo .twsp-tags li { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 0; padding: 7px 11px; border: 1px solid #e9d5e6; border-radius: 7px; background: #fff9fc; color: #662e70; font-size: 12px; font-weight: 700; line-height: 1.5; }
#totweb-stl-promo .twsp-tags svg { flex: 0 0 auto; }
#totweb-stl-promo .twsp-button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 47px; max-width: 100%; padding: 12px 22px; border: 2px solid transparent; border-radius: 9px; background: var(--twsp-pink); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.45; text-decoration: none; box-shadow: 0 6px 16px #d52a7320; transition: background-color .15s ease, box-shadow .15s ease; white-space: normal; }
#totweb-stl-promo .twsp-button span { flex: 0 0 auto; font-size: 20px; line-height: 1; }
#totweb-stl-promo .twsp-button:hover { background: #b91c61; color: #fff; box-shadow: 0 7px 20px #d52a7330; text-decoration: none; }
#totweb-stl-promo .twsp-button:focus { outline: 3px solid var(--twsp-purple); outline-offset: 4px; }
#totweb-stl-promo .twsp-note { margin: 17px 0 0; max-width: 510px; color: #76617c; font-size: 12px; line-height: 1.65; }
#totweb-stl-promo .twsp-art { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; min-width: 0; padding-left: 5px; }
#totweb-stl-promo .twsp-art img { position: relative; z-index: 1; display: block; width: 100%; max-width: 450px; height: auto; }
#totweb-stl-promo .twsp-orbit { position: absolute; display: block; z-index: 0; width: 290px; height: 290px; border: 1px solid #d5b9e9; border-radius: 50%; opacity: .6; }
#totweb-stl-promo .twsp-orbit-two { width: 370px; height: 370px; opacity: .3; }
#totweb-stl-promo .twsp-art-caption { position: relative; z-index: 1; margin-top: 5px; color: #80508e; font-size: 9px; font-weight: 800; letter-spacing: .17em; text-align: center; line-height: 1.5; }
@media (max-width: 767px) {
  #totweb-stl-promo { grid-template-columns: minmax(0, 1fr); padding: 26px 23px 20px; margin: 24px 0 30px; border-radius: 15px; }
  #totweb-stl-promo h2 { max-width: 520px; font-size: clamp(26px, 5.8vw, 34px); }
  #totweb-stl-promo .twsp-message { font-size: 15px; }
  #totweb-stl-promo .twsp-art { padding: 12px 0 0; max-width: 310px; width: 100%; margin: 0 auto; }
  #totweb-stl-promo .twsp-art img { max-width: 280px; }
  #totweb-stl-promo .twsp-orbit { width: 210px; height: 210px; }
  #totweb-stl-promo .twsp-orbit-two { width: 265px; height: 265px; }
  #totweb-stl-promo .twsp-tags { margin-bottom: 20px; }
}
@media (max-width: 374px) {
  #totweb-stl-promo { padding: 24px 17px 18px; }
  #totweb-stl-promo .twsp-button { width: 100%; padding: 11px 12px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #totweb-stl-promo .twsp-button { transition: none; }
}
