/* Scoped adapter: one JE Horizon brand, existing contractor workflows. */
:root {
  --jh-background: #0a0e1f;
  --jh-surface: #141a30;
  --jh-text: #e8ecf5;
  --jh-muted: #b2bfd2;
  --jh-accent: #a78bfa;
  --jh-focus: #67e8f9;
  --jh-line: #354160;
  --bg: #0a0e1f;
  --bg-alt: #0d1226;
  --card: #141a30;
  --text: #e8ecf5;
  --text-mute: #b2bfd2;
  --navy: #e8ecf5;
  --border: #354160;
  --border-subtle: #252e46;
  --line: #354160;
}
body.contractor-page, body[data-jehorizon-brand] {
  background: var(--jh-background) !important;
  color: var(--jh-text) !important;
  --bg: #0a0e1f;
  --bg-alt: #0d1226;
  --card: #141a30;
  --text: #e8ecf5;
  --text-mute: #b2bfd2;
  --navy: #e8ecf5;
  --border: #354160;
  --border-subtle: #252e46;
  --line: #354160;
  --green: #6ee7b7;
  --red: #fca5a5;
  --gold-deep: #f0d56a;
  --grad: linear-gradient(135deg, #a78bfa, #67e8f9);
  color-scheme: dark;
}
.contractor-page section.block.alt { background: var(--bg-alt); }
.contractor-page section.block { background: var(--bg); }
.contractor-page .hero { background: var(--bg); color: var(--text); border-bottom: 1px solid var(--border); }
.contractor-page > header { background: var(--jh-background); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 90; backdrop-filter: none; }
.contractor-page > header .brand { display: inline-flex !important; align-items: center; text-decoration: none; color: var(--jh-text); }
.contractor-page > header .brand:hover { text-decoration: none; }
.contractor-page .nav { height: auto; min-height: 64px; padding-block: 8px; display: flex; justify-content: space-between; align-items: center; }
.contractor-page .nav-links { flex-wrap: wrap; justify-content: flex-end; }
.contractor-page .nav-links a { color: var(--jh-muted); }
.contractor-page .nav-links a:hover { color: var(--jh-focus); background: var(--jh-surface); text-decoration: none; }
section[id], .block[id] { scroll-margin-top: 80px; }
html { scroll-behavior: smooth; background: #0a0e1f; }
.contractor-page :is(.nav-links a:hover, .hero-card .card-foot) { background: var(--jh-surface); color: var(--jh-text); }
.contractor-page :is(.stat-strip, .step, .tier, .tier.starter, .tier.featured, .tier.pro, .pair-card, .pair-card.starter, .pair-card.on, .pair-card.pro, .compare-table, .faq details, .roi-box, .feature, .hero-card) {
  background: var(--jh-surface) !important;
  border-color: var(--jh-line) !important;
  color: var(--jh-text) !important;
  box-shadow: none;
}
.contractor-page .tier.starter, .contractor-page .tier.featured {
  background: linear-gradient(180deg, #181d38 0%, #141a30 100%) !important;
  border-color: var(--jh-accent) !important;
}
.contractor-page .tier.pro {
  background: linear-gradient(180deg, #242018 0%, #141a30 100%) !important;
  border-color: var(--jh-focus) !important;
}
.contractor-page .tier ul { border-top-color: var(--jh-line); }
.contractor-page .tier li { color: var(--jh-text); }
.contractor-page .tier li.muted { color: var(--jh-muted); }
.contractor-page :is(.btn-primary, .btn-starter, .nav-cta, .tier .cta) { background: var(--jh-accent) !important; color: #11172b !important; -webkit-text-fill-color: currentColor; box-shadow: none; cursor: pointer; }
.contractor-page :is(.btn-primary:hover, .btn-starter:hover, .nav-cta:hover, .tier .cta:hover) { background: #c3afff !important; opacity: 1; }
.contractor-page :is(.btn-pro, .tier.pro .cta) { background: var(--jh-focus) !important; color: #11172b !important; box-shadow: none; cursor: pointer; }
.contractor-page :is(.btn-pro:hover, .tier.pro .cta:hover) { background: #86f0ff !important; opacity: 1; }
.contractor-page :is(.btn-ghost, .btn-ghost:hover) { background: transparent !important; color: var(--jh-text) !important; border: 1px solid var(--jh-line) !important; }
.contractor-page :is(.btn-ghost:hover) { background: var(--jh-surface) !important; }
.contractor-page :is(.tier.pro, .pair-card.pro) { border-color: var(--jh-focus) !important; }
.contractor-page :is(.tier.pro .kicker, .tier.pro .price, .pair-card.pro .kicker) { color: var(--jh-focus) !important; }
.contractor-page :is(.hero h1 .accent, .grad-text) { background: none; color: var(--jh-accent); -webkit-text-fill-color: currentColor; }
.contractor-page .hero::before, .contractor-page .hero::after { display: none; }
.contractor-page :is(input, select, textarea) { background: var(--jh-background) !important; color: var(--jh-text) !important; border: 1px solid var(--jh-line) !important; font: inherit; }
.contractor-page .roi-result { background: #064e3b !important; color: #a7f3d0 !important; }
.contractor-page .final-cta { background: var(--bg-alt); border-top: 1px solid var(--border); }
.contractor-page .final-cta .cta-box { background: var(--jh-surface) !important; border: 1px solid var(--jh-line) !important; color: var(--jh-text) !important; }
.contractor-page .final-cta h2 { color: var(--jh-text) !important; }
.contractor-page .final-cta p { color: var(--jh-muted) !important; }
.contractor-page .final-cta .btn-primary { background: var(--jh-accent) !important; color: #11172b !important; }
.contractor-page .step .n { color: #11172b; background: var(--jh-accent); }
.contractor-page .step h3 { color: var(--jh-text); }
.contractor-page .step p { color: var(--jh-muted); }
.contractor-page .compare-table { border: 1px solid var(--jh-line); }
.contractor-page .compare-table th { background: var(--jh-background); color: var(--jh-text); border-bottom: 1px solid var(--jh-line); }
.contractor-page .compare-table td { border-bottom: 1px solid var(--jh-line); color: var(--jh-text); }
.contractor-page .compare-table tr:nth-child(even) td { background: #0f152b; }
.contractor-page .faq details { border: 1px solid var(--jh-line); }
.contractor-page .faq summary { color: var(--jh-text); }
.contractor-page .faq details p { color: var(--jh-muted); }
.contractor-page footer { background: var(--jh-background); border-top: 1px solid var(--jh-line); color: var(--jh-text); }
.contractor-page .foot-brand { color: var(--jh-text); }
.contractor-page .foot-inner a { color: var(--jh-muted); }
.contractor-page .foot-inner a:hover { color: var(--jh-focus); }
.contractor-page .foot-legal { border-top: 1px solid var(--jh-line); color: var(--jh-muted); }
.contractor-page .sticky-mobile-cta { background: var(--jh-background) !important; border-color: var(--jh-line) !important; }
.contractor-page .sticky-mobile-cta a:first-child { background: var(--jh-accent) !important; color: #11172b !important; }
.contractor-page .sticky-mobile-cta a:last-child { background: var(--jh-surface) !important; color: var(--jh-text) !important; border: 1px solid var(--jh-line) !important; }
.contractor-page .jh-brand-bar { position: relative; z-index: 100; }
@media (max-width: 860px) { .contractor-page .nav-links a:not(.nav-cta) { display: inline-flex; } .contractor-page .nav-links a { min-height: 44px; } }
@media (max-width: 640px) { .contractor-page .jh-brand-bar { z-index: 100; } .contractor-page #jhConcierge { bottom: 90px; } .contractor-page .foot-inner { grid-template-columns: 1fr; } .contractor-page .roi-grid { grid-template-columns: 1fr 1fr; } }
