/* A fixed dark palette for the complete ITI site. */
:root {
  color-scheme: dark;
  --page-bg: #111111;
  --page-text: #f2f0e9;
  --surface: #1b1c1b;
  --surface-strong: #252725;
  --text-muted: #b5b4ac;
  --text-accent: #ffea6c;
  --rule: #454742;
  --action-bg: #ffea6c;
  --action-text: #111111;
}
html,
body,
body.editorial-page,
body.government-page {
  background: var(--page-bg);
  color: var(--page-text);
}
.site-header,
.site-header.menu-open,
.government-page .site-header.menu-open,
#mobile-nav:not([hidden]) {
  background: var(--page-bg);
  color: var(--page-text);
  border-color: var(--rule);
}
.site-header { gap: 22px; }
.brand { flex-shrink: 0; }
.desktop-nav { margin-left: auto; gap: clamp(16px, 2vw, 30px); }
.desktop-nav .nav-support { border-color: var(--rule); padding-left: 20px; }
.desktop-nav a:hover,
.government-page .desktop-nav a[aria-current] { color: var(--text-accent); }
.menu-toggle { flex: 0 0 44px; margin-left: auto; }
.menu-toggle span { background: var(--page-text); }

.home-intro h1 span,
.editorial-project,
.detail-project { color: var(--page-text); }
.intro-line,
.editorial-caption .eyebrow,
.section-heading > .eyebrow,
.detail-project .eyebrow,
.delivery .eyebrow,
.company-note .eyebrow,
.page-intro > .eyebrow,
.content-section .eyebrow,
.page-photo figcaption,
.solution-index-row .eyebrow,
.document-toc > .eyebrow,
.document-section > .eyebrow,
.toc-contact,
.catalog td[data-label]::before { color: var(--text-accent); }
.editorial-subtitle,
.delivery p,
.resource-note,
.project-facts dt { color: var(--text-muted); }
.solution-index-row:hover h2,
.document-section a { color: var(--text-accent); }

.delivery,
.link-columns {
  background: var(--surface);
  color: var(--page-text);
}
.procurement,
.locations,
.identity-grid {
  background: var(--surface-strong);
  color: var(--page-text);
}
.procurement > div > .eyebrow,
.procurement-contracts .eyebrow,
.procurement-contracts a > span:last-child { color: var(--page-text); }
.procurement-contracts a { border-color: var(--text-muted); }
.identity-grid dt { color: var(--page-text); }

.government-content,
.government-contact,
.document-layout,
.catalog-intro,
.catalog {
  background: var(--page-bg);
  color: var(--page-text);
}
.government-nav a[aria-current] {
  color: var(--text-accent);
  box-shadow: 0 1px var(--text-accent);
}
.government-hero > .eyebrow,
.contract-card > .eyebrow,
.contract-card .text-link { color: var(--text-accent); }
.government-hero > p,
.contract-card p,
.hero-contract-number > span,
.ordering-date { color: var(--text-muted); }
.contract-card:hover .text-link { color: var(--page-text); }
.government-hero h1 span { color: var(--text-accent); }
.catalog thead th { background: var(--surface-strong); color: var(--page-text); border-color: var(--rule); }

.editorial-caption,
.delivery,
.credential-line,
.page-intro,
.page-subnav,
.content-section,
.solution-index-row,
.proof-grid > div,
.certifications section,
.contact-option,
.government-nav,
.contract-card,
.document-toc nav,
.document-toc nav a,
.document-section,
.catalog th,
.catalog td,
.catalog tbody,
.catalog tbody tr,
.project-facts { border-color: var(--rule); }
.page-subnav a { border-color: var(--text-accent); }
.contact-option > a,
.project-contact { border-color: currentColor; }
.contact-option .primary-action,
.primary-action { background: var(--action-bg); color: var(--action-text); }
dialog { background: var(--surface); color: var(--page-text); }

/* Intentional brand-color sections retain their original contrast. */
.editorial-contact,
.dealer-credentials { background: var(--gold); color: var(--ink); }
.editorial-contact .contact-link { border-color: var(--ink); }
.partners-grid figure { background: var(--white); color: var(--ink); color-scheme: light; }
.partners-grid figcaption { color: var(--blue); }

html body :is(a, button, summary):focus-visible {
  outline: 2px solid var(--text-accent);
  outline-offset: 6px;
}
html body :is(footer, .home-solutions, .headwall-feature, .headwall-plug, .product-banner) a:focus-visible {
  outline-color: var(--gold);
}
html body :is(.editorial-contact a, .dialog-close, .download-link, .skip):focus-visible {
  outline-color: var(--ink);
  box-shadow: 0 0 0 8px var(--gold);
}

@media (max-width: 1000px) {
  .site-header { gap: 12px; }
}
@media (max-width: 700px) {
  .site-header { gap: 8px; }
  .brand { width: min(216px, calc(100vw - 152px)); }
  .locations > div { border-color: var(--rule); }
}
