/* B Sprint V5.1 — teste cromático: Violeta Profundo / Mostarda / Lilás-névoa / Off-white
   Alteração exclusivamente visual. Estrutura, copy, componentes e lógica permanecem inalterados. */
:root{
  --green:#2B1B5A;
  --green2:#C9B8F0;
  --green3:#2B1B5A;
  --terra:#E0A526;
  --terra2:#E0A526;
  --off:#F5F1EA;
  --paper:#F5F1EA;
  --ink:#2B1B5A;
  --muted:rgba(43,27,90,.68);
  --line:rgba(43,27,90,.16);

  --color-primary:#2B1B5A;
  --color-primary-strong:#2B1B5A;
  --color-secondary:#C9B8F0;
  --color-accent:#E0A526;
  --color-accent-strong:#E0A526;
  --color-bg:#F5F1EA;
  --color-surface:#F5F1EA;
  --color-text:#2B1B5A;
  --color-text-secondary:rgba(43,27,90,.72);
  --color-text-muted:rgba(43,27,90,.54);
  --color-border:rgba(43,27,90,.16);
  --color-border-dark:rgba(201,184,240,.34);
  --color-on-dark:#F5F1EA;
  --color-success:#2B1B5A;
  --color-warning:#E0A526;
  --color-error:#2B1B5A;

  --shadow-soft:0 18px 56px rgba(43,27,90,.10);
  --shadow-menu:0 24px 72px rgba(43,27,90,.20);
}

html,body{background:#2B1B5A}
body{color:#F5F1EA}

/* Navegação */
.topbar,.hover-topbar,.menu-topbar{background:rgba(43,27,90,.90)!important;border-color:rgba(201,184,240,.36)!important}
.nav-link,.desktop-nav a,.mobile-menu-toggle,.menu-toggle{color:#F5F1EA}
.nav-link:hover,.nav-link.active,.nav-item:hover>.nav-link,.menu-toggle:hover{background:rgba(201,184,240,.18)!important;color:#F5F1EA!important}
.topcta,.btn.primary,.lp-primary-cta,.contact-v59-submit,.blog-button{background:#E0A526!important;border-color:#E0A526!important;color:#2B1B5A!important}
.topcta:hover,.btn.primary:hover,.lp-primary-cta:hover,.contact-v59-submit:hover,.blog-button:hover{background:#C9B8F0!important;border-color:#C9B8F0!important;color:#2B1B5A!important}
.hover-drop,.menu-panel,.mobile-menu,.submenu{background:rgba(245,241,234,.985)!important;color:#2B1B5A!important;border-color:rgba(43,27,90,.15)!important;box-shadow:0 22px 64px rgba(43,27,90,.22)!important}
.hover-drop a,.mobile-menu a,.submenu a{border-color:rgba(43,27,90,.13)!important}
.hover-drop a:hover,.mobile-menu a:hover,.submenu a:hover{background:rgba(201,184,240,.46)!important;color:#2B1B5A!important}

/* Tons principais */
.dark,.home-derived-panel.dark,.tone-dark{background:#2B1B5A!important;color:#F5F1EA!important}
.light,.home-derived-panel.light,.tone-paper{background:#F5F1EA!important;color:#2B1B5A!important}
.terra,.home-derived-panel.terra,.tone-orange{background:#E0A526!important;color:#2B1B5A!important}
.green,.home-derived-panel.green,.tone-moss,.tone-sage{background:#C9B8F0!important;color:#2B1B5A!important}
.accent{color:#E0A526!important}
.darktxt{color:#2B1B5A!important}

/* Cards */
.side-card,.hero-side,.cta-card,.info-card,.product-card,.method-block{
  border-color:rgba(201,184,240,.34)!important;
}
.dark .side-card,.dark .hero-side,.dark .cta-card,.dark .info-card,.dark .product-card,.dark .method-block,
.home-derived-panel.dark :where(article[class*="card"],div[class*="card"],a[class*="card"],[class*="grid"]>article,[class*="grid"]>div,[class*="grid"]>a){
  background:rgba(245,241,234,.055)!important;
  border-color:rgba(201,184,240,.34)!important;
  color:#F5F1EA!important;
}
.light :where(.side-card,.hero-side,.cta-card,.info-card,.product-card,.method-block),
.ds-page .captured-copy :where(.ds-card,.system-v29-card,.lp-card,.scan-context-card,.scan-context-one-card,.audience-v42-context,.audience-v42-question,.audience-v42-thesis,.business-clarity,.sprint-panel,.pace-panel,.scan-v30-depth-block,.blog-card){
  background:rgba(255,255,255,.42)!important;
  border-color:rgba(43,27,90,.16)!important;
  color:#2B1B5A!important;
}
.product-card:hover,.ds-card:hover,.lp-card:hover,.blog-card:hover{border-color:rgba(224,165,38,.56)!important}

/* Componentes internos */
.ds-page,.ds-page .captured-copy,.ds-page .captured-copy .route{background:#F5F1EA;color:#2B1B5A}
.ds-page .captured-copy :where(.dark,.tone-dark,.system-v29-choice,.system-v29-architecture,.scan-v30-hero,.sprint-v31-central-question,.pace-v36-central-question,.contact-v59-closing,.audience-v42-closing){background:#2B1B5A!important;color:#F5F1EA!important}
.ds-page .captured-copy :where(.tone-moss,.tone-sage){background:#C9B8F0!important;color:#2B1B5A!important}
.ds-page .captured-copy :where(.tone-orange){background:#E0A526!important;color:#2B1B5A!important}
.ds-page .captured-copy :where(.btn.dark){background:#2B1B5A!important;border-color:#2B1B5A!important;color:#F5F1EA!important}
.ds-page .captured-copy :where(.service-v45-directory,.service-v45-connection-links,.seo-context-links)>a:hover{background:rgba(201,184,240,.38)!important}
.ds-page .captured-copy a:focus-visible,.ds-page button:focus-visible,.ds-page input:focus-visible,.ds-page textarea:focus-visible,.ds-page select:focus-visible{outline-color:rgba(224,165,38,.72)!important}
.ds-page .captured-copy blockquote{border-left-color:#E0A526!important;background:rgba(224,165,38,.11)!important;color:#2B1B5A!important}

/* Fundo Atleta Invisível */
.band-one{stroke:rgba(201,184,240,.26)!important}
.band-two{stroke:rgba(245,241,234,.09)!important}
.band-three{stroke:rgba(201,184,240,.11)!important}
.surf-path{stroke:rgba(224,165,38,.34)!important}
.arc-path{stroke:rgba(245,241,234,.22)!important}
.tactic-path{stroke:rgba(201,184,240,.28)!important}
.converge-path{stroke:rgba(201,184,240,.42)!important}
.tactic-nodes circle{fill:rgba(201,184,240,.34)!important}
.tactic-nodes .ring{stroke:rgba(201,184,240,.22)!important}
.ghost-tail{fill:rgba(201,184,240,.08)!important}.tail-two{fill:rgba(201,184,240,.12)!important}.tail-one{fill:rgba(201,184,240,.17)!important}
.athlete-glow{fill:rgba(201,184,240,.15)!important}
.athlete-pulse{stroke:rgba(224,165,38,.28)!important}
.athlete-core{fill:#F5F1EA!important;stroke:#E0A526!important}
.athlete-capsule{fill:rgba(224,165,38,.88)!important;stroke:rgba(43,27,90,.18)!important}
.athlete-dot{fill:#F5F1EA!important}
.bg-circuits path,.bg-circuits circle{stroke:rgba(201,184,240,.16)!important}

/* SCAN e formulários */
.scan-page,.scan-shell{background:#F5F1EA!important;color:#2B1B5A!important}
.scan-topbar{background:rgba(43,27,90,.96)!important}
.scan-intro h1,.scan-summary strong,.scan-complete h2{color:#2B1B5A!important}
.scan-intro h1 span{color:#E0A526!important}
.scan-summary,.scan-rail,.question-card,.successbox,.field,textarea,select{background:#fff!important;border-color:rgba(43,27,90,.16)!important;color:#2B1B5A!important}
.seg.done,.seg.current,.choice input:checked+label{background:#E0A526!important;border-color:#E0A526!important;color:#2B1B5A!important}
.helper-box{border-left-color:#E0A526!important;background:rgba(224,165,38,.10)!important}
.field:focus,textarea:focus,select:focus{border-color:#E0A526!important;box-shadow:0 0 0 3px rgba(224,165,38,.16)!important}

/* Footer */
footer{background:#2B1B5A!important;color:#F5F1EA!important;border-top:1px solid rgba(201,184,240,.22)}

/* Seleção e detalhes */
::selection{background:#E0A526;color:#2B1B5A}

/* V5.2 — refinamento exclusivo das cores de navegação/dropdowns
   Objetivo: contraste real no fundo off-white, hierarquia entre título/descrição/seta
   e leitura consistente no desktop e mobile. Nenhuma alteração de layout. */

/* Barra principal */
.topbar,.hover-topbar,.menu-topbar{
  background:rgba(43,27,90,.94)!important;
  border-color:rgba(201,184,240,.42)!important;
  box-shadow:0 10px 34px rgba(25,14,60,.12)!important;
}
.nav-link,.desktop-nav>a,.mobile-menu-toggle,.menu-toggle{
  color:#F5F1EA!important;
}
.nav-link:hover,
.nav-link.active,
.nav-item:hover>.nav-link,
.nav-has-drop.drop-open>.nav-link,
.nav-has-drop:focus-within>.nav-link{
  background:rgba(201,184,240,.20)!important;
  color:#F5F1EA!important;
}

/* Painéis claros do menu */
.hover-drop,.menu-panel,.mobile-menu,.submenu{
  background:rgba(245,241,234,.995)!important;
  color:#2B1B5A!important;
  border-color:rgba(43,27,90,.20)!important;
  box-shadow:0 22px 64px rgba(43,27,90,.18)!important;
}

/* Força a hierarquia correta mesmo quando páginas antigas têm cores próprias */
.hover-drop a,
.hover-drop a:link,
.hover-drop a:visited,
.menu-panel a,
.mobile-menu a,
.submenu a{
  color:#2B1B5A!important;
  border-color:rgba(43,27,90,.15)!important;
}
.hover-drop a strong,
.menu-panel a strong,
.mobile-menu a strong,
.submenu a strong,
.services-drop a strong,
.method-drop a strong{
  color:#2B1B5A!important;
}
.hover-drop a small,
.menu-panel a small,
.mobile-menu a small,
.submenu a small,
.method-drop small{
  color:rgba(43,27,90,.66)!important;
}
.hover-drop a span,
.menu-panel a span,
.mobile-menu a span,
.submenu a span{
  color:#E0A526!important;
}

/* Hover: lilás como superfície, mostarda apenas como acento */
.hover-drop a:hover,
.hover-drop a:focus-visible,
.menu-panel a:hover,
.mobile-menu a:hover,
.submenu a:hover{
  background:rgba(201,184,240,.38)!important;
  color:#2B1B5A!important;
}
.hover-drop a:hover strong,
.hover-drop a:focus-visible strong,
.menu-panel a:hover strong,
.mobile-menu a:hover strong,
.submenu a:hover strong{
  color:#2B1B5A!important;
}
.hover-drop a:hover small,
.hover-drop a:focus-visible small,
.menu-panel a:hover small,
.mobile-menu a:hover small,
.submenu a:hover small{
  color:rgba(43,27,90,.76)!important;
}

/* Separadores e células do mega menu */
.services-drop a{
  border-color:rgba(43,27,90,.15)!important;
}
.services-drop a:nth-child(odd){
  border-right-color:rgba(43,27,90,.15)!important;
}

/* CTA do header: mostarda com contraste forte */
.topcta{
  background:#E0A526!important;
  border-color:#E0A526!important;
  color:#2B1B5A!important;
}
.topcta:hover,.topcta:focus-visible{
  background:#C9B8F0!important;
  border-color:#C9B8F0!important;
  color:#2B1B5A!important;
}

/* Mobile */
.mobile-menu-toggle{color:#F5F1EA!important}
.mobile-menu-toggle:hover,.mobile-nav-shell.open .mobile-menu-toggle{
  background:rgba(201,184,240,.20)!important;
}
.mobile-menu a{
  color:#2B1B5A!important;
}
