/* WessIA V56 — correção isolada do menu principal no mobile.
   Escopo: somente o painel/toggle v25; sem alterar conteúdo, SEO ou layout das páginas. */
@media (max-width:980px){
  html body.v22 .v25-mobile-panel{
    position:fixed!important;
    top:72px!important;
    right:0!important;
    bottom:auto!important;
    left:0!important;
    width:100vw!important;
    height:calc(100dvh - 72px)!important;
    min-height:calc(100vh - 72px)!important;
    max-height:calc(100dvh - 72px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:18px 20px max(28px,env(safe-area-inset-bottom))!important;
    background:#FFFFFF!important;
    border:0!important;
    border-top:1px solid #BFDDE2!important;
    box-shadow:0 24px 62px rgba(7,40,52,.16)!important;
    z-index:2147482998!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.v22 .v25-mobile-panel[hidden]{display:none!important;}
  html body.v22 .v25-mobile-panel-inner{
    width:min(100%,620px)!important;
    min-height:max-content!important;
    margin:0 auto!important;
    display:grid!important;
    gap:10px!important;
    padding-bottom:16px!important;
  }
  html body.v22 .v25-mobile-group{
    border:1px solid #C7E1E5!important;
    border-radius:16px!important;
    background:#F7FCFD!important;
    padding:0 14px!important;
    box-shadow:none!important;
  }
  html body.v22 .v25-mobile-group summary{
    display:block!important;
    padding:16px 0!important;
    color:#071522!important;
    -webkit-text-fill-color:#071522!important;
    font-weight:850!important;
    cursor:pointer!important;
  }
  html body.v22 .v25-mobile-group a,
  html body.v22 .v25-mobile-direct{
    display:block!important;
    padding:12px 0!important;
    border-top:1px solid #D8E9EC!important;
    color:#174455!important;
    -webkit-text-fill-color:#174455!important;
    background:transparent!important;
    text-decoration:none!important;
    font-weight:700!important;
  }
  html body.v22 .v25-mobile-group a:hover,
  html body.v22 .v25-mobile-group a:focus-visible,
  html body.v22 .v25-mobile-direct:hover,
  html body.v22 .v25-mobile-direct:focus-visible{
    color:#006A83!important;
    -webkit-text-fill-color:#006A83!important;
    background:#EAF8FA!important;
  }
  html body.v22 .v25-mobile-direct{
    padding:15px 14px!important;
    border:1px solid #C7E1E5!important;
    border-radius:14px!important;
    background:#F7FCFD!important;
    color:#071522!important;
    -webkit-text-fill-color:#071522!important;
  }
  html body.v22 .v25-mobile-primary{
    display:flex!important;
    min-height:50px!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:2px!important;
    border:1px solid #009EB3!important;
    border-radius:14px!important;
    background:linear-gradient(135deg,#09B7C9,#20D7E3)!important;
    color:#061820!important;
    -webkit-text-fill-color:#061820!important;
    font-weight:900!important;
    text-decoration:none!important;
    box-shadow:0 10px 26px rgba(9,183,201,.20)!important;
  }
  html body.v22 .v25-mobile-toggle{
    z-index:2147482999!important;
  }
  html body.v22.v25-nav-open .w45-page-jump{display:none!important;}
}
@media (max-width:820px){
  html body.v22 .v25-mobile-panel{
    top:68px!important;
    height:calc(100dvh - 68px)!important;
    min-height:calc(100vh - 68px)!important;
    max-height:calc(100dvh - 68px)!important;
  }
}


/* WessIA V57 — camada global de segurança de contraste.
   Corrige apenas conflitos de cor em superfícies escuras intencionais.
   Carregada por último para impedir que regras globais de paleta façam texto escuro herdar sobre fundo escuro. */

/* Diagnóstico guiado da home: cabeçalho escuro. */
html body.v22 .prime-diagnostic .prime-diagnostic-head{
  background:linear-gradient(135deg,#081321,#10233A) !important;
  color:#F7FBFD !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-head h2{
  color:#F7FBFD !important;
  -webkit-text-fill-color:#F7FBFD !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-head p{
  color:#CFE0E7 !important;
  -webkit-text-fill-color:#CFE0E7 !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-head .prime-kicker{
  color:#006A83 !important;
  -webkit-text-fill-color:#006A83 !important;
  background:#EAF8FA !important;
  border-color:#9FD4DE !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-dialog-close{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
}

/* Interior claro do diagnóstico: garante tinta escura consistente. */
html body.v22 .prime-diagnostic .prime-diagnostic-inner{
  color:#102033 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-progress span{
  color:#42586A !important;
  -webkit-text-fill-color:#42586A !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-progress span b{
  color:#31485C !important;
  -webkit-text-fill-color:#31485C !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-progress span.is-on{
  color:#0B5849 !important;
  -webkit-text-fill-color:#0B5849 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-progress span.is-on b{
  color:#071522 !important;
  -webkit-text-fill-color:#071522 !important;
}
html body.v22 .prime-diagnostic .prime-diagnostic-step legend,
html body.v22 .prime-diagnostic .prime-choice strong,
html body.v22 .prime-diagnostic .prime-diag-fields label{
  color:#102033 !important;
  -webkit-text-fill-color:#102033 !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-step-copy,
html body.v22 .prime-diagnostic .prime-choice small{
  color:#4F6578 !important;
  -webkit-text-fill-color:#4F6578 !important;
  opacity:1 !important;
}

/* Bloco de direção é deliberadamente escuro dentro do formulário claro. */
html body.v22 .prime-diagnostic .prime-direction > b{
  color:#7EF0D6 !important;
  -webkit-text-fill-color:#7EF0D6 !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-direction > strong{
  color:#FFFFFF !important;
  -webkit-text-fill-color:#FFFFFF !important;
  opacity:1 !important;
}
html body.v22 .prime-diagnostic .prime-direction > p{
  color:#C8D9E5 !important;
  -webkit-text-fill-color:#C8D9E5 !important;
  opacity:1 !important;
}

/* Garantias para superfícies escuras reais que convivem com a paleta clara. */
html body.v22 :is(.v22-signal,.v21-hero-visual) :is(h1,h2,h3,h4,strong),
html body.v22 .v22-footer :is(h1,h2,h3,h4,strong,summary),
html body.v22 .v25-footer :is(h1,h2,h3,h4,strong,summary){
  color:#F7FBFD !important;
  -webkit-text-fill-color:#F7FBFD !important;
  opacity:1 !important;
}
html body.v22 :is(.v22-signal,.v21-hero-visual) :is(p,small),
html body.v22 .v22-footer :is(p,small),
html body.v22 .v25-footer :is(p,small){
  color:#BFD6DE !important;
  -webkit-text-fill-color:#BFD6DE !important;
  opacity:1 !important;
}

/* Controles e campos nunca podem herdar tinta invisível. */
html body.v22 .prime-diagnostic :is(input,select,textarea){
  color:#102033 !important;
  -webkit-text-fill-color:#102033 !important;
  background:#FFFFFF !important;
}
html body.v22 .prime-diagnostic :is(input,textarea)::placeholder{
  color:#6E8192 !important;
  -webkit-text-fill-color:#6E8192 !important;
  opacity:1 !important;
}


/* WessIA V65 — mobile color parity only.
   Purpose: keep the same palette used on desktop at mobile widths.
   No typography, spacing, sizing, content, SEO, navigation or behavior changes. */

/* Main WessIA pages: mobile keeps the exact desktop hero palette. */
@media (max-width:680px){
  html body.v22.v21 :is(.inner-hero,.inner-hero-service,.v22-hero,.v9-blog-hero,.article-intro){
    background:
      radial-gradient(780px 440px at 88% 8%,rgba(0,215,232,.13),transparent 62%),
      radial-gradient(660px 420px at 10% 10%,rgba(8,127,168,.07),transparent 65%),
      linear-gradient(135deg,#FFFFFF 0%,#F6FBFD 60%,#EDF8FA 100%) !important;
    background-image:
      radial-gradient(780px 440px at 88% 8%,rgba(0,215,232,.13),transparent 62%),
      radial-gradient(660px 420px at 10% 10%,rgba(8,127,168,.07),transparent 65%),
      linear-gradient(135deg,#FFFFFF 0%,#F6FBFD 60%,#EDF8FA 100%) !important;
    color:var(--v50-ink) !important;
  }
}

/* Mobile navigation uses the same final desktop V50 palette. */
@media (max-width:980px){
  html body.v22 .v25-mobile-panel{
    background:#FFFFFF !important;
    border-color:var(--v50-line-strong) !important;
  }
  html body.v22 .v25-mobile-group{
    background:#FFFFFF !important;
    border-color:var(--v50-line) !important;
  }
  html body.v22 .v25-mobile-group summary,
  html body.v22 .v25-mobile-group a,
  html body.v22 .v25-mobile-direct{
    color:var(--v50-ink) !important;
    -webkit-text-fill-color:var(--v50-ink) !important;
  }
  html body.v22 .v25-mobile-direct{
    background:#FFFFFF !important;
  }
  html body.v22 .v25-mobile-group a,
  html body.v22 .v25-mobile-direct{
    border-color:var(--v50-line) !important;
  }
  html body.v22 .v25-mobile-group a:hover,
  html body.v22 .v25-mobile-group a:focus-visible,
  html body.v22 .v25-mobile-direct:hover,
  html body.v22 .v25-mobile-direct:focus-visible{
    background:#EAF8FA !important;
    color:var(--v50-teal-deep) !important;
    -webkit-text-fill-color:var(--v50-teal-deep) !important;
  }
  html body.v22 .v25-mobile-primary{
    background:var(--v50-grad) !important;
    color:var(--v50-ink) !important;
    -webkit-text-fill-color:var(--v50-ink) !important;
    border-color:#22C9DA !important;
  }
}

/* 56 demonstrations: preserve each desktop identity on mobile.
   Only palette declarations are overridden; responsive layout remains untouched. */
@layer v62{
  @media (max-width:900px){
    html body.demo-site.v62 .archetype-hero .hero-copy{
      color:var(--text) !important;
    }
    html body.demo-site.v62 .archetype-hero .hero-copy h1{color:var(--text) !important}
    html body.demo-site.v62 .archetype-hero .hero-copy .lead{color:var(--muted-readable) !important}
    html body.demo-site.v62 .archetype-hero .hero-copy .kicker{color:var(--accent-readable) !important}
    html body.demo-site.v62 .archetype-hero .hero-copy .btn-ghost{
      color:var(--text) !important;
      background:var(--surface) !important;
    }

    html body.demo-site.v62.vhero-0 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-1 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-5 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-6 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-8 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-11 .archetype-hero .hero-copy{
      background:var(--surface) !important;
    }
    html body.demo-site.v62.vhero-0 .archetype-hero .hero-copy{border-color:color-mix(in srgb,var(--text) 14%,transparent) !important}
    html body.demo-site.v62.vhero-1 .archetype-hero .hero-copy{border-color:color-mix(in srgb,var(--text) 16%,transparent) !important}
    html body.demo-site.v62.vhero-2 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-3 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-4 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-7 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-8 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-10 .archetype-hero .hero-copy{border-color:transparent !important}
    html body.demo-site.v62.vhero-5 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-6 .archetype-hero .hero-copy{border-color:transparent transparent transparent var(--accent) !important}
    html body.demo-site.v62.vhero-11 .archetype-hero .hero-copy{border-color:var(--accent) transparent transparent transparent !important}
    html body.demo-site.v62.vhero-2 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-3 .archetype-hero .hero-copy,
    html body.demo-site.v62.vhero-7 .archetype-hero .hero-copy{
      background:transparent !important;
    }
    html body.demo-site.v62.vhero-4 .archetype-hero .hero-copy{
      background:color-mix(in srgb,var(--surface) 96%,var(--accent) 4%) !important;
    }
    html body.demo-site.v62.vhero-10 .archetype-hero .hero-copy{
      background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%) !important;
    }

    html body.demo-site.v62.vhero-9 .archetype-hero .hero-copy{
      background:#07131d !important;
      color:#ffffff !important;
      border-color:#526b79 !important;
    }
    html body.demo-site.v62.vhero-9 .archetype-hero .hero-copy h1{color:#ffffff !important}
    html body.demo-site.v62.vhero-9 .archetype-hero .hero-copy .lead{color:#dce7ed !important}
    html body.demo-site.v62.vhero-9 .archetype-hero .hero-copy .kicker{color:#9ee7f3 !important}
    html body.demo-site.v62.vhero-9 .archetype-hero .hero-copy .btn-ghost{
      background:#ffffff !important;
      color:#07131d !important;
      border-color:#ffffff !important;
    }
  }
  @media (max-width:620px){
    html body.demo-site.v62 .site-nav{
      background:color-mix(in srgb,var(--bg) 96%,#fff 4%) !important;
      color:var(--text) !important;
      border-color:color-mix(in srgb,var(--text) 18%,transparent) !important;
    }
  }
}



/* WessIA V77 — structural cleanup after consolidation. */
:root{scroll-padding-top:88px}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem .62rem}
.breadcrumbs>span:not([aria-current="page"]){opacity:.65}
.v77-briefing-anchor{display:block;position:relative;top:-82px;visibility:hidden;pointer-events:none}
#contato-projeto{scroll-margin-top:84px}
@media (max-width:680px){
  :root{scroll-padding-top:78px}
  .v77-briefing-anchor{top:-74px}
}
/* Article first fold: readable hierarchy without a title consuming the whole viewport. */
body.v21-article .article-intro h1{font-size:clamp(2.15rem,5.1vw,4.55rem);line-height:.98;max-width:18ch}
@media (max-width:680px){body.v21-article .article-intro h1{font-size:clamp(2.05rem,10.5vw,3.15rem);line-height:1.02;max-width:20ch}}
/* Demo catalog: restore centered max-width and stable gutters. */
body.v21-demos-hub :is(.v16-hub-hero,.v16-hub-toolbar,.v20-hub-note,.v16-hub-shell,.v18-empty,.v16-hub-more-wrap){width:min(1180px,calc(100% - 40px));margin-left:auto;margin-right:auto}
@media(max-width:600px){body.v21-demos-hub :is(.v16-hub-hero,.v16-hub-toolbar,.v20-hub-note,.v16-hub-shell,.v18-empty,.v16-hub-more-wrap){width:min(100% - 28px,1180px)}}
/* Evidence sections added only where there is source material in the project itself. */
.v77-evidence-section{padding:clamp(44px,6vw,78px) 0}
.v77-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}
.v77-evidence-card{border:1px solid #cfe1e6;border-radius:18px;padding:22px;background:#fff}
.v77-evidence-card h3{margin:0 0 8px;font-size:1.15rem;line-height:1.2}
.v77-evidence-card p,.v77-evidence-card li{color:#415d69;line-height:1.65}
.v77-evidence-card ul{margin:12px 0 0;padding-left:1.2rem}
@media(max-width:720px){.v77-evidence-grid{grid-template-columns:1fr}.v77-evidence-card{padding:18px}}

/* WessIA V81 — Cyan Deep Tech.
   Consolidated palette evolution: deep navy + cyan/aqua on cool white surfaces.
   Contrast rule: dark ink on light surfaces; light ink on dark surfaces; cyan CTAs use dark ink. */
:root{
  --v80-bg:#F5FAFD;
  --v80-bg-alt:#F9FCFE;
  --v80-surface:#FFFFFF;
  --v80-surface-soft:#EAF4F8;
  --v80-ink:#071B2E;
  --v80-text:#345062;
  --v80-muted:#526A78;
  --v80-line:#C4D8E4;
  --v80-line-strong:#9FC1D0;
  --v80-primary:#006A80;
  --v80-primary-2:#007E96;
  --v80-accent:#0BAAC2;
  --v80-accent-soft:#DDF6FA;
  --v80-dark:#031B2E;
  --v80-dark-2:#02111D;
  --v80-dark-text:#F5FAFD;
  --v80-dark-muted:#C4D8E4;
  --v80-grad:linear-gradient(112deg,#19C5D7 0%,#2ED7E7 56%,#5CEAF4 100%);

  --v50-bg:var(--v80-bg);
  --v50-bg-alt:var(--v80-bg-alt);
  --v50-surface:var(--v80-surface);
  --v50-surface-soft:var(--v80-surface-soft);
  --v50-ink:var(--v80-ink);
  --v50-text:var(--v80-text);
  --v50-muted:var(--v80-muted);
  --v50-line:var(--v80-line);
  --v50-line-strong:var(--v80-line-strong);
  --v50-teal:var(--v80-accent);
  --v50-cyan:#8BDDEA;
  --v50-teal-deep:var(--v80-primary);
  --v50-dark:var(--v80-dark);
  --v50-dark-2:var(--v80-dark-2);
  --v50-dark-text:var(--v80-dark-text);
  --v50-dark-muted:var(--v80-dark-muted);
  --v50-grad:var(--v80-grad);

  --v47-bg:var(--v80-bg);
  --v47-bg-deep:#E3F0F5;
  --v47-surface:var(--v80-surface);
  --v47-surface-2:var(--v80-surface-soft);
  --v47-surface-3:#DBEAF1;
  --v47-line:var(--v80-line-strong);
  --v47-line-soft:var(--v80-line);
  --v47-white:var(--v80-ink);
  --v47-text:var(--v80-text);
  --v47-muted:var(--v80-muted);
  --v47-rose:var(--v80-accent);
  --v47-rose-hi:#27D6E5;
  --v47-ruby:var(--v80-primary);
  --v47-wine:#005A6E;
  --v47-ink:var(--v80-ink);
  --v47-grad:var(--v80-grad);

  --v22-bg:var(--v80-dark);
  --v22-bg2:var(--v80-dark-2);
  --v22-panel:#0A2A42;
  --v22-panel2:#0D3552;
  --v22-paper:var(--v80-bg);
  --v22-paper2:var(--v80-surface-soft);
  --v22-ink:var(--v80-ink);
  --v22-ink2:var(--v80-text);
  --v22-white:var(--v80-dark-text);
  --v22-muted:var(--v80-dark-muted);
  --v22-muted-dark:var(--v80-muted);
  --v22-blue:#006A80;
  --v22-violet:#007E96;
  --v22-mint:#8BDDEA;
  --v22-line:rgba(255,255,255,.12);
  --v22-line-dark:rgba(26,24,23,.14);
}

html{background:var(--v80-bg);scrollbar-color:#4C8397 #E5F0F4}
html body.v22,html body.v22 main{background:var(--v80-bg);color:var(--v80-text)}
html body.v22.v21 main>section{border-color:var(--v80-line)}
html body.v22.v21 main>section:nth-of-type(odd){background:var(--v80-bg);background-image:none}
html body.v22.v21 main>section:nth-of-type(even){background:var(--v80-bg-alt);background-image:none}

/* Editorial type hierarchy: serif for major statements, sans for utility copy. */
html body.v22.v21 :is(h1,h2),
html body.v22.v21-article .article-intro h1,
html body.v22.v21 :is(.inner-hero,.inner-hero-service,.v9-blog-hero,.article-intro) h1{
  font-family:Georgia,'Times New Roman',Times,serif!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}
html body.v22.v21 h3{letter-spacing:-.02em}

/* Calm internal heroes. */
html body.v22.v21 :is(.inner-hero,.inner-hero-service,.v9-blog-hero,.article-intro),
html body.v22.v21-article :is(.v9-article-hero,.inner-hero){
  background:linear-gradient(135deg,#F9FCFE 0%,#F5FAFD 68%,#EAF4F8 100%)!important;
  background-image:linear-gradient(135deg,#F9FCFE 0%,#F5FAFD 68%,#EAF4F8 100%)!important;
  color:var(--v80-ink)!important;
  border-color:var(--v80-line)!important;
}
html body.v22.v21 :is(.inner-hero,.inner-hero-service,.v9-blog-hero,.article-intro) :is(h1,h2,h3,h4,strong,b),
html body.v22.v21-article :is(.v9-article-hero,.inner-hero) :is(h1,h2,h3,h4,strong,b){color:var(--v80-ink)!important;-webkit-text-fill-color:var(--v80-ink)!important}
html body.v22.v21 :is(.inner-hero,.inner-hero-service,.v9-blog-hero,.article-intro) :is(p,li),
html body.v22.v21-article :is(.v9-article-hero,.inner-hero) :is(p,.v9-lead){color:var(--v80-text)!important;-webkit-text-fill-color:var(--v80-text)!important}

/* Header: no glass, no glow, thin editorial rule. */
html body.v22 :is(.v22-header,.v25-header,.site-header){background:rgba(3,27,46,.97)!important;border-bottom:1px solid #0D425C!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html body.v22 :is(.v22-brand,.v25-brand,.site-brand),
html body.v22 :is(.v22-desktop-nav,.v25-desktop-nav)>*,html body.v22 .desktop-nav>a{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important}
html body.v22 .v22-header .v22-brand img,html body.v22 .v25-header .v22-brand img{filter:brightness(0) invert(1)!important;box-shadow:none!important}
html body.v22 :is(.v22-header,.v25-header) .v22-brand :is(strong,small,span){color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;opacity:1!important}
html body.v22 :is(.v22-desktop-nav,.v25-desktop-nav) :is(summary,a){color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important}
html body.v22 :is(.v22-desktop-nav,.v25-desktop-nav) :is(summary,a):hover,html body.v22 .desktop-nav>a:hover{background:transparent!important;color:#4DE7F2!important;-webkit-text-fill-color:#4DE7F2!important}
html body.v22 :is(.v22-menu-panel,.v25-menu-panel){background:#FFFFFF!important;border-color:var(--v80-line)!important;box-shadow:0 20px 48px rgba(3,27,46,.12)!important}
html body.v22 :is(.v22-menu-panel,.v25-menu-panel) a:hover{background:#EAF7FA!important}

/* Global readable ink. */
html body.v22 :is(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--v80-ink);-webkit-text-fill-color:var(--v80-ink)}
html body.v22 :is(p,li,dd,dt,label,figcaption,caption){color:var(--v80-text);-webkit-text-fill-color:var(--v80-text)}
html body.v22 :is(small,.muted,.meta,.breadcrumbs,.article-breadcrumb,.prime-breadcrumb,.v9-article-meta){color:var(--v80-muted);-webkit-text-fill-color:var(--v80-muted);opacity:1}
html body.v22 :is(.eyebrow,.hero-kicker,.v22-kicker,.v9-kicker,.v9-blog-kicker,.section-heading>span,.v22-section-head>div>span,.deliverables>span,.c26-kicker){color:var(--v80-primary)!important;-webkit-text-fill-color:var(--v80-primary)!important}
html body.v22 :is(.v22-kicker,.hero-kicker,.eyebrow,.prime-kicker,.c26-kicker){background:transparent!important;border:0!important;border-radius:0!important;padding-left:0!important;padding-right:0!important;letter-spacing:.18em!important;color:var(--v80-primary)!important;-webkit-text-fill-color:var(--v80-primary)!important}
html body.v22 a{color:var(--v80-primary);-webkit-text-fill-color:var(--v80-primary);text-decoration-color:rgba(0,106,128,.30)}
html body.v22 a:hover{color:#007E96;-webkit-text-fill-color:#007E96}

/* Primary and secondary actions. */
html body.v22 :is(.v22-cta,.v25-header-cta,.v25-footer-cta,.button-primary,.button-accent,.button-light,.v22-btn-primary,.v22-btn.v22-btn-primary,.v25-mobile-primary,.prime-diagnostic-open,.v25-diagnostic-link,.v16-hub-more,.v16-filter.is-active,.c26-btn.c26-btn-primary){
  background:var(--v80-grad)!important;background-image:var(--v80-grad)!important;color:#031B2E!important;-webkit-text-fill-color:#031B2E!important;border-color:#14AABC!important;box-shadow:none!important;border-radius:999px!important
}
html body.v22 :is(.v22-cta,.v25-header-cta,.v25-footer-cta,.button-primary,.button-accent,.button-light,.v22-btn-primary,.v25-mobile-primary,.prime-diagnostic-open,.c26-btn.c26-btn-primary):hover{filter:none!important;background:#20C8D9!important;background-image:none!important;box-shadow:none!important}
html body.v22 :is(.button-dark-ghost,.button-outline-light,.v22-btn-ghost,.v22-btn-ghost-dark,.c26-btn-secondary){background:transparent!important;color:var(--v80-ink)!important;-webkit-text-fill-color:var(--v80-ink)!important;border-color:var(--v80-line-strong)!important;box-shadow:none!important;border-radius:999px!important}

/* Cards/surfaces: flatter, more editorial, less app-like. */
html body.v22 :is(.prime-card,.v77-evidence-card,.related-grid>a,.topic-grid>a,.deliverables,.faq-list details,.sources-grid>ul,.content-card,.c26-card,.v16-demo-card){background:var(--v80-surface)!important;border-color:var(--v80-line)!important;box-shadow:none!important}
html body.v22 :is(.prime-card,.v77-evidence-card,.related-grid>a,.topic-grid>a,.content-card,.c26-card){border-radius:8px!important}
html body.v22 :is(input,select,textarea){background:#FFFFFF!important;border-color:var(--v80-line)!important;color:var(--v80-ink)!important;-webkit-text-fill-color:var(--v80-ink)!important}
html body.v22 :is(input,textarea)::placeholder{color:#68808D!important;-webkit-text-fill-color:#68808D!important;opacity:1!important}

/* Focus is visible without neon. */
html body.v22 :where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #24D6E6!important;outline-offset:3px!important}

/* Footer and intentionally dark editorial sections. */
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths){background:linear-gradient(180deg,#031B2E,#02111D)!important;border-color:#0B3C55!important;color:var(--v80-dark-text)!important}
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths) :is(h1,h2,h3,h4,h5,h6,strong,b,summary){color:var(--v80-dark-text)!important;-webkit-text-fill-color:var(--v80-dark-text)!important}
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths) :is(p,li,small,span){color:var(--v80-dark-muted)!important;-webkit-text-fill-color:var(--v80-dark-muted)!important}
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths) a{color:#E8F6FB!important;-webkit-text-fill-color:#E8F6FB!important}
html body.v22 .v25-footer .v22-brand img{filter:none!important}
html body.v22 .v25-footer-cta{background:var(--v80-grad)!important;background-image:var(--v80-grad)!important;color:#031B2E!important;-webkit-text-fill-color:#031B2E!important;border-color:#14AABC!important}

/* Mobile navigation parity. */
@media(max-width:980px){
  html body.v22 .v25-mobile-panel{background:#F9FCFE!important;border-top-color:var(--v80-line)!important;box-shadow:0 24px 60px rgba(3,27,46,.14)!important}
  html body.v22 .v25-mobile-group,html body.v22 .v25-mobile-direct{background:#FFFFFF!important;border-color:var(--v80-line)!important}
  html body.v22 .v25-mobile-group summary,html body.v22 .v25-mobile-direct{color:var(--v80-ink)!important;-webkit-text-fill-color:var(--v80-ink)!important}
  html body.v22 .v25-mobile-group a{border-color:#D7E8EF!important;color:var(--v80-text)!important;-webkit-text-fill-color:var(--v80-text)!important}
  html body.v22 .v25-mobile-group a:hover,html body.v22 .v25-mobile-direct:hover{background:#EAF7FA!important;color:var(--v80-primary)!important;-webkit-text-fill-color:var(--v80-primary)!important}
  html body.v22 .v25-mobile-primary{background:var(--v80-grad)!important;background-image:var(--v80-grad)!important;color:#031B2E!important;-webkit-text-fill-color:#031B2E!important;border-color:#14AABC!important;box-shadow:none!important}
}


@media(max-width:420px){
  html body.v22 :is(.v22-header,.v25-header) :is(.v22-cta,.v25-header-cta){display:none!important}
  html body.v22 :is(.v22-header,.v25-header) :is(.v22-nav,.v25-nav){width:calc(100% - 20px)!important;gap:12px!important}
  html body.v22 :is(.v22-header,.v25-header) .v25-mobile-toggle{margin-left:auto!important;flex:none!important}
}

/* V81 interaction cleanup: the diagnostic action is a button, not an underlined text link. */
html body.v22 .v25-diagnostic-link{ text-decoration:none!important; text-underline-offset:0!important; border-bottom:0!important; box-shadow:none!important; }

/* V81 contrast guard: no inherited dark ink on deep-navy surfaces. */
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths,.final-cta) :is(h1,h2,h3,h4,h5,h6,strong,b,summary){color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important}
html body.v22 :is(.v22-footer,.v25-footer,.v21-related-paths,.final-cta) :is(p,li,small,span,label){color:#C4D8E4!important;-webkit-text-fill-color:#C4D8E4!important}
html body.v22 .final-cta{background:linear-gradient(135deg,#031B2E,#062D49)!important;border-color:#0D425C!important}
html body.v22 .final-cta .button-outline-light{color:#F7FBFF!important;-webkit-text-fill-color:#F7FBFF!important;border-color:#6B9FB2!important;background:transparent!important}
html body.v22 .final-cta .button-light{color:#031B2E!important;-webkit-text-fill-color:#031B2E!important;background:var(--v80-grad)!important;border-color:#14AABC!important}

/* V82 — reparo global de contraste, escopo estrito: cards claros dentro de "Próximos caminhos".
   Mantém a seção escura, mas impede que a regra de texto claro da seção seja herdada pelos cards brancos. */
html body.v22 .v21-related-paths .v21-related-grid>a{
  background:#FFFFFF!important;
  background-image:none!important;
  border-color:var(--v80-line)!important;
  color:var(--v80-ink)!important;
  -webkit-text-fill-color:var(--v80-ink)!important;
}
html body.v22 .v21-related-paths .v21-related-grid>a>span{
  color:var(--v80-primary)!important;
  -webkit-text-fill-color:var(--v80-primary)!important;
  opacity:1!important;
}
html body.v22 .v21-related-paths .v21-related-grid>a>strong{
  color:var(--v80-ink)!important;
  -webkit-text-fill-color:var(--v80-ink)!important;
}
html body.v22 .v21-related-paths .v21-related-grid>a>small{
  color:var(--v80-text)!important;
  -webkit-text-fill-color:var(--v80-text)!important;
  opacity:1!important;
}
html body.v22 .v21-related-paths .v21-related-grid>a>b{
  color:var(--v80-primary)!important;
  -webkit-text-fill-color:var(--v80-primary)!important;
}
html body.v22 .v21-related-paths .v21-related-grid>a:hover,
html body.v22 .v21-related-paths .v21-related-grid>a:focus-visible{
  background:#FFFFFF!important;
  border-color:var(--v80-line-strong)!important;
}

/* V83 — contraste total auditado. Escopo exclusivo: corrigir texto/fundo sem alterar estrutura, conteúdo ou SEO. */
/* Visual editorial escuro usado em Trabalhos, Sobre, páginas locais, segmentos, autoridade e case. */
html body.v22.v21 .v21-hero-visual .v21-visual-top>b{
  color:#8DEBF2!important;
  -webkit-text-fill-color:#8DEBF2!important;
  opacity:1!important;
}
html body.v22.v21 .v21-hero-visual .v21-visual-main>strong{
  color:#F7FBFD!important;
  -webkit-text-fill-color:#F7FBFD!important;
  opacity:1!important;
}

/* Catálogo de demonstrações: filtros ativos permanecem escuros, com texto claro legível. */
html body.v22.v21-demos-hub button.v16-filter.is-active,
html body.v22.v21-demos-hub button.v16-filter.v18-level-filter.is-active{
  color:#F7FBFD!important;
  -webkit-text-fill-color:#F7FBFD!important;
  opacity:1!important;
}

/* Home: kicker do CTA final sobre navy — elimina cinza de baixo contraste herdado. */
html body.v22.v21-home .v22-final>div>span,
html body.v22.v21-home .v22-final .v22-shell>span{
  color:#8DEBF2!important;
  -webkit-text-fill-color:#8DEBF2!important;
  opacity:1!important;
}

/* Demo farmácia: texto sobre o verde de destaque passa AA sem mudar o verde da paleta. */
html body.demo-site.layout-pharmacy{
  --on-accent:#000000!important;
}

/* Demo joalheria: iniciais ganham uma superfície sólida da própria paleta para não se perder no radial dourado. */
html body.demo-site.layout-jewelry .catalog-media>span{
  display:inline-grid!important;
  place-items:center!important;
  width:1em!important;
  height:1em!important;
  line-height:1!important;
  border-radius:999px!important;
  background:#F0D894!important;
  color:#11110F!important;
  -webkit-text-fill-color:#11110F!important;
  opacity:1!important;
}
