/* Apply the publication's common palette and type to the research library. */
body:not(.evx-home) { background: var(--white); }
body:not(.evx-home) ::selection { background: var(--burgundy); }
body:not(.evx-home) a, body:not(.evx-home) button { transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.kicker, .section-label { font-size: 12px; line-height: 1.6; letter-spacing: .12em; }
.shell { padding-inline: max(20px, calc((100vw - 1344px) / 2)); }
.library-hero, .topic-hero, .methodology-hero { background: var(--paper); padding: 80px max(32px, calc((100vw - 1344px) / 2)); }
.library-hero::after { display: none; }
.library-hero h1 { font: 400 clamp(52px, 6vw, 90px)/1.08 var(--serif); letter-spacing: -.025em; }
.library-hero > p:not(.kicker) { font-size: 18px; line-height: 1.8; }
.market-view-hero.market-view-hero--editorial { background: var(--white); padding-inline: max(32px, calc((100vw - 1344px) / 2)); }
.market-view-hero-inner { grid-template-columns: 1fr 1fr; min-height: 0; gap: 80px; padding-block: 72px; }
.market-view-hero--editorial h1 { font: 400 clamp(56px, 6vw, 88px)/1.08 var(--serif); color: var(--ink); letter-spacing: -.025em; }
.market-view-hero--editorial h1 em { color: var(--burgundy); }
.market-view-hero-intro { border-color: var(--line); }
.market-view-overline { color: var(--burgundy); font-size: 12px; line-height: 1.6; }
.market-view-hero--editorial .market-view-hero-intro > p:not(.market-view-overline) { color: var(--muted); font-size: 18px; line-height: 1.8; }
.market-view-hero-index { border-color: var(--line); }
.market-view-hero-index span { color: var(--muted); border-color: var(--line); font-size: 12px; }
.market-view-hero--editorial .button-primary, .button-primary { background: var(--burgundy); border-color: var(--burgundy); color: white; font-size: 14px; padding: 16px 22px; }
.market-view-hero--editorial .button-primary:hover, .button-primary:hover { background: var(--burgundy-deep); border-color: var(--burgundy-deep); transform: none; }
.text-link { font-size: 14px; color: var(--burgundy); }
.section-head h2, .research-process > header h2 { font: 400 clamp(36px, 4vw, 60px)/1.1 var(--serif); letter-spacing: -.02em; }
.current-market-views, .market-library, .market-lenses, .research-process { padding-block: 80px; }
.section-head > p { font-size: 16px; line-height: 1.75; color: var(--muted); }
.market-edition-feature { background: var(--paper); color: var(--ink); border-color: var(--line); }
.market-edition-feature h3, .market-view-stack h3 { font: 400 clamp(28px, 3vw, 40px)/1.12 var(--serif); }
.market-edition-feature > div:last-child > p:not(.kicker), .market-view-stack p { color: var(--muted); font-size: 16px; line-height: 1.7; }
.market-edition-feature > div:last-child > span { color: var(--burgundy); font-size: 14px; }
.market-view-stack a { background: var(--white); border-color: var(--line); }
.market-view-stack a:hover { background: var(--paper); }
.market-view-stack small { font-size: 12px; color: var(--muted); }
.market-view-stack span { font-size: 14px; color: var(--burgundy); }
.market-lenses { background: var(--paper); }
.market-lens-grid article { background: transparent; border-color: var(--line); }
.market-lens-grid h3 { font: 400 30px/1.15 var(--serif); }
.market-lens-grid p { font-size: 16px; line-height: 1.7; }
.library-toolbar { gap: 24px; align-items: flex-end; }
.library-toolbar button { min-height: 44px; margin-right: 12px; font: 500 14px/1.5 var(--sans); letter-spacing: 0; text-transform: none; }
.library-toolbar label { font-size: 12px; line-height: 1.6; }
.library-toolbar input { min-height: 44px; font-size: 16px; min-width: 0; width: 250px; }
.library-list article { padding-block: 32px; }
.library-list article:hover { background: var(--paper); padding-left: 0; }
.library-list h2 { font: 400 clamp(30px, 3vw, 44px)/1.12 var(--serif); letter-spacing: -.015em; }
.library-list article p:not(.kicker) { font-size: 16px; line-height: 1.7; }
.library-list ul { flex-wrap: wrap; }
.library-list li, .report-number { font-size: 12px; }
.topic-panels { margin-block: 64px; }
.topic-panels article { background: var(--white); min-height: 370px; }
.topic-panels article:hover { background: var(--paper); }
.topic-panels h2 { font: 400 clamp(34px, 4vw, 54px)/1.08 var(--serif); margin-top: 44px; }
.topic-panels p { line-height: 1.8; }
.topic-panels a { font: 600 14px/1.6 var(--sans); text-transform: none; letter-spacing: 0; }
.method-principles article, .method-principles article:nth-child(even) { background: var(--white); }
.method-principles h2 { font: 400 32px/1.12 var(--serif); margin-top: 44px; letter-spacing: -.015em; }
.method-principles p, .research-process p { font-size: 16px; line-height: 1.75; }
.method-principles span, .research-process b { font-size: 12px; }
.disclosure { background: var(--paper); }
.disclosure h2 { font: 400 clamp(36px, 4vw, 56px)/1.12 var(--serif); }
.report-hero { padding-top: 48px; }
.energy-report, .ai-report, .industrial-report, .market-report { background: var(--burgundy-deep); }
.report-hero h1 { font: 400 clamp(48px, 6.5vw, 94px)/1.06 var(--serif); letter-spacing: -.02em; }
.report-hero .kicker, .transformer-report .kicker { color: #f1d4d8; }
.report-dek { color: #e5d4d8; line-height: 1.65; }
.report-meta { margin-bottom: 48px; border-color: #a77982; }
.report-meta span { font-size: 12px; line-height: 1.65; }
.report-nav { top: 120px; }
.report-nav a { font-size: 14px; }
.report-body > section { scroll-margin-top: 120px; }
.report-body h2 { font: 400 clamp(36px, 4vw, 56px)/1.13 var(--serif); }
.report-body h3 { font: 400 30px/1.2 var(--serif); }
.report-body > section > p:not(.section-label,.lead-paragraph,.method-note,.disclaimer) { color: var(--ink); line-height: 1.85; }
.report-body a { overflow-wrap: anywhere; }
.report-actions a, .report-actions button { font-size: 14px; }
@media (max-width: 960px) {
  .market-view-hero-inner { grid-template-columns: 1fr; gap: 32px; padding-block: 56px; }
  .market-view-hero-intro { max-width: 640px; }
  .library-toolbar { flex-wrap: wrap; }
}
@media (max-width: 620px) {
  .market-view-hero.market-view-hero--editorial, .library-hero { padding-inline: 24px; }
  .library-hero { padding-block: 56px; }
  .market-view-hero--editorial h1 { font-size: 56px; }
  .current-market-views, .market-library, .market-lenses, .research-process { padding-block: 56px; }
  .library-toolbar label, .library-toolbar input { width: 100%; }
  .library-list article { grid-template-columns: minmax(0, 1fr) 30px; gap: 16px; }
  .library-list .report-number { grid-column: 1 / -1; }
  .topic-panels article { padding: 28px; }
  .report-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .report-actions { flex-wrap: wrap; }
}

.report-hero::after { display: none; }
.metric-grid { background: var(--burgundy); }
.key-takeaways, .scenario-table > div:nth-child(2), .operating-loop article:nth-child(even), .maturity-model article:nth-child(even) { background: var(--paper); }
.research-figure, .decision-box { background: var(--burgundy-dark); }
/* Research exhibits use semantic tables and remain readable on small screens. */
.research-table-wrap { overflow-x: auto; margin: 34px 0; border-top: 2px solid var(--burgundy); }
.research-table { width: 100%; min-width: 640px; border-collapse: collapse; font: 14px/1.65 var(--sans); }
.research-table caption { padding: 16px 0; text-align: left; color: var(--muted); font-size: 13px; }
.research-table th, .research-table td { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.research-table thead th { background: var(--paper); font-weight: 600; }
.research-table tbody th { width: 28%; font-weight: 600; }
.research-table a, .research-note .report-body p > a { color: var(--burgundy); text-decoration: underline; text-underline-offset: 3px; }
.numeric-table th:not(:first-child), .numeric-table td { text-align: right; font-variant-numeric: tabular-nums; }
.numeric-table tbody th { width: 42%; }
.numeric-table .calculated { background: var(--paper); }
.research-note .report-body .method-note { padding: 24px; font-size: 15px; line-height: 1.8; background: var(--paper); border-left: 2px solid var(--burgundy); }
.research-note .key-takeaways li, .committee-questions li { margin-block: 16px; line-height: 1.8; }
.research-note .model-download { margin-block: 24px; padding: 24px; background: var(--paper); font-size: 15px; }
.research-note .sources li { line-height: 1.8; margin-bottom: 20px; font-size: 15px; scroll-margin-top: 120px; }
.research-note .revision-note { font-size: 13px !important; color: var(--muted) !important; }
@media print {
  .report-hero { min-height: 0; padding: 20px 0; background: white !important; color: black; }
  .report-hero::before, .report-nav, .report-actions, .reading-progress { display: none; }
  .report-hero .kicker, .report-dek, .report-byline { color: black !important; }
  .report-hero h1 { font-size: 40px; }
  .report-layout { display: block; max-width: none; padding: 24px 0; }
  .research-table-wrap { overflow: visible; }
  .research-table { min-width: 0; font-size: 10px; }
  .research-table th, .research-table td { padding: 8px; }
  .research-table tr { break-inside: avoid; }
  .research-table thead { display: table-header-group; }
  .report-body h2, .report-body h3 { break-after: avoid; }
}
