/* Screen hierarchy: 14px reading, 18–22px headings, 12px supporting notes. */
@media screen {
  :root {
    --report-reading: 14px;
    --report-note: 12px;
    --report-heading: 22px;
    --report-subheading: 18px;
    --report-text: #30383d;
    --report-note-ink: #687179;
  }
  body { font-size: var(--report-reading); line-height: 1.85; }
  .layout, .portal-layout { grid-template-columns: 226px minmax(0,1fr); }
  .sidebar { padding-left: 18px; padding-right: 18px; overflow-y: auto; }
  .sidebar nav button { font-size: 13px; line-height: 1.6; min-height: 42px; }
  .sidebar .eyebrow, .sidebar-label { font-size: var(--report-note); letter-spacing: .08em; }
  .sidebar-footer, .sidebar-footer p, .sidebar-footer .tag, .nav small { font-size: var(--report-note); }
  .content, .report-content { padding: 32px 32px 60px; }
  .panel { padding: 26px; margin-bottom: 24px; }
  :is(.content,.report-content) :is(p,li,dd,dt,blockquote,pre,td,th) {
    font-size: var(--report-reading); line-height: 1.9;
  }
  :is(.content,.report-content) :is(h1,.page-title h1) { font-size: 28px; line-height: 1.5; min-height: 0; }
  :is(.content,.report-content) :is(h2,.panel-top h2,.page-focus h2,.summary-callout h2,.evidence-grid h2) {
    font-size: var(--report-heading); line-height: 1.65;
  }
  :is(.content,.report-content) :is(h3,h4,.finding h3) { font-size: var(--report-subheading); line-height: 1.7; }
  :is(.content,.report-content) :is(.lead h2,.diagnosis-summary h2) { font-size: 28px; line-height: 1.65; }
  :is(.content,.report-content) :is(.lead>p,.page-title>p,.page-focus p,.finding p,.diagnosis-summary p,.q-box p,.summary-callout p) {
    font-size: var(--report-reading); line-height: 1.9;
  }
  :is(.content,.report-content) :is(.page-focus p,.finding p,.evidence-body,.ins-judgment) { color: var(--report-text); }
  .page-title { margin-bottom: 32px; }
  .page-focus { padding: 24px; margin-bottom: 32px; }
  .panel-top { gap: 18px; margin-bottom: 28px; flex-wrap: wrap; }
  .top, .report-header { flex-wrap: wrap; gap: 14px; }
  .top-company { flex-basis: auto; }
  .top-company>strong, .score-top>strong, .domain-scores, .stat-label,
  .ui-metric-card .stat-label, .ui-metric-count, .ui-metric-score strong,
  .bar-label, .bar-label strong, .record-title strong, .question-text,
  .source-table th strong, .evidence-detail p, .action-card dd {
    font-size: var(--report-reading); line-height: 1.8;
  }
  .content .ui-metric-card .stat-label { font-size: var(--report-reading); color: var(--report-text); min-height: 24px; }
  .stat { padding: 22px 20px; }
  .ui-metric-main { flex-wrap: nowrap; gap: 14px; margin: 18px 0; }
  .ui-metric-detail { flex-basis: 0; }
  .ui-metric-score strong { font-size: 21px; }
  .ui-metric-percent strong { font-size: 28px; }
  .stat-number { font-size: 39px; }
  .domain-scores strong { font-size: 24px; }
  .score-main { gap: 24px; }
  .finding { gap: 18px; padding: 26px 0; grid-template-columns: 28px minmax(0,1fr) auto; }
  .finding>.text-button, .finding>.link-button { grid-column: 3; justify-self: end; text-align: right; white-space: nowrap; }
  :is(.content,.report-content) table { font-size: var(--report-reading); }
  :is(.content,.report-content) :is(th,td) { padding: 14px 12px; }
  .table-wrap, .table-scroll { max-width: 100%; }
  .ui-domain-matrix table { min-width: 650px; }
  .pair, .pair button { font-size: var(--report-reading); }
  .record-body pre { font-size: var(--report-reading); line-height: 1.95; padding: 24px; }
  .record-body .prompt, .evidence-body, .action-note, .quotes, .quote, .method-list,
  .step dl, .handoff ol, .warning { font-size: var(--report-reading); line-height: 1.9; }
  .record-title { min-width: 0; overflow-wrap: anywhere; }
  .record>summary { align-items: start; }
  .record-body { padding: 28px; }
  .links li { font-size: var(--report-reading); padding: 14px 0; }
  .button, .text-button, .brief-button, .ins-segment, .ins-answer-tabs button,
  .ins-links .text-button, .ins-business-impact .text-button,
  .filters input, .filters select, .segmented button {
    font-size: var(--report-reading); line-height: 1.6; min-height: 38px;
  }
  .button, .brief-button { padding: 8px 12px; }
  .text-button { padding: 8px 0; }
  .filters select, .filters input { max-width: 100%; }
  .ins-business-impact { padding: 28px; margin: 28px 0; }
  .ins-business-impact h3 { font-size: var(--report-subheading); }
  :is(.content,.report-content) .ins-business-impact>p:not(.eyebrow),
  :is(.content,.report-content) .ins-business-impact :is(dt,dd),
  :is(.content,.report-content) .ins-topic :is(p,blockquote),
  :is(.content,.report-content) .ins-tech-check p,
  :is(.content,.report-content) .ins-source-method p { font-size: var(--report-reading); line-height: 1.9; }
  .ins-business-impact dl>div { grid-template-columns: 165px minmax(0,1fr); gap: 20px; padding: 18px 0; }
  .ins-business-impact dt { font-weight: 600; }
  .ins-topic { padding: 28px 0; }
  .ins-topic h3 { font-size: var(--report-subheading); }
  .ins-topic blockquote { padding: 20px; max-height: 280px; }
  .ins-topic .ins-judgment { color: var(--report-text); }
  .ins-topic .ins-topic-impact { padding: 18px 20px; }
  .ins-tone-overview { grid-template-columns: 180px minmax(0,1fr); gap: 28px; margin: 32px 0; }
  .ins-tone-number>span, .ins-tone-legend>div, .ins-tone-legend strong { font-size: var(--report-reading); line-height: 1.65; }
  .ins-tone-number>strong { font-size: 43px; }
  .ins-tone-legend { gap: 18px 24px; }
  .ins-tone-legend>div { flex-wrap: wrap; }
  .ins-tone-panel table { min-width: 780px; table-layout: fixed; }
  .ins-citation-states { gap: 18px; margin: 28px 0; }
  .ins-citation-states span { font-size: var(--report-reading); line-height: 1.65; }
  .ins-source-row { padding: 26px 0 18px; }
  .ins-source-label a, .ins-record-links button { font-size: var(--report-reading); line-height: 1.8; }
  .ins-source-label { gap: 14px; }
  .ins-record-links summary, .ins-analysis-method summary, .ins-legacy-notes>summary {
    font-size: var(--report-reading); line-height: 1.8; min-height: 38px; padding: 9px 0;
  }
  :is(.content,.report-content) .ins-source-purpose { font-size: var(--report-reading); line-height: 1.9; }
  .ins-tech-card>summary { flex-direction: column; align-items: stretch; gap: 16px; padding: 22px; }
  .ins-tech-card summary strong, .ins-tech-count, .ins-tech-check strong,
  .ins-unmeasured>div>div, .ins-unmeasured>a, .ins-competitor-row>div:first-child,
  .ins-competitor-row>div>span, .ins-record-review { font-size: var(--report-reading); line-height: 1.8; }
  .ins-tech-count { white-space: normal; }
  .ins-tech-body { padding: 0 22px 22px; }
  .ins-tech-body>a { font-size: var(--report-reading); }
  .ins-tech-check { padding: 18px 0; }
  .ins-tech-check>div, .ins-unmeasured>div>div { flex-wrap: wrap; }
  .ins-competitor-row { padding: 20px 0; }
  .ins-competitor-row>div:first-child { flex-wrap: wrap; gap: 10px; }
  .ins-links { gap: 12px 20px; }
  .brief-candidate-row { grid-template-columns: 28px minmax(0,1fr) 108px 18px; gap: 16px; padding: 24px; }
  .brief-candidate-title, .brief-candidate-reason, .brief-candidate-target,
  .brief-candidate-confirm, .brief-catalog-description, .brief-support-note p,
  .brief-entry p, .brief-block p, .brief-block li, .brief-copy-text,
  .brief-source>a, .brief-revision, .brief-revision p { font-size: var(--report-reading); line-height: 1.9; }
  .brief-candidate-title { font-size: var(--report-subheading); }
  .brief-candidate-reason { color: var(--report-text); margin-top: 14px; }
  .brief-candidate-reason strong { font-size: var(--report-reading); color: var(--report-text); font-weight: 600; }
  .brief-catalog-description { padding-top: 8px; }
  .brief-candidate-main { gap: 12px; }
  .brief-candidate-evidence { padding: 0 28px 24px 80px; gap: 16px; }
  .brief-candidate-evidence a, .brief-candidate-evidence .brief-button { font-size: var(--report-reading); }
  .brief-completion { font-size: 12px; padding: 5px 9px; }
  .brief-candidate-state { min-width: 0; }
  .brief-candidate-state>small { white-space: normal; text-align: center; max-width: none; }
  .brief-doc-header, .brief-block { padding: 26px; }
  .brief-block h3, .brief-catalog-heading h2 { font-size: var(--report-heading); }
  .brief-block h4, .brief-entry h2 { font-size: var(--report-subheading); }
  .brief-departments { grid-template-columns: 1fr; }
  .brief-meta>div { grid-template-columns: 145px minmax(0,1fr); }
  .brief-support-note { padding: 26px 28px; }
  .brief-detail-nav { flex-wrap: wrap; }
  .trend-heading h2 { font-size: var(--report-heading); }
  .trend-summary>div>span, .trend-legend, .trend-summary .trend-next-month { font-size: var(--report-reading); }
  .trend-heading { flex-wrap: wrap; }
  .trend-summary { grid-template-columns: 1fr 1fr 1.3fr; }
  .trend-summary>div:last-child { grid-column: auto; padding: 0 24px; margin: 0; border-top: 0; border-left: 1px solid #e5e9e2; }
  .trend-month { font-size: var(--report-reading); }
  .auth-intro, .auth-aside ol li, .auth-form label, .auth-form input, .auth-form button { font-size: var(--report-reading); line-height: 1.8; }
  /* Supporting metadata is smaller than the reading text, without becoming tiny. */
  :is(.content,.report-content) :is(.note,.mini,.eyebrow,.stat-foot,.tag,.evidence-meta,.record-title small,.links small,.site-title small,.answer-count,.bar-label small),
  .note, .trial, .breadcrumb, .report-staff-nav, .footer, .report-footer,
  .score-box>.note, .stat-foot, .ui-metric-card .stat-foot,
  .ui-metric-score>span, .ui-metric-score small, .ui-metric-percent small,
  .ring small, .stat-number small, .ins-tone-legend small, .ins-tone-number p,
  .ins-source-label>div>small, .ins-source-order, .ins-source-label>strong>small,
  .ins-citation-states strong small, .ins-tech-domain, .ins-tech-count small,
  .ins-check-badge, .ins-competitor-row .tag, .brief-eyebrow,
  .brief-candidate-number, .brief-candidate-domain, .brief-priority,
  .brief-candidate-access, .brief-candidate-state>small, .brief-progress-note,
  .brief-meta, .brief-meta small, .brief-source small, .brief-history small,
  .brief-document-footer, .brief-tag, .brief-progress-counts,
  .trend-eyebrow, .trend-period, .trend-cadence, .trend-legend>small,
  .trend-summary strong small, .trend-month small, .trend-note, .trend-swipe-hint,
  .sample-strip, .method-note, .section-intro, .table-note, .auth-contact {
    font-size: var(--report-note); line-height: 1.8;
  }
  .brief-scope-note, .brief-small, .brief-fiction, .brief-pending {
    font-size: var(--report-note) !important; line-height: 1.8;
  }
  .brief-block .brief-small { font-size: var(--report-note) !important; }
  :is(.content,.report-content) :is(.ins-analysis-method .note,.ins-source-method .note) { font-size: var(--report-note); }
  :is(.content,.report-content) :is(.brief-eyebrow,.brief-progress-note,.brief-document-footer,.trend-eyebrow,.trend-period,.trend-note,.trend-swipe-hint,.trend-fiction,.stat-foot,table small),
  :is(.content,.report-content) .brief-meta :is(dt,dd) { font-size: var(--report-note); line-height: 1.8; }
  @media (max-width: 900px) {
    .layout, .portal-layout { display: block; }
    .sidebar { position: relative; height: auto; padding: 20px 24px 0; border-right: 0; border-bottom: 1px solid var(--line); overflow: visible; }
    .sidebar>.eyebrow, .sidebar-label, .sidebar-footer { display: none; }
    .sidebar nav { display: flex; flex-direction: row; overflow-x: auto; scrollbar-width: thin; margin: 18px -24px 0; padding: 0 20px 14px; gap: 6px; }
    .sidebar nav button { flex: none; white-space: nowrap; padding: 10px 14px; }
    .sidebar nav small { display: none; }
    .ins-tone-legend { grid-template-columns: 1fr; }
    .ins-business-impact dl>div { grid-template-columns: 1fr; gap: 7px; }
  }
  @media (max-width: 760px) {
    .content, .report-content { padding: 30px 16px 50px; }
    .panel, .monthly-trend { padding: 24px 20px; }
    .top, .report-header { padding: 18px 20px; }
    .top-company { flex-basis: 100%; }
    .top>.button { flex: 1 1 auto; }
    .top .button, .brief-controls .brief-button, .brief-detail-nav .brief-button { font-size: var(--report-reading); }
    .trial { padding: 14px 20px; }
    .page-title>p, .lead>p { font-size: var(--report-reading); }
    .content .ui-metric-card .stat-label { min-height: 0; }
    .stat { padding: 22px 20px; }
    .ui-metric-main { gap: 20px; }
    .ui-metric-detail { flex-basis: 0; }
    .ins-tone-overview { grid-template-columns: 1fr; gap: 24px; }
    .ins-tone-number { display: block; border: 0; padding: 0; }
    .ins-tone-number>strong { margin-top: 10px; }
    .ins-tone-legend { grid-template-columns: 1fr; }
    .ins-business-impact { padding: 22px 20px; }
    .ins-citation-states { grid-template-columns: 1fr 1fr; }
    .ins-source-controls>div { gap: 8px; }
    .ins-answer-tabs { flex-wrap: wrap; }
    .ins-answer-tabs button { flex-basis: 100%; }
    .ins-source-controls>div>span { font-size: var(--report-note); }
    .ins-record-links>div { flex-direction: column; align-items: start; }
    .ins-tech-list, .ins-unmeasured>div { grid-template-columns: 1fr; }
    .ins-tech-body { padding: 0 20px 20px; }
    .record-body { padding: 22px 18px; }
    .record-body pre { padding: 18px; }
    .brief-candidate-row { grid-template-columns: 28px minmax(0,1fr); gap: 14px 12px; padding: 24px 20px; }
    .brief-candidate-number { grid-column: 1; grid-row: 1; }
    .brief-candidate-state { grid-column: 2; grid-row: 1; align-items: start; padding: 0; flex-direction: row; flex-wrap: wrap; gap: 10px; }
    .brief-candidate-state>small { align-self: center; text-align: left; }
    .brief-candidate-main { grid-column: 1/-1; grid-row: 2; }
    .brief-candidate-arrow, .brief-candidate-lock { display: none; }
    .brief-candidate-evidence { padding: 0 20px 24px; gap: 16px; }
    .brief-catalog-heading, .brief-catalog-description, .brief-support-note { padding-left: 20px; padding-right: 20px; }
    .brief-doc-header, .brief-block { padding: 26px 20px; }
    .brief-meta>div { grid-template-columns: 1fr; gap: 4px; }
    .brief-progress-counts { flex-wrap: wrap; }
    .brief-block-title { align-items: start; flex-direction: column; }
    .trend-legend { flex-wrap: wrap; }
    .trend-legend>small { flex-basis: 100%; margin-left: 0; }
    .trend-summary { grid-template-columns: 1fr 1fr; }
    .trend-summary>div:last-child { display: block; grid-column: 1/-1; border: 0; border-top: 1px solid #edf0e9; padding: 16px 0 0; margin-top: 16px; }
    .ui-seo-domain-totals>div { min-width: 0; }
    .auth-layout { overflow-wrap: anywhere; }
  }
}

/* Shared domain colors: business green, recruitment blue. */
:root { --business: #2f7d62; --business-pale: #edf6f1; --recruitment: #356fa8; --recruitment-pale: #eef4fb; }
.brand { display: block; line-height: 1; flex-shrink: 0; }
.brand img { display: block; width: 150px; height: auto; max-width: 100%; }
.brand:after { display: none; }
#panel-business, [data-domain="business"] { --domain-accent: var(--business); --domain-pale: var(--business-pale); }
#panel-recruitment, [data-domain="recruitment"] { --domain-accent: var(--recruitment); --domain-pale: var(--recruitment-pale); }
#panel-business, #panel-recruitment { --red: var(--domain-accent); --pale: var(--domain-pale); }
.nav[data-tab="business"] { color: var(--business); }
.nav[data-tab="recruitment"] { color: var(--recruitment); }
.nav[data-tab="business"][aria-selected="true"] { background: var(--business-pale); }
.nav[data-tab="recruitment"][aria-selected="true"] { background: var(--recruitment-pale); }
:is(#panel-business,#panel-recruitment) .page-title { border-left: 4px solid var(--domain-accent); padding-left: 18px; }
:is(#panel-business,#panel-recruitment) :is(.page-title h1,.page-focus h2,.text-button,.ui-red) { color: var(--domain-accent); }
:is(#panel-business,#panel-recruitment) .ins-business-impact { background: var(--domain-pale); border-color: var(--domain-accent); }
:is(#panel-business,#panel-recruitment) .ins-business-impact :is(.eyebrow,dt) { color: var(--domain-accent); }
:is(#panel-business,#panel-recruitment) .ins-business-impact dl>div { border-color: color-mix(in srgb,var(--domain-accent) 22%,white); }
.stat[data-domain], .ui-domain-metrics .stat { border-top: 3px solid var(--domain-accent); }
.stat[data-domain] :is(.stat-label,.stat-number), .ui-domain-metrics .stat-label { color: var(--domain-accent); }
.domain-scores>[data-domain], .ui-seo-domain-totals>[data-domain] :is(span,strong) { color: var(--domain-accent); }
.finding[data-domain] :is(.num,.text-button), .record[data-domain] .record-title small { color: var(--domain-accent); }
.ins-tech-card[data-domain] { border-top: 3px solid var(--domain-accent); background: var(--domain-pale); }
.ins-tech-card[data-domain] .ins-tech-domain { color: var(--domain-accent); }
.record[data-domain] { border-left: 3px solid var(--domain-accent); }
.brief-candidate-row[data-domain] { border-left: 3px solid var(--domain-accent); }
.brief-candidate-row[data-domain] .brief-candidate-domain { color: var(--domain-accent); }
.ins-segment[data-source-domain="business"].is-active { color: var(--business); background: var(--business-pale); border-color: var(--business); }
.ins-segment[data-source-domain="recruitment"].is-active { color: var(--recruitment); background: var(--recruitment-pale); border-color: var(--recruitment); }
.ui-direction-scope { border-top: 1px solid var(--line); padding-top: 18px; margin-top: 22px; }
@media screen and (max-width:760px) {
  .finding { grid-template-columns: 28px minmax(0,1fr); }
  .finding>.text-button,.finding>.link-button { grid-column: 2; justify-self: end; }
}

.brief-candidate-row.is-available[data-domain] { box-shadow: none; background: color-mix(in srgb,var(--domain-pale) 50%,white); }
.brief-candidate-row.is-available[data-domain]:hover { background: var(--domain-pale); }
.brief-candidate-row[data-domain] :is(.brief-candidate-access.is-free,.brief-candidate-arrow) { color: var(--domain-accent); }

/* The brief title carries the detail page; keep the generic page heading compact. */
@media screen {
  #panel-actions:has(>.brief-detail-nav)>.page-title { margin-bottom: 16px; }
  #panel-actions:has(>.brief-detail-nav)>.page-title>.eyebrow { display: none; }
  :is(.content,.report-content) #panel-actions:has(>.brief-detail-nav)>.page-title h1 { font-size: 18px; margin: 0; line-height: 1.5; }
  :is(.content,.report-content) .brief-actionable .brief-completion-block .brief-small { margin-bottom: 0; }
}
