.article-print-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.4rem;
}

@media print {
    @page {
        margin: 16mm;
    }

    html,
    body.printable-article {
        background: #fff !important;
        color: #000 !important;
    }

    body.printable-article > :not(main) {
        display: none !important;
    }

    body.printable-article main,
    body.printable-article main .container-xl,
    body.printable-article main .row,
    body.printable-article main .col-lg-8 {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.printable-article .detail-hero {
        overflow: visible;
        padding: 0 0 10pt;
        border: 0;
        background: #fff !important;
    }

    body.printable-article .detail-hero::after,
    body.printable-article .detail-hero nav,
    body.printable-article .detail-hero .section-kicker,
    body.printable-article .article-print-button,
    body.printable-article .detail-demo-head,
    body.printable-article .detail-meta,
    body.printable-article .detail-aside,
    body.printable-article main .col-lg-4 {
        display: none !important;
    }

    body.printable-article .detail-hero h1 {
        color: #000;
        font-size: 22pt;
        line-height: 1.15;
    }

    body.printable-article .detail-lead {
        max-width: none;
        margin: 7pt 0 0;
        color: #333;
        font-size: 10pt;
    }

    body.printable-article .section-space-sm {
        padding: 0;
    }

    body.printable-article .detail-demo-card {
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    body.printable-article .detail-article-cover {
        margin: 0 0 10pt;
        border: 0;
        border-radius: 0;
        background: #fff;
        break-inside: avoid;
    }

    body.printable-article .detail-article-cover img {
        width: auto;
        max-width: 100%;
        max-height: 55mm;
        object-fit: contain;
    }

    body.printable-article .article-rich-content {
        max-width: none;
        color: #000;
        font-size: 10pt;
        line-height: 1.45;
    }

    body.printable-article .article-rich-content h2,
    body.printable-article .article-rich-content h3,
    body.printable-article .article-rich-content h4 {
        color: #000;
        break-after: avoid;
    }

    body.printable-article .article-rich-content h2 {
        font-size: 15pt;
    }

    body.printable-article .article-rich-content h3 {
        font-size: 12pt;
    }

    body.printable-article .article-rich-content a {
        color: #000;
        text-decoration: underline;
    }

    body.printable-article .article-rich-content img {
        max-width: 100%;
        height: auto;
    }

    body.printable-article .article-rich-content figure,
    body.printable-article .article-rich-content blockquote,
    body.printable-article .article-rich-content pre {
        break-inside: avoid;
    }

    body.printable-article .article-rich-content pre {
        display: block;
        overflow: visible;
        overflow-wrap: anywhere;
        white-space: pre-wrap;
        font-size: 9pt;
    }

    body.printable-article .article-rich-content table {
        display: table;
        overflow: visible;
        width: 100%;
        font-size: 9pt;
    }

    body.printable-article .article-rich-content thead {
        display: table-header-group;
    }

    body.printable-article .article-rich-content tr {
        break-inside: avoid;
    }

    body.printable-article .article-rich-content #problems ~ ol {
        display: block !important;
    }

    body.printable-article .article-rich-content details > :not(summary) {
        display: block !important;
    }
}
