/* Vireon — Sites & Co | style.css (v3, tema claro + hero escuro da v1)
   Convenção de classes: vireon-[secao]-[funcao]
   Base branca e gelo. Azul Vireon #003C82 em CTAs e faixa de tese. Preto #05080F só em três blocos (hero, "o que sustenta" com fundo animado, rodapé).
   Azul elétrico #2F7BFF só sobre fundo escuro. */

@font-face{font-family:"Aldrich";src:url(../fonts/aldrich-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(../fonts/inter-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --vireon-tinta:#05080F;
  --vireon-ardosia:#263245;
  --vireon-azul:#003C82;
  --vireon-eletrico:#2F7BFF;
  --vireon-branco:#FFFFFF;
  --vireon-gelo:#F3F5F8;
  --vireon-linha:#E0E0E0;
  --vireon-linha-forte:#C9CFD8;
  --vireon-texto:#263245;
  --vireon-mudo:#5B6678;
  --vireon-segundo-tom:#7B869A;
  --vireon-foco:#003C82;
  --vireon-fonte-titulo:"Aldrich","Arial Narrow",Arial,sans-serif;
  --vireon-fonte-texto:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --vireon-gutter:clamp(20px,4vw,48px);
  --vireon-max:1320px;
  --vireon-header:72px;
  --vireon-ponto:radial-gradient(circle,rgba(38,50,69,.28) 1px,transparent 1.4px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--vireon-header) + 8px);background:var(--vireon-branco)}
body{margin:0;background:var(--vireon-branco);color:var(--vireon-texto);font-family:var(--vireon-fonte-texto);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--vireon-foco);outline-offset:3px}
html{scrollbar-gutter:stable}
html.vireon-intro,html.vireon-menu-aberto{overflow:hidden}

.vireon-geral-container{width:100%;max-width:calc(var(--vireon-max) + var(--vireon-gutter)*2);margin-inline:auto;padding-inline:var(--vireon-gutter)}
.vireon-geral-oculto{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vireon-geral-pular{position:fixed;left:12px;top:-60px;z-index:400;padding:10px 16px;background:var(--vireon-tinta);color:var(--vireon-branco);text-decoration:none;font-weight:600;transition:top .2s}
.vireon-geral-pular:focus{top:12px}

/* ---------- Botões ---------- */
.vireon-botao{--vireon-varre:var(--vireon-tinta);position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:52px;padding:14px 26px;border:1px solid var(--vireon-azul);border-radius:0;font-family:var(--vireon-fonte-titulo);font-size:.88rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:transparent;color:var(--vireon-tinta);transition:color .12s ease .2s,border-color .35s ease}
.vireon-botao::before{content:"";position:absolute;inset:-1px;z-index:-1;background:var(--vireon-varre);transform:translateY(101%);transition:transform .5s cubic-bezier(.65,0,.35,1)}
.vireon-botao:hover::before,.vireon-botao:focus-visible::before{transform:none}
.vireon-botao-ponto{transition:transform .5s cubic-bezier(.65,0,.35,1)}
.vireon-botao:hover .vireon-botao-ponto{transform:translateX(4px)}
.vireon-botao-primario{background:var(--vireon-azul);border-color:var(--vireon-azul);color:var(--vireon-branco)}
.vireon-botao-primario:hover{border-color:var(--vireon-tinta)}
.vireon-botao-contorno{border-color:var(--vireon-tinta);color:var(--vireon-tinta)}
.vireon-botao-contorno:hover{color:var(--vireon-branco)}
.vireon-botao-claro{--vireon-varre:var(--vireon-gelo);background:var(--vireon-branco);border-color:var(--vireon-branco);color:var(--vireon-tinta)}
.vireon-botao-claro:hover{border-color:var(--vireon-gelo)}
.vireon-botao-contorno-claro{--vireon-varre:#F4F1EC;border-color:#F4F1EC;color:#F4F1EC}
.vireon-botao-contorno-claro:hover{color:var(--vireon-tinta)}
.vireon-botao-ponto{display:block;width:7px;height:7px;background:currentColor}

/* ---------- Cabeçalho e menu ---------- */
.vireon-header{position:fixed;inset:0 0 auto 0;z-index:120;height:var(--vireon-header);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s}
.vireon-header.is-solid,html.vireon-menu-aberto .vireon-header{background:rgba(255,255,255,.92);border-color:var(--vireon-linha);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.vireon-header-barra{display:flex;align-items:center;justify-content:space-between;gap:20px}
.vireon-header-logo{display:block;line-height:0}
.vireon-header-logo img{width:150px;height:auto}
.vireon-logo-escuro{display:none}
.vireon-header.is-escuro .vireon-logo-claro{display:none}
.vireon-header.is-escuro .vireon-logo-escuro{display:block}
html.vireon-menu-aberto .vireon-header .vireon-logo-claro{display:block}
html.vireon-menu-aberto .vireon-header .vireon-logo-escuro{display:none}
.vireon-header-acoes{display:flex;align-items:center;gap:10px}
.vireon-header-menu{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 4px 0 12px;background:none;border:0;cursor:pointer;font-size:1rem;color:var(--vireon-tinta)}
.vireon-header.is-escuro .vireon-header-menu{color:#F4F1EC}
html.vireon-menu-aberto .vireon-header .vireon-header-menu{color:var(--vireon-tinta)}
.vireon-header.is-escuro :focus-visible{outline-color:var(--vireon-eletrico)}
.vireon-header-menu-icone{display:flex;flex-direction:column;gap:5px;width:22px}
.vireon-header-menu-icone i{display:block;height:1.5px;background:currentColor;transition:transform .25s,width .25s}
.vireon-header-menu-icone i:last-child{width:70%;margin-left:auto}
html.vireon-menu-aberto .vireon-header-menu-icone i:first-child{transform:translateY(3.25px) rotate(45deg)}
html.vireon-menu-aberto .vireon-header-menu-icone i:last-child{width:100%;transform:translateY(-3.25px) rotate(-45deg)}

.vireon-menu{position:fixed;inset:0;z-index:110;background:var(--vireon-branco);overflow:auto;padding-top:calc(var(--vireon-header) + 24px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
html.vireon-menu-aberto .vireon-menu{opacity:1;visibility:visible;transition:opacity .25s}
.vireon-menu-corpo{display:grid;gap:40px;padding-bottom:48px}
@media (min-width:900px){.vireon-menu-corpo{grid-template-columns:2fr 1fr;align-items:end;min-height:calc(100svh - var(--vireon-header) - 72px)}}
.vireon-menu-link{display:block;padding:10px 0;font-family:var(--vireon-fonte-titulo);font-size:clamp(2rem,6vw,4.2rem);line-height:1.1;text-decoration:none;color:var(--vireon-tinta);opacity:0;transform:translateY(22px);transition:color .2s,padding-left .25s ease,opacity .2s}
.vireon-menu-lista li:nth-child(2) .vireon-menu-link{--i:1}.vireon-menu-lista li:nth-child(3) .vireon-menu-link{--i:2}.vireon-menu-lista li:nth-child(4) .vireon-menu-link{--i:3}.vireon-menu-lista li:nth-child(5) .vireon-menu-link{--i:4}.vireon-menu-lista li:nth-child(6) .vireon-menu-link{--i:5}.vireon-menu-lista li:nth-child(7) .vireon-menu-link{--i:6}.vireon-menu-lista li:nth-child(8) .vireon-menu-link{--i:7}.vireon-menu-lista li:nth-child(9) .vireon-menu-link{--i:8}
html.vireon-menu-aberto .vireon-menu-link{opacity:1;transform:none;transition:color .2s,padding-left .25s ease,opacity .55s ease calc(.1s + var(--i,0)*.055s),transform .75s cubic-bezier(.2,.7,.2,1) calc(.1s + var(--i,0)*.055s)}
.vireon-menu-link:hover{color:var(--vireon-azul);padding-left:12px}
html.vireon-menu-aberto .vireon-menu-lista:hover .vireon-menu-link:not(:hover){opacity:.32;transition:color .2s,padding-left .25s ease,opacity .25s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.vireon-menu-contato{opacity:0;transform:translateY(16px);transition:opacity .2s}
html.vireon-menu-aberto .vireon-menu-contato{opacity:1;transform:none;transition:opacity .6s ease .45s,transform .8s cubic-bezier(.2,.7,.2,1) .45s}
.vireon-menu-contato{display:grid;gap:6px;font-size:1rem}
.vireon-menu-contato a{text-underline-offset:4px}
.vireon-menu-titulo{font-family:var(--vireon-fonte-titulo);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vireon-mudo);margin-bottom:6px}

/* ---------- Hero (escuro, igual ao da v1): a abertura acontece aqui dentro, uma vez por sessão ---------- */
.vireon-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:calc(var(--vireon-header) + 24px) var(--vireon-gutter) 72px;overflow:hidden;isolation:isolate;background:var(--vireon-tinta);color:#F4F1EC;--vireon-foco:var(--vireon-eletrico)}
.vireon-hero-curvas{position:absolute;inset:auto 0 0 0;width:100%;height:30%;z-index:-1;pointer-events:none}
.vireon-hero-principal{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:880px}
.vireon-hero-lockup{width:min(560px,78vw);height:auto;margin-bottom:clamp(20px,4vh,40px)}
.vireon-hero-texto{position:relative;display:flex;flex-direction:column;align-items:center}
.vireon-hero-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.08;max-width:20ch;text-wrap:balance;color:#F4F1EC}
.vireon-hero-lead{margin-top:clamp(16px,2.4vh,24px);max-width:56ch;font-size:clamp(1rem,1.5vw,1.2rem);color:#C3CCDA}
.vireon-hero-acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(24px,4vh,40px);width:100%}
.vireon-hero .vireon-botao-primario{--vireon-varre:#F4F1EC;background:var(--vireon-eletrico);border-color:var(--vireon-eletrico);color:var(--vireon-tinta)}
.vireon-hero .vireon-botao-primario:hover{border-color:#F4F1EC}
.vireon-hero .vireon-botao-secundario{--vireon-varre:#F4F1EC;border-color:#263245;color:#F4F1EC}
.vireon-hero .vireon-botao-secundario:hover{border-color:#F4F1EC;color:var(--vireon-tinta)}
.vireon-hero-indicador{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:1px;height:40px;background:linear-gradient(var(--vireon-eletrico),transparent)}
/* Símbolo grande e frases da abertura (só existem durante a animação) */
.vireon-hero-simbolo,.vireon-hero-frase{display:none}
.vireon-intro .vireon-hero-simbolo{display:block;position:absolute;left:50%;top:50%;width:clamp(200px,34vmin,380px);height:auto;z-index:2;pointer-events:none}
.vireon-intro .vireon-hero-frase{display:flex;position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}
.vireon-hero-frase-titulo{font-family:var(--vireon-fonte-titulo);font-size:clamp(3rem,10vw,7rem);line-height:1}
.vireon-hero-frase-sub{margin-top:14px;font-size:clamp(1.1rem,2.6vw,1.75rem);color:#C3CCDA}
.vireon-hero-frase-sub em{font-style:normal;color:var(--vireon-eletrico)}
.vireon-intro .vireon-intro .vireon-hero-lockup,
.vireon-intro .vireon-hero-titulo,
.vireon-intro .vireon-hero-lead,
.vireon-intro .vireon-hero-acoes,
.vireon-intro .vireon-hero-indicador,
.vireon-intro .vireon-hero-curvas,
.vireon-intro .vireon-hero-frase-titulo,
.vireon-intro .vireon-hero-frase-sub,
.vireon-intro .vireon-hero-simbolo .vireon-lamina{opacity:0}
.vireon-intro #vireon-lk-symbol,.vireon-intro #vireon-lk-word{opacity:0}
.vireon-intro .vireon-hero-simbolo .vireon-fio{stroke-dasharray:1 2;stroke-dashoffset:1}

/* ---------- Seções ---------- */
.vireon-secao{padding-block:clamp(72px,10vw,136px)}
.vireon-secao-gelo{background:var(--vireon-gelo)}
.vireon-secao-cabeca{display:grid;gap:20px 48px;margin-bottom:clamp(40px,6vw,72px)}
@media (min-width:900px){.vireon-secao-cabeca{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:end}}
.vireon-secao-rotulo{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-family:var(--vireon-fonte-titulo);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vireon-mudo)}
.vireon-rotulo-icone{width:12px;height:12px;color:var(--vireon-azul)}
.vireon-secao-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.9rem,3.8vw,3.4rem);line-height:1.1;letter-spacing:-.005em;color:var(--vireon-tinta);text-wrap:balance}
.vireon-secao-nota{position:relative;padding-top:20px;max-width:34ch;color:var(--vireon-mudo);font-size:.98rem}
.vireon-secao-nota::before{content:"";position:absolute;top:0;left:0;width:8px;height:8px;border-top:1px solid var(--vireon-tinta);border-left:1px solid var(--vireon-tinta)}
@media (min-width:900px){.vireon-secao-nota{justify-self:end;text-align:right}.vireon-secao-nota::before{left:auto;right:0;border-left:0;border-right:1px solid var(--vireon-tinta)}}

/* A Vireon */
.vireon-quem-grade{display:grid;gap:40px}
@media (min-width:900px){.vireon-quem-grade{grid-template-columns:minmax(160px,1fr) 3.4fr;gap:64px}}
.vireon-quem-lateral{display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.vireon-quem-simbolo{display:none;width:clamp(96px,9vw,132px);height:auto}
@media (min-width:900px){.vireon-quem-simbolo{display:block}}
.vireon-quem-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.7rem,3.3vw,2.9rem);line-height:1.18;color:var(--vireon-tinta);text-wrap:pretty;max-width:26ch}
.vireon-quem-texto{display:grid;gap:16px;margin-top:clamp(28px,4vw,48px);max-width:62ch}
.vireon-quem-texto strong{font-weight:600;color:var(--vireon-tinta)}
.vireon-quem-numeros{display:grid;grid-template-columns:1fr;gap:28px;margin-top:clamp(40px,6vw,72px);padding-top:32px;border-top:1px solid var(--vireon-linha)}
@media (min-width:700px){.vireon-quem-numeros{grid-template-columns:repeat(3,1fr);gap:32px}}
.vireon-numero{display:block;font-family:var(--vireon-fonte-titulo);font-size:clamp(3.2rem,6vw,5.4rem);line-height:1;color:var(--vireon-tinta);font-variant-numeric:tabular-nums}
.vireon-numero-texto{display:block;margin-top:14px;max-width:26ch;font-size:.92rem;color:var(--vireon-mudo)}

/* Serviços: lista expansível */
.vireon-serv-lista{border-top:1px solid var(--vireon-linha-forte)}
.vireon-serv-item{border-bottom:1px solid var(--vireon-linha-forte)}
.vireon-serv-linha{display:grid;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;column-gap:12px;padding:clamp(22px,3vw,40px) 0;cursor:pointer;list-style:none}
.vireon-serv-linha::-webkit-details-marker{display:none}
@media (min-width:900px){.vireon-serv-linha{grid-template-columns:25% minmax(0,1fr) 24px;column-gap:0}}
.vireon-serv-num{font-family:var(--vireon-fonte-titulo);font-size:.85rem;letter-spacing:.1em;color:var(--vireon-mudo)}
.vireon-serv-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.1;color:var(--vireon-tinta);transition:color .2s}
.vireon-serv-linha:hover .vireon-serv-nome{color:var(--vireon-azul)}
.vireon-serv-icone{position:relative;width:22px;height:22px;justify-self:end}
.vireon-serv-icone::before,.vireon-serv-icone::after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;margin-top:-1px;background:var(--vireon-tinta);transition:transform .3s}
.vireon-serv-icone::after{transform:rotate(90deg)}
.vireon-serv-det[open]:not(.is-fechando) .vireon-serv-icone::after{transform:rotate(0)}
.vireon-serv-painel{overflow:hidden}
.vireon-serv-corpo{display:grid;gap:24px 40px;padding:0 0 clamp(32px,4.4vw,56px) 56px}
@media (min-width:900px){.vireon-serv-corpo{grid-template-columns:calc(25% - 40px) minmax(0,1fr);padding-left:0;align-items:start}}
.vireon-serv-comp li{padding:5px 0;color:var(--vireon-mudo)}
.vireon-serv-texto{max-width:54ch;color:var(--vireon-texto);font-size:1.05rem}
.vireon-serv-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
/* Projetos */
.vireon-proj-grade{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,56px) 28px}
@media (min-width:760px){.vireon-proj-grade{grid-template-columns:repeat(2,1fr)}}
.vireon-proj-item{position:relative;scroll-margin-top:calc(var(--vireon-header) + 24px)}
.vireon-proj-item[hidden]{display:none}
.vireon-proj-capa{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;aspect-ratio:16/10;padding:clamp(20px,3vw,32px);border-radius:4px;overflow:hidden;background-color:#E3E7ED;background-image:var(--vireon-ponto);background-size:7px 7px;color:var(--vireon-tinta);transition:transform .35s ease}
.vireon-proj-capa[data-tipo="landing"]{background-color:var(--vireon-azul);background-image:radial-gradient(circle,rgba(255,255,255,.24) 1px,transparent 1.4px);color:var(--vireon-branco)}
.vireon-proj-capa[data-tipo="inst"]{background-color:var(--vireon-ardosia);background-image:radial-gradient(circle,rgba(244,241,236,.2) 1px,transparent 1.4px);color:#F4F1EC}
.vireon-proj-capa[data-tipo="loja"]{background-color:var(--vireon-gelo);box-shadow:inset 0 0 0 1px var(--vireon-linha-forte)}
.vireon-proj-capa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vireon-proj-capa-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.04;max-width:12ch;text-wrap:balance}
.vireon-proj-tag-solo{text-align:left}
.vireon-proj-item:hover .vireon-proj-capa{transform:translateY(-5px)}
.vireon-proj-topo{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px}
.vireon-proj-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--vireon-tinta);transition:color .2s}
.vireon-proj-item:hover .vireon-proj-nome{color:var(--vireon-azul)}
.vireon-proj-tag{font-size:.85rem;color:var(--vireon-mudo);text-align:right}
.vireon-proj-texto{margin-top:8px;max-width:54ch;color:var(--vireon-mudo)}
.vireon-proj-esticado{color:inherit;text-decoration:none}
.vireon-proj-esticado:focus-visible{outline:none}
.vireon-proj-esticado::after{content:"";position:absolute;inset:0}
.vireon-proj-esticado:focus-visible::after{outline:2px solid var(--vireon-foco);outline-offset:6px}
.vireon-proj-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.vireon-proj-tags li{padding:4px 11px;border:1px solid var(--vireon-linha-forte);font-size:.78rem;color:var(--vireon-mudo)}
.vireon-proj-link{display:inline-block;margin-top:16px;color:var(--vireon-azul);text-underline-offset:4px}
.vireon-proj-rodape{display:grid;gap:20px;align-items:center;margin-top:clamp(48px,7vw,88px);padding-top:28px;border-top:1px solid var(--vireon-linha-forte);color:var(--vireon-mudo)}
@media (min-width:760px){.vireon-proj-rodape{grid-template-columns:1fr auto}}
/* Página de projetos */
.vireon-proj-pagina{padding-top:calc(var(--vireon-header) + 8px)}
.vireon-proj-filtros{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.vireon-proj-filtros[hidden]{display:none}
.vireon-proj-filtro{min-height:44px;padding:8px 18px;background:transparent;border:1px solid var(--vireon-linha-forte);color:var(--vireon-texto);font-size:.92rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.vireon-proj-filtro:hover{border-color:var(--vireon-tinta)}
.vireon-proj-filtro.is-ativo{background:var(--vireon-tinta);border-color:var(--vireon-tinta);color:var(--vireon-branco)}
.vireon-proj-contagem{min-height:1.5em;margin-bottom:28px;font-size:.9rem;color:var(--vireon-mudo)}

/* Tese */
.vireon-tese{position:relative;overflow:hidden;background:var(--vireon-azul);color:var(--vireon-branco);padding-block:clamp(88px,13vw,176px);--vireon-foco:#fff}
.vireon-tese-marca{position:absolute;right:-4%;bottom:-24%;width:clamp(280px,40vw,560px);height:auto;opacity:.1;pointer-events:none}
.vireon-tese .vireon-geral-container{position:relative}
.vireon-tese-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2.1rem,5.6vw,4.8rem);line-height:1.06;max-width:17ch;text-wrap:balance}
.vireon-tese-titulo span{color:#A9C2E6}
.vireon-tese-texto{margin-top:32px;max-width:52ch;font-size:clamp(1.05rem,1.6vw,1.3rem);color:#DCE6F4}

/* O que sustenta cada projeto: colunas em degraus sobre fundo animado */
.vireon-sust{position:relative;overflow:hidden;background:linear-gradient(100deg,#05080F 0%,#070D1C 45%,#0A1735 100%);color:#F4F1EC;--vireon-foco:var(--vireon-eletrico);padding-bottom:clamp(260px,26vw,360px)}
.vireon-sust-fundo{position:absolute;inset:0;pointer-events:none}
.vireon-sust-fundo svg{width:100%;height:100%}
.vireon-sust-conteudo{position:relative}
.vireon-sust-forma .vireon-sust-lamina{fill:rgba(47,123,255,.05);stroke:rgba(47,123,255,.3);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.vireon-sust-forma .vireon-sust-fio{fill:none;stroke:rgba(47,123,255,.36);stroke-width:1.2;vector-effect:non-scaling-stroke}
.vireon-sust-forma-2{opacity:.5}
.vireon-onda{fill:none;stroke:#2F7BFF;stroke-width:1;opacity:.3;vector-effect:non-scaling-stroke}
.vireon-onda-base{stroke-width:2.2;opacity:1}
.vireon-onda-brilho{fill:none;stroke:#2F7BFF;stroke-width:18;opacity:.07;stroke-linecap:round;vector-effect:non-scaling-stroke}
.vireon-onda-brilho-2{stroke-width:7;opacity:.18}
.vireon-cabeca-escura .vireon-secao-rotulo,.vireon-cabeca-escura .vireon-secao-nota{color:#AEB8C7}
.vireon-cabeca-escura .vireon-rotulo-icone{color:var(--vireon-eletrico)}
.vireon-cabeca-escura .vireon-secao-titulo{color:#F4F1EC}
.vireon-cabeca-escura .vireon-secao-titulo span{color:#8895AB}
.vireon-cabeca-escura .vireon-secao-nota::before{border-color:#F4F1EC}
.vireon-sust-colunas{display:grid;grid-template-columns:1fr;margin-top:clamp(8px,2vw,24px)}
@media (min-width:900px){.vireon-sust-colunas{grid-template-columns:repeat(4,1fr)}}
.vireon-sust-col{position:relative;padding:28px 0 36px 24px;border-left:1px solid rgba(244,241,236,.18)}
@media (min-width:900px){.vireon-sust-col{padding:calc(36px + var(--i)*clamp(44px,6.6vw,104px)) 28px 40px 28px}.vireon-sust-col:first-child{border-left-color:transparent;padding-left:0}}
.vireon-sust-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.3rem,1.9vw,1.6rem);line-height:1.2;margin-bottom:14px;max-width:18ch}
.vireon-sust-texto{max-width:34ch;font-size:.98rem;color:#C3CCDA}
.vireon-sust-barra{margin-top:32px;max-width:340px}
.vireon-sust-rotulo{display:block;margin-bottom:10px;font-family:var(--vireon-fonte-titulo);font-size:.78rem;letter-spacing:.14em;color:#AEB8C7}
.vireon-sust-trilho{display:block;height:4px;border-radius:2px;background:rgba(244,241,236,.16);overflow:hidden}
.vireon-sust-trilho i{display:block;height:100%;border-radius:2px;background:var(--vireon-eletrico);transform-origin:left;transform:scaleX(var(--b,var(--alvo)))}

/* Método (claro) */
.vireon-metodo-passos{display:grid;grid-template-columns:1fr;gap:12px 32px}
@media (min-width:700px){.vireon-metodo-passos{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.vireon-metodo-passos{grid-template-columns:repeat(4,1fr)}}
.vireon-metodo-passo{position:relative;padding:32px 0 28px}
.vireon-metodo-fio{position:absolute;top:0;left:0;right:0;height:1px;background:var(--vireon-linha-forte)}
.vireon-metodo-fio::after{content:"";position:absolute;inset:0;height:1px;background:var(--vireon-azul);transform-origin:left;transform:scaleX(var(--fio,1))}
.vireon-metodo-numero{display:block;font-family:var(--vireon-fonte-titulo);font-size:.9rem;letter-spacing:.16em;color:var(--vireon-azul);margin-bottom:28px}
.vireon-metodo-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.5rem,2.2vw,1.9rem);color:var(--vireon-tinta);margin-bottom:6px}
.vireon-metodo-resumo{color:var(--vireon-mudo);font-size:.95rem;margin-bottom:22px}
.vireon-metodo-itens li{position:relative;padding:9px 0 9px 20px;color:var(--vireon-texto);font-size:.96rem}
.vireon-metodo-itens li::before{content:"";position:absolute;left:0;top:1.15em;width:9px;height:1px;background:var(--vireon-azul)}

/* Diagnóstico */
.vireon-diag-grade{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,88px);align-items:start}
@media (min-width:960px){.vireon-diag-grade{grid-template-columns:1fr 1fr}}
.vireon-diag-intro{margin-top:22px;max-width:46ch;font-size:1.05rem;color:var(--vireon-mudo)}
.vireon-diag-lista{margin-top:32px;border-top:1px solid var(--vireon-linha-forte)}
.vireon-diag-lista li{position:relative;padding:15px 0 15px 32px;border-bottom:1px solid var(--vireon-linha-forte)}
.vireon-diag-lista li::before{content:"";position:absolute;left:0;top:50%;width:14px;height:7px;margin-top:-5px;border-left:1.5px solid var(--vireon-azul);border-bottom:1.5px solid var(--vireon-azul);transform:rotate(-45deg) scale(.8);transform-origin:left bottom}
.vireon-diag-form{padding:clamp(24px,4vw,44px);background:var(--vireon-branco);border:1px solid var(--vireon-linha)}
.vireon-diag-form-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:1.5rem;color:var(--vireon-tinta);margin-bottom:24px}
.vireon-diag-campo{display:block;margin-bottom:18px}
.vireon-diag-rotulo{display:block;margin-bottom:8px;font-size:.9rem;color:var(--vireon-texto)}
.vireon-diag-rotulo small{color:var(--vireon-mudo)}
.vireon-diag-entrada{width:100%;min-height:52px;padding:13px 14px;background:var(--vireon-branco);border:1px solid var(--vireon-linha-forte);border-radius:0;color:var(--vireon-tinta);transition:border-color .2s,box-shadow .2s}
.vireon-diag-entrada:hover{border-color:var(--vireon-segundo-tom)}
.vireon-diag-entrada:focus{border-color:var(--vireon-azul);outline:none;box-shadow:0 0 0 1px var(--vireon-azul)}
textarea.vireon-diag-entrada{min-height:104px;resize:vertical}
.vireon-diag-form .vireon-botao{width:100%;margin-top:6px}
.vireon-diag-nota{margin-top:16px;font-size:.82rem;color:var(--vireon-mudo)}
.vireon-diag-nota a,.vireon-diag-whats a{text-underline-offset:4px;text-decoration-color:var(--vireon-azul)}
.vireon-diag-status{min-height:1.5em;margin-top:14px;font-size:.95rem}
.vireon-diag-status.is-ok{color:#0B6B3A}
.vireon-diag-status.is-erro{color:#B42318}
.vireon-diag-whats{margin-top:18px;font-size:.95rem;color:var(--vireon-texto)}

/* FAQ */
.vireon-faq-grade{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:960px){.vireon-faq-grade{grid-template-columns:1fr 1.3fr;gap:80px}}
.vireon-faq-lista{border-top:1px solid var(--vireon-linha)}
.vireon-faq-item{border-bottom:1px solid var(--vireon-linha)}
.vireon-faq-pergunta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-size:clamp(1rem,1.4vw,1.1rem);color:var(--vireon-tinta);line-height:1.35}
.vireon-faq-pergunta::-webkit-details-marker{display:none}
.vireon-faq-icone{position:relative;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--vireon-linha-forte);transition:background-color .2s,border-color .2s}
.vireon-faq-icone::before,.vireon-faq-icone::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:var(--vireon-tinta);transition:transform .25s,background-color .2s}
.vireon-faq-icone::after{transform:rotate(90deg)}
.vireon-faq-pergunta:hover .vireon-faq-icone{border-color:var(--vireon-tinta)}
.vireon-faq-item[open] .vireon-faq-icone{background:var(--vireon-tinta);border-color:var(--vireon-tinta)}
.vireon-faq-item[open] .vireon-faq-icone::before,.vireon-faq-item[open] .vireon-faq-icone::after{background:var(--vireon-branco)}
.vireon-faq-item[open] .vireon-faq-icone::after{transform:rotate(0)}
.vireon-faq-resposta{padding:0 60px 26px 0;max-width:62ch;color:var(--vireon-mudo)}
.vireon-faq-barra{display:grid;gap:16px;align-items:center;margin-top:28px;padding:20px 24px;background:var(--vireon-ardosia);color:#F4F1EC;--vireon-foco:#fff}
@media (min-width:640px){.vireon-faq-barra{grid-template-columns:1fr auto}}

/* Rodapé (bloco escuro) */
.vireon-rodape{position:relative;overflow:hidden;isolation:isolate;background:var(--vireon-tinta);color:#F4F1EC;padding:clamp(64px,9vw,112px) 0 32px;--vireon-foco:var(--vireon-eletrico)}
.vireon-rodape-fundo{position:absolute;left:0;right:0;top:0;height:min(100%,760px);z-index:-1;pointer-events:none;opacity:.8}
.vireon-rodape-fundo svg{width:100%;height:100%}
.vireon-rodape-acoes{display:flex;flex-wrap:wrap;gap:14px}
.vireon-rodape-simples{padding-top:clamp(48px,7vw,72px)}
.vireon-rodape-chamada{display:grid;gap:32px;justify-items:start;padding-bottom:clamp(48px,7vw,88px);border-bottom:1px solid #263245}
.vireon-rodape-titulo-grande{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2rem,5vw,4.2rem);line-height:1.08;max-width:18ch;text-wrap:balance}
.vireon-rodape-titulo-grande span{color:#8895AB}
.vireon-rodape-grade{display:grid;grid-template-columns:1fr;gap:40px;padding-top:clamp(40px,6vw,64px)}
@media (min-width:860px){.vireon-rodape-grade{grid-template-columns:1.3fr 1fr 1fr}}
.vireon-rodape-logo img{width:180px;height:auto}
.vireon-rodape-texto{margin-top:20px;max-width:34ch;color:#AEB8C7;font-size:.95rem}
.vireon-rodape-rotulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#AEB8C7;margin-bottom:16px}
.vireon-rodape-lista li{padding:5px 0}
.vireon-rodape-lista a{color:#E4E9F1;text-decoration:none}
.vireon-rodape-lista a:hover{text-decoration:underline;text-underline-offset:4px}
.vireon-rodape-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;margin-top:clamp(40px,6vw,72px);padding-top:24px;border-top:1px solid #263245;color:#AEB8C7;font-size:.85rem}
.vireon-rodape-base a{color:#AEB8C7}
.vireon-rodape-base a:hover{color:#F4F1EC}
.vireon-rodape-topo{margin-left:auto;text-decoration:none}

/* ---------- Páginas internas ---------- */
.vireon-pagina{padding:calc(var(--vireon-header) + clamp(48px,8vw,96px)) 0 clamp(64px,9vw,120px)}
.vireon-pagina h1{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.1;color:var(--vireon-tinta);margin-bottom:12px}
.vireon-pagina h2{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:1.35rem;color:var(--vireon-tinta);margin:40px 0 10px}
.vireon-pagina p,.vireon-pagina li{color:var(--vireon-texto);max-width:70ch}
.vireon-pagina ul{list-style:disc;padding-left:22px;margin-top:8px}
.vireon-pagina a:not(.vireon-botao){color:var(--vireon-azul);text-underline-offset:4px}
.vireon-pagina-data{color:var(--vireon-mudo);font-size:.9rem;margin-bottom:32px}

/* Parceiros oficiais */
.vireon-parc{padding-block:clamp(48px,6vw,80px);border-top:1px solid var(--vireon-linha);border-bottom:1px solid var(--vireon-linha)}
.vireon-parc-grade{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media (min-width:960px){.vireon-parc-grade{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(48px,7vw,104px)}}
.vireon-parc .vireon-secao-rotulo{margin-bottom:16px}
.vireon-parc-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.25;max-width:30ch;color:var(--vireon-tinta);text-wrap:balance}
.vireon-parc-titulo span{color:var(--vireon-mudo)}
.vireon-parc-lista{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:28px clamp(32px,5vw,64px)}
@media (min-width:960px){.vireon-parc-lista{justify-content:flex-end}}
.vireon-parc-link{display:flex;align-items:center;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s}
.vireon-parc-link:hover,.vireon-parc-link:focus-visible{filter:none;opacity:1}
.vireon-parc-link img{display:block;width:auto}
.vireon-parc-hostgator img{height:34px}
.vireon-parc-nuvemshop img{height:64px}
.vireon-parc-pode-mandar img{height:60px}
/* Equipe: foto à esquerda, lista numerada à direita */
.vireon-eq-cabeca{margin-bottom:clamp(40px,6vw,72px)}
.vireon-eq-grade{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,56px);align-items:start}
@media (min-width:960px){.vireon-eq-grade{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,7vw,104px)}.vireon-eq-foto{position:sticky;top:calc(var(--vireon-header) + 24px)}}
.vireon-eq-foto{margin:0;border-radius:4px;overflow:hidden;background:#D9DDE3;box-shadow:0 24px 44px -28px rgba(5,8,15,.5),0 2px 8px rgba(5,8,15,.08)}
.vireon-eq-foto img{display:block;width:100%;height:auto;aspect-ratio:900/1080;object-fit:cover}
.vireon-eq-lista{border-top:1px solid var(--vireon-linha-forte)}
.vireon-eq-linha{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--vireon-linha-forte)}
@media (min-width:700px){.vireon-eq-linha{grid-template-columns:72px minmax(0,1fr)}}
.vireon-eq-num{padding-top:.5em;font-family:var(--vireon-fonte-titulo);font-size:.85rem;letter-spacing:.1em;color:var(--vireon-mudo)}
.vireon-eq-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1;color:var(--vireon-tinta)}
.vireon-eq-cargo{margin:10px 0 18px;font-family:var(--vireon-fonte-titulo);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--vireon-azul)}
.vireon-eq-texto{max-width:56ch;color:var(--vireon-mudo)}
/* Vireon para agências: fundo escuro com faixas, cartão e página */
.vireon-ag-fundo{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:var(--vireon-tinta)}
.vireon-ag-fundo svg{width:100%;height:100%}
.vireon-ag{position:relative;overflow:hidden;isolation:isolate;color:#F4F1EC;--vireon-foco:var(--vireon-eletrico);padding-block:clamp(72px,10vw,136px);min-height:min(88vh,760px);display:flex;align-items:center}
.vireon-ag-grade{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,72px);align-items:end}
@media (min-width:960px){.vireon-ag-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,8vw,120px)}.vireon-ag-titulos{order:2;text-align:left}.vireon-ag-cartao{order:1}}
.vireon-ag .vireon-secao-rotulo{color:#AEB8C7}
.vireon-ag .vireon-rotulo-icone{color:var(--vireon-eletrico)}
.vireon-ag-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.08;max-width:14ch;text-wrap:balance}
.vireon-ag-titulo span{color:var(--vireon-eletrico)}
.vireon-ag-cartao{padding:clamp(28px,4vw,48px);background:rgba(244,241,236,.06);border:1px solid rgba(244,241,236,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.vireon-ag-cartao-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.2;max-width:20ch}
.vireon-ag-cartao-texto{margin-top:16px;max-width:42ch;color:#C3CCDA}
.vireon-ag-botao{margin-top:28px}
.vireon-ag-pessoas{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(244,241,236,.16)}
.vireon-ag-pessoa{display:flex;align-items:center;gap:12px;min-width:0}
.vireon-ag-avatar{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--vireon-eletrico);border-radius:50%;font-family:var(--vireon-fonte-titulo);font-size:.9rem;letter-spacing:.06em;color:var(--vireon-eletrico)}
.vireon-ag-pessoa strong{display:block;font-weight:500;font-size:.95rem;line-height:1.25}
.vireon-ag-pessoa p span{display:block;font-size:.84rem;color:#AEB8C7}
/* Página de agências */
.vireon-agp-hero{position:relative;overflow:hidden;isolation:isolate;color:#F4F1EC;--vireon-foco:var(--vireon-eletrico);padding:calc(var(--vireon-header) + clamp(64px,12vh,128px)) 0 clamp(72px,10vw,128px);min-height:min(86vh,780px);display:flex;align-items:center}
.vireon-agp-hero-corpo{position:relative}
.vireon-agp-hero .vireon-secao-rotulo{color:#AEB8C7}
.vireon-agp-hero .vireon-rotulo-icone{color:var(--vireon-eletrico)}
.vireon-agp-hero-titulo{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(2.2rem,5.4vw,4.6rem);line-height:1.06;max-width:17ch;text-wrap:balance}
.vireon-agp-hero-titulo span{color:var(--vireon-eletrico)}
.vireon-agp-hero-lead{margin-top:clamp(20px,3vh,28px);max-width:54ch;font-size:clamp(1.02rem,1.5vw,1.2rem);color:#C3CCDA}
.vireon-agp-acoes{justify-content:flex-start}
.vireon-intro .vireon-agp-acoes{opacity:1}
.vireon-agp-hero .vireon-botao-primario{--vireon-varre:#F4F1EC;background:var(--vireon-eletrico);border-color:var(--vireon-eletrico);color:var(--vireon-tinta)}
.vireon-agp-hero .vireon-botao-primario:hover{border-color:#F4F1EC}
.vireon-agp-publico{margin-top:28px;font-size:.9rem;color:#AEB8C7}
.vireon-agp-duas{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (min-width:900px){.vireon-agp-duas{grid-template-columns:1.1fr 1fr}}
.vireon-agp-texto p{max-width:50ch;font-size:clamp(1.02rem,1.4vw,1.15rem);color:var(--vireon-texto)}
.vireon-agp-texto p+p{margin-top:18px;color:var(--vireon-mudo)}
.vireon-agp-beneficios{display:grid;grid-template-columns:1fr;gap:0 32px}
@media (min-width:700px){.vireon-agp-beneficios{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.vireon-agp-beneficios{grid-template-columns:repeat(4,1fr)}}
.vireon-agp-beneficio{padding:28px 0 36px;border-top:1px solid var(--vireon-linha-forte)}
.vireon-agp-num,.vireon-agp-serv-num{display:block;margin-bottom:28px;font-family:var(--vireon-fonte-titulo);font-size:.9rem;letter-spacing:.16em;color:var(--vireon-azul)}
.vireon-agp-beneficio h3{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.22;color:var(--vireon-tinta);margin-bottom:12px}
.vireon-agp-beneficio p{color:var(--vireon-mudo);font-size:.96rem;max-width:34ch}
.vireon-agp-modelos{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:900px){.vireon-agp-modelos{grid-template-columns:1fr 1fr;gap:28px}}
.vireon-agp-modelo{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,4vw,48px);background:var(--vireon-branco);border:1px solid var(--vireon-linha-forte)}
.vireon-agp-modelo-tag{margin-bottom:20px;padding:4px 11px;border:1px solid var(--vireon-linha-forte);font-size:.78rem;color:var(--vireon-mudo)}
.vireon-agp-modelo h3{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15;color:var(--vireon-tinta);margin-bottom:14px}
.vireon-agp-modelo-texto{max-width:46ch;color:var(--vireon-mudo);margin-bottom:22px}
.vireon-agp-modelo .vireon-metodo-itens{margin-bottom:32px;width:100%}
.vireon-agp-modelo .vireon-botao{margin-top:auto}
.vireon-agp-serv{padding-block:clamp(72px,10vw,136px);background:linear-gradient(100deg,#05080F 0%,#070D1C 45%,#0A1735 100%);color:#F4F1EC;--vireon-foco:var(--vireon-eletrico)}
.vireon-agp-serv .vireon-secao-nota{color:#C3CCDA}
.vireon-agp-serv .vireon-secao-rotulo{color:#AEB8C7}
.vireon-agp-serv .vireon-rotulo-icone{color:var(--vireon-eletrico)}
.vireon-agp-serv-lista{display:grid;grid-template-columns:1fr;border-top:1px solid rgba(244,241,236,.18)}
@media (min-width:800px){.vireon-agp-serv-lista{grid-template-columns:1fr 1fr;column-gap:56px}}
.vireon-agp-serv-item{display:grid;align-content:start;grid-template-columns:56px 1fr;column-gap:8px;padding:26px 0 30px;border-bottom:1px solid rgba(244,241,236,.18)}
.vireon-agp-serv-num{grid-row:1/3;margin:6px 0 0;color:var(--vireon-eletrico)}
.vireon-agp-serv-item h3{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.25rem,1.8vw,1.5rem);margin-bottom:8px}
.vireon-agp-serv-item p{color:#C3CCDA;font-size:.96rem;max-width:44ch}
.vireon-agp-final .vireon-tese-titulo{max-width:19ch}
.vireon-agp-final .vireon-agp-acoes{margin-top:36px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}
}
.vireon-menu-titulo-redes{margin-top:18px}
.vireon-rodape-rotulo-redes{margin-top:24px}
.vireon-rodape-local{margin-top:18px;font-size:.95rem;line-height:1.6;color:#C9D1DE}
.vireon-rodape-local-rotulo{display:block;font-family:var(--vireon-fonte-titulo);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#AEB8C7;margin-bottom:10px}
.vireon-proj-capa[data-tipo="design"]{background-color:#E3E7ED}

/* ============================================================
   Movimento refinado (v3.1)
   Tudo aqui só vale com JS e sem "reduzir movimento": a classe html.vireon-anima
   é posta por um script no <head> e removida se o JS falhar (vigia de 4 s).
   ============================================================ */

/* Rolagem suave (Lenis): neutraliza o smooth nativo, que brigaria com a inércia da biblioteca */
html.lenis,html.lenis body{height:auto}
html.lenis-smooth{scroll-behavior:auto!important}
html.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}

/* Estado inicial (antes de revelar) */
html.vireon-anima [data-reveal]:not(.vireon-quem-titulo,.vireon-tese-titulo),
html.vireon-anima :is(h1.vireon-secao-titulo,h2.vireon-secao-titulo,h2.vireon-quem-titulo,h2.vireon-tese-titulo,h2.vireon-parc-titulo,.vireon-rodape-titulo-grande):not(.is-split){opacity:0}
html.vireon-anima .vireon-proj-capa:not(.is-visto){clip-path:inset(0 0 100% 0)}

/* Títulos: cada linha sobe de dentro de uma máscara (padding evita cortar ascendentes/descendentes) */
.vireon-linha-mask{padding-block:.12em;margin-block:-.12em}
.vireon-titulo-split{will-change:auto}

/* Capas de projeto: zoom lento no hover (só depois da cortina) e chip que segue o cursor */
.vireon-proj-capa.is-visto img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover) and (pointer:fine){
  .vireon-proj-item:hover .vireon-proj-capa.is-visto img{transform:scale(1.045)}
  .vireon-proj-item.is-chip,.vireon-proj-item.is-chip a{cursor:none}
}
.vireon-cursor{position:fixed;left:0;top:0;z-index:300;display:none;pointer-events:none;padding:11px 18px;background:var(--vireon-tinta);color:#F4F1EC;font-family:var(--vireon-fonte-titulo);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;will-change:transform}
@media (hover:hover) and (pointer:fine){.vireon-cursor{display:block}}

/* Na página de projetos, a capa também abre o projeto (o link "Visitar o site" estica sobre o cartão) */
.vireon-proj-link-esticado::after{content:"";position:absolute;inset:0}
.vireon-proj-link-esticado:focus-visible{outline:none}
.vireon-proj-link-esticado:focus-visible::after{outline:2px solid var(--vireon-foco);outline-offset:6px}

/* Links do rodapé: sublinhado que cresce da esquerda */
.vireon-rodape a:not(.vireon-botao){background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .4s cubic-bezier(.65,0,.35,1);text-decoration:none;padding-bottom:2px}
.vireon-rodape a:not(.vireon-botao):hover,.vireon-rodape a:not(.vireon-botao):focus-visible{background-size:100% 1px}

/* Transição entre páginas (navegadores com View Transitions entre documentos; os outros navegam normalmente) */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:vireon-vt-sai .3s ease both}
  ::view-transition-new(root){animation:vireon-vt-entra .5s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes vireon-vt-sai{to{opacity:0}}
@keyframes vireon-vt-entra{from{opacity:0;transform:translateY(10px)}}

/* Cabeçalho: botão de diagnóstico discreto + seletor de idioma */
.vireon-header-acoes{gap:6px}
.vireon-header-diag{display:none;min-height:38px;padding:0 16px;margin-right:6px;font-size:.7rem;letter-spacing:.12em;border-color:rgba(38,50,69,.35)}
@media (min-width:720px){.vireon-header-diag{display:inline-flex}}
.vireon-header-diag:hover{border-color:var(--vireon-tinta)}
.vireon-header.is-escuro .vireon-header-diag{--vireon-varre:#F4F1EC;color:#F4F1EC;border-color:rgba(244,241,236,.38)}
.vireon-header.is-escuro .vireon-header-diag:hover{color:var(--vireon-tinta);border-color:#F4F1EC}
html.vireon-menu-aberto .vireon-header .vireon-header-diag{--vireon-varre:var(--vireon-tinta);color:var(--vireon-tinta);border-color:rgba(38,50,69,.35)}
html.vireon-menu-aberto .vireon-header .vireon-header-diag:hover{color:var(--vireon-branco);border-color:var(--vireon-tinta)}
.vireon-idioma{display:inline-flex;align-items:center;font-family:var(--vireon-fonte-titulo);font-size:.74rem;letter-spacing:.12em;color:var(--vireon-tinta)}
.vireon-header.is-escuro .vireon-idioma{color:#F4F1EC}
html.vireon-menu-aberto .vireon-header .vireon-idioma{color:var(--vireon-tinta)}
.vireon-idioma a,.vireon-idioma-atual{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:44px;padding:0 4px;color:inherit;text-decoration:none}
.vireon-idioma a{opacity:.72;transition:opacity .2s}
.vireon-idioma a:hover,.vireon-idioma a:focus-visible{opacity:1}
.vireon-idioma-atual::after{content:"";position:absolute;left:4px;right:4px;bottom:11px;height:1px;background:currentColor}
.vireon-idioma-sep{opacity:.35}

/* Clientes ativos: logos em preto, grade de linhas finas; cada logo leva ao projeto */
.vireon-cli{border-top:1px solid var(--vireon-linha)}
.vireon-cli-grade{--esc:1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--vireon-linha);border-left:1px solid var(--vireon-linha)}
@media (max-width:699px){.vireon-cli-grade{--esc:.62}}
@media (min-width:1280px){.vireon-cli-grade{grid-template-columns:repeat(5,minmax(0,1fr))}}  /* 10 marcas: 5×2 ou 2×5, nunca uma linha incompleta */
.vireon-cli-item{border-right:1px solid var(--vireon-linha);border-bottom:1px solid var(--vireon-linha)}
.vireon-cli-link{display:flex;align-items:center;justify-content:center;min-height:clamp(116px,15vw,172px);padding:clamp(18px,3vw,36px);transition:background-color .3s}
.vireon-cli-link img{display:block;width:calc(var(--w) * 1px * var(--esc));max-width:100%;height:auto;opacity:.74;transition:opacity .3s}
.vireon-cli-link:hover,.vireon-cli-link:focus-visible{background:var(--vireon-gelo)}
.vireon-cli-link:hover img,.vireon-cli-link:focus-visible img{opacity:1}
@media (min-width:700px) and (max-width:1279px){.vireon-cli-link{min-height:132px}}

/* Símbolo da Vireon que acompanha o cursor (só mouse; JS posiciona e troca a cor conforme o fundo) */
.vireon-seguidor{position:fixed;left:0;top:0;z-index:290;width:22px;height:20px;pointer-events:none;opacity:0;--sg-a:#F4F1EC;--sg-b:#2F7BFF;will-change:transform}
.vireon-seguidor.is-claro{--sg-a:#05080F;--sg-b:#003C82}
.vireon-seguidor svg{display:block;width:100%;height:100%;overflow:visible}
.vireon-sg-lamina{fill:var(--sg-a);transition:fill .25s}
.vireon-sg-fio{stroke:var(--sg-b);transition:stroke .25s}
html.vireon-intro .vireon-seguidor{display:none}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.vireon-seguidor{display:none}}
@media (max-width:380px){
  .vireon-header-acoes{gap:0}
  .vireon-idioma a,.vireon-idioma-atual{min-width:26px;padding:0 2px}
  .vireon-header-menu{padding-left:6px;gap:8px}
}

/* ---------- Equipe → seção azul: a equipe fica parada (foto na Lívia) e a seção azul sobe por cima, como uma cortina.
   Só desktop (≥960px, onde a foto é fixa) e sem "reduzir movimento". O JS mede a altura e liga a classe; sem JS, fluxo normal. ---------- */
.vireon-eq-pilha{position:relative}
@media (min-width:960px) and (prefers-reduced-motion:no-preference){
  html.vireon-eq-cobre .vireon-eq{position:sticky;top:var(--vireon-eq-top,0px)}
  /* margin-top = pausa: a equipe fica parada sozinha por alguns pixels antes de o azul começar a subir (dá tempo de ler a Lívia) */
  html.vireon-eq-cobre .vireon-eq-pilha>.vireon-tese{z-index:2;margin-top:clamp(48px,14vh,140px);box-shadow:0 -32px 72px -28px rgba(5,8,15,.42)}
}

/* ===== SEO local: seção "Onde atendemos" na home e páginas de Cláudio / Divinópolis ===== */
.vireon-link-texto{color:var(--vireon-azul);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.vireon-link-texto:hover{text-decoration-thickness:2px}
.vireon-local-grade{display:grid;grid-template-columns:1fr;border-top:1px solid var(--vireon-linha)}
@media (min-width:800px){.vireon-local-grade{grid-template-columns:1fr 1fr}.vireon-local-card+.vireon-local-card{padding-left:48px;border-left:1px solid var(--vireon-linha)}}
.vireon-local-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:36px 0 40px;border-bottom:1px solid var(--vireon-linha)}
.vireon-local-card p{max-width:46ch;color:var(--vireon-mudo)}
.vireon-local-nome{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.5rem,2.4vw,2rem);color:var(--vireon-tinta)}
.vireon-local-acoes{display:flex;flex-wrap:wrap;gap:12px}
.vireon-local-itens{border-top:1px solid var(--vireon-linha)}
.vireon-local-itens li{display:grid;gap:10px;padding:28px 0;border-bottom:1px solid var(--vireon-linha)}
@media (min-width:800px){.vireon-local-itens li{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:56px}}
.vireon-local-itens h3{font-family:var(--vireon-fonte-titulo);font-weight:400;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.25;color:var(--vireon-tinta)}
.vireon-local-itens p{max-width:62ch;color:var(--vireon-mudo)}
.vireon-local-rodape{margin-top:28px}
.vireon-trilha{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;font-size:.88rem;color:var(--vireon-mudo)}
.vireon-trilha a{color:var(--vireon-mudo);text-decoration:underline;text-underline-offset:3px}
.vireon-trilha a:hover{color:var(--vireon-tinta)}
.vireon-faq-barra .vireon-link-texto{color:#fff}
.vireon-rodape-locais{margin-top:18px}
