/* Shared subscription sidebar for articles and the blog index. */
.article .blog-offer {
  position: sticky; top: 6.5rem; min-width: 0; padding: 1.75rem; overflow: hidden;
  color: #fff; background: radial-gradient(ellipse at 110% 0, #7139a7 0, transparent 60%), #241039;
  border: 1px solid #522b6b; border-radius: 1.25rem; box-shadow: 0 18px 40px #27123920;
}
.blog-offer__logo { display: block; width: 9.5rem; height: auto; margin-bottom: 2rem; }
.article .blog-offer .article-category { margin-bottom: .75rem; color: #d9b7f5; font-size: .8125rem; line-height: 1.6; }
.article .blog-offer h2 { margin: 0 0 1rem; font-size: 1.85rem; line-height: 1.2; font-weight: 650; letter-spacing: -.04em; color: #fff; }
.article .blog-offer h2 span { display: block; color: #d7ed69; }
.article .blog-offer p { margin: 0; color: #ddd0e8; font-size: .9375rem; line-height: 1.8; }
.article .blog-offer .article-cta__actions { display: flex; flex-direction: column; gap: .875rem; margin-top: 1.75rem; }
.article .blog-offer .btn { display: flex; align-items: center; justify-content: center; gap: .625rem; width: 100%; min-height: 3.25rem; padding: .875rem .75rem; border-radius: .625rem; white-space: normal; font-size: .9375rem; line-height: 1.45; }
.article .blog-offer .btn-primary { background: #d7ed69 !important; color: #241039 !important; -webkit-text-fill-color: #241039 !important; border: 1px solid #d7ed69 !important; box-shadow: 0 4px 18px #11111118 !important; font-weight: 700 !important; }
.article .blog-offer .btn-primary:hover { background: #e5f59a !important; border-color: #e5f59a !important; transform: none !important; }
.article .blog-offer .btn:focus-visible { outline-color: #d7ed69 !important; }
.article .blog-offer .blog-offer__help { padding-top: 1.375rem; margin-top: 1.5rem; border-top: 1px solid #b69fcb45; font-size: .875rem; line-height: 1.7; color: #ddd0e8; }
@media (max-width: 1099px) {
  .article .blog-offer { padding: 1.5rem; }
}
@media (max-width: 959px) {
  .article .blog-offer { position: static; max-width: none; padding: 2rem; }
  .blog-offer__logo { margin-bottom: 1.5rem; }
}
@media (max-width: 639px) {
  .article .blog-offer { padding: 1.75rem 1.5rem; }
}
