/* Editorial reports only: separate from gated whitepaper landing pages. */
.cm-library .cm-library-detail.cm-report-article{max-width:1040px}
.cm-report-heading{max-width:800px;margin:36px auto}
.cm-library .cm-report-article h1{font-size:clamp(36px,4vw,56px);line-height:1.12;display:block;margin:18px 0 24px}
.cm-report-eyebrow{color:#1d264a;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.cm-report-byline{font-size:16px;color:#586174;margin-bottom:24px}
.cm-library .cm-report-article .cm-library-detail-intro{font-size:24px;line-height:1.5}
.cm-report-featured{display:block;margin:32px 0 0;width:100%}
.cm-report-featured picture{display:block;width:100%;height:auto;max-height:none}
.cm-report-featured img{display:block;width:100%;height:auto;max-height:none;border-radius:16px}
.cm-library .cm-report-content{max-width:800px;margin:0 auto;padding:40px 0;font-size:20px;line-height:1.65;overflow-wrap:anywhere}
.cm-report-content h2{font-size:clamp(28px,3vw,36px);line-height:1.25;margin:40px 0 18px;color:#1d264a}
.cm-report-content h3{font-size:26px;line-height:1.3;margin:28px 0 16px;color:#1d264a}
.cm-report-content ul,.cm-report-content ol{padding-left:1.5em;margin:0 0 24px}
.cm-report-content ul{list-style:disc}.cm-report-content ol{list-style:decimal}
.cm-report-content li{margin-bottom:8px}
.cm-report-content a{text-decoration:underline;text-underline-offset:3px;color:#1d264a}
.cm-report-content figure{max-width:100%;margin:28px 0}
.cm-report-content img{max-width:100%;height:auto}
.cm-report-content figcaption{font-size:15px;line-height:1.5;color:#586174;margin-top:10px}
.cm-report-content .wp-block-table{overflow-x:auto}.cm-report-content table{width:100%;border-collapse:collapse;font-size:17px}.cm-report-content th,.cm-report-content td{padding:12px;border:1px solid #cdd5df;text-align:left}.cm-report-content th{background:#eaf5fb}
.cm-report-content blockquote{margin:32px 0;border-left:4px solid #1d264a;padding:16px 24px;background:#f8f6f4}.cm-report-content blockquote cite{font-size:16px;font-style:normal}
.cm-report-content .cm-report-callout{background:#d8efff;border-radius:0 24px 24px 24px;padding:28px;margin:32px 0}
.cm-report-content .cm-report-methodology{background:#f5f3f1;border-radius:12px;padding:28px;margin:32px 0}
.cm-report-content .cm-report-callout h2,.cm-report-content .cm-report-methodology h2{margin-top:0}
.cm-report-content .cm-report-callout>:last-child,.cm-report-content .cm-report-methodology>:last-child{margin-bottom:0}
@media(max-width:640px){.cm-library .cm-report-content{font-size:18px;padding-top:28px}.cm-library .cm-report-article .cm-library-detail-intro{font-size:21px}.cm-report-content .cm-report-callout,.cm-report-content .cm-report-methodology{padding:22px}.cm-report-content .wp-block-media-text{grid-template-columns:1fr!important}.cm-report-content .wp-block-media-text>*{grid-column:1!important;grid-row:auto!important}}
/* Contents and chart embeds belong only to editorial reports. */
.cm-report-page #main{overflow:clip}
.cm-library .cm-report-article:has(.cm-report-has-contents){max-width:1280px}
.cm-report-reading-layout{min-width:0}
.cm-report-contents[hidden]{display:none}
.cm-report-content h2,.cm-report-content h3{scroll-margin-top:var(--cm-report-offset,120px)}
.cm-report-contents{padding-top:40px;min-width:0}
.cm-report-contents nav{position:sticky;top:var(--cm-report-offset,120px);max-height:calc(100dvh - var(--cm-report-offset,120px) - 24px);overflow-y:auto;border-left:2px solid #d8e6ef;padding:0 0 0 20px}
.cm-report-contents summary{font-size:18px;font-weight:600;color:#1d264a;cursor:pointer;padding:8px 0 16px}
.cm-report-contents ol{list-style:none;margin:0;padding:0}
.cm-report-contents li{margin:0 0 12px}
.cm-report-contents a{display:block;font-size:16px;line-height:1.4;color:#586174;text-decoration:none;overflow-wrap:anywhere;padding:4px 0}
.cm-report-contents a[aria-current]{color:#1d264a;text-decoration:underline;text-underline-offset:4px}
.cm-report-contents .cm-report-contents-sub{padding-left:14px}
.cm-report-interactive{width:100%;min-width:0}
.cm-report-interactive iframe{display:block;max-width:100%}
.cm-report-content .cm-report-chart-link{display:inline-block;font-size:14px;margin-top:8px}
@media(min-width:900px){.cm-report-has-contents{display:grid;grid-template-columns:220px minmax(0,800px);gap:32px;justify-content:center}.cm-library .cm-report-has-contents .cm-report-content{width:100%;min-width:0;margin:0}}
@media(min-width:1100px){.cm-report-has-contents{grid-template-columns:240px minmax(0,800px);gap:48px}}
@media(max-width:899px){.cm-report-contents{max-width:800px;margin:0 auto;padding-top:28px}.cm-report-contents nav{position:static;max-height:none;border:1px solid #d8e6ef;border-radius:12px;padding:8px 20px}.cm-report-contents summary{padding-bottom:8px}}
.cm-report-native{padding:24px;border:1px solid #d8e6ef;border-radius:16px;background:#fff}
.cm-report-content .cm-report-chart-title{font-size:24px;margin:0 0 16px}
.cm-chart-status,.cm-chart-legend{font-size:15px;line-height:1.5;color:#586174;min-height:24px;margin:8px 0 16px}
.cm-chart-canvas{max-height:680px;overflow:auto;max-width:100%}
.cm-chart-canvas svg{display:block;height:auto}
.cm-chart-canvas svg [tabindex]:hover,.cm-chart-canvas svg [tabindex]:focus{stroke:#151a2e;stroke-width:2;outline:none;filter:brightness(.9)}
.cm-report-chart-data{margin-top:20px;font-size:16px}
.cm-report-chart-data summary{cursor:pointer;padding:10px 0;color:#1d264a;text-decoration:underline;text-underline-offset:3px}
.cm-report-data-scroll{overflow:auto;max-height:440px}
.cm-report-chart-note{font-size:15px;color:#8b341b;background:#fff2e8;padding:12px;border-radius:6px}
@media(max-width:640px){.cm-report-native{padding:16px}.cm-report-content .cm-report-chart-title{font-size:21px}}
.cm-chart-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cm-chart-controls button{font:inherit;font-size:14px;background:#edf5fb;color:#1d264a;padding:8px 12px;border:1px solid #c4d3df;border-radius:6px;cursor:pointer}
.cm-chart-controls button:focus-visible{outline:2px solid #1d264a;outline-offset:2px}

/* The legacy content filter rewrites heading attributes; keep size on the chart. */
.cm-report-content .cm-report-native h3{font-size:var(--cm-chart-title-size,24px)!important;line-height:1.3;margin:0 0 16px}
/* Optional native Table block style; no changes to existing blog tables. */
.cm-report-content .is-style-cm-interactive-table,.editor-styles-wrapper .is-style-cm-interactive-table{overflow-x:auto;border:1px solid #d8e6ef;border-radius:14px;background:#fff}
.cm-report-content .is-style-cm-interactive-table table,.editor-styles-wrapper .is-style-cm-interactive-table table{width:100%;border-collapse:separate;border-spacing:0;font-size:16px;line-height:1.5;margin:0}
.cm-report-content .is-style-cm-interactive-table :is(th,td),.editor-styles-wrapper .is-style-cm-interactive-table :is(th,td){border:0;border-bottom:1px solid #e4ecf2;padding:16px 20px;text-align:left;color:#1d264a;vertical-align:top;transition:background-color .15s ease}
.cm-report-content .is-style-cm-interactive-table thead th,.editor-styles-wrapper .is-style-cm-interactive-table thead th{background:#edf6fc;font-weight:600;white-space:nowrap}
.cm-report-content .is-style-cm-interactive-table tbody tr:nth-child(even) td,.editor-styles-wrapper .is-style-cm-interactive-table tbody tr:nth-child(even) td{background:#f8fbfd}
.cm-report-content .is-style-cm-interactive-table tbody tr:hover td,.cm-report-content .is-style-cm-interactive-table tbody tr:focus-within td,.editor-styles-wrapper .is-style-cm-interactive-table tbody tr:hover td{background:#edf6fc}
.cm-report-content .is-style-cm-interactive-table tbody tr td:hover,.cm-report-content .is-style-cm-interactive-table tbody td:focus-within,.editor-styles-wrapper .is-style-cm-interactive-table tbody tr td:hover{background:#d8efff}
.cm-report-content .is-style-cm-interactive-table tbody tr:last-child td,.editor-styles-wrapper .is-style-cm-interactive-table tbody tr:last-child td{border-bottom:0}
.cm-report-content .is-style-cm-interactive-table figcaption,.editor-styles-wrapper .is-style-cm-interactive-table figcaption{padding:12px 20px;margin:0;font-size:14px;color:#586174;border-top:1px solid #e4ecf2}
@media(max-width:640px){.cm-report-content .is-style-cm-interactive-table table{min-width:460px}.cm-report-content .is-style-cm-interactive-table :is(th,td){padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.is-style-cm-interactive-table :is(th,td){transition:none!important}}

/* Cohesive resource hero; research reports remain ungated editorial articles. */
.cm-library .cm-library-detail.cm-report-article,
.cm-library .cm-report-article:has(.cm-report-has-contents) { max-width:none; width:100%; padding:0 0 80px; }
.cm-library .cm-report-article > a:first-child { display:block; margin:20px auto; padding:0 max(24px, calc((100% - 1200px) / 2)); }
.cm-library .cm-report-hero { background:#d8efff; color:#1d264a; padding:56px max(24px, calc((100% - 1200px) / 2)); box-sizing:border-box; }
.cm-report-hero--with-image { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; }
.cm-report-hero .cm-report-heading { max-width:760px; margin:0; min-width:0; }
.cm-library .cm-report-hero h1 { font-family:TTTalent-Medium,sans-serif; font-weight:400; font-size:clamp(38px,4vw,64px); line-height:1.08; letter-spacing:-.035em; color:#1d264a; margin:24px 0; }
.cm-report-hero .cm-report-eyebrow { font-size:15px; font-weight:400; letter-spacing:.06em; text-transform:none; }
.cm-library .cm-report-hero .cm-library-detail-intro { font-size:20px; line-height:1.5; color:#1d264a; }
.cm-report-hero .cm-report-featured { width:auto; min-width:0; margin:0; padding:32px; }
/* Preserve portrait and landscape proportions, including the image's shadow box. */
.cm-report-hero .cm-report-featured img { width:auto; max-width:100%; height:auto; max-height:520px; object-fit:contain; margin:0 auto; border-radius:0; box-shadow:8px 8px 0 #f5fbff,16px 16px 0 #eaf5fb,20px 24px 32px #1d264a2e; }
.cm-report-article .cm-report-reading-layout { max-width:1200px; width:calc(100% - 48px); margin:0 auto; }
.cm-library .cm-report-article .cm-report-content,
.cm-library .cm-report-article .cm-report-content :is(p,li) { font-size:19px; line-height:1.6; color:#526071; }
@media(max-width:1000px) { .cm-report-hero--with-image { gap:32px; } }
@media(max-width:650px) {
    .cm-library .cm-report-hero { padding:36px 24px; }
    .cm-report-hero--with-image { grid-template-columns:minmax(0,1fr); }
    .cm-report-hero .cm-report-featured { padding:24px; }
    .cm-report-hero .cm-report-featured img { max-height:340px; }
}

/* Maps use a soft blue glow instead of the generic dark chart outline. */
.cm-chart-canvas svg.cm-chart-map [tabindex] { transition:filter .15s ease; }
.cm-chart-canvas svg.cm-chart-map [tabindex]:hover,
.cm-chart-canvas svg.cm-chart-map [tabindex]:focus {
    stroke:#fff;
    stroke-width:.7;
    filter:brightness(1.12) drop-shadow(0 0 4px rgba(40,107,176,.85)) drop-shadow(0 0 8px rgba(40,107,176,.45));
    outline:none;
}
@media(prefers-reduced-motion:reduce) {
    .cm-chart-canvas svg.cm-chart-map [tabindex] { transition:none; }
}

/* Pie slices match map highlights: blue glow, with white slice separators. */
.cm-chart-canvas svg.cm-chart-pie [tabindex] { transition:filter .15s ease; }
.cm-chart-canvas svg.cm-chart-pie [tabindex]:hover,
.cm-chart-canvas svg.cm-chart-pie [tabindex]:focus,
.cm-chart-canvas svg.cm-chart-pie [data-highlighted] {
    stroke:#fff;
    stroke-width:2;
    filter:brightness(1.12) drop-shadow(0 0 4px rgba(40,107,176,.85)) drop-shadow(0 0 8px rgba(40,107,176,.45));
    outline:none;
}
@media(prefers-reduced-motion:reduce) {
    .cm-chart-canvas svg.cm-chart-pie [tabindex] { transition:none; }
}

/* Responsive chart labels, values and optional full comparison tables. */
.cm-chart-canvas.cm-chart-bars{max-height:none;overflow:visible}
.cm-library .cm-report-article .cm-report-content .cm-chart-bar-list,.editor-styles-wrapper .cm-chart-bar-list{list-style:none;margin:0;padding:0}
.cm-library .cm-report-article .cm-report-content .cm-chart-bar-item,.editor-styles-wrapper .cm-chart-bar-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;margin:0 0 18px;padding:6px;border-radius:6px;color:#526071;line-height:1.4}
.cm-library .cm-report-article .cm-report-content .cm-chart-bar-item[hidden],.editor-styles-wrapper .cm-chart-bar-item[hidden]{display:none}
.cm-chart-bar-label{font-size:var(--cm-chart-label-size,16px);overflow-wrap:anywhere}
.cm-chart-bar-value{font-size:var(--cm-chart-value-size,15px);color:#1d264a;font-weight:600}
.cm-chart-bar-track{grid-column:1/-1;position:relative;display:block;height:14px;border-radius:4px;background:#edf4f8;overflow:hidden}
.cm-chart-bar-track:after{content:'';position:absolute;left:var(--cm-chart-zero,0%);height:100%;border-left:1px solid #8c9baa}
.cm-chart-bar-fill{position:absolute;display:block;height:100%;border-radius:3px}
.cm-chart-bar-item:hover,.cm-chart-bar-item:focus-visible{outline:2px solid #9cd8e4;outline-offset:2px;background:#f2faff}
.cm-chart-expand{display:block;margin:16px 0 0;padding:10px 16px;border:1px solid #a9cad8;border-radius:6px;background:#edf6fc;color:#1d264a;font:inherit;font-size:16px;cursor:pointer}
.cm-chart-expand:focus-visible{outline:2px solid #187f83;outline-offset:3px}
.cm-report-content .cm-report-chart-data .is-style-cm-interactive-table{margin:12px 0 0}
.cm-report-content .is-style-cm-interactive-table{scrollbar-width:thin;scrollbar-color:#748ba9 #edf6fc}
.cm-library .cm-report-content :is(ul,ol):not(.cm-chart-bar-list){padding-left:1.35em;margin-top:24px;margin-bottom:24px}
.cm-library .cm-report-content ul:not(.cm-chart-bar-list){list-style:disc}
.cm-library .cm-report-content ol:not(.cm-chart-bar-list){list-style:decimal}
.cm-library .cm-report-content :is(ul,ol):not(.cm-chart-bar-list)>li{margin:0 0 8px}
.cm-library .cm-report-content :is(ul,ol):has(+ul,+ol){margin-bottom:8px}
.cm-library .cm-report-content :is(ul,ol)+:is(ul,ol){margin-top:8px}
.cm-library .cm-report-content :is(h2,h3,h4)+:is(ul,ol){margin-top:16px}
.cm-library .cm-report-content :is(p,li) a{color:#187f83;text-decoration:underline;text-underline-offset:3px}
@media(max-width:899px){.cm-report-contents details[open] ol{padding-top:12px}.cm-report-contents summary{list-style:disclosure-closed}.cm-report-contents details[open] summary{list-style:disclosure-open}}
