/* Shared reading, analytical and responsive contracts. */
:root{--chart-ink:#012d4e;--chart-track:rgba(1,45,78,.13)}
h2,h3,h4{color:var(--heading-ink)}
.result-list h2,.result-list h3,.claim-panel--dark h2,.claim-panel--dark h3{color:var(--inverse)}
.brief-actions,.reading-pagination{display:flex;gap:12px 20px;flex-wrap:wrap;align-items:center}
.ds-masthead .brief-button,.ds-masthead .button{color:var(--accent-ink)}
.ds-masthead .button--outline{color:var(--inverse);border-color:var(--border-dark-strong);background:transparent}
.ranking-panel,.data-summary{border-radius:0;box-shadow:none}
.ranking-panel h3,.trend-panel h3,.ranking-list a,.insights-bars a>span,.insights-ranking span{font-family:var(--font-ui);text-transform:none;letter-spacing:0}
.ranking-panel h3,.trend-panel h3{font-size:18px;line-height:1.3}
.ranking-list__label{align-items:baseline;gap:12px}.ranking-list__label span{font-size:12px;text-transform:none;font-variant-numeric:tabular-nums}
.ranking-bar,.region-bar-track{height:8px;background:var(--chart-track)}
.ranking-bar span,.region-bar-track span,.buyer-chart__track span,.insights-bars i,.trend-chart__bar span{background:var(--chart-ink)}
.chart-caption,.reading-meta{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 16px}
.trend-chart{--trend-height:110px;gap:5px;min-height:140px}
.trend-chart__bar span{min-height:0}.trend-chart__column>span{font-size:12px;letter-spacing:0}
.chart-data{margin-top:16px;font-size:13px}.chart-data summary{cursor:pointer;font-weight:600}
.table-scroll{max-width:100%;overflow:auto}.table-scroll table{width:100%;border-collapse:collapse}
.table-scroll th,.table-scroll td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.table-scroll td{font-variant-numeric:tabular-nums}.table-scroll caption{text-align:left;padding:10px 0;color:var(--muted);font-size:12px}
.print-only,.print-selection{display:none}
.source-reading{padding-block:28px 48px;max-width:900px}.reading-section{margin-block:28px}.source-text{overflow-wrap:anywhere}.source-text p{white-space:pre-wrap}
.lazy-record{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.lazy-record summary{cursor:pointer;font-weight:650;color:var(--heading-ink)}
.lazy-record [data-details-body]{font-size:14px}.lazy-record [data-details-body] h2{font-size:20px}
.lazy-record [hidden]{display:none!important}.reading-pagination{border-top:1px solid var(--border);padding-top:16px}
.catalog-browse-results{display:grid;grid-template-columns:236px minmax(0,1fr);gap:32px;align-items:start}
.catalog-browse-results .catalog-filters{display:grid;grid-template-columns:1fr;gap:16px}.catalog-browse-results .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-results-column{min-width:0}.jump-results{display:inline-block;margin-bottom:16px;font-size:13px;font-weight:600}
.fm-fields .fm-description{grid-column:1/-1}.fm-availability-status{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.fm-availability-status p{margin:0;font-size:13px}.fm-availability-status [hidden]{display:none!important}
.fm-results-head>.button{background:transparent;color:var(--ink);border-color:var(--border-strong)}
.opportunity-shortlist[data-empty=true] > .brief-actions{display:none}.opportunity-shortlist[data-empty=true]{padding-block:16px}
.opportunity-shortlist[data-empty=true] p{font-size:13px;margin-bottom:8px}
nav[aria-label="Market research views"]{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:12px}
nav[aria-label="Market research views"] .brief-button{background:transparent;color:var(--ink);border-color:transparent}
nav[aria-label="Market research views"] [aria-current=page]{color:var(--heading-ink);border-color:var(--border-strong);background:var(--surface-raised)}
.catalog-detail.section-band{padding-top:28px}.mh-art{mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 35%,#000 65%)}
.ranking-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin-block:20px}.ranking-controls label{display:grid;gap:6px}.ranking-table td:nth-last-child(-n+2),.ranking-table th:nth-last-child(-n+2){text-align:right;font-variant-numeric:tabular-nums}
.downloads-image-dialog .preview-inspector{max-width:100%;max-height:65vh;overflow:auto;border:1px solid var(--border)}
.downloads-image-dialog .preview-inspector img{display:block;width:auto;max-width:none;min-width:100%;height:auto}
.downloads-image-dialog .preview-full-image{display:inline-block;margin:12px 0;font-weight:600}
@media(max-width:900px){.catalog-browse-results{grid-template-columns:1fr}.catalog-browse-results .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-browse-results .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){
 .catalog-browse-results .catalog-filters,.catalog-browse-results .catalog-grid{grid-template-columns:1fr}
 .brief-stat-grid{grid-template-columns:1fr;gap:8px}.brief-stat-grid .data-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 16px}.brief-stat-grid strong{font-size:25px;margin:0;grid-column:2;grid-row:1/3}.brief-stat-grid small{grid-column:1}
 .insights-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-stat-grid>div{padding:14px}.insights-stat-grid strong{font-family:var(--font-ui);font-variant-numeric:tabular-nums}
 .ranking-panel,.trend-panel{padding:18px 0}.tracker-overview__grid{gap:16px}.trend-chart{gap:3px}.trend-chart__column{min-width:0}.trend-chart__column>span{font-size:11px}
 .directory-browse-nav,.catalog-usecases{margin-bottom:16px}.ranking-list__label{flex-wrap:wrap;gap:2px}
}
@media print{
 @page{margin:12mm}
 html,body,#main-content{height:auto;overflow:visible;background:white!important;color:#15241d!important;font-size:10pt}
 .skip-link,.site-nav,.site-footer,.mh-art,.brief-actions,.brief-follow,.newsletter-signup,.newsletter-signup__form,.course-subscribe,.tracker-filters,.insights-filters,.ranking-controls,.catalog-filters,.jump-results,.chart-data{display:none!important}
 .ds-masthead,.ds-masthead.shell,.tracker-masthead,.brief-masthead{padding:0 0 12pt!important;margin:0!important;background:white!important;border:0!important;overflow:visible}
 .ds-masthead :is(h1,h2,h3,p,a,dt,dd),.tracker-stats :is(dt,dd){color:#15241d!important}
 h1,.ds-masthead h1,.brief-masthead h1{font-size:22pt!important;line-height:1.15!important}h2{font-size:16pt!important}h3{font-size:12pt!important}
 .shell,.brief-page{width:auto!important;max-width:none!important;padding-inline:0!important}
 .tracker-stats,.data-card,.technical-panel,.ranking-panel{background:white!important;color:#15241d!important;border-color:#bcc4be;box-shadow:none}
 .tracker-stats,.brief-stat-grid .data-card{padding:8pt!important}.tracker-stats{margin-top:10pt}
 .brief-stat-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8pt;margin:8pt 0}
 .brief-stat-grid .data-card{display:block!important}.brief-stat-grid strong{font-size:20pt;margin:4pt 0}.brief-stat-grid small,.brief-stat-grid span{font-size:9pt}
 .brief-records,.tracker-body,.tracker-overview__grid{display:block!important}
 .brief-record,.listing-row{break-inside:avoid;page-break-inside:avoid;margin-bottom:10pt!important}
 .buyer-chart{break-inside:auto!important;padding:10pt!important}.buyer-chart__rows{gap:6pt!important;margin:8pt 0!important}.buyer-chart__rows li{break-inside:avoid}.buyer-chart__label{font-size:9pt}.buyer-chart__track{height:5pt;margin:3pt 0}.buyer-chart__footnote{font-size:8pt}
 .ranking-bar span,.trend-chart__bar span,.buyer-chart__track span,.region-bar-track span,.insights-bars i{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .ranking-panel{border-radius:0;border-right:0!important;padding:8pt 0!important;break-inside:avoid}
 .trend-chart{display:none}.print-only,.print-selection{display:block!important}.print-selection{font-size:9pt;overflow-wrap:anywhere}
 .table-scroll{overflow:visible!important}table{font-size:9pt!important}thead{display:table-header-group}tr{break-inside:avoid}th,td{padding:5pt!important}caption{font-size:9pt!important}
 .reading-section{break-inside:auto}.reading-section h2{break-after:avoid}.reading-pagination{font-size:9pt}.section-band{padding-block:12pt}
}

.homepage-patterns .function-block.dark :is(h2,h3){color:var(--paper)}
.discovery-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;margin-block:24px}
.discovery-layout .opportunity-filter{margin:0;padding:20px}.discovery-layout .opportunity-filter form{display:grid;grid-template-columns:1fr;gap:16px}.discovery-results{min-width:0}.discovery-results>.opportunity-results{margin-top:0}.discovery-layout .opportunity-filter h2{font-size:20px}.discovery-layout .opportunity-filter p{font-size:12px}.catalog-help{font-size:13px;margin-block:16px}.research-explanation{margin-bottom:20px}.research-explanation>summary{cursor:pointer;font-weight:600}
@media(max-width:900px){.discovery-layout{grid-template-columns:1fr}.discovery-layout .opportunity-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}.discovery-layout .opportunity-filter .form-actions{grid-column:1/-1}}
@media(max-width:550px){.discovery-layout .opportunity-filter form{grid-template-columns:1fr}.discovery-layout .opportunity-filter__help{display:none}}
@media print{.discovery-layout{display:block}.discovery-layout>.opportunity-filter,.catalog-help,.research-explanation{display:none!important}}
.worksheet-excerpt{background:var(--surface-raised);color:var(--ink);padding:20px;border:1px solid var(--border);border-radius:10px;margin-bottom:20px;min-width:0}.worksheet-excerpt h3{color:var(--heading-ink);margin:0 0 8px}.worksheet-excerpt p{color:var(--muted);font-size:12px}.worksheet-excerpt table{font-size:13px;line-height:1.5;min-width:640px}.worksheet-excerpt th{color:var(--heading-ink)}.worksheet-excerpt td{max-width:250px;overflow-wrap:anywhere}.workbook-hero-sheet{min-width:0}.table-scroll:focus-visible{outline:2px solid var(--heading-ink);outline-offset:4px}
@media(max-width:650px){.tracker-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:12px}.tracker-stats>div{padding:12px}.tracker-stats dd{font-size:21px}}
@media print{.tracker-masthead__grid{display:block!important}.tracker-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8pt}.tracker-stats>div{padding:5pt!important}.tracker-stats dd{font-size:13pt!important}.tracker-stats dt{font-size:8pt!important}.breadcrumbs{margin-bottom:8pt!important}.tracker-context{padding-block:8pt!important;margin-block:0!important}.tracker-context__resources{display:none}.tracker-overview>.section-heading{break-after:avoid}.tracker-overview .eyebrow{display:none}}
h1{color:var(--heading-ink)}
.opportunity-page>header.brief-masthead:not(.ds-masthead){padding-block:28px 20px}
.opportunity-workflow>summary{font-size:18px;font-weight:650;color:var(--heading-ink);cursor:pointer}
.brief-actions>.brief-button:not(:first-child){background:transparent;color:var(--ink);border:1px solid var(--border-strong)}
.ds-masthead .brief-actions>.brief-button:not(:first-child){color:var(--inverse);border-color:var(--border-dark-strong)}
.homepage-patterns .hero h1,.homepage-patterns .search-hero h1{color:var(--heading-inverse)}
.downloads-detail-grid>*{min-width:0}.downloads-product-main{max-width:100%}
@media(max-width:760px){.downloads-product-page .downloads-detail-grid{grid-template-columns:minmax(0,1fr)}}
.ds-masthead .data-pill{background:var(--forest-high);color:var(--inverse);border-color:var(--border-dark-strong)}
.brief-page>.brief-stat-grid{margin-top:24px}
@media print{.ds-masthead .data-pill{background:white!important;color:#15241d!important;border-color:#bcc4be}.brief-page>.brief-stat-grid{margin-top:8pt!important}}
