/* ── Article 3-column layout (desktop ≥ 1200px) ─────────────────────────── */
@media (min-width: 1200px) {
    .row.mt-40 {
        --bs-gutter-x: 0;
        column-gap: 20px;
        justify-content: space-between;
    }

    .article-col-left,
    .article-col-right {
        flex: 0 0 280px !important;
        width: 280px !important;
        max-width: 280px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .article-col-center {
        flex: 0 0 870px !important;
        width: 870px !important;
        max-width: 870px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* TOC card: no card styling on desktop — keep existing plain heading look */
    .toc-card__header {
        display: block;
        cursor: default;
        pointer-events: none;
    }
    .toc-card__chevron {
        display: none;
    }
    /* Always show the nav on desktop regardless of Bootstrap collapse state */
    #tocNavCollapse {
        display: block !important;
    }
    .toc-card__body {
        padding: 0;
    }

    /* ── Scrollable TOC: when the nav list is taller than the viewport,
       only the nav body scrolls — the heading stays visible and the
       sticky wrapper itself stays properly fixed (no overflow on sticky). ── */
    .toc-card__body {
        max-height: calc(100vh - 180px); /* 85px top + ~55px heading + 40px buffer */
        overflow-y: auto;
        /* Firefox thin scrollbar */
        scrollbar-width: thin;
        scrollbar-color: #d0d0d0 transparent;
    }

    /* WebKit thin scrollbar */
    .toc-card__body::-webkit-scrollbar {
        width: 4px;
    }

    .toc-card__body::-webkit-scrollbar-track {
        background: transparent;
    }

    .toc-card__body::-webkit-scrollbar-thumb {
        background-color: #d0d0d0;
        border-radius: 4px;
    }

    .toc-card__body::-webkit-scrollbar-thumb:hover {
        background-color: #aaa;
    }
}

.sticky-top {
    z-index: 1;
    top: 85px;
}
.mt-40
{
    margin-top: 40px;
}
.toc-text
{
    color: #999;
font-size: 11px;
font-style: normal;
font-weight: 600;
line-height: normal;
letter-spacing: 0.99px;
text-transform: uppercase;
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 10px;
    margin: 0 0 24px 0;
}
/* Navbar */
.article-left .nav-pills 
{
    gap: 10px;
}
.article-left .nav-pills .nav-link
{
color: #1A1A1A;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 21px; /* 150% */
padding: 0 0;
}
.article-left .nav-pills .nav-pills
{
display: flex;
max-height: 0;
overflow: hidden;
opacity: 0;
border-left: 1.5px solid #E8E8E8;
padding-left: 12px;
gap: 6px;
transition: max-height 0.35s ease, opacity 0.3s ease;
}
.article-left .nav-pills .nav-pills.toc-sub-active
{
max-height: 600px;
opacity: 1;
}
.article-left .nav-pills .nav-pills .nav-link
{
color: #808080;
font-size: 13px;
font-style: normal;
font-weight: 400;
line-height: 18px;
}
.article-left .nav-pills .nav-link.active
{
background: none;
color: #544FF8;
border-radius: 0;
}
/* ── Key Takeaways Accordion ─────────────────────────────────────────────── */

.rap-key-takeaways-accordion {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid #E8E8E8;
    margin: 0px 0 48px 0;
}

.rap-key-takeaways-item {
    border: none;
    border-radius: 16px !important;
    overflow: hidden;
    background-color: #eef0ff;
}

.rap-key-takeaways-btn {
    background-color: #eef0ff;
    color: #544FF8;
    font-size: 19px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 126.316% */
    padding: 16px 24px;
    border: none;
    box-shadow: none;
}

.rap-key-takeaways-btn:not(.collapsed) {
    background-color: #eef0ff;
    box-shadow: none;
    color: #544FF8;
    font-size: 19px;
    font-style: normal;
    font-weight: 600;
    line-height: 24px; /* 126.316% */
}

.rap-key-takeaways-btn:focus {
    box-shadow: none;
    outline: none;
}

/* Override Bootstrap's default dark arrow with a blue chevron */
.rap-key-takeaways-btn::after {
    filter: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234b4efc'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.rap-key-takeaways-btn:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234b4efc'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}

.rap-key-takeaways-body {
    background-color: #fff;
    padding: 12px 24px 24px;
}

/* Numbered list */
.rap-takeaways-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rap-takeaway-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rap-takeaway-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #F0EFFF;
    flex-shrink: 0;
    margin-top: 2px;

    color: #544FF8;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 145.455% */
}

.rap-takeaway-text {
color: #333;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 22px; /* 137.5% */
}
/* Article body */
.article-body p
{
    color: #333;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 26px; /* 162.5% */
    margin: 0 0 16px 0;
    letter-spacing: 0.32px;
}
.article-body a
{
    color: #544FF8;
}
.article-body h2
{
color: #1A1A1A;
font-size: 28px;
font-style: normal;
font-weight: 400;
line-height: 36px; /* 128.571% */
margin: 0 0 16px 0;
}
.article-body h3
{
color: #1A1A1A;
font-size: 23px;
font-style: normal;
font-weight: 500;
line-height: 32.2px; /* 140% */
margin: 0 0 16px 0;
}
.article-body ul
{
    margin-left: 28px;
}
.article-body ul li::marker
{
    color: #544FF8;
}
.article-body li
{
    color: #333 !important;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 300;
    line-height: 26px !important;
    margin: 0 0 16px 0;
    letter-spacing: 0.32px;
}
.article-body .item-section
{
    margin-bottom: 48px;
}
.article-body .item-section img
{
    width: 100%;
    height: 100%;
    margin: 32px 0 32px 0;
}

/* ── Blockquote ─────────────────────────────────────────────────────────── */
.article-body blockquote {
    border-left: 2px solid transparent;
    border-image: linear-gradient(180deg, #544FF8 0%, #2EB6AE 100%) 1;
    padding: 0px 0 0px 12px;
    margin: 32px 0;
}

.article-body blockquote p {
    color: #333;
    font-size: 23px;
    font-style: italic;
    font-weight: 300;
    line-height: 32px;
    margin: 0;
    letter-spacing: normal;
}

/* ── CTA Cards ───────────────────────────────────────────────────────────── */

.rap-cta-card {
    display: flex;
    align-items: center;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 48px;
}

/* Heading/description (and, on the image variant, the button) stack inside
   here with a consistent 24px gap instead of per-element margins. */
.rap-cta-card__body {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ── Gradient variant (no image) ── */
.rap-cta-card--gradient {
    border-radius: 14px;
    border-left: 3px solid #544FF8;
    background: linear-gradient(145deg, #F8F7FF 6.17%, #EDFCFB 93.83%);
    box-shadow: 0 0 0 1px rgba(84, 79, 248, 0.08) inset;
    padding: 24px 28px;
    justify-content: space-between;
    gap: 40px;
    margin-top: 40px;
}

.rap-cta-card--gradient .rap-cta-card__body {
    flex: 1;
    gap: 12px;
}

.rap-cta-card--gradient .rap-cta-card__btn-wrap {
    flex-shrink: 0;
}

/* Right align: the whole heading/description/button block is pushed to the
   right side of the card and stacked (not split left/right) — the text
   itself stays left-aligned inside that block, it doesn't flip to the right. */
.rap-cta-card--gradient.rap-cta-card--align-right {
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.rap-cta-card--gradient.rap-cta-card--align-right .rap-cta-card__body {
    max-width: 65%;
    text-align: left;
}

.rap-cta-card--gradient.rap-cta-card--align-center {
    flex-direction: column;
    gap: 12px;
}

.rap-cta-card--gradient.rap-cta-card--align-center .rap-cta-card__body {
    text-align: center;
}

.rap-cta-card--gradient.rap-cta-card--align-full {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.rap-cta-card--gradient.rap-cta-card--align-full .rap-cta-card__body {
    width: 100%;
    text-align: left;
}

/* ── Custom: text position and button position set independently ──
   Default combo (text left + button right) needs no override — it matches
   the base .rap-cta-card--gradient layout above. */

/* Text right + button left: opposite ends, mirrored */
.rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-left {
    flex-direction: row-reverse;
}

.rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-left .rap-cta-card__body {
    text-align: right;
}

/* Text left + button left: grouped together at the left edge */
.rap-cta-card--custom.rap-cta-card--text-pos-left.rap-cta-card--btn-pos-left {
    justify-content: flex-start;
}

.rap-cta-card--custom.rap-cta-card--text-pos-left.rap-cta-card--btn-pos-left .rap-cta-card__body {
    flex: 0 1 auto;
}

/* Text right + button right: grouped together at the right edge */
.rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-right {
    justify-content: flex-end;
}

.rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-right .rap-cta-card__body {
    flex: 0 1 auto;
    text-align: right;
}

/* ── Image variant — always a full-width background photo ── */
.rap-cta-card--image {
    position: relative;
    background-color: #3d52e6;
    background-size: cover;
    background-position: center;
    padding: 30px 40px;
    min-height: 360px;
    align-items: center;
}

@media (max-width: 1199.98px) {
    .rap-cta-card--image {
        min-height: 300px;
    }
}

.rap-cta-card--image .rap-cta-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.rap-cta-card--image .rap-cta-card__body {
    position: relative;
    z-index: 1;
    max-width: 60%;
}

/* Image alignment: where the text/button block sits over the photo */
.rap-cta-card--image.rap-cta-card--align-left {
    justify-content: flex-start;
}

.rap-cta-card--image.rap-cta-card--align-center {
    justify-content: center;
}

.rap-cta-card--image.rap-cta-card--align-center .rap-cta-card__body {
    max-width: 75%;
    text-align: center;
}

.rap-cta-card--image.rap-cta-card--align-center .rap-cta-card__btn {
    margin-left: auto;
    margin-right: auto;
}

.rap-cta-card--image.rap-cta-card--align-right {
    justify-content: flex-end;
}



.rap-cta-card--image.rap-cta-card--align-full {
    justify-content: flex-start;
}

.rap-cta-card--image.rap-cta-card--align-full .rap-cta-card__body {
    max-width: 100%;
    text-align: left;
}

/* ── Shared text styles ──
   Use .rap-cta-card prefix to beat .article-body p specificity (0,1,1).
   Heading/description spacing comes from .rap-cta-card__body's flex gap
   (see the base .rap-cta-card__body rule), not margin. */
.rap-cta-card .rap-cta-card__heading {
color: #FFF;
font-size: 19px;
font-style: normal;
font-weight: 500;
line-height: 28px; /* 147.368% */
margin: 0;
letter-spacing: normal;
}

.rap-cta-card .rap-cta-card__desc {
    color: #B2B2B2;
    font-feature-settings: 'liga' off, 'clig' off;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 135%; /* 21.6px */
    margin: 0;
    letter-spacing: normal;
}

.rap-cta-card__desc-group {
    display: flex;
    flex-direction: column;
}

.rap-cta-card .rap-cta-card__desc-2 {
    color: #B2B2B2;
    text-align: center;
    font-feature-settings: 'liga' off, 'clig' off;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 135%; /* 21.6px */
    margin: 14px 0 0 0;
    letter-spacing: normal;
}

/* ── Button ──
   width: fit-content keeps the button sized to its text — without it, the
   <a> (blockified by display:flex) stretches to fill its container width. */
.rap-cta-card .rap-cta-card__btn {
color: #FFF;
text-align: center;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 22px; /* 137.5% */
display: flex;
width: fit-content;
padding: 10px 20px;
justify-content: center;
align-items: center;
gap: 12px;
border-radius: 12px;
background: #242424;
text-decoration: none;
}

.rap-cta-card .rap-cta-card__btn:hover {
    background-color: #333;
    color: #fff;
    text-decoration: none;
}

/* Image variant: button sits below the text */
.rap-cta-card--image .rap-cta-card__btn {
    margin-top: 20px;
    align-self: flex-start;
}

.rap-cta-card .rap-cta-card__btn--black {
    background: #242424;
}

.rap-cta-card .rap-cta-card__btn--black:hover {
    border-radius: 12px;
    background: linear-gradient(91deg, #544FF8 59.65%, #2EB6AE 99.41%);
    color: #FFF;
}

.rap-cta-card .rap-cta-card__btn--color {
    background: linear-gradient(91deg, #544FF8 59.65%, #2EB6AE 99.41%);
}

.rap-cta-card .rap-cta-card__btn--color:hover {
    border-radius: 12px;
    background: #FFF;
    color: #000;
}

/* ── Button arrow icon ──
   Rendered as a CSS mask so its color can follow the button state — a plain
   <img>/currentColor can't become a gradient the way the black button's
   hover state needs to. */
.rap-cta-card__btn-arrow {
    display: inline-block;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    background-color: #FFF;
    -webkit-mask-image: url('../images/banner_cta_arrow.svg');
    mask-image: url('../images/banner_cta_arrow.svg');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

/* Linear-gradient button: arrow starts white, turns black on hover (matches the text) */
.rap-cta-card .rap-cta-card__btn--color:hover .rap-cta-card__btn-arrow {
    background: #000;
}

/* Black button: arrow stays white on hover too */
.rap-cta-card .rap-cta-card__btn--black:hover .rap-cta-card__btn-arrow {
    background: #FFF;
}

/* No Image card: the card background is light, so on hover the button goes
   solid black (not white/gradient) to stay visible — text and arrow stay white. */
.rap-cta-card--gradient .rap-cta-card__btn:hover {
    background: #000;
    color: #FFF;
}

.rap-cta-card--gradient .rap-cta-card__btn:hover .rap-cta-card__btn-arrow {
    background: #FFF;
}


/* ── About Author Sidebar ────────────────────────────────────────────────── */

/* Full-width layout when no co-authors are present */
.rap-author-sidebar--no-co {
    display: block;
    width: 100%;
}

.rap-author-sidebar--no-co .rap-author-sidebar__primary-group {
    max-width: 100%;
}

.rap-author-sidebar {
    padding: 0;
}

.rap-author-sidebar__heading {
    color: #999;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    border-bottom: 1px solid #D9D9D9;
    letter-spacing: 0.99px;
    padding-bottom: 10px;
    margin: 0 0 14px 0;
}

.rap-author-sidebar__divider {
    border: none;
    border-top: 1px solid #e8e8e8;
    margin: 0 0 20px 0;
    opacity: 1;
}

.rap-author-sidebar__divider--dashed {
    border-top: 1px dashed #E0E0E0;
    margin: 20px 0;
}

.rap-author-sidebar__co-label {
    color: #999;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
}

/* ── Author card ── */

.rap-author-card {
    margin-bottom: 4px;
}

.rap-author-card__header {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: default;
}

/* Make header clickable only when it has a collapse toggle */
.rap-author-card__header[data-bs-toggle="collapse"] {
    cursor: pointer;
}

.rap-author-card__avatar-wrap {
    flex-shrink: 0;
}

.rap-author-card__avatar-img,
.rap-author-card__avatar-initials {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
    flex-shrink: 0;
}

.rap-author-card__avatar-initials {
    color: #fff;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.5px;
}

.rap-author-card__meta {
    flex: 1;
    min-width: 0;
}

.rap-author-card__name {
    color: #1A1A1A;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

/* LinkedIn icon — inline next to author name in the author card */
.rap-author-card__linkedin-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
    transition: opacity 0.2s ease;
    line-height: 1;
}

.rap-author-card__linkedin-inline:hover {
    opacity: 0.85;
    text-decoration: none;
}

.rap-author-card__linkedin-inline svg {
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 4px;
}

.rap-author-card__role {
    color: #808080;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
}

.rap-author-card__chevron {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    margin-left: auto;
    transition: transform 0.25s ease;
}

/* Rotate chevron when collapsed */
.rap-author-card__header[aria-expanded="false"] .rap-author-card__chevron {
    transform: rotate(180deg);
}

/* Bio section */
.rap-author-card__bio-wrap {
    padding: 14px 0 4px 0;
}

.rap-author-card__bio {
    color: #333;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin: 0 0 6px 0;
    letter-spacing: normal;
}

.rap-author-card__more-link {
color: #544FF8;
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: normal;
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: auto;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-offset: 2px;
}

.rap-author-card__more-link:hover {
    color: #3b37d4;
    text-decoration: underline;
}

/* Co-author card: slightly smaller avatar */
.rap-author-card--co .rap-author-card__avatar-img,
.rap-author-card--co .rap-author-card__avatar-initials {
    width: 44px;
    height: 44px;
    font-size: 14px;
}

/* ── "Author" label (inside primary-group, shown in center col only) ─────── */

.rap-author-sidebar__author-label {
    color: #999;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin: 0 0 14px 0;
}

/* Hide the label when the sidebar is in the right column */
.article-col-right .rap-author-sidebar__author-label {
    display: none;
}

/* ── About Author — Center Column (articles & blog only) ────────────────── */

.rap-author-center {
    border-top: 1px solid #D9D9D9;
    padding-top: 40px;
    margin-top: 80px;
}

.rap-author-center .rap-author-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 50px;
    margin: 0;
}

.rap-author-center .rap-author-sidebar__heading {
    grid-column: 1 / -1;
    border-bottom: 0px solid #D9D9D9 !important;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 11px;
    font-weight: 600;
}

.rap-author-center .rap-author-sidebar__primary-group {
    grid-column: 1;
    align-self: start;
}

/* Single author (no co-authors): span full width */
.rap-author-center .rap-author-sidebar__primary-group:last-child {
    grid-column: 1 / -1;
}

.rap-author-center .rap-author-sidebar__co-group {
    grid-column: 2;
    align-self: start;
}

.rap-author-center .rap-author-sidebar__divider--dashed {
    display: none;
}

/* ── About Speakers Sidebar (left column, podcast pages only) ────────────── */

.rap-speaker-sidebar {
    padding-top: 0;
}

/* ── Latest Resources Sidebar ────────────────────────────────────────────── */

.rap-latest-resources {
    margin-top: 40px;
}

.rap-latest-resources__heading {
    color: #999;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.99px;
    text-transform: uppercase;
    margin: 0 0 10px 0;
}

.rap-latest-resources__divider {
    border: none;
    border-top: 1px solid #D9D9D9;
    margin: 0;
    opacity: 1;
}

/* ── List items ── */

.rap-latest-resources__list {
    display: flex;
    flex-direction: column;
    transition: opacity 0.2s ease;
}

.rap-latest-resources__list.rap-lr-list--loading {
    opacity: 0.4;
    pointer-events: none;
}

.rap-lr-item {
    padding: 0;
}

.rap-lr-item__link {
    display: block;
    text-decoration: none;
    padding: 12px 0;
}

.rap-lr-item__link:hover .rap-lr-item__title {
    color: #544FF8;
}

.rap-lr-item__title {
    color: #000;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 17.4px;
    margin: 0 0 4px 0;
    transition: color 0.2s ease;
}

.rap-lr-item__meta {
color: #999;
font-size: 11px;
font-style: normal;
font-weight: 400;
line-height: 16.5px;
}

.rap-lr-item__sep {
    margin: 0 2px;
}

.rap-lr-item__divider {
    border: none;
    border-top: 1px solid #e8e8e8;
    margin: 0;
    opacity: 1;
}

.rap-lr-empty {
    color: #888;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    margin: 12px 0 0 0;
    letter-spacing: normal;
}

/* ── Download White Paper Button ─────────────────────────────────────────── */

.rap-download-btn-wrap {
    margin: 0 0 40px 0;
    display: flex;
    justify-content: center;
}

.rap-download-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 240px;
    gap: 12px;
    background-color: #2b2b2b;
    color: #fff !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 25.6px;
    padding: 10px 20px;
    border-radius: 12px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.rap-download-btn:hover {
    background-color: #444;
    color: #fff;
    text-decoration: none;
}

.rap-download-btn svg {
    flex-shrink: 0;
}

/* ── Whitepaper HubSpot Download Form ───────────────────────────────────── */

.rap-wp-form-section {
    margin-top: 120px;
    scroll-margin-top: 120px;
}

.rap-wp-form-heading {
color: #333;
text-align: center;
font-size: 28px;
font-style: normal;
font-weight: 400;
line-height: 140%; /* 39.2px */
    margin: 0 0 38px 0;
}

.rap-wp-hs-form {
    max-width: 55%;
    margin: 0 auto;
}

/* HubSpot form field overrides */
.rap-wp-hs-form .hs-form fieldset {
    max-width: 100% !important;
}

.rap-wp-hs-form .hs-form fieldset.form-columns-2 {
    display: flex;
    gap: 50px;
}

.rap-wp-hs-form .hs-form .hs-form-field {
    margin-bottom: 32px;
}

.rap-wp-hs-form .hs-form .hs-form-field label {
    color: #555;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 6px;
    display: block;
}

.rap-wp-hs-form .hs-form input[type="text"],
.rap-wp-hs-form .hs-form input[type="email"],
.rap-wp-hs-form .hs-form input[type="tel"],
.rap-wp-hs-form .hs-form select,
.rap-wp-hs-form .hs-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #ccc;
    border-radius: 0;
    background: transparent;
    padding: 8px 0;
    font-size: 15px;
    color: #1a1a1a;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease;
}

.rap-wp-hs-form .hs-form input[type="text"]:focus,
.rap-wp-hs-form .hs-form input[type="email"]:focus,
.rap-wp-hs-form .hs-form input[type="tel"]:focus,
.rap-wp-hs-form .hs-form select:focus,
.rap-wp-hs-form .hs-form textarea:focus {
    border-bottom-color: #544FF8;
}

.rap-wp-hs-form .hs-form .hs-button,
.rap-wp-hs-form .hs-form input[type="submit"] {
    margin: 0px auto 0;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 160%; /* 25.6px */
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    width: auto;
    display: flex;
padding: 10px 20px;
justify-content: center;
align-items: center;
gap: 12px;
border-radius: 12px;
background: #242424;
}

.rap-wp-hs-form .hs-form .hs-button:hover,
.rap-wp-hs-form .hs-form input[type="submit"]:hover {
    background-color: #333;
}

.rap-wp-hs-form .hs-form .hs-error-msgs {
    list-style: none;
    padding: 0;
    margin: 4px 0 0 0;
}

.rap-wp-hs-form .hs-form .hs-error-msgs li label {
    color: #e53e3e;
    font-size: 12px;
    margin: 0;
}

/* Scroll-to-form button variant */
.rap-download-btn--scroll {
    cursor: pointer;
}

/* ── Podcast HubSpot Form (full-width block, podcast pages only) ─────────── */

.hubspot-podcast {
    margin-top: 60px;
}

.hsform-pc-title {
color: #333;
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 160%; /* 25.6px */
letter-spacing: 0.32px;
    margin: 0 0 10px 0;
    max-width: 820px;
}

/* HubSpot form field overrides — podcast form */
.hubspot-podcast .hs-form fieldset {
    max-width: 100% !important;
}

.hubspot-podcast .hs-form fieldset.form-columns-2 {
    display: flex;
    gap: 50px;
}

.hubspot-podcast .hs-form .hs-form-field {
    margin-bottom: 32px;
}

.hubspot-podcast .hs-form .hs-form-field label {
    color: #808080;
    font-size: 15px;
    font-weight: 400;
    margin-bottom: 8px;
    display: block;
}

.hubspot-podcast .hs-form input[type="text"],
.hubspot-podcast .hs-form input[type="email"],
.hubspot-podcast .hs-form input[type="tel"],
.hubspot-podcast .hs-form select,
.hubspot-podcast .hs-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #808080;
    border-radius: 0;
    background: transparent;
    padding: 8px 0;
    font-size: 15px;
    color: #1a1a1a;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease;
}

.hubspot-podcast .hs-form input[type="text"]:focus,
.hubspot-podcast .hs-form input[type="email"]:focus,
.hubspot-podcast .hs-form input[type="tel"]:focus,
.hubspot-podcast .hs-form select:focus,
.hubspot-podcast .hs-form textarea:focus {
    border-bottom-color: #1a1a1a;
}

/* Submit button — dark rounded */
.hubspot-podcast .hs-form .hs-button,
.hubspot-podcast .hs-form input[type="submit"] {
    display: flex;
    margin: 8px auto 0;
    padding: 10px 20px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border-radius: 12px;
    background: #242424;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    white-space: nowrap;
    min-width: 220px;
}

.hubspot-podcast .hs-form .hs-button:hover,
.hubspot-podcast .hs-form input[type="submit"]:hover {
    background: linear-gradient(91deg, #544FF8 69.59%, #2EB6AE 99.41%);
}

/* Error messages */
.hubspot-podcast .hs-form .hs-error-msgs {
    list-style: none;
    padding: 0;
    margin: 4px 0 0 0;
}

.hubspot-podcast .hs-form .hs-error-msgs li label {
    color: #e53e3e;
    font-size: 12px;
    margin: 0;
}

/* ── Sidebar CTA Card (right sidebar, all post types) ───────────────────── */

.rap-sidebar-cta-card {
    display: flex;
    flex-direction: column;
    border-radius: 16px;
    padding: 16px;
    margin:24px 0 32px 0;
    gap: 0;
}

.rap-sidebar-cta-card--light {
    border: 1px solid #E8E8E8;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.rap-sidebar-cta-card__heading {
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16.8px; /* 140% */
    margin-bottom: 5px;
}

.rap-sidebar-cta-card__desc {
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 17.05px; /* 155% */
}

.rap-sidebar-cta-card__btn-wrap {
    margin-top: auto;
}

.rap-sidebar-cta-card__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 9px 12px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    transition: opacity 0.2s ease, filter 0.2s ease;
    white-space: normal;
    word-break: break-word;
}

.rap-sidebar-cta-card__btn:hover {
    opacity: 0.85;
    text-decoration: none;
    filter: brightness(1.08);
}

/* ── Podcast CTA Card (right sidebar, article page) ─────────────────────── */

.rap-sd-card {
    display: flex;
    flex-direction: column;
border-radius: 12px;
background: linear-gradient(108deg, #544FF8 14.73%, #D4FFFC 125.46%);
    padding: 28px 18px;
    margin-bottom: 32px;
}

.rap-sd-card__heading {
    color: #FFF;
    font-size: 19px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0 0 9px 0;
    letter-spacing: normal;
}

.rap-sd-card__subtext {
    color: rgba(255, 255, 255, 0.90);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin: 0 0 28px 0;
    letter-spacing: normal;
}

.rap-sd-card__btn-wrap {
    margin-top: auto;
}

.rap-sd-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background-color 0.2s ease;
    white-space: nowrap;
padding: 10px 20px;
justify-content: center;
align-items: center;
gap: 12px;
color: #FFF;
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 160%; /* 22.4px */
border-radius: 12px;
background: #242424;
}

.rap-sd-card__btn:hover {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}

/* ── Podcast Subscribe HubSpot Form (right sidebar, podcast pages only) ──── */

.podcast-subscribe-hsform {
    margin-top: 30px;
}

.podcast-subscribe-hsform .title-subscribe {
color: #000;
font-size: 19px;
font-style: normal;
font-weight: 500;
line-height: normal;
    margin: 0 0 20px 0;
}

/* Hide HubSpot label — placeholder acts as label */
.podcast-subscribe-hsform .hs-form .hs-form-field label:not(.hs-error-msg) {
    display: none;
}

.podcast-subscribe-hsform .hs-form fieldset {
    max-width: 100% !important;
}

.podcast-subscribe-hsform .hs-form .hs-form-field {
    margin-bottom: 0;
}

/* Underline-only email input */
.podcast-subscribe-hsform .hs-form input[type="email"],
.podcast-subscribe-hsform .hs-form input[type="text"] {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #808080;
    border-radius: 0;
    background: transparent;
    padding: 8px 0;
    font-size: 16px;
    color: #777;
    outline: none;
    box-shadow: none;
    transition: border-color 0.2s ease;
}

.podcast-subscribe-hsform .hs-form input[type="email"]:focus,
.podcast-subscribe-hsform .hs-form input[type="text"]:focus {
    border-bottom-color: #544FF8;
}

/* Subscribe button — gradient border, white background */
.podcast-subscribe-hsform .hs-form .hs-button,
.podcast-subscribe-hsform .hs-form input[type="submit"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 24px 0 0 0 !important;
    padding: 10px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: linear-gradient(#fff, #fff) padding-box,
                linear-gradient(135deg, #544FF8 0%, #2EB6AE 100%) border-box !important;
    color: #000 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 140% !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    width: auto !important;
    float: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.podcast-subscribe-hsform .hs-form .hs-button:hover,
.podcast-subscribe-hsform .hs-form input[type="submit"]:hover {
    opacity: 0.8 !important;
    background: linear-gradient(90deg, #000 0%, #5D5D5D 100%) border-box !important;
    color: #fff !important;
}

/* Error messages */
.podcast-subscribe-hsform .hs-form .hs-error-msgs {
    list-style: none;
    padding: 0;
    margin: 4px 0 0 0;
}

.podcast-subscribe-hsform .hs-form .hs-error-msgs li label {
    color: #e53e3e;
    font-size: 12px;
    margin: 0;
    display: block;
}

/* ── Testimonial Quote Card (center column, per-section) ────────────────── */

.rap-quote-card {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    border-radius: 24px;
    border: 1px solid #EAE7E2;
    background: linear-gradient(90deg, #F8F7FF 0%, #F5FFFE 100%);
    padding: 40px 48px;
    margin: 48px 0 0 0;
}

/* Left side: large italic quote text */
.rap-quote-card__quote {
    flex: 1 1 60%;
    color: #3A3A3A; /* overridden by inline style */
    font-size: 23px;
    font-style: italic;
    font-weight: 200;
    line-height: 38px;
    letter-spacing: 0.2px;
}

/* Right side: avatar + name + role */
.rap-quote-card__person {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 28px;
    min-width: 280px;
}

/* Circular avatar */
.rap-quote-card__avatar-wrap {
    position: relative;
    width: 112px;
    height: 112px;
    border-radius: 50%;
    overflow: visible;
    flex-shrink: 0;
}

/* LinkedIn icon — inline next to the author name */
.rap-quote-card__linkedin-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-left: 6px;
    text-decoration: none;
    flex-shrink: 0;
    transition: opacity 0.2s ease;
}

.rap-quote-card__linkedin-inline:hover {
    opacity: 0.85;
    text-decoration: none;
}

.rap-quote-card__linkedin-inline svg {
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 6px;
}

.rap-quote-card__avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    /* Override .article-body .item-section img rules */
    margin: 0 !important;
}

/* Name */
.rap-quote-card__name {
    color: #1A1A1A; /* overridden by inline style */
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: normal;
    margin-bottom: 8px;
}

/* Role */
.rap-quote-card__role {
    color: #3D3DC4; /* overridden by inline style */
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: normal;
}

/* ── Quote card responsive ── */
@media (max-width: 1199.98px) {
    .article-col-center{width: 100%;}
    .rap-quote-card {
        padding: 36px 40px;
        gap: 32px;
        margin: 42px 0 0 0;
    }

    .rap-quote-card__quote {
        font-size: 20px;
        line-height: 32px;
    }
}

@media (max-width: 767.98px) {
    .rap-quote-card {
        flex-direction: column;
        padding: 32px 24px;
        gap: 28px;
        border-radius: 16px;
        margin: 38px 0 0 0;
        text-align: center;
    }

    .rap-quote-card__quote {
        flex: unset;
        font-size: 18px;
        line-height: 28px;
        text-align: left;
    }

    .rap-quote-card__person {
        width: 100%;
    }

    .rap-quote-card__avatar-wrap {
        width: 90px;
        height: 90px;
    }
}


/* Breakpoints */
@media (max-width: 1199.98px) {
    /* ── Podcast page: reorder columns so About Speakers comes after hubspot-podcast ── */
    .podcast-article-row .article-col-center {
        order: 1;
    }
    .podcast-article-row .article-col-left {
        order: 2;
    }
    .podcast-article-row .article-col-right {
        order: 3;
    }

    /* About Speakers: disable sticky — at this breakpoint the left column is full-width
       and stacked, so the parent is never taller than the element itself */
    .podcast-article-row .article-col-left .sticky-top {
        position: static;
    }

    /* Grid on the inner sticky wrapper — direct parent of rap-sd-card & rap-latest-resources */
    .podcast-article-row .article-right {
        display: grid;
        grid-template-columns: 44% 1fr;
        grid-template-rows: auto auto;
        column-gap: 40px;
        align-items: start;
    }

    /* SD card: left column, row 1 */
    .podcast-article-row .rap-sd-card {
        grid-column: 1;
        grid-row: 1;
        margin-bottom: 0;
        border-radius: 20px;
        padding: 40px 36px 44px;
        width: auto;
    }

    .podcast-article-row .rap-sd-card__heading {
        font-size: 22px;
        font-weight: 400;
        line-height: normal;
    }

    .podcast-article-row .rap-sd-card__subtext {
        font-size: 15px;
        margin-bottom: 40px;
    }

    .podcast-article-row .rap-sd-card__btn {
        border-radius: 50px;
        font-size: 16px;
        padding: 12px 28px;
    }

    /* Latest Podcasts: right column, row 1 */
    .podcast-article-row .rap-latest-resources {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        width: auto;
    }

    .podcast-article-row .rap-latest-resources__heading {
        font-size: 20px;
        font-weight: 500;
        margin-bottom: 10px;
    }

    /* Revert to single-column list for podcast at tablet */
    .podcast-article-row .rap-latest-resources__list {
        display: flex;
        flex-direction: column;
    }

    .podcast-article-row .rap-lr-item__divider {
        display: block;
    }

    .podcast-article-row .rap-lr-item {
        border-bottom: none;
    }

    .podcast-article-row .rap-latest-resources__divider {
        display: block;
    }

    /* Subscribe form: full width below the side-by-side pair */
    .podcast-article-row .podcast-subscribe-hsform {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 80px;
        padding: 20px 50px;
    }
.hubspot-podcast .hs-form fieldset.form-columns-2 {
    gap: 26px;
}
    .hsform-pc-title {
color: #333;
font-size: 16px;
line-height: 160%; /* 25.6px */
letter-spacing: 0.32px;
        margin-bottom: 26px;
    }

    .rap-author-card__name {
color: #1A1A1A;
font-size: 16px;
line-height: 20px; /* 125% */
}
    .rap-wp-hs-form {
    max-width: 100%;
}
    .rap-wp-form-section {
        padding: 48px 0 60px;
        margin-top: 60px;
    }

    .rap-wp-form-heading {
        font-size: 26px;
        margin-bottom: 22px;
        text-align: left;
    }

    .article-body h2 {
        font-size: 26px;
        line-height: 36px;
    }

    .article-body h3 {
        font-size: 20px;
        line-height: 28px;
    }

    .rap-cta-card--gradient {
        gap:70px
    }

    .rap-cta-card .rap-cta-card__heading {
        font-size: 18px;
    }
    .col-3,
    .col-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
    /* ── TOC collapsible card at ≤1199.98px ── */
    .toc-card {
        border: 1px solid #E8E8E8;
        border-radius: 12px;
        background: #fff;
        overflow: hidden;
    }
    .toc-card__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 16px 20px;
        cursor: pointer;
    }
    .toc-text {
        color: #1A1A1A;
        text-align: center;
        font-size: 15px;
        font-style: normal;
        font-weight: 500;
        line-height: 22.5px;
        border-bottom: none;
        padding-bottom: 0;
        margin: 0;
    }
    .toc-card__chevron {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        transition: transform 0.25s ease;
    }
    .toc-card__header[aria-expanded="true"] .toc-card__chevron {
        transform: rotate(180deg);
    }
    .toc-card__body {
        padding: 0 24px 20px;
    }
    .mt-40 {
    margin-top: 60px;
}
.rap-key-takeaways-accordion {
    margin: 80px 0 42px 0;
}
.rap-key-takeaways-btn,
.rap-key-takeaways-btn:not(.collapsed)
{
    font-size: 18px;
}
.rap-takeaways-list {
    gap: 16px;
}
.rap-key-takeaways-body {
    background-color: #fff;
    padding: 24px 24px 24px;
}

/* About Author - 2 per row */
.rap-author-sidebar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 50px;
    margin: 80px 0;
}
.rap-author-sidebar__heading {
    grid-column: 1 / -1;
    width: auto;
    margin-bottom: 16px;
    border-bottom: none;
}
/* About Speakers — restore heading separator + hide co-label at tablet */
.rap-speaker-sidebar .rap-author-sidebar__heading {
    border-bottom: 1px solid #D9D9D9;
    padding-bottom: 10px;
}
.rap-speaker-sidebar .rap-author-sidebar__co-label {
    display: none;
}
.rap-latest-resources__heading, 
.rap-author-sidebar__heading
{
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 16px;
}
.rap-author-sidebar__divider--dashed {
    display: none;
}
.article-body .item-section {
    margin-bottom: 42px;
}
.rap-author-sidebar__primary-group {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
}
/* Single author: span full width */
.rap-author-sidebar__primary-group:last-child {
    grid-column: 1 / -1;
}
.rap-author-sidebar__co-group {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
}
/* Center column: override the 80px margin set by the generic tablet rule */
.rap-author-center .rap-author-sidebar {
    margin: 0;
}
.rap-author-sidebar__co-label {
    width: auto;
    margin-bottom: 12px;
}

/* Latest Resources - 2 per row */
.rap-latest-resources__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 24px;
}
.rap-lr-item__divider {
    display: none;
}
.rap-lr-item {
    border-bottom: 1px solid #e8e8e8;
}
.rap-latest-resources {
    margin-top: 80px;
}
.rap-download-btn-wrap {
    margin: 0 0 80px 0;
    display: flex;
    justify-content: center;
}
.rap-download-btn {
    width: auto;
}
.rap-latest-resources__divider
{
    display: none;
}
.rap-lr-item__title
{
    font-size: 12px;
}

/* Podcast Subscribe Form — card layout at tablet */
.podcast-subscribe-hsform {
    background: #F2F2F2;
    border-radius: 16px;
    padding: 40px 60px 48px;
    margin-top: 40px;
    text-align: center;
}

.podcast-subscribe-hsform .title-subscribe {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 32px;
}

.podcast-subscribe-hsform .hs-form input[type="email"],
.podcast-subscribe-hsform .hs-form input[type="text"] {
    text-align: center;
}

.podcast-subscribe-hsform .hs-form .hs-button,
.podcast-subscribe-hsform .hs-form input[type="submit"] {
    margin: 28px auto 0 !important;
    min-width: 200px;
    background: linear-gradient(#F5F5F5, #F5F5F5) padding-box,
                linear-gradient(135deg, #544FF8 0%, #2EB6AE 100%) border-box !important;
}
}

@media (max-width: 767.98px) {
    /* Podcast right sidebar: stack SD card above Latest Podcasts on mobile */
    .podcast-article-row .article-right {
        display: flex;
        flex-direction: column;
    }
.podcast-article-row .rap-sd-card__subtext {
        font-size: 12px;
        margin-bottom: 40px;
    }
    .podcast-subscribe-hsform .title-subscribe {
        font-size: 19px;margin-bottom: 22px;
    }
    .podcast-article-row .rap-sd-card {
        order: 1;
        margin-bottom: 60px;
        padding: 40px 28px 44px;
    }
    .podcast-article-row .rap-latest-resources__heading {
        font-size: 16px;
    }
.rap-author-card__name {
        font-size: 14px;
    }
    .podcast-article-row .rap-latest-resources {
        order: 2;
        margin-top: 0;
        width: 100%;
    }

    .podcast-article-row .podcast-subscribe-hsform {
        order: 3;
        margin-top: 60px;
    }

    .hubspot-podcast {
        margin-top: 60px;
        padding: 0px 0 0px;
    }

    .hsform-pc-title {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 20px;
    }

    /* Podcast form: stack 2-col fields to single column on mobile */
    .hubspot-podcast .hs-form fieldset.form-columns-2 {
        flex-direction: column !important;
        gap: 0 !important;
    }

    .hubspot-podcast .hs-form fieldset.form-columns-2 .hs-form-field {
        width: 100% !important;
        float: none !important;
    }

    .hubspot-podcast .hs-form fieldset.form-columns-2 .input {
        margin-right: 0 !important;
    }

    .rap-wp-form-section {
        padding: 36px 0 48px;
        margin-top: 40px;
    }

    .rap-wp-form-heading {
        font-size: 26px !important;
        line-height: 1.3 !important;
        margin-bottom: 28px !important;
    }

    /* HubSpot form: stack all fields single column on mobile */
    .rap-wp-hs-form .hs-form fieldset.form-columns-2 {
        flex-direction: column !important;
        gap: 0 !important;
    }

    .rap-wp-hs-form .hs-form fieldset.form-columns-2 .hs-form-field {
        width: 100% !important;
        float: none !important;
    }

    .rap-wp-hs-form .hs-form fieldset.form-columns-2 .input {
        margin-right: 0 !important;
    }

    .rap-wp-hs-form {
        max-width: 100%;
    }

    .mt-40 {
        margin-top: 40px;
    }
    .rap-key-takeaways-accordion {
        margin: 60px 0 38px 0;
    }

    .article-body h2 {
        font-size: 24px;
        line-height: 32px;
    }
    .article-body p
    {
        font-size: 14px;
        line-height: 22px;
    }
    .article-body .item-section {
        margin-bottom: 38px;
    }
    .rap-takeaway-text {
    font-size: 14px;
    line-height: 18px;
}
.rap-key-takeaways-body {
        background-color: #fff;
        padding: 16px 16px 20px 16px;
    }
    /* CTA Card — gradient variant stacks vertically */
    .rap-cta-card--gradient {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .rap-cta-card--gradient .rap-cta-card__body {
        flex: unset;
        width: 100%;
    }

    .rap-cta-card .rap-cta-card__heading {
        font-size: 16px;
    }

    .rap-cta-card .rap-cta-card__desc {
        font-size: 12px;
    }

    .rap-cta-card .rap-cta-card__desc-2 {
        font-size: 14px;
    }

    .rap-cta-card--gradient .rap-cta-card__btn-wrap {
        width: 100%;
    }

    /* CTA Card — gradient/text-only: align-center already stacks; align-right
       goes back to a normal left-to-right stacked column on mobile instead
       of staying pushed to the right at 65% width */
    .rap-cta-card--gradient.rap-cta-card--align-right {
        flex-direction: column;
        align-items: flex-start;
    }

    .rap-cta-card--gradient.rap-cta-card--align-right .rap-cta-card__body {
        max-width: 100%;
        text-align: left;
    }

    .rap-cta-card .rap-cta-card__btn {
        font-size: 14px;
    }

    /* CTA Card — custom text/button position resets to a normal stacked
       column on mobile (selectors match the desktop rules' specificity) */
    .rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-left {
        flex-direction: column;
    }

    .rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-left .rap-cta-card__body {
        text-align: left;
    }

    .rap-cta-card--custom.rap-cta-card--text-pos-left.rap-cta-card--btn-pos-left {
        flex-direction: column;
        justify-content: flex-start;
    }

    .rap-cta-card--custom.rap-cta-card--text-pos-left.rap-cta-card--btn-pos-left .rap-cta-card__body {
        flex: unset;
        width: 100%;
    }

    .rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-right {
        flex-direction: column;
        justify-content: flex-start;
    }

    .rap-cta-card--custom.rap-cta-card--text-pos-right.rap-cta-card--btn-pos-right .rap-cta-card__body {
        flex: unset;
        width: 100%;
        text-align: left;
    }

    /* CTA Card — image variant (always full-width background) on mobile */
    .rap-cta-card--image {
        padding: 32px 20px;
        justify-content: flex-start !important;
        min-height: auto;
    }

    .rap-cta-card--image .rap-cta-card__body {
        max-width: 100%;
        margin-left: 0;
        text-align: left;
    }

    /* align-center's desktop 75% max-width outranks the generic reset above
       (3 classes vs 2) — repeat it here so center also goes full width */
    .rap-cta-card--image.rap-cta-card--align-center .rap-cta-card__body {
        max-width: 100%;
    }

    .rap-cta-card--image .rap-cta-card__btn {
        margin-left: 0;
        margin-right: 0;
    }

    /* About Author — revert to single column */
    .rap-author-sidebar {
        display: block;
        margin: 60px 0;
    }

    /* Center column: also revert to single column (higher specificity needed) */
    .rap-author-center .rap-author-sidebar {
        display: block;
        margin: 0;
    }

    .rap-author-sidebar__heading {
        grid-column: unset;
        border-bottom: 1px solid #D9D9D9;
        margin-bottom: 24px;
    }

    .rap-author-sidebar__primary-group {
        grid-column: unset;
        grid-row: unset;
    }

    .rap-author-sidebar__co-group {
        grid-column: unset;
        grid-row: unset;
    }

    .rap-author-sidebar__divider--dashed {
        display: block;
    }

    /* Center column: restore dashed divider between author and co-author on mobile */
    .rap-author-center .rap-author-sidebar__divider--dashed {
        display: block;
    }

    /* Latest Resources — revert to single column */
    .rap-latest-resources__list {
        display: flex;
        flex-direction: column;
    }

    .rap-lr-item__divider {
        display: block;
    }

    .rap-lr-item {
        border-bottom: none;
    }

    .rap-latest-resources__divider {
        display: block;
    }
}

@media (max-width: 599px) {
    .rap-download-btn-wrap {
        display: flex;
        justify-content: center;
        margin: 0 0 40px 0;
    }

    .rap-download-btn {
        width: 100%;
    }
}

/* ── Content List (section component, two styles) ───────────────────────── */

.rap-content-list {
    margin: 40px 0 0 0;
}

/* ── Style 1: Numbered Grid ─────────────────────────────────────────────── */

.rap-content-list--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rap-content-list__card {
    border-radius: 12px;
    border: 1px solid #E8E8FF;
    background: #F8F8FF;
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.content-list-badge
{
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Numbered badge — purple filled circle */
.rap-content-list__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 100%;
    background: linear-gradient(135deg, #544FF8 0%, #7B77FB 100%);
    color: #fff;
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    flex-shrink: 0;
    letter-spacing: 0.5px;
}

/* Title — grid style */
.rap-content-list--grid .rap-content-list__title {
    color: #1A1A1A;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 18.2px; /* 130% */
    margin: 0;
}

/* Description — grid style */
.rap-content-list--grid .rap-content-list__desc {
    color: #555;
    font-size: 13px;
    font-style: normal;
    font-weight: 300;
    line-height: 21.45px; /* 165% */
    margin: 0;
    letter-spacing: normal;
}

/* ── Style 2: Bordered List ─────────────────────────────────────────────── */

.rap-content-list--bordered {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Card wrapper — position:relative so the ::before pseudo sits inside */
.rap-content-list__item {
    position: relative;
    background: #fff;
    border: 1px solid #E8E8F0;
    border-radius: 14px;
    padding: 16px 20px 16px 38px;
    overflow: hidden;
}

/* Gradient left accent line via pseudo-element */
.rap-content-list__item::before {
    content: '';
    position: absolute;
    top: 14px;          /* inset from top so it doesn't touch the rounded corner */
    bottom: 14px;       /* inset from bottom */
    left: 21px;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: linear-gradient(180deg, #544FF8 0%, #2EB6AE 100%);
}

/* Title — bordered style */
.rap-content-list--bordered .rap-content-list__title {
    color: #544FF8;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: 22.4px;
    margin: 0 0 5px 0;
}

/* Description — bordered style */
.rap-content-list--bordered .rap-content-list__desc {
    color: #333;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20.15px;
    margin: 0 0 5px 0;
    letter-spacing: normal;
}

/* "AiDE® delivers:" line */
.rap-content-list--bordered .rap-content-list__delivers {
    color: #666;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 20.15px;
    margin: 0;
    letter-spacing: normal;
    margin-bottom: 0;
}
.rap-content-list--bordered .rap-content-list__delivers  sup
{
    top: 0;
}

.rap-content-list__delivers-label {
    color: #1A1A1A;
    font-weight: 600;
    margin-right: 2px;
}

.rap-content-list__delivers-label sup {
    font-size: 9px;
    vertical-align: super;
}

/* ── Content List responsive ── */

@media (max-width: 1199.98px) {
    .rap-content-list--grid {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .rap-content-list__card {
        padding: 20px 20px 24px;
    }
}

@media (max-width: 767.98px) {
    .rap-content-list--grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .rap-content-list__card {
        padding: 18px 18px 22px;
    }

    .rap-content-list--grid .rap-content-list__title {
        font-size: 16px;
    }

    .rap-content-list--bordered .rap-content-list__title {
        font-size: 16px;
    }

    .rap-content-list--bordered .rap-content-list__desc,
    .rap-content-list--grid .rap-content-list__desc {
        font-size: 14px;
        line-height: 22px;
    }
}

/* ============================================================
   DATA TABLE COMPONENT
   ============================================================ */

/* ── Shared wrapper ─────────────────────────────────────────── */
.rap-data-table {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin: 32px 0 0 0;
}

/* ── Header row ─────────────────────────────────────────────── */
.rap-data-table__header {
    display: flex;
    background: #F0F1F8;
    padding: 14px 20px;
    gap: 0;
}

.rap-data-table__header-cell {
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
    color: #544FF8;          /* default; overridden inline for contrast style */
    padding: 0 12px;
}

/* ── Default: equal-width columns ───────────────────────────── */
.rap-data-table__header-cell {
    flex: 1;
}

/* ── Body rows ──────────────────────────────────────────────── */
.rap-data-table__row {
    display: flex;
    align-items: stretch;
    border-top: 1px solid #E5E7EB;
    padding: 0;
    background: #FFFFFF;
}

/* Alternating row backgrounds: row 1 white, row 2 #FAFAFA, … */
.rap-data-table__row--odd {
    background: #FFFFFF;
}

.rap-data-table__row--even {
    background: #FAFAFA;
}

.rap-data-table__cell {
    padding: 18px 20px 18px 24px;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    color: #333;
    flex: 1;
    /* No vertical dividers by default — only contrast style adds them */
}

/* ── 2-column layout ────────────────────────────────────────── */
.rap-data-table--2col .rap-data-table__header-cell,
.rap-data-table--2col .rap-data-table__cell {
    flex: 1 1 50%;
}

/* ── 3-column layout ────────────────────────────────────────── */
.rap-data-table--3col .rap-data-table__header-cell,
.rap-data-table--3col .rap-data-table__cell {
    flex: 1 1 33.333%;
}

/* ── 4-column layout ────────────────────────────────────────── */
.rap-data-table--4col .rap-data-table__header-cell,
.rap-data-table--4col .rap-data-table__cell {
    flex: 1 1 25%;
}

/* ── 5-column layout ────────────────────────────────────────── */
.rap-data-table--5col .rap-data-table__header-cell,
.rap-data-table--5col .rap-data-table__cell {
    flex: 1 1 20%;
    font-size: 13px;
}

/* ── 6+ columns: equal flex, smaller text ───────────────────── */
.rap-data-table--6col .rap-data-table__header-cell,
.rap-data-table--6col .rap-data-table__cell {
    flex: 1 1 16.666%;
    font-size: 12px;
}

/* ─────────────────────────────────────────────────────────────
   STYLE: standard  (3-col comparison, first col bold)
   ─────────────────────────────────────────────────────────────
   Header: purple text on lavender bg (shared default above).
   Col 1 body: bold dark text (the "Parameters" column).
   Col 2 & 3 body: normal weight.
   ───────────────────────────────────────────────────────────── */
.rap-data-table--standard .rap-data-table__cell--col1 {
    font-weight: 700;
    color: #1A1A1A;
}

/* ─────────────────────────────────────────────────────────────
   STYLE: two-col  (Finding / Source — wide col1, narrow col2)
   ─────────────────────────────────────────────────────────────
   Col 1 takes ~75% width; col 2 is the narrow "Source" column.
   ───────────────────────────────────────────────────────────── */
.rap-data-table--two-col .rap-data-table__header-cell--col1,
.rap-data-table--two-col .rap-data-table__cell--col1 {
    flex: 3 1 0;
}

.rap-data-table--two-col .rap-data-table__header-cell--col2,
.rap-data-table--two-col .rap-data-table__cell--col2 {
    flex: 1 1 0;
}

/* ─────────────────────────────────────────────────────────────
   STYLE: side-by-side  (2-col, both headers bold purple)
   ─────────────────────────────────────────────────────────────
   Both columns equal width; both body cells normal weight.
   Header cells already purple from the shared default.
   ───────────────────────────────────────────────────────────── */
.rap-data-table--side-by-side .rap-data-table__header-cell {
    font-size: 15px;
    font-weight: 700;
}

/* ─────────────────────────────────────────────────────────────
   STYLE: standard  — vertical dividers OFF (default look)
   ─────────────────────────────────────────────────────────────
   The header row has no column separators; rows are separated
   only by horizontal borders (already on .rap-data-table__row).
   ───────────────────────────────────────────────────────────── */
.rap-data-table--standard .rap-data-table__header-cell,
.rap-data-table--two-col .rap-data-table__header-cell,
.rap-data-table--side-by-side .rap-data-table__header-cell {
    border-right: none;
}

.rap-data-table--standard .rap-data-table__cell,
.rap-data-table--two-col .rap-data-table__cell,
.rap-data-table--side-by-side .rap-data-table__cell {
    border-right: none;
}

/* ─────────────────────────────────────────────────────────────
   STYLE: contrast  (colored headers, per-column body colors)
   ─────────────────────────────────────────────────────────────
   Header and body text colors are applied via inline style=""
   attributes generated in PHP (see render_rap_content_table).
   The header background is slightly tinted for this style.
   ───────────────────────────────────────────────────────────── */
.rap-data-table--contrast .rap-data-table__header {
    background: #FAFAFA;
    border-bottom: 1px solid #E5E7EB;
}

.rap-data-table--contrast .rap-data-table__header-cell {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    /* color set inline per column */
}

/* Contrast style: restore vertical dividers between columns */
.rap-data-table--contrast .rap-data-table__header-cell {
    border-right: 1px solid #E5E7EB;
}

.rap-data-table--contrast .rap-data-table__header-cell:last-child {
    border-right: none;
}

.rap-data-table--contrast .rap-data-table__cell {
    border-right: 1px solid #E5E7EB;
}

.rap-data-table--contrast .rap-data-table__cell:last-child {
    border-right: none;
}

/* Middle column (col2) in contrast style gets a subtle lavender bg */
.rap-data-table--contrast .rap-data-table__header-cell--col2,
.rap-data-table--contrast .rap-data-table__cell--col2 {
    background: #F5F5FF;
}

/* Col2 body text is bold (set inline) — reinforce with font-weight */
.rap-data-table--contrast .rap-data-table__cell--col2 {
    font-weight: 700;
}

/* ============================================================
   DEFAULT TABLE STYLES
   Applies to plain <table> elements inside the article body
   (e.g. tables inserted via the WYSIWYG editor).
   Matches the "standard" rap-data-table look from screenshot 1.
   ============================================================ */

.article-col-center table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    margin: 32px 0;
    font-size: 15px;
    line-height: 24px;
}

/* Header row — lavender background, purple bold text */
.article-col-center table thead tr th,
.article-col-center table thead tr td {
    background: #F0F1F8;
    color: #544FF8;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    padding: 14px 24px;
    border-bottom: 1px solid #E5E7EB;
    border-right: none;
    text-align: left;
    vertical-align: middle;
}

/* First header cell: rounded top-left */
.article-col-center table thead tr th:first-child,
.article-col-center table thead tr td:first-child {
    border-radius: 12px 0 0 0;
}

/* Last header cell: rounded top-right */
.article-col-center table thead tr th:last-child,
.article-col-center table thead tr td:last-child {
    border-radius: 0 12px 0 0;
}

/* Body rows — horizontal separators only, no vertical dividers */
.article-col-center table tbody tr {
    background: #FFFFFF;
}

.article-col-center table tbody tr:nth-child(odd) {
    background: #FAFAFA;
}

.article-col-center table tbody tr td,
.article-col-center table tbody tr th {
    padding: 12px 20px;
    color: #333;
    font-size: 14px;
    font-weight: 300;
    line-height: 21.7px;
    border-right: none;
    vertical-align: middle;
    text-align: left;
}

/* First column body cells: bold dark text (like "Parameters" column) */
.article-col-center table tbody tr td:first-child,
.article-col-center table tbody tr th:first-child {
    font-weight: 500;
    color: #1A1A1A;
}

/* Bottom-left and bottom-right rounded corners */
.article-col-center table tbody tr:last-child td:first-child,
.article-col-center table tbody tr:last-child th:first-child {
    border-radius: 0 0 0 12px;
}

.article-col-center table tbody tr:last-child td:last-child,
.article-col-center table tbody tr:last-child th:last-child {
    border-radius: 0 0 12px 0;
}

/* Tables without thead — treat first row as header */
.article-col-center table:not(:has(thead)) tbody tr:first-child td,
.article-col-center table:not(:has(thead)) tbody tr:first-child th {
    background: #F0F1F8;
    color: #544FF8;
    font-size: 13px;
    font-weight: 600;
    line-height: 19.5px;
    border: none;
    height: auto;
}

/* Responsive: allow horizontal scroll on small screens */
@media (max-width: 767.98px) {
    .article-col-center table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        font-size: 13px;
    }

    .article-col-center table thead tr th,
    .article-col-center table thead tr td {
        font-size: 12px;
        padding: 10px 14px;
        white-space: nowrap;
    }

    .article-col-center table tbody tr td,
    .article-col-center table tbody tr th {
        font-size: 13px;
        padding: 14px 14px;
        white-space: nowrap;
    }
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 767.98px) {
    .rap-data-table {
        border-radius: 8px;
    }

    .rap-data-table__header {
        padding: 10px 12px;
    }

    .rap-data-table__header-cell {
        font-size: 12px;
        padding: 0 6px;
    }

    .rap-data-table__cell {
        padding: 14px 12px;
        font-size: 13px;
        line-height: 20px;
    }

    /* two-col: restore equal widths on mobile so text doesn't overflow */
    .rap-data-table--two-col .rap-data-table__header-cell--col1,
    .rap-data-table--two-col .rap-data-table__cell--col1 {
        flex: 2 1 0;
    }

    .rap-data-table--two-col .rap-data-table__header-cell--col2,
    .rap-data-table--two-col .rap-data-table__cell--col2 {
        flex: 1 1 0;
    }
}
