/**
 * Article page shell: full-bleed hero + left main / right related
 * Used by Article-common-template / blog content templates
 *
 * Migrated fragments (article > header.-hero + main): full-bleed hero grid.
 * Legacy fragments (no main): safe flex — whole article left, related right.
 */

/* Header offset (site-bundle may omit reset.css tokens) */
:root {
    --rp-top-bar-h: 40px;
    --rp-nav-h: 68px;
    --rp-header-offset: calc(var(--rp-top-bar-h) + var(--rp-nav-h));
}

@media (max-width: 1200px) {
    :root {
        --rp-top-bar-h: 0px;
        --rp-nav-h: 48px;
        --rp-header-offset: var(--rp-nav-h);
    }
}

body.rp-fixed-header,
body:has(.article-page) {
    padding-top: var(--rp-header-offset);
}

.article-page {
    /* Sidebar width (~Protolabs col-md-3 ≈ 292px) */
    --article-related-width: 28rem;
    /* Middle: main ↔ related (~Protolabs left padding-right 60px) */
    --article-col-gap: 4rem;
    /* Outer left/right minimum (side columns); raise to push content inward */
    --article-side-gutter: 4rem;
    /*
     * Content band (main + gap + related) — match site .container
     * (styles.css: 1170 / 1400 / 1440) so edges align with nav logo ↔ CTA.
     */
    --article-page-max: 117rem;
    /* Back-compat alias */
    --article-page-gap: var(--article-col-gap);
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding: 0 var(--article-side-gutter) 4rem;
    box-sizing: border-box;
}

@media (min-width: 1500px) {
    .article-page {
        --article-page-max: 140rem;
    }
}

@media (min-width: 1800px) {
    .article-page {
        --article-page-max: 144rem;
    }
}

@media (min-width: 992px) {
    /* Legacy / default: keep article-content as a real box (Viewer-safe) */
    .article-page {
        display: flex;
        align-items: flex-start;
        gap: var(--article-col-gap);
    }

    .article-page > .article-content {
        flex: 1 1 0;
        min-width: 0;
    }

    .article-page > .article-related {
        flex: 0 0 var(--article-related-width);
        width: var(--article-related-width);
        position: sticky;
        top: calc(var(--rp-header-offset, 108px) + 1.6rem);
        align-self: flex-start;
    }

    /*
     * Pre-reveal: keep left column width stable — reserve related slot,
     * only hide the sidebar visually (do NOT expand main to full width).
     */
    html.article-js .article-page:has(> .article-related):not(.article-page--related-visible) > .article-related {
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }

    /* Progressive reveal (slower fade + staggered children) */
    html.article-js .article-page.article-page--related-visible > .article-related {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        animation: article-related-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__title,
    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item {
        animation: article-related-child-in 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__title {
        animation-delay: 0.15s;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item:nth-child(1) {
        animation-delay: 0.32s;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item:nth-child(2) {
        animation-delay: 0.48s;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item:nth-child(3) {
        animation-delay: 0.64s;
    }

    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item:nth-child(n + 4) {
        animation-delay: 0.78s;
    }

    .article-page:not(:has(> .article-related)) > .article-content {
        flex: 1 1 auto;
    }

    /*
     * Migrated: article > header.-hero + main
     * 5-col full-bleed: [side][main][col-gap][related][side]
     * Hero spans all columns at width 100% (no negative-margin breakout).
     */
    .article-page:has(> .article-content > article > main) {
        --article-main-max: calc(
            var(--article-page-max) - var(--article-related-width) - var(--article-col-gap)
        );
        display: grid;
        grid-template-columns:
            minmax(var(--article-side-gutter), 1fr)
            minmax(0, var(--article-main-max))
            var(--article-col-gap)
            var(--article-related-width)
            minmax(var(--article-side-gutter), 1fr);
        column-gap: 0;
        align-items: start;
        max-width: none;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        overflow-x: clip;
    }

    .article-page:has(> .article-content > article > main):not(:has(> .article-related)) {
        --article-main-max: var(--article-page-max);
        grid-template-columns:
            minmax(var(--article-side-gutter), 1fr)
            minmax(0, var(--article-main-max))
            minmax(var(--article-side-gutter), 1fr);
    }

    .article-page:has(> .article-content > article > main) > .article-content,
    .article-page:has(> .article-content > article > main) > .article-content > article {
        display: contents;
    }

    .article-page:has(> .article-content > article > main) > .article-content > article > header[class*="-hero"] {
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        position: relative;
        left: auto;
        right: auto;
        margin-left: 0;
        margin-right: 0;
    }

    .article-page:has(> .article-content > article > main) > .article-content > article > main {
        grid-column: 2;
        grid-row: 2;
        min-width: 0;
        padding-right: 3rem;
        padding-left: 0;
    }

    .article-page:has(> .article-content > article > main) > .article-related {
        flex: none;
        width: auto;
        grid-column: 4;
        grid-row: 2;
        align-self: start;
        position: sticky;
        top: calc(var(--rp-header-offset, 108px) + 1.6rem);
    }

    .article-page:has(> .article-content > article > main):not(:has(> .article-related)) > .article-content > article > main {
        grid-column: 2;
    }
}

@keyframes article-related-in {
    from {
        opacity: 0;
        transform: translate3d(0, 1.2rem, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes article-related-child-in {
    from {
        opacity: 0;
        transform: translate3d(0, 0.8rem, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    html.article-js .article-page.article-page--related-visible > .article-related,
    html.article-js .article-page.article-page--related-visible > .article-related .article-related__title,
    html.article-js .article-page.article-page--related-visible > .article-related .article-related__item {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

/* Related sidebar — short keyword labels, square thumbs, hover underline */
.article-related {
    margin-top: 2.4rem;
    min-width: 0;
}

.article-related__title {
    margin: 0 0 1.2rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.3;
    color: #333333;
}

.article-related__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.article-related__item {
    border: 0;
}

/* Dividers between items; last item has none */
.article-related__item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

.article-related__link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.4rem 0;
    color: #333333;
    text-decoration: none;
}

.article-related__link:hover .article-related__label,
.article-related__link:focus-visible .article-related__label {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.article-related__link:focus-visible {
    outline: 2px solid #105bab;
    outline-offset: 2px;
}

.article-related__thumb {
    flex: 0 0 6.4rem;
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 0;
    overflow: hidden;
    background: #f3f3f3;
}

.article-related__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}

.article-related__label {
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.35;
    color: inherit;
    text-decoration: none;
    /* Keep keyword lines short in the narrow column */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

@media (min-width: 992px) {
    .article-related {
        margin-top: 0;
        padding-top: 0.4rem;
    }
}

@media (max-width: 991.98px) {
    .article-page {
        --article-side-gutter: 1.6rem;
        display: block;
        padding: 0 var(--article-side-gutter) 3.2rem;
    }

    /* Mobile: related always under content (no scroll reveal) */
    html.article-js .article-page:has(> .article-related):not(.article-page--related-visible) > .article-related,
    .article-page > .article-related {
        display: block;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .article-related {
        margin-top: 3.2rem;
        padding-top: 0.8rem;
        animation: none;
    }
}

/* ===== Shared text hero (Protolabs-style) =====
 * Use on all blog articles:
 *   <header class="article-hero article-hero--text">…</header>
 * Also aliases .wodm-hero--text for the reference article.
 */
.article-hero--text,
.wodm-hero--text {
    --article-hero-accent: #ea130e;
    --article-hero-banner-bg: #f5f7fa;
    --article-hero-text: #333333;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    box-sizing: border-box;
    overflow: hidden;
}

.article-hero__inner,
.wodm-hero__inner {
    width: 100%;
    margin: 0 auto;
    padding-left: max(var(--article-side-gutter, 4rem), calc((100% - var(--article-page-max, 117rem)) / 2));
    padding-right: max(var(--article-side-gutter, 4rem), calc((100% - var(--article-page-max, 117rem)) / 2));
    box-sizing: border-box;
}

.article-hero__banner,
.wodm-hero__banner {
    background: var(--article-hero-banner-bg, #f5f7fa);
}

.article-hero__banner .article-hero__inner,
.wodm-hero__banner .wodm-hero__inner {
    margin-left: max(var(--article-side-gutter, 4rem), calc((100% - var(--article-page-max, 117rem)) / 2));
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.article-hero__meta,
.wodm-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 5rem 0;
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.4rem;
    color: #333333;
}

.article-hero__category,
.wodm-hero__category {
    color: #ea130e;
    text-decoration: none;
}

.article-hero__category:hover,
.article-hero__category:focus-visible,
.wodm-hero__category:hover,
.wodm-hero__category:focus-visible {
    color: #ea130e;
    text-decoration: underline;
}

.article-hero__sep,
.wodm-hero__sep {
    display: inline-block;
    position: relative;
    top: 0;
    flex: 0 0 auto;
    margin: 0 1rem;
    width: 0.6rem;
    height: 1.5rem;
    overflow: visible;
    font-size: 3rem;
    line-height: 0;
    color: #333 !important;
    text-decoration: none !important;
    pointer-events: none;
}

.article-hero__sep::before,
.wodm-hero__sep::before {
    content: '.';
    color: #333 !important;
    text-decoration: none !important;
}

.article-hero__date,
.wodm-hero__date {
    color: #333;
    font-weight: 400;
}

.article-hero__title,
.wodm-hero--text .wodm-hero__title {
    margin: 0 0 2rem 0;
    font-family: 'Poppins', sans-serif;
    font-size: 4.6rem;
    font-weight: 600;
    line-height: 5.5rem;
    color: var(--article-hero-text, #333333);
    text-wrap: balance;
}

.article-hero__byline,
.wodm-hero__byline {
    display: flex;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 5rem;
    font-family: 'Poppins', sans-serif;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.2rem;
    color: var(--article-hero-text, #333333);
}

.article-hero__avatar,
.wodm-hero__avatar {
    display: block;
    flex: 0 0 4rem;
    width: 4rem;
    height: 4rem;
    margin: 0 1.5rem 0 0;
    border-radius: 2rem;
    object-fit: contain;
    object-position: center;
    background: #fff;
    box-sizing: border-box;
}

.article-hero__author,
.wodm-hero__author {
    color: var(--article-hero-text, #333333);
}

@media screen and (max-width: 768px) {
    .article-hero__banner .article-hero__inner,
    .wodm-hero__banner .wodm-hero__inner {
        margin-left: 0;
        max-width: 100%;
        padding: 0 2rem;
    }

    .article-hero__meta,
    .wodm-hero__meta {
        margin-top: 3.2rem;
        font-size: 1.4rem;
    }

    .article-hero__title,
    .wodm-hero--text .wodm-hero__title {
        margin-top: 3.2rem;
        font-size: 2.8rem;
        line-height: 1.25;
    }

    .article-hero__byline,
    .wodm-hero__byline {
        margin-bottom: 4rem;
    }

    .article-hero__banner,
    .wodm-hero__banner {
        margin-bottom: 4rem;
    }
}


/* ===== Shared article body (WODM / Protolabs long-form) =====
 * Prefixes: wodm, mcafm, medim, rpev, uqimf, cncmed, sccnc, anodz
 */
.wodm,
.mcafm,
.medim,
.rpev,
.uqimf,
.cncmed,
.sccnc,
.anodz {
    --article-body: #333333;
    --article-link: #105bab;
    --article-link-hover: #ea130e;
    --article-table-rule: #9aa0ae;
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color: var(--article-body);
}

.wodm__main,
.mcafm__main,
.medim__main,
.rpev__main,
.uqimf__main,
.cncmed__main,
.sccnc__main,
.anodz__main {
    margin: 0 auto;
    padding-top: 0;
}

.container.wodm__container,
.wodm__container,
.container.mcafm__container,
.mcafm__container,
.container.medim__container,
.medim__container,
.container.rpev__container,
.rpev__container,
.container.uqimf__container,
.uqimf__container,
.container.cncmed__container,
.cncmed__container,
.container.sccnc__container,
.sccnc__container,
.container.anodz__container,
.anodz__container {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Kill legacy row gaps — rhythm from text/heading margins */
.wodm .wodm__row,
.mcafm .mcafm__row,
.medim .medim__row,
.rpev .rpev__row,
.uqimf .uqimf__row,
.cncmed .cncmed__row,
.sccnc .sccnc__row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-top: 0 !important;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
}

.wodm .wodm__row > [class*='col-'],
.mcafm .mcafm__row > [class*='col-'],
.medim .medim__row > [class*='col-'],
.rpev .rpev__row > [class*='col-'],
.uqimf .uqimf__row > [class*='col-'],
.cncmed .cncmed__row > [class*='col-'],
.sccnc .sccnc__row > [class*='col-'] {
    padding-left: 0;
    padding-right: 0;
}

/* Section title row break ≈ 40px */
.wodm .wodm__row:has(h4),
.mcafm .mcafm__row:has(h4),
.mcafm .mcafm__row:has(.mcafm__title),
.medim .medim__row:has(h4),
.rpev .rpev__row:has(h4),
.uqimf .uqimf__row:has(h4),
.cncmed .cncmed__row:has(h4),
.sccnc .sccnc__row:has(h4) {
    margin-top: 2rem !important;
}

.wodm .wodm__container > .wodm__row:first-child,
.mcafm .mcafm__container > .mcafm__row:first-child,
.medim .medim__container > .medim__row:first-child,
.rpev .rpev__container > .rpev__row:first-child,
.uqimf .uqimf__container > .uqimf__row:first-child,
.cncmed .cncmed__container > .cncmed__row:first-child,
.sccnc .sccnc__container > .sccnc__row:first-child {
    margin-top: 0 !important;
}

/* Section titles ≈ Protolabs h2 */
.wodm__main h4,
.mcafm__main h4,
.mcafm__main .mcafm__title,
.medim__main h4,
.rpev__main h4,
.uqimf__main h4,
.cncmed__main h4,
.sccnc__main h4,
.anodz__main h3.anodz__title,
.anodz__main h3.anodz__title--sub,
.anodz__main h4.anodz__heading,
.anodz__main h4.anodz__heading--sm {
    font-family: 'Poppins', sans-serif;
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 3.8rem;
    color: var(--article-body);
    margin: 0 0 1rem;
    padding: 0;
    text-transform: none;
    letter-spacing: normal;
}

.anodz__main h4.anodz__heading,
.anodz__main h4.anodz__heading--sm {
    font-size: 2rem;
    line-height: 2.8rem;
}

/* Body copy */
.wodm__main .wodm__text,
.mcafm__main .mcafm__text,
.mcafm__main .mcafm__lead,
.medim__main .medim__text,
.rpev__main .rpev__text,
.uqimf__main .uqimf__text,
.cncmed__main .cncmed__text,
.sccnc__main .sccnc__text,
.anodz__main .anodz__text,
.anodz__main .anodz__lead,
.anodz__main .anodz__text--intro,
.anodz__main .anodz__margin-0 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.7rem;
    color: var(--article-body);
    margin: 0 0 2rem;
    text-align: left;
}

/* Inline lead-ins ≈ Protolabs h4 */
.wodm__main .wodm__text > span[style*='font-weight'],
.medim__main .medim__text > span[style*='font-weight'],
.rpev__main .rpev__text > span[style*='font-weight'],
.uqimf__main .uqimf__text > span[style*='font-weight'],
.cncmed__main .cncmed__text > span[style*='font-weight'],
.sccnc__main .sccnc__text > span[style*='font-weight'],
.mcafm__main .mcafm__subhead {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 2rem;
    font-weight: 600 !important;
    line-height: 2.8rem;
    color: var(--article-body);
    margin: 0 0 1rem;
}

.wodm__main .wodm__text > span[style*='font-weight'] + br,
.medim__main .medim__text > span[style*='font-weight'] + br,
.rpev__main .rpev__text > span[style*='font-weight'] + br,
.uqimf__main .uqimf__text > span[style*='font-weight'] + br,
.cncmed__main .cncmed__text > span[style*='font-weight'] + br,
.sccnc__main .sccnc__text > span[style*='font-weight'] + br {
    display: none;
}

/* Links: blue → RPWORLD red hover */
.wodm__main .wodm__text a,
.mcafm__main .mcafm__text a,
.medim__main .medim__text a,
.medim__main .medim__link,
.rpev__main .rpev__text a,
.uqimf__main .uqimf__text a,
.uqimf__main .uqimf__link,
.cncmed__main .cncmed__text a,
.sccnc__main .sccnc__text a,
.anodz__main a,
.anodz__main .anodz__link a {
    color: var(--article-link);
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.wodm__main .wodm__text a:hover,
.wodm__main .wodm__text a:focus-visible,
.mcafm__main .mcafm__text a:hover,
.mcafm__main .mcafm__text a:focus-visible,
.medim__main .medim__text a:hover,
.medim__main .medim__text a:focus-visible,
.medim__main .medim__link:hover,
.medim__main .medim__link:focus-visible,
.rpev__main .rpev__text a:hover,
.rpev__main .rpev__text a:focus-visible,
.uqimf__main .uqimf__text a:hover,
.uqimf__main .uqimf__text a:focus-visible,
.uqimf__main .uqimf__link:hover,
.uqimf__main .uqimf__link:focus-visible,
.cncmed__main .cncmed__text a:hover,
.cncmed__main .cncmed__text a:focus-visible,
.sccnc__main .sccnc__text a:hover,
.sccnc__main .sccnc__text a:focus-visible,
.anodz__main a:hover,
.anodz__main a:focus-visible,
.anodz__main .anodz__link a:hover,
.anodz__main .anodz__link a:focus-visible {
    color: var(--article-link-hover);
}

/* Images */
.wodm__img,
.mcafm__img,
.medim__img,
.rpev__img,
.uqimf__img,
.cncmed__img,
.sccnc__img,
.anodz-flex__item img {
    width: 100%;
    height: auto;
    margin: 0 0 2rem;
    display: block;
}

/* Text + image split ≈ WODM 7:5 */
.wodm .wodm__split,
.medim .medim__split,
.rpev .rpev__split,
.uqimf .uqimf__split,
.cncmed .cncmed__split,
.sccnc .sccnc__split {
    --article-split-gap: 3rem;
    align-items: flex-start;
}

@media (min-width: 768px) {
    .wodm .wodm__split,
    .medim .medim__split,
    .rpev .rpev__split,
    .uqimf .uqimf__split,
    .cncmed .cncmed__split,
    .sccnc .sccnc__split {
        display: flex;
        flex-wrap: nowrap;
        column-gap: var(--article-split-gap);
        margin-left: 0;
        margin-right: 0;
    }

    .wodm .wodm__split > [class*='col-'],
    .medim .medim__split > [class*='col-'],
    .rpev .rpev__split > [class*='col-'],
    .uqimf .uqimf__split > [class*='col-'],
    .cncmed .cncmed__split > [class*='col-'],
    .sccnc .sccnc__split > [class*='col-'] {
        padding-left: 0;
        padding-right: 0;
        float: none;
        min-width: 0;
        width: auto;
        max-width: none;
    }

    .wodm .wodm__split > .col-md-7,
    .medim .medim__split > .col-md-7,
    .rpev .rpev__split > .col-md-7,
    .uqimf .uqimf__split > .col-md-7,
    .cncmed .cncmed__split > .col-md-7,
    .sccnc .sccnc__split > .col-md-7 {
        flex: 1.4 1 0;
    }

    .wodm .wodm__split > .col-md-5,
    .medim .medim__split > .col-md-5,
    .rpev .rpev__split > .col-md-5,
    .uqimf .uqimf__split > .col-md-5,
    .cncmed .cncmed__split > .col-md-5,
    .sccnc .sccnc__split > .col-md-5 {
        flex: 1 1 0;
    }

    .wodm .wodm__split > .col-md-6,
    .medim .medim__split > .col-md-6,
    .rpev .rpev__split > .col-md-6,
    .uqimf .uqimf__split > .col-md-6,
    .cncmed .cncmed__split > .col-md-6,
    .sccnc .sccnc__split > .col-md-6 {
        flex: 1 1 0;
    }

    .wodm .wodm__split .wodm__text,
    .wodm .wodm__split .wodm__img,
    .medim .medim__split .medim__text,
    .medim .medim__split .medim__img,
    .rpev .rpev__split .rpev__text,
    .rpev .rpev__split .rpev__img,
    .uqimf .uqimf__split .uqimf__text,
    .uqimf .uqimf__split .uqimf__img,
    .cncmed .cncmed__split .cncmed__text,
    .cncmed .cncmed__split .cncmed__img,
    .sccnc .sccnc__split .sccnc__text,
    .sccnc .sccnc__split .sccnc__img {
        margin-bottom: 0;
    }

    .wodm .wodm__split .wodm__img,
    .medim .medim__split .medim__img,
    .rpev .rpev__split .rpev__img,
    .uqimf .uqimf__split .uqimf__img,
    .cncmed .cncmed__split .cncmed__img,
    .sccnc .sccnc__split .sccnc__img {
        max-width: 28rem;
        max-height: 34rem;
        width: 100%;
        margin-left: auto;
        object-fit: cover;
        object-position: center top;
    }

    .wodm .wodm__split > .col-md-5,
    .medim .medim__split > .col-md-5,
    .rpev .rpev__split > .col-md-5,
    .uqimf .uqimf__split > .col-md-5,
    .cncmed .cncmed__split > .col-md-5,
    .sccnc .sccnc__split > .col-md-5 {
        flex: 0 0 28rem;
        max-width: 28rem;
        width: 28rem;
    }
}

/* Anodizing flex ≈ WODM split gap */
.anodz-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3rem;
    margin: 0 0 2rem;
}

.anodz-flex__item {
    flex: 1.4 1 0;
    min-width: 0;
    width: auto !important;
}

.anodz-flex__item:has(img) {
    flex: 1 1 0;
    width: auto !important;
}

.anodz-flex__item img {
    margin-bottom: 0;
}

/* Grey choose panel */
.wodm__choose,
.medim__choose,
.rpev__choose,
.uqimf__choose,
.cncmed__choose,
.sccnc__choose {
    background: #f6f6f8;
    padding: 2rem;
    box-sizing: border-box;
}

.wodm__text-cta,
.medim__text-cta,
.rpev__text-cta,
.uqimf__text-cta,
.cncmed__text-cta,
.sccnc__text-cta {
    padding-top: 2rem;
}

/* Tables */
.wodm-table-wrap,
.mcafm-table-wrap {
    width: 100%;
    max-width: 100%;
    margin: 2rem 0 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wodm-table,
.mcafm-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    background: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    line-height: 2.4rem;
    color: var(--article-body);
    text-align: left;
}

/* Tags — shared WODM standard (.article-tags) */
.article-tags,
.wodm-tags,
.mcafm-tags,
.medim-tags,
.rpev-tags,
.uqimf-tags,
.cncmed-tags,
.sccnc-tags,
.anodz-tags {
    font-family: 'Poppins', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.4rem;
    color: var(--article-link);
    display: block;
    margin: 0;
    gap: 0;
}

.article-tags > span:first-child,
.wodm-tags > span:first-child,
.mcafm-tags > span:first-child,
.medim-tags > span:first-child,
.rpev-tags > span:first-child,
.uqimf-tags > span:first-child,
.cncmed-tags > span:first-child,
.sccnc-tags > span:first-child,
.anodz-tags > span:first-child {
    color: var(--article-body);
}

.article-tags a,
.article-tags__link,
.wodm-tags a,
.wodm-tags__link,
.mcafm-tags a,
.mcafm-tags__link,
.medim-tags a,
.medim-tags__link,
.rpev-tags a,
.rpev-tags__link,
.uqimf-tags a,
.uqimf-tags__link,
.cncmed-tags a,
.cncmed-tags__link,
.sccnc-tags a,
.sccnc-tags__link,
.anodz-tags a,
.anodz-tags__link {
    color: var(--article-link);
    font-weight: 400;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.article-tags a:hover,
.article-tags a:focus-visible,
.wodm-tags a:hover,
.wodm-tags a:focus-visible,
.mcafm-tags a:hover,
.mcafm-tags a:focus-visible,
.medim-tags a:hover,
.medim-tags a:focus-visible,
.rpev-tags a:hover,
.rpev-tags a:focus-visible,
.uqimf-tags a:hover,
.uqimf-tags a:focus-visible,
.cncmed-tags a:hover,
.cncmed-tags a:focus-visible,
.sccnc-tags a:hover,
.sccnc-tags a:focus-visible,
.anodz-tags a:hover,
.anodz-tags a:focus-visible {
    color: var(--article-link-hover);
}

.article-tags__link,
.wodm-tags__link,
.mcafm-tags__link,
.medim-tags__link,
.rpev-tags__link,
.uqimf-tags__link,
.cncmed-tags__link,
.sccnc-tags__link,
.anodz-tags__link {
    padding-left: 1rem;
}

.article-tags a + a,
.wodm-tags a + a,
.mcafm-tags a + a,
.medim-tags a + a,
.rpev-tags a + a,
.uqimf-tags a + a,
.cncmed-tags a + a,
.sccnc-tags a + a,
.anodz-tags a + a {
    margin-left: 0.35rem;
}

/* Lists */
.mcafm__list,
.mcafm__list--roi,
.anodz__list {
    list-style: disc;
    padding-left: 2rem;
    margin: 0 0 2rem;
}

.mcafm__list li,
.mcafm__list--roi li,
.anodz__list li {
    font-size: 1.6rem;
    line-height: 2.7rem;
    color: var(--article-body);
    padding: 0.2rem 0;
}

@media (max-width: 767px) {
    .wodm .wodm__split > [class*='col-'] + [class*='col-'],
    .medim .medim__split > [class*='col-'] + [class*='col-'],
    .rpev .rpev__split > [class*='col-'] + [class*='col-'],
    .uqimf .uqimf__split > [class*='col-'] + [class*='col-'],
    .cncmed .cncmed__split > [class*='col-'] + [class*='col-'],
    .sccnc .sccnc__split > [class*='col-'] + [class*='col-'] {
        margin-top: 1.6rem;
    }

    .anodz-flex {
        flex-direction: column;
    }

    .anodz-flex__item,
    .anodz-flex__item:has(img) {
        width: 100% !important;
        flex: 1 1 auto;
    }
}

@media (max-width: 768px) {
    .wodm__main h4,
    .mcafm__main h4,
    .mcafm__main .mcafm__title,
    .medim__main h4,
    .rpev__main h4,
    .uqimf__main h4,
    .cncmed__main h4,
    .sccnc__main h4,
    .anodz__main h3.anodz__title,
    .anodz__main h3.anodz__title--sub {
        font-size: 2.6rem;
        line-height: 3.2rem;
    }

    .wodm__main .wodm__text > span[style*='font-weight'],
    .medim__main .medim__text > span[style*='font-weight'],
    .rpev__main .rpev__text > span[style*='font-weight'],
    .uqimf__main .uqimf__text > span[style*='font-weight'],
    .cncmed__main .cncmed__text > span[style*='font-weight'],
    .sccnc__main .sccnc__text > span[style*='font-weight'],
    .mcafm__main .mcafm__subhead {
        font-size: 1.8rem;
        line-height: 2.6rem;
    }

    .article-tags__link,
    .wodm-tags__link,
    .mcafm-tags__link,
    .medim-tags__link,
    .rpev-tags__link,
    .uqimf-tags__link,
    .cncmed-tags__link,
    .sccnc-tags__link,
    .anodz-tags__link {
        padding-left: 0;
    }
}
