/* Shared Vega Command shell and semantic visual system. */
:root {
  --brand-navy:#0A2559;
  --heading-navy:#0F172A;
  --accent-blue:#2563EB;
  --body-slate:#475569;
  --card-white:#FFFFFF;
  --icon-bg:#EFF6FF;
  --canvas-bg:#F8FAFC;
  --brand-red:#C22222;
  --brand-red-hover:#A91E1E;
  --shell-height:76px;
  --vega-navy:var(--brand-navy);
  --vega-red:var(--brand-red);
  --vega-ink:var(--heading-navy);
  --vega-paper:var(--card-white);
  --vega-line:#DCE3ED;
}
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--shell-height) + 1rem); }
body { background:var(--canvas-bg); color:var(--body-slate); }
.site-header { position:sticky; top:0; z-index:1000; min-height:var(--shell-height); background:var(--brand-navy); border-bottom:1px solid rgba(255,255,255,.2); color:#fff; font-family:Geist,Arial,sans-serif; }
.site-header *, .site-footer * { box-sizing:border-box; }
.site-shell-inner { max-width:1240px; min-height:var(--shell-height); margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:24px; }
.site-logo { display:inline-flex; flex:0 0 auto; align-items:center; overflow:hidden; } .site-logo img { display:block; width:174px; height:auto; object-fit:contain; filter:brightness(0) invert(1); }
.site-nav { display:flex; align-items:center; gap:3px; margin-left:auto; } .site-nav > a,.site-nav > .site-dropdown > button { color:#fff; background:transparent; border:0; font:700 .82rem/1 Geist,Arial,sans-serif; padding:11px 9px; text-decoration:none; cursor:pointer; white-space:nowrap; transition:color .2s ease; }
.site-nav > a:hover,.site-nav > a:focus-visible,.site-nav > .site-dropdown > button:hover,.site-nav > .site-dropdown > button:focus-visible { color:var(--brand-red); }
.site-dropdown { position:relative; } .site-dropdown-panel { display:none; position:absolute; top:calc(100% + 7px); left:0; min-width:190px; padding:8px; background:var(--card-white); border:1px solid var(--vega-line); border-radius:10px; box-shadow:0 14px 35px rgba(15,23,42,.14); }
.site-dropdown:focus-within .site-dropdown-panel,.site-dropdown.is-open .site-dropdown-panel { display:block; } .site-dropdown-panel a { display:block; padding:10px; color:var(--heading-navy); font-weight:600; text-decoration:none; transition:color .2s ease; } .site-dropdown-panel a:hover,.site-dropdown-panel a:focus-visible { color:var(--brand-red); }
.site-actions { display:flex; align-items:center; gap:8px; margin-left:6px; } .site-button { display:inline-flex; justify-content:center; align-items:center; min-height:40px; padding:0 15px; border-radius:7px; font:800 .78rem/1 Geist,Arial,sans-serif; text-decoration:none; white-space:nowrap; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.site-actions .site-button--text { color:#fff; } .site-actions .site-button--text:hover,.site-actions .site-button--text:focus-visible { color:var(--brand-red); }
.site-actions .site-button--outline { color:#fff; border:1px solid #fff; background:transparent; } .site-actions .site-button--outline:hover,.site-actions .site-button--outline:focus-visible { color:#fff; background:rgba(255,255,255,.08); }
.site-button--primary { color:#fff; background:var(--brand-red); border:1px solid var(--brand-red); } .site-button--primary:hover,.site-button--primary:focus-visible { color:#fff; background:var(--brand-red-hover); border-color:var(--brand-red-hover); }
.site-menu { display:none; margin-left:auto; min-height:40px; padding:0 12px; color:#fff; background:transparent; border:1px solid #fff; border-radius:7px; font-weight:800; } .site-menu:hover,.site-menu:focus-visible { color:var(--brand-red); border-color:var(--brand-red); }
.site-mobile-panel { display:none; padding:12px 24px 22px; background:var(--brand-navy); border-top:1px solid rgba(255,255,255,.2); } .site-header.is-mobile-open .site-mobile-panel { display:block; } .site-mobile-panel > a,.site-mobile-group > a { display:block; padding:12px 0; color:#fff; font-weight:700; text-decoration:none; transition:color .2s ease; } .site-mobile-panel > a:hover,.site-mobile-panel > a:focus-visible,.site-mobile-group > a:hover,.site-mobile-group > a:focus-visible { color:var(--brand-red); } .site-mobile-group { padding:6px 0; border-bottom:1px solid rgba(255,255,255,.2); } .site-mobile-group strong { display:block; padding:8px 0 3px; color:rgba(255,255,255,.72); font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; } .site-mobile-actions { display:grid; gap:9px; margin-top:18px; } .site-mobile-actions .site-button { width:100%; } .site-mobile-panel .site-button--text { color:#fff; } .site-mobile-panel .site-button--outline { color:#fff; background:transparent; border-color:#fff; }
.site-footer { margin-top:0; background:var(--brand-navy); color:#DCE5F5; font-family:Geist,Arial,sans-serif; } .site-footer-inner { max-width:1240px; margin:0 auto; padding:56px 24px 22px; } .site-footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:30px; } .site-footer .site-logo img { filter:brightness(0) invert(1); } .site-footer p { max-width:310px; color:#DCE5F5; line-height:1.6; } .site-footer h2 { margin:0 0 13px; color:#fff; font-size:.78rem; letter-spacing:.09em; text-transform:uppercase; } .site-footer a { display:block; width:max-content; max-width:100%; padding:4px 0; color:#fff; font-size:.88rem; text-decoration:none; transition:color .2s ease; } .site-footer a:hover,.site-footer a:focus-visible { color:var(--brand-red); text-decoration:underline; } .site-footer-bottom { margin-top:36px; padding-top:16px; border-top:1px solid rgba(255,255,255,.18); color:#C9D5E8; font-size:.8rem; }
.site-header a:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible { outline:3px solid #fff; outline-offset:3px; }
/* Body system: shared semantic defaults, without changing dark hero/CTA content. */
main > section:not(.hero):not(.chero):not(.cta-section):not(.saas-tax) :is(h1,h2,h3,h4,.section-title,.card-title) { color:var(--heading-navy); }
main > section:not(.hero):not(.chero):not(.cta-section):not(.saas-tax) :is(p,.description,.subtitle,.page-subtitle,.section-subtitle) { color:var(--body-slate); }
main :is(.card,.feature-card,.module-card,.plan-card,.comparison-card,.product-frame,.pricing-card) { background-color:var(--card-white); }
main :is(.feature-icon,.icon-bubble,.icon-container,.module-icon,.card-icon) { color:var(--accent-blue); background-color:var(--icon-bg); }
main a[href^="mailto:"],main a:not(.btn):not(.button):not(.site-button):not(.cta-primary):not(.cta-secondary):not(.btn-nav-primary):not(.btn-nav-ghost) { color:var(--accent-blue); } main a[href^="mailto:"]:hover,main a[href^="mailto:"]:focus-visible,main a:not(.btn):not(.button):not(.site-button):not(.cta-primary):not(.cta-secondary):not(.btn-nav-primary):not(.btn-nav-ghost):hover { color:#1D4ED8; text-decoration:underline; }
main :is(.btn--red,.button--primary,.btn-nav-primary,.cta-primary) { color:#fff; background-color:var(--brand-red); border-color:var(--brand-red); } main :is(.btn--red,.button--primary,.btn-nav-primary,.cta-primary):hover,main :is(.btn--red,.button--primary,.btn-nav-primary,.cta-primary):focus-visible { color:#fff; background-color:var(--brand-red-hover); border-color:var(--brand-red-hover); }
main :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary) { color:var(--accent-blue); background:transparent; border-color:var(--accent-blue); } main :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary):hover,main :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary):focus-visible { color:var(--accent-blue); background:var(--icon-bg); }
.chero__product-image { display:block; width:100%; height:auto; border-radius:16px; box-shadow:0 22px 55px rgba(15,23,42,.18); }
@media (max-width:1100px) { .site-nav { gap:0; } .site-nav > a,.site-nav > .site-dropdown > button { padding-inline:6px; } .site-actions { gap:5px; } .site-button { padding-inline:11px; } }
@media (max-width:900px) { .site-nav,.site-actions { display:none; } .site-menu { display:block; } .site-shell-inner { min-height:64px; } .site-header { min-height:64px; --shell-height:64px; } .site-footer-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .site-shell-inner { padding:0 16px; } .site-logo img { width:150px; } .site-mobile-panel { padding-inline:16px; } .site-footer-inner { padding-inline:20px; } .site-footer-grid { grid-template-columns:1fr; gap:20px; } }
/* Dark hero and conversion panels retain readable outline CTAs. */
main :is(.hero,.chero,.cta-section,.saas-tax) :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary) { color:#fff; background:transparent; border-color:#fff; }
main :is(.hero,.chero,.cta-section,.saas-tax) :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary):hover,main :is(.hero,.chero,.cta-section,.saas-tax) :is(.btn--ghost-dark,.button--secondary,.btn-nav-ghost,.cta-secondary):focus-visible { color:#fff; background:rgba(255,255,255,.08); }
/* VCI intelligence treatment and blue intelligence success states. */
.ai-spotlight__badge { color:var(--accent-blue); background:var(--icon-bg); }
.ai-panel-score-ring { color:var(--heading-navy); }
.ai-panel-score-label,.ai-panel-score-sub { color:var(--body-slate); }
.ai-panel-rec-btn { color:var(--accent-blue); background:var(--icon-bg); }
.ai-panel-footer,.dash__view-all { color:var(--accent-blue); }
.ai-panel-score-ring span { color:var(--heading-navy); }
.ai-panel-score-label,.ai-panel-score-sub { color:var(--body-slate); }
.ai-panel-score svg circle:last-child,.dash__score-ring svg circle:last-child,.dash__ai-donut-wrap svg circle:last-of-type { stroke:var(--accent-blue); }
.dash__score-val,.dash__ai-donut-val,.dash__ai-label span,.dash__score-label,.dash__kpi-delta--up,.dash__revenue-delta,.dash__appt-badge--confirmed { color:var(--accent-blue); }
.dash__appt-badge--confirmed { background:var(--icon-bg); }

/* Pricing active CTA must override this shell's broad body-link color rule. */
.vc-pricing .vc-plan.is-active .vc-plan__cta,
.vc-pricing .vc-plan.is-active .vc-plan__cta:link,
.vc-pricing .vc-plan.is-active .vc-plan__cta:visited,
.vc-pricing .vc-plan.is-active .vc-plan__cta:hover,
.vc-pricing .vc-plan.is-active .vc-plan__cta:focus,
.vc-pricing .vc-plan.is-active .vc-plan__cta:active,
.vc-pricing .vc-plan.is-active .vc-plan__cta *,
.vc-pricing .vc-plan.is-active .vc-plan__cta:hover *,
.vc-pricing .vc-plan.is-active .vc-plan__cta:focus *,
.vc-pricing .vc-plan.is-active .vc-plan__cta:active * {
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}
.vc-pricing .vc-plan.is-active .vc-plan__cta {
  background-color:#C22222 !important;
  border-color:#C22222 !important;
}
.vc-pricing .vc-plan.is-active .vc-plan__cta:hover,
.vc-pricing .vc-plan.is-active .vc-plan__cta:focus {
  background-color:#A81D1D !important;
  border-color:#A81D1D !important;
}
