/* Shared color roles: navy = identity/data, blue = action/selection.
   Status colors (--flow*, support-state and validation errors) stay semantic.
   This layer changes color only; page structure and control sizes are retained. */
:root {
  --trust-navy: #132b4f;
  --trust-primary: #245edb;
  --trust-primary-hover: #1b46a6;
  --trust-primary-soft: #eaf1ff;
  --trust-ink: #182b45;
  --trust-text: #32445a;
  --trust-muted: #52647a;
  --trust-page: #f5f7fb;
  --trust-surface: #ffffff;
  --trust-line: #d8e1ee;
  --trust-field: #8190a5;
  --bg: var(--trust-page);
  --paper: var(--trust-surface);
  --ink: var(--trust-ink);
  --text: var(--trust-text);
  --sub: var(--trust-muted);
  --navy: var(--trust-navy);
  --green: var(--trust-primary);
  --green2: var(--trust-primary-hover);
  --light: var(--trust-primary-soft);
  --lime: #dbe8ff;
  --line: var(--trust-line);
  --accent: #dbe8ff;
  --red: #b42318;
  --shadow: 0 10px 32px #132b4f08;
}

body,body[data-route="home"] { background: var(--trust-page); color: var(--trust-text); }
body .header,body[data-route="home"] .header { background: var(--trust-surface); border-color: var(--trust-line); }
body .logo,body .footer-brand { color: var(--trust-navy); }
body .brand-icon { background: var(--trust-navy); color: #fff; }
body .logo-beta,body[data-route="home"] .logo-beta { color: var(--trust-muted); }
body .header nav a { color: var(--trust-muted); }
body .header nav a:hover,body .header nav a.active { color: var(--trust-primary); }
body .header nav a.active:after { background: var(--trust-primary); }
body .header-save,body[data-route="home"] .header-save { background: #fff; border-color: var(--trust-primary); color: var(--trust-primary); }
body .header-save:hover,body[data-route="home"] .header-save:hover { background: var(--trust-primary-soft); color: var(--trust-primary-hover); }
body .footer,body[data-route="home"] .footer { background: var(--trust-page); border-color: var(--trust-line); color: var(--trust-muted); }
body .footer p,body .footer nav a,body .footer nav button,body .footer-tools,body .footer-tools>summary:after { color: var(--trust-muted); }

body .btn,body .btn-accent { background: var(--trust-primary); border-color: var(--trust-primary); color: #fff; }
body .btn:hover,body .btn-accent:hover { background: var(--trust-primary-hover); border-color: var(--trust-primary-hover); color: #fff; }
body .btn.light,body .btn.ghost { background: #fff; color: var(--trust-primary); border-color: #9fb8e9; }
body .btn.light:hover,body .btn.ghost:hover { background: var(--trust-primary-soft); border-color: var(--trust-primary); color: var(--trust-primary-hover); }
body .btn:disabled,body .btn:disabled:hover { background: #e3e8f0; border-color: #cad4e2; color: var(--trust-muted); opacity: 1; cursor: not-allowed; transform: none; }
body .text-link,body .request-back,body .calm-guide-link { color: var(--trust-primary); }
body .eyebrow,body .studio-kicker { color: var(--trust-muted); }
body .page-top h1,body .page-top h2,body .section-heading h2 { color: var(--trust-navy); }
body .page-top p,body .section-heading>span,body .muted,body .list-context { color: var(--trust-muted); }

body .search,body .filter-panel,body .panel,body .matching-panel,body .match-card,body .proposal-request-form { background: #fff; border-color: var(--trust-line); }
body .search input,body .brand-first-search input,body .amount-field input,body .lead-amount input { color: var(--trust-ink); }
body input::placeholder,body textarea::placeholder { color: #5f7085; opacity: 1; }
body .search,body .input-wrap,body .amount-field,body .lead-amount,
body .lead-field>input,body .inquiry-fields input,body .inquiry-fields select,body .inquiry-fields textarea,
body .matching-inputs select,body .support-filters input,body .support-filters select,body .issue-search input,
body .official-sync-field input { background: #fff; border-color: var(--trust-field); color: var(--trust-text); }
body .input-wrap:focus-within,body .amount-field:focus-within,body .lead-amount:focus-within { border-color: var(--trust-primary); box-shadow: 0 0 0 2px #245edb1a; }
body button:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body summary:focus-visible,
body .studio-home button:focus-visible,body .studio-home a:focus-visible,body .studio-home input:focus-visible { outline: 3px solid var(--trust-primary); outline-offset: 3px; }
body input[type="checkbox"],body input[type="radio"] { accent-color: var(--trust-primary); }
body .field-help,body .form-intro,body .detail-meta,body .detail-metrics small,body .detail-method-note,
body .detail-section-heading span,body .detail-history-column>span,body .detail-no-data,body .detail-provenance dt,
body .detail-provenance>p,body .inquiry-privacy,body .inquiry-fields small,body .proposal-request-form label>small,
body .lead-field>small,body .inquiry-note,body .amount-field>span,body .lead-amount>span { color: var(--trust-muted); }

body .chip,body .ranking-tabs>button { background: #fff; color: var(--trust-muted); border-color: var(--trust-line); }
body .chip:hover { background: var(--trust-primary-soft); color: var(--trust-primary); border-color: #9fb8e9; }
body .chip.on { background: var(--trust-navy); color: #fff; border-color: var(--trust-navy); }
body .ranking-tabs>button { background: transparent; border-bottom-color: transparent; }
body .ranking-tabs>button:hover,body .ranking-tabs>button.active { color: var(--trust-primary); }
body .ranking-tabs>button.active { border-bottom-color: var(--trust-primary); }
body .card-compare,body .ranking-compare { color: var(--trust-primary); }
body .card-compare i,body .ranking-compare { border-color: #9fb8e9; }
body .card-compare.selected i,body .mini-add.selected,body .ranking-compare.selected { background: var(--trust-primary); border-color: var(--trust-primary); color: #fff; }
body .brand-card,body .detail-section,body .match-card { background: #fff; border-color: var(--trust-line); }
body .brand-card h3,body .brand-card h3 a,body .match-card h3,body .detail-brand-header h1,
body .brand-stats dd,body .match-card dd,body .detail-metrics strong,body .matching-result-head strong { color: var(--trust-navy); }
body .brand-company,body .brand-stats dt,body .brand-stats small,body .brand-card-bottom,
body .match-card dt,body .match-caution,body .matching-result-head p,body .matching-result-head span { color: var(--trust-muted); }
body .category-tag,body .source-pill { background: #edf1f7; color: var(--trust-muted); }
body .brand-card-bottom a,body .match-card>a { color: var(--trust-primary); }
body .source-notice,body .matching-assumption,body .compare-cta,body .match-reason,
body .request-condition-summary,body .request-assurance { background: var(--trust-primary-soft); border-color: #c7d7f5; color: var(--trust-text); }
body .source-notice a,body .match-reason strong,body .request-assurance b { color: var(--trust-navy); }
body .compare-cta p,body .request-assurance p,body .request-assurance small { color: var(--trust-muted); }
body .proposal-request-form legend,body .request-layout h1 { color: var(--trust-navy); }
body .request-layout h1 em { color: var(--trust-primary); }
body .request-layout aside>p,body .request-progress,body .request-steps li,body .request-steps li small { color: var(--trust-muted); }
body .request-progress { border-color: var(--trust-line); }
body .request-progress span:first-child,body .request-steps li[aria-current] { color: var(--trust-primary); }
body .request-steps li>span { background: #e6ecf5; color: var(--trust-muted); }
body .request-steps li[aria-current]>span { background: var(--trust-primary); color: #fff; }
body .service-options,body .matching-method { background: #f3f6fc; border-color: var(--trust-line); }
body .service-options>summary,body .service-options h3 { color: var(--trust-navy); }
body .service-options p,body .service-options small { color: var(--trust-muted); }
body .budget-shortcuts button { background: #fff; border-color: #a6b5cb; color: var(--trust-primary); }
body .budget-shortcuts button:hover { background: var(--trust-primary-soft); border-color: var(--trust-primary); }
body #comparison-tray,body .budget-result { background: var(--trust-navy); color: #fff; }
body .tray-heading,body .budget-result .eyebrow { color: #d9e5f7; }
body .tray-brands>button { background: #203f66; border-color: #8198b6; color: #fff; }
body .budget-result .btn { background: #fff; color: var(--trust-primary); border-color: #fff; }
body .budget-result .btn:hover { background: #eaf1ff; color: var(--trust-primary-hover); }

/* Editorial homepage: navy for data, blue only for the next action. */
.studio-home .brand-first-intro h1,.studio-home .calm-list-heading h2 { color: var(--trust-navy); }
.studio-home .brand-first-intro h1 em { color: var(--trust-primary); }
.studio-intro-copy>p,.studio-search-caption>span,.studio-kicker { color: var(--trust-muted); }
.studio-search-caption label { color: var(--trust-navy); }
.studio-home .brand-first-search { background: #fff; border-color: var(--trust-field); box-shadow: 0 3px 0 #132b4f05; }
.studio-home .brand-first-search>svg { color: var(--trust-primary); }
.studio-home .brand-first-search input { color: var(--trust-ink); }
.studio-home .brand-first-search input::placeholder { color: #5f7085; }
.studio-home .brand-first-search button { background: var(--trust-primary); color: #fff; }
.studio-home .brand-first-search button:hover { background: var(--trust-primary-hover); }
.studio-home .brand-first-search:focus-within { border-color: var(--trust-primary); box-shadow: 0 0 0 2px #245edb1a; }
.studio-home .home-brand-categories button,.studio-home .home-brand-categories a { background: transparent; border-bottom-color: transparent; color: var(--trust-muted); }
.studio-home .home-brand-categories a { color: var(--trust-primary); }
.studio-home .home-brand-categories button:hover,.studio-home .home-brand-categories a:hover { color: var(--trust-primary); border-bottom-color: var(--trust-primary); background: transparent; }
.studio-budget-link,.studio-home .brand-first-source,.studio-home .list-context { color: var(--trust-muted); }
.studio-budget-link:hover,.studio-home .brand-first-source a { color: var(--trust-primary); }
.studio-source-label { color: var(--trust-navy); }
.studio-home .brand-first-source,.studio-home .lead-evidence { border-color: var(--trust-line); }
.studio-home .calm-list-heading>a { color: var(--trust-primary); border-color: #a8bee7; }
.studio-heading-dot { background: var(--trust-primary); }
.studio-home .home-brand-grid.brand-grid { background: var(--trust-line); border-color: var(--trust-line); }
.studio-home .home-brand-grid.brand-grid>.brand-card { background: #fff; }
.studio-home .home-brand-grid.brand-grid>.brand-card:hover { background: #fbfcff; }
.studio-home .home-brand-grid .category-tag { background: #edf1f7; color: var(--trust-muted); }
.studio-home .home-brand-grid .card-compare,.studio-home .home-brand-grid .card-compare.selected { color: var(--trust-primary); }
.studio-home .home-brand-grid .card-compare i { border-color: #9fb8e9; }
.studio-home .home-brand-grid .card-compare.selected i { background: var(--trust-primary); color: #fff; border-color: var(--trust-primary); }
.studio-home .home-brand-grid.brand-grid>.brand-card>h3 a,
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-stats dd { color: var(--trust-navy); }
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-company,
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-stats dt,
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-stats small,
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-card-bottom { color: var(--trust-muted); }
.studio-home .home-brand-grid.brand-grid>.brand-card>.brand-card-bottom a { color: var(--trust-primary); }
.studio-home .calm-list-footer>.btn { background: #fff; border-color: #9fb8e9; color: var(--trust-primary); }
.studio-home .calm-list-footer>.btn:hover { background: var(--trust-primary-soft); border-color: var(--trust-primary); }
.studio-home .calm-list-footer>p { color: var(--trust-muted); }
.studio-home .studio-consult { background: var(--trust-primary-soft); border-top-color: var(--trust-primary); }
.studio-home .studio-consult h2 { color: var(--trust-navy); }
.studio-home .studio-consult p,.studio-home .studio-consult .studio-kicker { color: var(--trust-muted); }
.studio-home .studio-consult .calm-guide-link { color: var(--trust-primary); }
.studio-home .studio-consult>.btn { background: var(--trust-primary); border-color: var(--trust-primary); color: #fff; }
.studio-home .studio-consult>.btn:hover { background: var(--trust-primary-hover); border-color: var(--trust-primary-hover); }

/* Shared issue ticker colors; the header stylesheet controls its placement. */
body .issue-bar { background: #edf2fa; border-color: var(--trust-line); }
body .issue-bar>a,body .issue-bar a span { color: var(--trust-text); }
body .issue-bar strong { color: var(--trust-primary); }
body .issue-controls small { color: var(--trust-muted); }
body .issue-controls button { background: #fff; border-color: #8190a5; color: var(--trust-navy); }
body .issue-controls button:hover { background: var(--trust-primary-soft); border-color: var(--trust-primary); }
body .issue-controls .issue-pause[aria-pressed="true"] { background: #dfeaff; border-color: #9fb8e9; color: var(--trust-primary-hover); }
body .issues-hero { background: var(--trust-navy); color: #fff; }
body .issues-hero h1 { color: #fff; }
body .issues-hero .eyebrow,body .issues-hero p { color: #d9e5f7; }
body .issues-compass { color: #a8c6ff; border-color: #8198b6; }
body .issues-toolbar button { background: #fff; color: var(--trust-muted); border-color: #a6b5cb; }
body .issues-toolbar button[aria-pressed="true"] { background: var(--trust-navy); color: #fff; border-color: var(--trust-navy); }
body .issue-search,body #issue-count,body .issue-meta,body .issues-note { color: var(--trust-muted); }
body .issue-card { background: #fff; border-color: var(--trust-line); }
body .issue-card h2 { color: var(--trust-navy); }
body .issue-card>a { color: var(--trust-primary); }
body .issue-insight,body .issues-resources { background: var(--trust-primary-soft); border-color: #c7d7f5; }
body .issue-insight strong,body .issues-resources h2 { color: var(--trust-navy); }
body .issue-insight p,body .issues-resources p { color: var(--trust-text); }
body .issues-resources a { color: var(--trust-primary); }
body .support-intro h1,body .support-card h2 { color: var(--trust-navy); }
body .support-intro>p,body .support-update,body .support-filters label,body .support-filter-help,
body .support-region-tag,body .support-org,body .support-dates,body .support-facts dt,body #support-count { color: var(--trust-muted); }
body .support-update>span:first-child { color: var(--trust-navy); }
body .support-container .support-reset,body .support-container .support-refresh,body .support-more { background: #fff; border-color: #9fb8e9; color: var(--trust-primary); }
body .support-container .support-reset:hover,body .support-container .support-refresh:hover,body .support-more:hover { background: var(--trust-primary-soft); border-color: var(--trust-primary); }
body .support-card { background: #fff; border-color: var(--trust-line); }
body .support-original { color: var(--trust-primary); }
body .support-evidence { background: var(--trust-primary-soft); border-color: #c7d7f5; }
body .support-evidence h2 { color: var(--trust-navy); }
body .support-evidence p { color: var(--trust-muted); }
body .support-evidence a { color: var(--trust-primary); }

/* Legacy form selectors need explicit color roles on their rendered controls. */
body .matching-inputs small,body .matching-submit p,body .matching-prompt,
body #request-previous { color: var(--trust-muted); }
body #support-search::placeholder { color: #5f7085; opacity: 1; }
body .support-container :focus-visible { outline: 3px solid var(--trust-primary); outline-offset: 3px; }
.studio-home .brand-first-search button:disabled,
.studio-home .brand-first-search button:disabled:hover { background: #e3e8f0; color: var(--trust-muted); opacity: 1; cursor: not-allowed; }

body .issue-card>p,body .support-facts dd,body .inquiry-fields label,body .inquiry-consent { color: var(--trust-text); }
body .issue-meta span,body .support-summary { color: var(--trust-muted); }
body .detail-breadcrumb,body .detail-brand-header p,body .detail-metrics span,
body .detail-direction-main p,body .detail-direction-main small,body .detail-direction-facts span,
body .detail-questions p,body .detail-next p,body .detail-table-wrap,body .detail-table-wrap caption { color: var(--trust-muted); }
body .detail-top-note,body .detail-next { background: var(--trust-primary-soft); border-color: #c7d7f5; color: var(--trust-text); }
body .detail-provenance dd,body .detail-table-wrap table { color: var(--trust-text); }
body .detail-history-column>strong { color: var(--trust-navy); }
body .detail-bar-space>i { background: #85a5da; }
body .detail-history-column:last-child .detail-bar-space>i { background: var(--trust-primary); }
body .detail-table-wrap thead th { background: #edf2fa; }
body .detail-no-data { background: #f3f6fc; }

body #comparison-tray .tray-compare:disabled,
body #comparison-tray .tray-compare:disabled:hover { background: #e3e8f0; border-color: #cad4e2; color: var(--trust-muted); opacity: 1; cursor: not-allowed; transform: none; }

/* Service name and operating brand remain distinct from legal operator details. */
body .footer .footer-branding { margin:14px 0 6px; color:var(--trust-muted); font-size:12px; line-height:1.7; }
body .footer .footer-branding strong { color:var(--trust-navy); font-weight:700; }
