/* Refined typography only. Preserve body, action buttons, navigation and branding. */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');
@import url('https://api.fontshare.com/v2/css?f[]=switzer@400,500,600&display=swap');
:root { --q-character-display: 'Instrument Serif', Georgia, serif; --q-character-text: 'Switzer', 'Geist', sans-serif; }
/* Shared defaults also cover dynamically rendered panels and nested flows. */
body { --q-display: 'Instrument Serif', Georgia, serif; --q-sans: 'Switzer', sans-serif; }
/* Operational card headings remain sans-serif, as in the Refined reference. */
:is(.qesora-home-row,.qesora-home-card-heading,.qesora-home-latest__title,.q-media-card,.q-campaign-copy,.qesora-analysis-list-copy,.qesora-faq-question,.qesora-feature-tab) {
  --q-character-display: 'Switzer', 'Geist', sans-serif;
}
/* Filter controls are UI text, not the preserved patterned action language. */
html body #root #latest :is(button[aria-haspopup="listbox"], [role="listbox"], [role="option"]),
html body #root #latest :is(button[aria-haspopup="listbox"], [role="listbox"], [role="option"]) :is(span,strong,small),
html body #root #latest input {
  font-family: var(--q-character-text) !important;
}
html body :is(h1,h2,h3,h4):not(button *, a *, nav *),
html body :is(h1,h2,h3,h4):not(button *, a *, nav *) :is(span,em,strong),
body.qesora-dashboard #qesora-overview-root :is(h2,h3),
body.qesora-dashboard #qesora-overview-root .qesora-home-row__copy > strong {
  font-family: var(--q-character-display) !important;
  font-weight: 400 !important;
  font-style: normal !important;
}
body.qesora-dashboard #qesora-overview-root :is(.qesora-home-row__context-block,.qesora-home-recent-status,.qesora-home-row__date) { font-family: var(--q-character-text) !important; }
body.qesora-dashboard #qesora-overview-root :is(.qesora-home-kpi > strong,.qesora-home-card-count) { font-family: var(--q-character-text) !important; font-variant-numeric: tabular-nums; }
html body :is(p,label,input,textarea,select,figcaption,td,th,dt,dd):not(button *, a *, header *, nav *, #side *) {
  font-family: var(--q-character-text) !important;
}
/* Content cards are sometimes buttons: only their content titles are targeted. */
html body :is(.q-campaign-title,.q-media-card-title,.qesora-home-row__title,.qesora-analysis-list-title,.qesora-home-latest__title) {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
body.qesora-dashboard .qesora-analysis-title-row > strong { font-family: var(--q-character-display) !important; font-weight: 400 !important; }
html body :is(.q-campaign-context,.q-campaign-context-text,.q-campaign-date,.q-campaign-count,.q-media-card-meta,.qesora-analysis-list-context,.qesora-home-row__meta,.qesora-home-row__date,.analysis-setup-selection strong,.analysis-setup-selection > span,.verdict-statement,.verdict-tag,.head-l .meta .tag-file) {
  font-family: var(--q-character-text) !important;
}
html body :is(.qesora-home-kpi-value,.qesora-home-kpi__value,.kpi-value,.metric-value) {
  font-family: var(--q-character-text) !important; font-variant-numeric: tabular-nums;
}
/* Override the legacy, highly scoped collection rules, not CTA buttons. */
html body.qesora-dashboard .view[data-view-body="overview"] #qesora-overview-root .qesora-home-collection .qesora-home-row :is(span,strong,time),
html body.qesora-dashboard .view[data-view-body="overview"] #qesora-overview-root .qesora-home-latest__completion,
html body.qesora-dashboard .view[data-view-body="overview"] #qesora-overview-root .qesora-home-latest__meta span,
html body.qesora-dashboard .view[data-view-body="overview"] #qesora-overview-root .qesora-home-kpi > span {
  font-family: var(--q-character-text) !important;
}
html body.qesora-dashboard .view[data-view-body="overview"] #qesora-overview-root .qesora-home-collection .qesora-home-row__copy > strong {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
html body #dc-root .qesora-faq-aside-card > span {
  font-family: var(--q-character-text) !important; font-weight: 600 !important;
  font-size: 12px !important; letter-spacing: .06em !important;
}
html body #dc-root .qesora-faq-aside-card > p,
html body #dc-root .qesora-faq-answer > p {
  font-family: var(--q-character-text) !important; font-size: 15px !important;
  font-weight: 400 !important; line-height: 1.5 !important;
}
html body #dc-root .qesora-faq-question > span:first-child {
  font-family: var(--q-character-text) !important; font-weight: 500 !important;
}
/* Landing content contract: prose/data use Switzer; semantic headings and
   capability titles use Bricolage. Patterned actions keep their original font. */
html body #dc-root main :is(p,span,strong,b,small,em,i,a,li,dt,dd,label):not([data-qesora-button-style], [data-qesora-button-style] *, [data-qesora-static-art], [data-qesora-static-art] *) {
  font-family: var(--q-character-text) !important;
}
html body #dc-root main :is(h1,h2,h3,h4),
html body #dc-root main :is(h1,h2,h3,h4) :is(span,em,strong),
html body #dc-root main .qesora-feature-tab .qesora-feature-tab__title {
  font-family: var(--q-character-display) !important;
  font-style: normal !important; font-weight: 400 !important;
}
html body #dc-root footer a:not([data-qesora-button-style], [aria-label*="Qesora"]),
html body #dc-root footer a:not([data-qesora-button-style], [aria-label*="Qesora"]) strong {
  font-family: var(--q-character-text) !important;
}
/* FAQ questions are content headings, not patterned action labels. */
html body #dc-root main .qesora-faq-list .qesora-faq-question > span:first-child,
html body #dc-root main .qesora-faq-list .qesora-faq-question > span:first-child :is(i,span,strong) {
  font-family: var(--q-character-display) !important;
  font-weight: 400 !important; font-style: normal !important;
  letter-spacing: 0 !important; text-transform: none !important;
}
/* Shared public pages: the React root differs from the landing's dc-root. */
html body #root main :is(p,span,strong,b,small,em,i,li,dt,dd,td,th,label,input,textarea,select,text):not([data-qesora-button-style], [data-qesora-button-style] *, .qesora-plan-button *, button *, nav *),
html body #root footer :is(a,strong,p,span):not([data-qesora-button-style], [data-qesora-button-style] *) {
  font-family: var(--q-character-text) !important;
}
html body #root main :is(h1,h2,h3,h4),
html body #root main :is(h1,h2,h3,h4) :is(span,em,strong) {
  font-family: var(--q-character-display) !important; font-weight: 400 !important; font-style: normal !important;
}
/* Dashboard content. Leave navigation, toolbar actions and CTA controls alone. */
html body.qesora-dashboard main .view :is(p,label,input,textarea,select,time,dt,dd,td,th):not(button *,nav *,header *),
html body.qesora-dashboard main .view :is(.q-media-card-meta,.q-campaign-context,.q-campaign-footer,.qesora-analysis-context,.qesora-analysis-state-pill) :is(span,strong,small,time),
html body.qesora-dashboard #qesora-overview-root .qesora-home-kpi :is(span,strong) {
  font-family: var(--q-character-text) !important;
}
html body.qesora-dashboard main .view :is(.q-campaign-title,.q-media-card-head h3,.q-media-card-name,.qesora-analysis-title-row > strong) {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
html body #research-main :is(p,span,strong,b,small,li,dt,dd,td,th):not([data-qesora-button-style], [data-qesora-button-style] *, .research-button, .research-button *) {
  font-family: var(--q-character-text) !important;
}
html body #research-main :is(h1,h2,h3,h4),
html body #research-main :is(h1,h2,h3,h4) :is(span,em,strong) {
  font-family: var(--q-character-display) !important; font-weight: 400 !important; font-style: normal !important;
}
html body.qesora-dashboard #gal-storage-objects .q-media-card .q-media-card-head h3 {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
html body.qesora-dashboard #gal-storage-objects#gal-storage-objects .q-media-card .q-media-card-meta :is(span,strong,small) {
  font-family: var(--q-character-text) !important;
}
html body.qesora-dashboard .view[data-view-body="analyses"]:not([hidden]) #qesora-analyses-root .qesora-analyses-compact-list.qesora-analyses-refined-list .qesora-analysis-list-copy :is(span,strong,time) { font-family: var(--q-character-text) !important; }
html body.qesora-dashboard .view[data-view-body="analyses"]:not([hidden]) #qesora-analyses-root .qesora-analyses-compact-list.qesora-analyses-refined-list .qesora-analysis-list-copy .qesora-analysis-title-row > strong { font-family: var(--q-character-display) !important; font-weight: 400 !important; }
html body.qesora-dashboard #new-analysis-channel-grid .qesora-format-choice__copy :is(strong,small),
html body.qesora-dashboard #qesora-analysis-sheet-content :is(.page-sub,.choice-section-hint,.q-flow-option,.q-flow-option span,.analysis-setup-selection strong) { font-family: var(--q-character-text) !important; }
html body #root:has(.head-l) :is(.verdict-score,.verdict-percentile,.lane-meta,.hero-score-label,.scrubber-time,.time-axis-meta,.time-axis-track,.story-meta,.head-l .meta) :is(span,strong,div),
html body #root:has(.head-l) :is(.lane-meta,.scrubber-time,.time-axis-meta,.hero-score-label,.verdict-tag,.verdict-score-l,.verdict-bench-l) { font-family: var(--q-character-text) !important; }
html body #root:has(.head-l) :is(h1,h2,h3,.verdict-statement,.verdict-statement strong) { font-family: var(--q-character-display) !important; font-weight: 400 !important; }
/* Real italic face, never synthetic bold, for the existing editorial accents. */
html body #dc-root#dc-root main :is(h1,h2,h3,h4),
html body #dc-root#dc-root main :is(h1,h2,h3,h4) :is(span,em,strong,i),
html body #root#root main :is(h1,h2,h3,h4),
html body #root#root main :is(h1,h2,h3,h4) :is(span,em,strong,i) {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
html body #dc-root#dc-root main :is(h1,h2) em,
html body #root#root main :is(h1,h2) em {
  font-family: 'Instrument Serif', Georgia, serif !important; font-style: italic !important;
}
html body #dc-root main :is(h1,h2) em,
html body #root main :is(h1,h2) em,
html body #research-main :is(h1,h2) em,
html body.qesora-dashboard :is(h1,h2) em {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-style: italic !important; font-weight: 400 !important;
}
html body.qesora-dashboard.qesora-dashboard .view.view[data-view-body]:not([hidden]) h1,
html body.qesora-dashboard .view[data-view-body] h1.h1 {
  font-family: 'Instrument Serif', Georgia, serif !important; font-weight: 400 !important;
}
html body.qesora-dashboard #qesora-overview-root .qesora-home-kpi > strong {
  font-family: 'Instrument Serif', Georgia, serif !important; font-weight: 400 !important;
}
/* Complete the operational text layer without changing action-label typography. */
html body.qesora-dashboard .view :is(div,span,strong,b,small,label,input,textarea,select,td,th,dt,dd,time):not(h1 *,h2 *,h3 *,h4 *,button,button *,a,a *,[data-qesora-button-style] *,svg *,canvas,.qesora-home-kpi > strong) {
  font-family: var(--q-character-text) !important;
}
html body.qesora-dashboard .view:not([hidden]) :is(#fil-bar#fil-bar,#cam-fil-bar#cam-fil-bar,#q-media-toolbar#q-media-toolbar) :is(.fil-add-btn,.fil-add-btn > span,.fil-search input,.an-stat,.an-stat span),
html body.qesora-dashboard :is(.q-settings-switch,.settings-language-strip,.q-flow-option,.q-flow-search,.q-flow-trigger,.q-campaign-select,.fil-pop,.fil-tags) :is(span,strong,small,input),
html body.qesora-dashboard :is(.q-settings-switch,.q-flow-option,.q-flow-trigger),
html body.qesora-dashboard #qesora-overview-root .qesora-home-row :is(small,em),
html body.qesora-dashboard :is(.av-menu-name,.av-menu-mail,.av-menu-item,.notif-head-sub) {
  font-family: var(--q-character-text) !important;
}
html body.qesora-dashboard .view[data-view-body="settings"] :is(span,strong,small,td,th,dt,dd):not(button *,h1 *,h2 *,h3 *) {
  font-family: var(--q-character-text) !important;
}
html body #research-main :is(code,sub,sup,em) {
  font-family: var(--q-character-text) !important;
}
html body #research-main :is(h1,h2,h3,h4) em {
  font-family: var(--q-character-display) !important;
}
html body #research-main :is(.latent-field i,.boundary-list s),
html body.qesora-dashboard .view[data-view-body="campaigns"] .q-campaign-count b {
  font-family: var(--q-character-text) !important;
}
html body #root .qaw-overview-kpi > strong {
  font-family: var(--q-character-display) !important; font-weight: 400 !important;
}
html body #root :is(.qaw-overview-kpi,.qaw-benchmark-label) :is(span,small),
html body #root .qaw-benchmark-label {
  font-family: var(--q-character-text) !important;
}
