/* =============================================================================
   Etapa 4 — A Intellevo, Quem somos, Carreiras, vaga, Contato e documentos
   (24/09/2026)

   Mesma família das etapas 2 e 3: fundo Black, tipografia da 09-etapa3.css,
   reveal/scene de internas.js e efeitos de 08-efeitos.css. Páginas sem
   vertical: a marca entra pelo Intell Green em dose pequena. Cada página tem
   composição própria (docs/PADROES-DE-COMPOSICAO.md).
   ========================================================================== */

.inst { background: var(--cor-fundo); }

/* ============================================================ A INTELLEVO == */

.ai-hero {
  position: relative; isolation: isolate; overflow: clip;
  min-height: 88vh; padding: 150px 0 clamp(190px, 16vw, 280px);
  display: flex; align-items: flex-end;
}
.ai-hero__foto { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.ai-hero__foto img {
  width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%;
  filter: grayscale(.7) contrast(1.06) brightness(.72);
  transform: scale(1.04) translateY(calc(var(--scene-progress, .5) * -24px));
}
.ai-hero__foto::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(0deg, var(--cor-fundo) 0%, rgb(var(--cor-fundo-rgb) / .902) 26%, rgb(var(--cor-fundo-rgb) / .2) 62%, rgb(var(--cor-fundo-rgb) / .4) 100%),
    linear-gradient(90deg, rgb(var(--cor-fundo-rgb) / .8), transparent 62%);
}
.ai-hero__texto h1 { max-width: 1100px !important; font-size: clamp(56px, 5.4vw, 104px) !important; }
.ai-hero__lead { font-size: clamp(18px, 1.3vw, 24px); line-height: 1.6; max-width: 700px; margin: 28px 0 0; }

.ai-caminhos { position: relative; z-index: 2; margin-top: clamp(-170px, -12vw, -110px); padding-bottom: clamp(80px, 7vw, 130px); }
.ai-caminhos__grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2vw, 34px); }
.ai-caminho {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-rows: auto 1fr auto; gap: 18px;
  min-height: clamp(240px, 18vw, 300px);
  padding: clamp(28px, 2.8vw, 48px);
  color: #fff; text-decoration: none;
  background: linear-gradient(150deg, #2c3136, var(--cor-fundo) 64%);
  border: 1px solid #b2b5c033;
  box-shadow: 0 36px 80px #0000006b;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1), border-color .35s;
}
.ai-caminho::before {
  content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 88px;
  background: linear-gradient(90deg, var(--cor-destaque), rgb(var(--cor-destaque-rgb) / 0));
  transition: width .6s cubic-bezier(.2, .7, .2, 1);
}
.ai-caminho::after {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgb(var(--cor-destaque-rgb) / .122), transparent 70%);
  transition: opacity .35s;
}
.ai-caminho:hover, .ai-caminho:focus-visible { color: #fff; border-color: rgb(var(--cor-destaque-rgb) / .4); transform: translateY(-6px); }
.ai-caminho:hover::before, .ai-caminho:focus-visible::before { width: 100%; }
.ai-caminho:hover::after { opacity: 1; }
.ai-caminho__num { font: 700 15px/1 var(--fonte-titulo); letter-spacing: .12em; color: var(--cor-destaque); }
.ai-caminho h2 { font-size: clamp(50px, 4.8vw, 96px) !important; margin: 0 !important; align-self: end; }
.ai-caminho p { margin: 0; max-width: 520px; font-size: clamp(17px, 1.15vw, 21px); line-height: 1.6; color: #dfe2e6; }
.ai-caminho__ir { font-weight: 700; font-size: 16px; color: var(--cor-destaque); }

/* ============================================================ QUEM SOMOS == */
/* Terceira rodada (25/09/2026): mais efeito, menos caixa. Títulos de seção
   com o grifo cinético; sem réguas horizontais entre as seções (as fotos em
   recorte assimétrico fazem a passagem de uma seção para a outra). */

/* nome da seção: o rótulo da Home (.rotulo, 05-home.css), como "Como
   trabalhamos" nos pilares; o h2 só zera o que 06/09 aplicam a todo h2 */
.qs main .qs-rotulo { margin: 0 0 clamp(26px, 2.4vw, 40px); font-size: inherit; line-height: 1; max-width: none; text-transform: none; }
.qs main .qs-rotulo .rotulo { margin: 0; }

.qs-hero .ip-hero__photo img { object-position: 55% 32%; filter: grayscale(.8) brightness(.8); }
.qs-hero .ip-hero__text { width: 58%; }
.qs-hero__lead { margin-top: 30px; }

/* --- nossa crença: uma crença só, num bloco contínuo ----------------------- */
.qs-crenca { position: relative; isolation: isolate; overflow: clip; padding-block: clamp(90px, 8vw, 150px) clamp(70px, 6vw, 110px); }
.qs-crenca::before {
  content: ""; position: absolute; z-index: -1; left: -15%; top: -30%; width: 60%; height: 160%;
  background: radial-gradient(circle, #03733d38, transparent 62%);
  transform: translateY(calc((var(--scene-progress, .5) - .5) * -60px));
}
/* mesmo corpo do texto de "Desde 2018" (.ip-copy p, 06-internas.css); as duas
   frases correm juntas; um fio verde as costura à
   esquerda e um brilho atravessa o texto uma vez quando ele entra */
.qs-crenca__texto {
  position: relative; margin: 0; padding-left: clamp(26px, 2.4vw, 44px);
  font-weight: 500; color: #fff;
}
.qs-crenca .ip-copy .qs-crenca__texto { max-width: 900px; }
.qs-crenca__texto::before {
  content: ""; position: absolute; left: 0; top: .2em; bottom: .2em; width: 3px;
  background: linear-gradient(180deg, var(--cor-destaque), #03733d); box-shadow: 0 0 18px rgb(var(--cor-destaque-rgb) / .4);
  transform-origin: top; transition: transform 1.6s cubic-bezier(.2, .7, .2, 1) .3s;
}
.ip-motion .qs-crenca__texto:not(.is-visible)::before { transform: scaleY(0); }
@media (prefers-reduced-motion: no-preference) {
  .ip-motion .qs-crenca__texto {
    background: linear-gradient(100deg, #fff 0 42%, var(--cor-destaque) 50%, #fff 58% 100%) 100% 0 / 300% 100%;
    -webkit-background-clip: text; background-clip: text; color: transparent;
  }
  .ip-motion .qs-crenca__texto.is-visible { animation: qs-brilho-texto 2.6s ease-in-out .6s both; }
}
@keyframes qs-brilho-texto { from { background-position: 100% 0; } to { background-position: 0 0; } }

/* --- propósito, missão e visão: três colunas iguais, luz vinda de baixo ---- */
.qs-pmv { padding-block: clamp(20px, 2vw, 40px) clamp(120px, 10vw, 190px); }
.qs-pmv__grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(14px, 1.6vw, 28px); }
.qs-pmv__col {
  position: relative; z-index: 0; isolation: isolate; overflow: hidden;
  min-height: clamp(380px, 26vw, 480px); padding: clamp(36px, 3.2vw, 58px) clamp(30px, 2.8vw, 50px);
  display: flex; flex-direction: column;
  background: linear-gradient(0deg, #1b1e21, #25292d 60%, #2a2e33);
  border: 1px solid #b2b5c026;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), border-color .4s, box-shadow .5s;
}
/* zoom de 10% no hover: a caixa inteira cresce, texto junto */
.qs-pmv__col:hover { z-index: 2; transform: scale(1.1); border-color: rgb(var(--cor-destaque-rgb) / .4); box-shadow: 0 30px 70px #00000080; }
.qs-pmv__luz {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .9;
  background:
    radial-gradient(ellipse 80% 45% at 50% 100%, rgb(var(--cor-destaque-rgb) / .251), transparent 72%),
    radial-gradient(ellipse 26% 95% at 50% 100%, rgb(var(--cor-destaque-rgb) / .078), transparent 70%);
}
.qs-pmv__luz::before {
  content: ""; position: absolute; left: 14%; right: 14%; bottom: 0; height: 2px; border-radius: 2px;
  background: var(--cor-destaque); box-shadow: 0 0 22px 4px rgb(var(--cor-destaque-rgb) / .702);
}
@media (prefers-reduced-motion: no-preference) {
  .ip-motion .qs-pmv__col:not(.is-visible) .qs-pmv__luz { opacity: 0; }
  .ip-motion .qs-pmv__col.is-visible .qs-pmv__luz { animation: qs-acende 1.9s ease both; animation-delay: calc(.35s + var(--i, 0) * .4s); }
}
@keyframes qs-acende { 0% { opacity: 0; } 12% { opacity: .95; } 20% { opacity: .15; } 34% { opacity: 1; } 100% { opacity: .9; } }
.qs main .qs-pmv__rotulo { margin: 0 0 22px; font-size: clamp(40px, 3.3vw, 62px); max-width: none; color: var(--cor-destaque); }
.qs-pmv__col p { margin: 0; font-size: clamp(18px, 1.2vw, 22px); line-height: 1.6; color: #e6e8eb; }

/* --- desde 2018: ano gigante ao fundo e ampulheta em recorte assimétrico --- */
.qs-historia { position: relative; z-index: 1; isolation: isolate; overflow-x: clip; padding-block: clamp(120px, 10vw, 190px); }
.qs-filtro { position: absolute; width: 0; height: 0; }
.qs-historia__foto {
  position: absolute; z-index: -2; left: 0; width: 50%;
  top: clamp(-160px, -8vw, -90px); bottom: clamp(-130px, -6.5vw, -70px);
  overflow: hidden;
  clip-path: polygon(0 5%, 70% 0, 100% 36%, 84% 100%, 0 91%);
}
/* a matriz #qs-verde (no snippet) pinta a foto nos verdes da Intellevo */
.qs-historia__foto img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%;
  filter: url(#qs-verde) blur(4px) contrast(1.05);
  transform: scale(1.1) translateY(calc((.5 - var(--scene-progress, .5)) * 60px));
}
.qs-historia__foto::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 35%, rgb(var(--cor-fundo-rgb) / .902) 100%), linear-gradient(0deg, rgb(var(--cor-fundo-rgb) / .4), transparent 55%);
}
/* o ano desce para perto do fim da seção e se alarga até passar por trás de
   uns 30% do texto */
.qs-historia__ano {
  position: absolute; z-index: -1; left: 3%; bottom: 3%; margin: 0; pointer-events: none; white-space: nowrap;
  font: 700 clamp(280px, 33vw, 660px)/.78 var(--fonte-titulo); letter-spacing: -.02em;
  color: #ffffff09; -webkit-text-stroke: 1px #b2b5c01f;
  transform-origin: left bottom;
  transform: translateX(calc((var(--scene-progress, .5) - .5) * -90px)) scaleX(1.22);
}
.qs-historia__grade { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 6vw, 110px); }
.qs-historia__texto { grid-column: 2; }

/* --- como entendemos consultoria: texto à esquerda; à direita, a foto ocupa a
   altura da seção até a borda da tela e o destaque fica sobre ela ---------- */
.qs-consultoria {
  position: relative; isolation: isolate; overflow-x: clip;
  padding-block: clamp(170px, 13vw, 240px) clamp(120px, 10vw, 190px);
  background: linear-gradient(180deg, #1c1f22, var(--cor-fundo));
}
.qs-consultoria__foto {
  position: absolute; z-index: -1; right: 0; top: 0; bottom: 0; width: 54%;
  clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
}
.qs-consultoria__foto img {
  display: block; width: 100%; height: 100%; object-fit: cover; object-position: 30% 50%;
  filter: grayscale(1) contrast(1.12) brightness(.72);
  transform: scale(1.06) translateY(calc((.5 - var(--scene-progress, .5)) * 40px));
}
.qs-consultoria__foto::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgb(var(--cor-fundo-rgb) / .851), rgb(var(--cor-fundo-rgb) / .502) 35%, rgb(var(--cor-fundo-rgb) / .149) 75%),
    linear-gradient(180deg, #1c1f22, transparent 22%, transparent 78%, var(--cor-fundo)),
    linear-gradient(135deg, #03733d4d, transparent 50%);
}
.qs-consultoria__grade { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 6vw, 120px); align-items: center; }
.qs-consultoria__texto .ip-copy p { color: #dfe2e6; }
.qs-consultoria__texto .ip-copy p:first-child { font-size: clamp(22px, 1.6vw, 30px); line-height: 1.5; color: #fff; }
.qs-consultoria__destaque {
  position: relative; margin: 0; padding-left: clamp(24px, 2vw, 36px);
  font: 700 clamp(34px, 2.9vw, 56px)/1.06 var(--fonte-titulo); text-transform: uppercase; color: #fff;
  text-shadow: 0 2px 24px #000a;
}
.qs-consultoria__destaque::before { content: ""; position: absolute; left: 0; top: .1em; bottom: .1em; width: 3px; background: var(--cor-destaque); box-shadow: 0 0 16px rgb(var(--cor-destaque-rgb) / .6); }

/* --- por que nos chamamos Intellevo: a sequência da abertura da Home ------- */
/* Peças e tempos de 05-home.css (abertura): Intelligence desce, "+" entra,
   Evolution sobe, os complementos saem, Evo encosta em Intell, a marca
   compacta e desliza do centro para a esquerda. A legenda fica oculta e entra
   com o grifo cinético nesse deslize (quem-somos.js). Sem JS, estado final. */
.qs-nome {
  position: relative; overflow-x: clip; padding-block: clamp(100px, 8vw, 150px);
  background: radial-gradient(ellipse 45% 60% at 50% 62%, rgb(var(--cor-destaque-rgb) / .051), transparent 70%), linear-gradient(180deg, var(--cor-fundo), #1a1d20);
}
.qs-nome__grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 5vw, 100px); align-items: center; margin-top: clamp(20px, 3vw, 60px); }
.qs-nome__texto { margin: 0; font-size: clamp(19px, 1.35vw, 25px); line-height: 1.6; }
.qs-marca { --altura: clamp(46px, 4.8vw, 82px); --intell: calc(var(--altura) * 650 / 193); position: relative; height: calc(var(--altura) + 72px); }
.qs-marca__palco { position: absolute; left: 0; top: 50%; translate: 0 -50%; }
.qs-marca__logo { display: block; position: relative; width: calc(var(--altura) * 1200 / 193); height: var(--altura); padding: 0; border: 0; background: none; cursor: pointer; }
.qs-marca__linha { position: absolute; top: 0; left: 0; display: flex; align-items: flex-start; height: var(--altura); white-space: nowrap; }
.qs-marca__linha--baixa { transform: translateX(var(--intell)); }
.qs-marca__peca { display: block; height: var(--altura); width: auto; max-width: none; flex-shrink: 0; }
.qs-marca__sai { display: block; height: calc(var(--altura) * 245 / 193); width: auto; max-width: none; flex-shrink: 0; opacity: 0; }
.qs-marca__mais {
  position: absolute; left: calc(var(--intell) - var(--altura) * .8); top: calc(var(--altura) * 1.32);
  font: 300 calc(var(--altura) * .845)/1 var(--fonte-texto); color: var(--cor-destaque);
  text-shadow: 0 0 18px rgb(var(--cor-destaque-rgb) / .667), 0 0 38px rgb(var(--cor-destaque-rgb) / .376); opacity: 0;
}
.qs-marca__legenda { margin: 24px 0 0; font: 600 clamp(14px, 1.05vw, 19px)/1.3 var(--fonte-texto); letter-spacing: .26em; text-transform: uppercase; white-space: nowrap; color: #dfe2e6; }

.qs-nome--preparada:not(.qs-nome--assentada) .qs-marca__logo { height: calc(var(--altura) * 3.15); }
.qs-nome--preparada:not(.qs-nome--assentada) .qs-marca__linha--alta { opacity: 0; transform: translateY(-80px); }
.qs-nome--preparada:not(.qs-nome--assentada) .qs-marca__linha--baixa { opacity: 0; transform: translate(var(--intell), calc(var(--altura) * 2.1 + 80px)); }
.qs-nome--preparada:not(.qs-nome--assentada) .qs-marca__sai { opacity: 1; }
.qs-nome--preparada:not(.qs-nome--assentada) .qs-marca__palco { transform: translateX(var(--centro-x, 0px)); }
.qs-nome--preparada:not(.qs-nome--assentada) .qs-nome__texto { opacity: 0; transform: translateY(25px); }

.qs-nome--rodando .qs-marca__logo { animation: qs-marca-compacta 1.9s var(--curva) 5.8s forwards; }
.qs-nome--rodando .qs-marca__linha--alta { animation: qs-marca-desce 1.1s var(--curva) .2s both; }
.qs-nome--rodando .qs-marca__mais { animation: qs-marca-mais-entra .65s var(--curva) 1.15s forwards, qs-marca-mais-sai 1.2s ease 4.6s forwards; }
.qs-nome--rodando .qs-marca__linha--baixa { animation: qs-marca-sobe 1.1s var(--curva) 1.8s forwards, qs-marca-junta 2.6s var(--curva) 5s forwards; }
.qs-nome--rodando .qs-marca__sai { animation: qs-marca-sai 2.7s ease 4.5s both; }
.qs-nome--rodando .qs-marca__palco { animation: qs-marca-desloca 2s var(--curva) 7.3s forwards; }
.qs-nome--rodando .qs-nome__texto { animation: qs-marca-entra 1s var(--curva) 8.1s both; }
@keyframes qs-marca-desce { to { opacity: 1; transform: none; } }
@keyframes qs-marca-sobe { to { opacity: 1; transform: translate(var(--intell), calc(var(--altura) * 2.1)); } }
@keyframes qs-marca-mais-entra { from { opacity: 0; transform: scale(.4) rotate(-45deg); } to { opacity: 1; transform: none; } }
@keyframes qs-marca-mais-sai { from { opacity: 1; } to { opacity: 0; transform: scale(.6); } }
@keyframes qs-marca-sai { 30% { opacity: .7; } 100% { opacity: 0; filter: blur(5px); transform: translateX(14px); } }
@keyframes qs-marca-junta { to { transform: translate(var(--intell), 0); } }
@keyframes qs-marca-compacta { to { height: var(--altura); } }
@keyframes qs-marca-desloca { 0% { opacity: 1; } 42% { opacity: .3; filter: blur(2px); } 100% { transform: none; opacity: 1; filter: none; } }
@keyframes qs-marca-entra { from { opacity: 0; transform: translateY(25px); } to { opacity: 1; transform: none; } }

/* --- pilares: a seção é da Home; aqui só se neutraliza a tipografia das
   internas (09-etapa3 e 06-internas mexem em todo h2/h3 de main) */
/* as mesmas variáveis que a Home define em .pagina-home */
.qs .secao--pilares { --largura-max: 1760px; --gutter: clamp(24px, 4.2vw, 80px); --fio: rgba(178, 181, 192, .23); overflow-x: clip; }
.qs .secao--pilares h2.pilares__titulo { line-height: .94 !important; max-width: 11ch !important; margin: 30px 0 36px !important; font-size: clamp(56px, 5.8vw, 104px) !important; letter-spacing: -.025em; }
.qs .secao--pilares h3.pilar__nome { font-size: 30px !important; line-height: 1 !important; margin: 0 0 9px !important; letter-spacing: 0; }
.qs .secao--pilares .pilar__texto { font-size: 16px; line-height: 1.6; margin: 0; }

/* --- o que fazemos --------------------------------------------------------- */
.qs-fazemos { padding-block: clamp(90px, 7vw, 130px); background: #1a1d20; }
.qs-fazemos__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.4vw, 24px); }
.qs-vertical a {
  --cor: var(--cor-destaque);
  position: relative; isolation: isolate; overflow: hidden; display: block; height: 100%;
  padding: 38px 28px 32px; color: #fff; text-decoration: none;
  background: linear-gradient(170deg, #262a2e, #1c1f22);
  border: 1px solid #b2b5c026;
  transition: border-color .35s, transform .45s cubic-bezier(.2, .7, .2, 1);
}
.qs-vertical a::before { content: ""; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--cor); transform-origin: left; transition: height .45s cubic-bezier(.2, .7, .2, 1); }
.qs-vertical a::after {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0;
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--cor) 24%, transparent), transparent 70%);
  transition: opacity .35s;
}
.qs-vertical a:hover { color: #fff; border-color: var(--cor); transform: translateY(-6px); }
.qs-vertical a:hover::before { height: 6px; }
.qs-vertical a:hover::after { opacity: 1; }
.qs-vertical--advisory a { --cor: #b2b5c0; }
.qs-vertical--outsourcing a { --cor: #03733d; }
.qs-vertical--produtos a { --cor: #66a687; }
.qs-vertical h3 { font-size: clamp(28px, 2.2vw, 40px) !important; margin: 0 0 14px !important; }
.qs-vertical h3 span { color: var(--cor); display: inline-block; transition: transform .3s; }
.qs-vertical a:hover h3 span { transform: translate(4px, -4px); }
.qs-vertical--outsourcing h3 span { color: #66a687; }
.qs-vertical p { margin: 0; font-size: 16px; line-height: 1.6; color: #d4d7dc; }

/* --- o que já construímos: números contados na entrada ---------------------- */
.qs-numeros { padding-block: clamp(90px, 7vw, 130px); }
.qs-numeros__lista { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.qs-numeros__lista::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, var(--cor-destaque), #03733d 40%, #b2b5c033 70%); transform-origin: left;
  transition: transform 1.8s cubic-bezier(.2, .7, .2, 1) .2s;
}
.ip-motion .qs-numeros:not(.in-view) .qs-numeros__lista::before { transform: scaleX(0); }
.qs-numeros__lista li { padding: 34px 26px 10px 0; border-right: 1px solid #b2b5c01f; }
.qs-numeros__lista li:last-child { border-right: 0; }
.qs-numeros__lista li + li { padding-left: 26px; }
.qs-numeros__lista strong { display: block; font: 700 clamp(52px, 4.6vw, 88px)/1 var(--fonte-titulo); color: #fff; font-variant-numeric: tabular-nums; transition: color .6s, text-shadow .6s; }
.qs-numeros__lista strong.qs-contado { animation: qs-numero-acende 1.4s ease; }
@keyframes qs-numero-acende { 0% { color: var(--cor-destaque); text-shadow: 0 0 26px rgb(var(--cor-destaque-rgb) / .6); } 100% { color: #fff; text-shadow: none; } }
.qs-numeros__lista span { display: block; margin-top: 10px; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: #b2b5c0; }

/* --- lideranças (ocultas até o painel ligar) -------------------------------- */
.qs-liderancas { padding-block: clamp(70px, 6vw, 110px); }
.qs-liderancas__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 30px; }
.qs-liderancas__lista img { display: block; width: 100%; height: auto; margin-bottom: 18px; filter: grayscale(.4); }
.qs-liderancas__lista strong { display: block; font: 700 28px/1.05 var(--fonte-titulo); text-transform: uppercase; }
.qs-liderancas__lista span { display: block; margin-top: 6px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--cor-destaque); }
.qs-liderancas__lista p { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: #d4d7dc; }

/* --- onde estamos: seção "afundada"; luz verde fina, só nas bordas de cima e
   de baixo, em toda a largura (sem luz radial) ------------------------------- */
.qs-onde {
  position: relative; isolation: isolate; overflow: clip;
  padding-block: clamp(120px, 10vw, 190px);
  background: linear-gradient(180deg, #111214, #18191c 14%, #18191c 86%, #111214);
}
.qs-onde::before, .qs-onde::after {
  content: ""; position: absolute; left: 0; right: 0; z-index: -1; height: clamp(28px, 2.4vw, 46px); pointer-events: none;
  animation: qs-luz-respira 7s ease-in-out infinite;
}
.qs-onde::before { top: 0; border-top: 1px solid rgb(var(--cor-destaque-rgb) / .6); background: linear-gradient(180deg, rgb(var(--cor-destaque-rgb) / .141), transparent); }
.qs-onde::after { bottom: 0; border-bottom: 1px solid rgb(var(--cor-destaque-rgb) / .6); background: linear-gradient(0deg, rgb(var(--cor-destaque-rgb) / .141), transparent); animation-delay: -3.5s; }
@keyframes qs-luz-respira { 0%, 100% { opacity: .7; } 50% { opacity: 1; } }
.qs-onde__grade { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 600px); justify-content: center; align-items: center; gap: clamp(40px, 6vw, 120px); }
.qs main .qs-onde__titulo { margin: 0; font-size: clamp(38px, 3.4vw, 64px); max-width: 12ch; }
.qs-onde__sub { margin: 28px 0 0; padding-left: 22px; border-left: 2px solid var(--cor-destaque); font-size: clamp(18px, 1.3vw, 23px); line-height: 1.5; color: #dfe2e6; }
.qs-globo { position: relative; width: 100%; aspect-ratio: 1; }
.qs-globo::before { content: ""; position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, rgb(var(--cor-destaque-rgb) / .078), transparent 68%); }
.globo__svg { position: relative; display: block; width: 100%; height: 100%; overflow: visible; cursor: pointer; }
.globo__borda { fill: none; stroke: var(--cor-destaque); stroke-width: 1.2; opacity: calc(.7 * var(--globo-fora, 1)); }
.globo__mundo { fill: none; stroke: var(--cor-destaque); stroke-width: .8; stroke-linejoin: round; opacity: calc(.42 * var(--globo-fora, 1)); }
.globo__brasil { fill: none; stroke: var(--cor-destaque); stroke-width: 1.8; stroke-linejoin: round; filter: drop-shadow(0 0 6px rgb(var(--cor-destaque-rgb) / .4)); }
.globo__estados { fill: none; stroke: #66a687; stroke-width: .9; stroke-linejoin: round; opacity: var(--globo-estados, 0); }
.globo__ponto { fill: var(--cor-destaque); stroke: #18191c; stroke-width: 2; }
.globo__onda { fill: none; stroke: var(--cor-destaque); stroke-width: 1.2; opacity: .6; transform-box: fill-box; transform-origin: center; }
.globo--pronto .globo__onda { animation: globo-onda 2.4s ease-out infinite; }
.globo__pino:nth-child(2) .globo__onda { animation-delay: .8s; }
@keyframes globo-onda { from { transform: scale(.3); opacity: .8; } to { transform: scale(2.2); opacity: 0; } }
.globo__rotulo { fill: #fff; font: 700 22px var(--fonte-titulo); text-transform: uppercase; letter-spacing: .03em; paint-order: stroke; stroke: #18191c; stroke-width: 4px; }
.globo--falhou { display: none; }

/* CTA com QR: o código fica à esquerda dos botões */
.e3v-cta__qr { flex: none; display: block; padding: 8px; background: #fff; border-radius: 4px; }
.e3v-cta__qr img { display: block; width: 120px !important; height: 120px !important; }

@media (max-width: 1100px) {
  .qs-fazemos__lista { grid-template-columns: repeat(2, 1fr); }
  .qs-pmv__grade { grid-template-columns: 1fr; }
  .qs-pmv__col { min-height: 0; }
  .qs-pmv__col:hover { transform: scale(1.04); }
}

@media (max-width: 800px) {
  .qs-hero .ip-hero__text { width: 100%; }
  .qs-nome__grade, .qs-consultoria__grade, .qs-historia__grade, .qs-onde__grade { grid-template-columns: 1fr; }
  .qs-historia { padding-block: 90px; }
  .qs-historia__texto { grid-column: auto; }
  .qs-historia__foto { width: 100%; top: -60px; bottom: auto; height: 62%; opacity: .55; }
  .qs-historia__ano { font-size: 190px; left: -8px; bottom: 2%; }
  .qs-consultoria { padding-block: 110px 80px; }
  .qs-consultoria__foto { width: 100%; clip-path: none; opacity: .45; }
  .qs-consultoria__grade { gap: 44px; }
  .qs-marca { --altura: clamp(26px, 8.2vw, 46px); }
  .qs-nome__grade { margin-top: 44px; }
  .qs-marca__legenda { font-size: 12px; letter-spacing: .2em; }
  .qs .secao--pilares { --gutter: 24px; }
  .qs-fazemos__lista { grid-template-columns: 1fr; }
  .qs-numeros__lista { grid-template-columns: 1fr 1fr; }
  .qs-numeros__lista li, .qs-numeros__lista li + li { padding: 24px 12px 12px 0; border-right: 0; border-bottom: 1px solid #b2b5c01f; }
  .qs-onde { padding-block: 90px; }
  .qs-globo { max-width: 440px; margin-inline: auto; }
  .e3v-cta__qr { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .qs-historia__ano { transform: scaleX(1.22); }
  .qs-historia__foto img, .qs-consultoria__foto img, .qs-crenca::before { transform: none; }
  .qs-onde::before, .qs-onde::after { animation: none; }
}

/* ============================================================= CARREIRAS == */

/* banner dividido: texto à esquerda, entrevista em painel à direita */
.car-hero { padding: 150px 0 clamp(70px, 6vw, 110px); background: radial-gradient(ellipse 50% 70% at 90% 10%, rgb(var(--cor-destaque-rgb) / .071), transparent 70%), var(--cor-fundo); }
.car-hero__grade { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 5vw, 100px); align-items: center; }
.car-hero h1 { font-size: clamp(52px, 5vw, 96px) !important; }
.car-hero__lead { margin: 28px 0 0; max-width: 640px; font-size: clamp(18px, 1.25vw, 23px); line-height: 1.6; }
.car-hero__botao { margin-top: 36px; }
.car-hero__painel { position: relative; margin: 0; }
.car-hero__painel::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border: 1px solid rgb(var(--cor-destaque-rgb) / .333); z-index: 0; }
.car-hero__painel img {
  position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 35%;
  filter: grayscale(.45) contrast(1.05) brightness(.9);
  clip-path: polygon(0 0, 100% 0, 100% 88%, 92% 100%, 0 100%);
}
.car-hero__vagas {
  position: absolute; z-index: 2; left: -34px; bottom: 44px;
  display: flex; align-items: center; gap: 14px;
  padding: 16px 20px; color: var(--cor-fundo); text-decoration: none;
  background: var(--cor-destaque); box-shadow: 0 20px 44px #0000006b;
  transition: transform .3s;
}
.car-hero__vagas:hover { color: var(--cor-fundo); transform: translateY(-3px); }
.car-hero__vagas strong { font: 700 44px/1 var(--fonte-titulo); }
.car-hero__vagas span { font-size: 14px; font-weight: 700; line-height: 1.25; max-width: 130px; }

/* processo seletivo: três estações num trilho; a luz corre e acende cada uma */
.car-processo {
  position: relative; isolation: isolate; overflow: clip;
  padding-block: clamp(80px, 7vw, 130px);
  background:
    radial-gradient(ellipse 50% 70% at 0% 100%, #03733d40, transparent 65%),
    linear-gradient(170deg, #1a1d20, var(--cor-fundo));
  border-block: 1px solid #b2b5c01f;
}
.car-processo::before {
  content: ""; position: absolute; z-index: -1; right: -10%; top: -20%; width: 55%; height: 140%;
  background: url('../img/marca-v2/laminas-transparente.webp') center / contain no-repeat; opacity: .05;
}
.car-processo__titulo { margin: 0 0 60px !important; }
.car-processo__trilha { position: relative; }
.car-processo__trilha ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: clamp(16px, 2vw, 34px); }
.car-processo__fio {
  position: absolute; z-index: 0; top: 64px; left: calc(100% / var(--n) / 2); right: calc(100% / var(--n) / 2);
  height: 2px; background: #b2b5c033;
}
.car-processo__fio i { position: absolute; inset: 0; background: linear-gradient(90deg, var(--cor-destaque), #66a687); box-shadow: 0 0 14px rgb(var(--cor-destaque-rgb) / .533); transform-origin: left; transform: scaleX(0); }
.ip-motion .car-processo.in-view .car-processo__fio i { transform: scaleX(1); transition: transform 2.4s cubic-bezier(.45, 0, .3, 1) .3s; }
.car-estacao {
  position: relative; z-index: 1; text-align: center;
  padding: 0 clamp(18px, 2vw, 34px) clamp(28px, 2.6vw, 40px);
  background: linear-gradient(180deg, transparent 64px, #262a2e 64px, #1d2023);
  border: 1px solid transparent; border-image: linear-gradient(180deg, transparent 64px, #b2b5c033 64px) 1;
}
.car-estacao__num {
  display: inline-grid; place-items: center; width: 128px; height: 128px; margin-bottom: 26px;
  font: 700 64px/1 var(--fonte-titulo);
  color: transparent; -webkit-text-stroke: 1.5px #b2b5c0;
  background: var(--cor-fundo); border: 1px solid #b2b5c055; border-radius: 50%;
  transition: color .6s, -webkit-text-stroke-color .6s, border-color .6s, box-shadow .6s;
}
.ip-motion .car-processo.in-view .car-estacao__num { color: var(--cor-destaque); -webkit-text-stroke-color: var(--cor-destaque); border-color: var(--cor-destaque); box-shadow: 0 0 0 8px rgb(var(--cor-destaque-rgb) / .071), 0 0 40px rgb(var(--cor-destaque-rgb) / .251); transition-delay: calc(.4s + var(--i) * .95s); }
html:not(.ip-motion) .car-estacao__num { color: var(--cor-destaque); -webkit-text-stroke-color: var(--cor-destaque); border-color: var(--cor-destaque); }
html:not(.ip-motion) .car-processo__fio i { transform: none; }
.car-estacao h3 { font-size: clamp(28px, 2.2vw, 40px) !important; margin: 0 0 12px !important; }
.car-estacao p { margin: 0 auto; max-width: 360px; font-size: clamp(16px, 1.1vw, 19px); line-height: 1.65; color: #dfe2e6; }

/* vagas: cartões em degradê Evo */
.car-vagas { padding-block: clamp(80px, 7vw, 130px); }
.car-vagas__cabeca { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 30px; }
.car-vagas__cabeca h2 { margin: 0 !important; }
.car-vagas__total { font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--cor-destaque); }
.car-vagas__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.car-vaga {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 1fr auto 40px; align-items: center; gap: 24px;
  padding: 30px clamp(20px, 2.4vw, 40px); color: #fff; text-decoration: none;
  background: linear-gradient(100deg, #03733d, #0c4a2e 45%, #16241d 90%);
  border: 1px solid #66a68766;
  transition: transform .35s, box-shadow .35s, border-color .35s;
}
.car-vaga::after {
  content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgb(var(--cor-destaque-rgb) / .188), transparent 70%);
  transition: opacity .35s;
}
.car-vaga:hover, .car-vaga:focus-visible { color: #fff; transform: translateY(-3px); border-color: var(--cor-destaque); box-shadow: 0 22px 50px #03733d55; }
.car-vaga:hover::after { opacity: 1; }
.car-vaga__titulo { font: 700 clamp(26px, 2.2vw, 40px)/1.05 var(--fonte-titulo); text-transform: uppercase; }
.car-vaga__dados { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.car-vaga__dados span { padding: 6px 11px; background: #ffffff14; border: 1px solid #ffffff33; font-size: 13px; font-weight: 600; color: #fff; }
.car-vaga__ir { font-size: 26px; color: var(--cor-destaque); transition: transform .3s; }
.car-vaga:hover .car-vaga__ir { transform: translate(4px, -4px); }

.car-vagas__vazio {
  display: flex; align-items: center; gap: 22px;
  padding: clamp(28px, 3vw, 44px) clamp(22px, 2.6vw, 44px);
  background: linear-gradient(100deg, #03733d, #0c4a2e 50%, #16241d 95%);
  border: 1px solid #66a68766;
}
.car-vagas__vazio p { margin: 0; font-size: clamp(18px, 1.35vw, 24px); line-height: 1.5; color: #fff; }
.car-vagas__triste { flex: none; fill: none; stroke: var(--cor-destaque); stroke-width: 2.4; stroke-linecap: round; }
.car-vagas__triste .olho { fill: var(--cor-destaque); stroke: none; }
.car-vagas__duvida { margin: 40px 0 0; font-size: 16px; color: #b2b5c0; }
.car-vagas__duvida a { color: var(--cor-destaque); }
.car-espontanea { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(30px, 5vw, 90px); margin-top: 60px; padding: clamp(30px, 3vw, 54px); border: 1px solid #b2b5c033; background: linear-gradient(160deg, #2a2e33, var(--cor-fundo) 70%); }
.car-espontanea h3 { margin: 0 0 14px !important; }
.car-espontanea p { margin: 0; font-size: 17px; line-height: 1.6; color: #dfe2e6; }

/* ================================================================== VAGA == */

.vg-cabeca { padding: 150px 0 clamp(50px, 4vw, 80px); background: radial-gradient(ellipse 50% 80% at 85% 0%, rgb(var(--cor-destaque-rgb) / .063), transparent 70%), var(--cor-fundo); border-bottom: 1px solid #b2b5c01f; }
.vg-cabeca h1 { max-width: 1200px !important; font-size: clamp(48px, 4.8vw, 92px) !important; }
.vg-dados { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.vg-dados li { padding: 8px 14px; border: 1px solid rgb(var(--cor-destaque-rgb) / .4); font-size: 14px; font-weight: 600; letter-spacing: .04em; color: #fff; }
.vg-dados li:first-child { background: var(--cor-destaque); border-color: var(--cor-destaque); color: var(--cor-fundo); }
.vg-resumo { margin: 26px 0 0; max-width: 760px; font-size: clamp(18px, 1.25vw, 22px); line-height: 1.6; color: #dfe2e6; }

.vg-corpo { padding-block: clamp(60px, 5vw, 100px) clamp(80px, 7vw, 130px); }
.vg-corpo__grade { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(40px, 5vw, 100px); align-items: start; }
.vg-texto h2 { font-size: clamp(30px, 2.4vw, 44px) !important; margin: 0 0 18px !important; }
.vg-texto h2:not(:first-child) { margin-top: 50px !important; }
.vg-texto ul { margin: 0; padding-left: 1.1em; }
.vg-texto li { margin-bottom: 10px; font-size: clamp(17px, 1.15vw, 20px); line-height: 1.6; }
.vg-texto li::marker { color: var(--cor-destaque); }
.vg-processo { margin: 0; padding-left: 1.2em; }
.vg-processo li { margin-bottom: 12px; font-size: 17px; line-height: 1.6; color: #dfe2e6; }
.vg-processo strong { color: #fff; }
.vg-candidatura {
  position: sticky; top: 120px;
  padding: clamp(26px, 2.6vw, 44px);
  background: linear-gradient(165deg, #2a2e33, #1f2225 70%);
  border: 1px solid #b2b5c033; border-top: 2px solid var(--cor-destaque);
  box-shadow: 0 30px 70px #0000005c;
}
.vg-candidatura h2 { font-size: clamp(32px, 2.4vw, 44px) !important; margin: 0 0 24px !important; }
.vg-candidatura p { margin: 0; font-size: 17px; line-height: 1.6; }
.vg-candidatura p a { color: var(--cor-destaque); }

/* =============================================================== CONTATO == */

.ct-dobra {
  position: relative; isolation: isolate; overflow: clip;
  min-height: 100vh; padding: 150px 0 clamp(70px, 6vw, 110px);
  background:
    radial-gradient(ellipse 50% 60% at 78% 40%, rgb(var(--cor-destaque-rgb) / .078), transparent 70%),
    radial-gradient(ellipse 50% 50% at 0% 100%, #03733d40, transparent 65%),
    var(--cor-fundo);
}
/* fundo: cubos da marca (revisaoVerde/Background) na resolução original, sem
   desfoque; só a translucidez deixa o Black da Intellevo aparecer por trás */
.ct-dobra::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: url('../img/institucional/contato-cubos.jpg') center / cover no-repeat;
  opacity: .34;
  -webkit-mask-image: linear-gradient(90deg, #0008, #000 55%);
  mask-image: linear-gradient(90deg, #0008, #000 55%);
}
.ct-dobra__grade { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(40px, 5vw, 100px); align-items: start; }
.ct-texto h1 { font-size: clamp(56px, 5.4vw, 104px) !important; }
.ct-texto__lead { margin: 28px 0 0; max-width: 560px; font-size: clamp(18px, 1.3vw, 23px); line-height: 1.6; }
.ct-canais { margin-top: 50px; }
.ct-canais .e3-kicker { color: var(--cor-destaque); }
.ct-canais ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #b2b5c033; }
.ct-canais li { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid #b2b5c033; font-size: 17px; }
.ct-canais li span:first-child { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #b2b5c0; align-self: center; }
.ct-canais a { color: #fff; text-decoration: none; border-bottom: 1px solid rgb(var(--cor-destaque-rgb) / .4); }
.ct-canais a:hover { color: var(--cor-destaque); }
.ct-painel {
  padding: clamp(28px, 3vw, 54px);
  background: linear-gradient(160deg, #2c3136e6, rgb(var(--cor-fundo-rgb) / .949) 70%);
  border: 1px solid #b2b5c033; border-top: 2px solid var(--cor-destaque);
  box-shadow: 0 40px 90px #00000070;
  backdrop-filter: blur(14px);
}
.ct-painel__titulo { font-size: clamp(32px, 2.6vw, 48px) !important; margin: 0 0 28px !important; }

/* ============================================================ DOCUMENTOS == */

.doc-cabeca { padding: 150px 0 clamp(40px, 4vw, 70px); border-bottom: 1px solid #b2b5c01f; }
.doc-cabeca h1 { font-size: clamp(48px, 4.6vw, 88px) !important; }
.doc-resumo { margin: 24px 0 0; max-width: 760px; font-size: clamp(18px, 1.25vw, 22px); line-height: 1.6; color: #dfe2e6; }
.doc-data { margin: 18px 0 0; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: #b2b5c0; }
.doc-corpo { padding-block: clamp(50px, 5vw, 90px) clamp(80px, 7vw, 130px); }
.doc-corpo__grade { display: grid; grid-template-columns: minmax(260px, .42fr) 1fr; gap: clamp(40px, 5vw, 100px); align-items: start; }
.doc-lado { position: sticky; top: 120px; display: grid; gap: 34px; }
.doc-id { margin: 0; padding: 24px; border: 1px solid #b2b5c033; border-left: 2px solid var(--cor-destaque); background: #1c1f22; display: grid; gap: 14px; }
.doc-id dt { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #b2b5c0; }
.doc-id dd { margin: 3px 0 0; font-size: 15px; line-height: 1.5; color: #fff; }
.doc-id__falta { color: #b2b5c0 !important; font-style: italic; }
.doc-sumario ol { list-style: none; margin: 0; padding: 0; counter-reset: sumario; }
.doc-sumario li { counter-increment: sumario; }
.doc-sumario a { display: flex; gap: 12px; padding: 8px 0; font-size: 15px; color: #d4d7dc; text-decoration: none; border-bottom: 1px solid #b2b5c01f; }
.doc-sumario a::before { content: counter(sumario, decimal-leading-zero); color: var(--cor-destaque); font-weight: 700; font-size: 13px; padding-top: 2px; }
.doc-sumario a:hover { color: #fff; }
.doc-texto { max-width: 780px; }
.doc-texto h2 {
  font-size: clamp(26px, 2vw, 36px) !important; max-width: none !important;
  margin: 54px 0 16px !important; scroll-margin-top: 120px;
}
.doc-texto h2:first-child { margin-top: 0 !important; }
.doc-texto h3 { font-size: clamp(21px, 1.5vw, 26px) !important; margin: 30px 0 10px !important; }
.doc-texto p, .doc-texto li { font-size: clamp(17px, 1.1vw, 19px); line-height: 1.75; color: #e3e5e8; }
.doc-texto p { margin: 0 0 16px; }
.doc-texto ul, .doc-texto ol { margin: 0 0 16px; padding-left: 1.2em; }
.doc-texto li::marker { color: var(--cor-destaque); }
.doc-texto a { color: var(--cor-destaque); }

/* ========================================================== FORMULÁRIOS == */

/* Erro usa um coral funcional, fora da paleta de marca, só para mensagens de
   validação: vermelho e verde não servem para "errado" e "certo" sem outra
   pista, então o texto sempre acompanha a cor. */
.form { --form-erro: #ff9c8a; position: relative; }
.form__isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form__grade { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.form__grade--uma { grid-template-columns: 1fr; }
.form__campo { display: grid; gap: 8px; min-width: 0; }
.form__campo--inteiro { grid-column: 1 / -1; }
.form__campo label, .form__rotulo { font-size: 14px; font-weight: 600; color: #fff; }
.form__obrigatorio { margin-left: 6px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--cor-destaque); }
.form input[type="text"], .form input[type="email"], .form input[type="tel"], .form input[type="url"], .form textarea {
  width: 100%; padding: 14px 16px;
  font: 400 16px/1.4 var(--fonte-texto); color: #fff;
  background: #16181b; border: 1px solid #b2b5c055; border-radius: 2px;
  transition: border-color .25s, box-shadow .25s, background .25s;
}
.form textarea { resize: vertical; min-height: 120px; }
.form select {
  width: 100%; padding: 14px 44px 14px 16px; appearance: none; cursor: pointer;
  font: 400 16px/1.4 var(--fonte-texto); color: #fff;
  /* seta desenhada com gradientes, para seguir a cor de destaque do painel */
  background:
    linear-gradient(45deg, transparent 50%, var(--cor-destaque) 50% 64%, transparent 64%) no-repeat calc(100% - 25px) 52% / 7px 7px,
    linear-gradient(-45deg, transparent 50%, var(--cor-destaque) 50% 64%, transparent 64%) no-repeat calc(100% - 19px) 52% / 7px 7px,
    #16181b;
  border: 1px solid #b2b5c055; border-radius: 2px; transition: border-color .25s, box-shadow .25s;
}
.form select:hover { border-color: #b2b5c099; }
.form select:focus { outline: none; border-color: var(--cor-destaque); box-shadow: 0 0 0 3px rgb(var(--cor-destaque-rgb) / .149); }
.form select option { background: var(--cor-fundo); color: #fff; }
.form input::placeholder, .form textarea::placeholder { color: #8c919b; }
.form input:hover, .form textarea:hover { border-color: #b2b5c099; }
.form input:focus, .form textarea:focus { outline: none; border-color: var(--cor-destaque); box-shadow: 0 0 0 3px rgb(var(--cor-destaque-rgb) / .149); background: #1a1d20; }
.form__campo.is-erro input, .form__campo.is-erro textarea, .form__campo.is-erro select, .form__campo.is-erro .form__arquivo-alvo { border-color: var(--form-erro); box-shadow: 0 0 0 3px #ff9c8a1f; }

/* arquivo: o input real fica por cima, transparente, e recebe o clique */
.form__arquivo-alvo {
  position: relative; display: flex; align-items: center; gap: 14px;
  padding: 10px; border: 1px dashed #b2b5c077; background: #16181b; cursor: pointer;
  transition: border-color .25s, background .25s;
}
.form__arquivo-alvo:hover, .form__arquivo-alvo:focus-within { border-color: var(--cor-destaque); background: #1a1d20; }
.form__arquivo-alvo input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.form__arquivo-botao { flex: none; padding: 9px 14px; background: #2c3136; border: 1px solid #b2b5c055; font-size: 14px; font-weight: 700; color: #fff; }
.form__arquivo-nome { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; color: #b2b5c0; }
.form.tem-arquivo .form__arquivo-nome { color: #fff; }
.form.tem-arquivo .form__arquivo-botao { border-color: var(--cor-destaque); }
.form__dica { font-size: 13px; line-height: 1.5; color: #b2b5c0; }

.form__aceite { grid-template-columns: 22px 1fr; align-items: start; gap: 12px; }
.form__aceite input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--cor-destaque); }
.form__aceite label { font-weight: 400; font-size: 15px; line-height: 1.55; color: #dfe2e6; }
.form__aceite a, .form__aviso a { color: var(--cor-destaque); }

.form__rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 30px; margin-top: 26px; }
.form__aviso { margin: 0; flex: 1 1 260px; font-size: 14px; line-height: 1.55; color: #b2b5c0; }
.form__enviar { border: 0; cursor: pointer; font-family: var(--fonte-texto); }
.form__enviar:disabled { opacity: .7; cursor: progress; transform: none; }
.form__status { margin: 18px 0 0; min-height: 1.5em; font-size: 15px; line-height: 1.5; }
.form__status:empty { margin: 0; min-height: 0; }
.form__status[data-tipo="enviando"] { color: #b2b5c0; }
.form__status[data-tipo="erro"] { color: var(--form-erro); }
.form__status[data-tipo="erro"]::before { content: "Não enviado. "; font-weight: 700; }
.form__status[data-tipo="ok"] { padding: 14px 16px; color: var(--cor-fundo); background: var(--cor-destaque); font-weight: 600; }
.form__status[data-tipo="ok"]::before { content: "✓ "; }

/* ======================================================== telas menores == */

@media (max-width: 1100px) {
  .car-vaga { grid-template-columns: 1fr 40px; }
  .car-vaga__dados { grid-column: 1; justify-content: flex-start; }
  .car-vaga__ir { grid-row: 1 / span 2; grid-column: 2; }
}

@media (max-width: 800px) {
  .ai-hero { min-height: 78vh; padding: 115px 0 150px; }
  .ai-caminhos { margin-top: -90px; }
  .ai-caminhos__grade, .car-hero__grade, .vg-corpo__grade, .ct-dobra__grade, .doc-corpo__grade, .car-espontanea { grid-template-columns: 1fr; }
  .ai-caminho { min-height: 0; }

  .car-hero { padding: 115px 0 70px; }
  .car-hero__vagas { left: 12px; bottom: -24px; }
  .car-processo__trilha ol { grid-template-columns: 1fr; gap: 40px; }
  .car-processo__fio { top: 64px; bottom: 64px; left: 50%; right: auto; width: 2px; height: auto; }
  .car-processo__fio i { transform-origin: top; }
  .ip-motion .car-processo.in-view .car-processo__fio i { transform: none; }
  .car-vaga { padding: 24px 18px; }

  .vg-cabeca, .doc-cabeca { padding-top: 115px; }
  .vg-candidatura, .doc-lado { position: static; }

  .ct-dobra { min-height: 0; padding-top: 115px; }
  .ct-canais li { grid-template-columns: 90px 1fr; }

  .form__grade { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .ai-hero__foto img { transform: none; }
  .ai-caminho::after, .car-vaga::after { display: none; }
}

/* CTA das institucionais: fundo escuro com a marca, porque o cinza é a cor
   do Advisory */
.inst .e3v-cta { background: linear-gradient(100deg, #2b2f33, var(--cor-fundo) 70%); color: #fff; border-top: 1px solid #b2b5c026; }
.inst .e3v-cta .ip-textlink { color: var(--cor-destaque); }
.inst .e3v-cta .ip-textlink:hover { color: #fff; }

/* --- 30/09/2026: fotos do escritório (pasta BG do Marketing) ------------- */

/* A Intellevo: fachada; título e subtítulo à direita, alinhados à direita.
   A foto fica visível à esquerda (placa e palmeira) e escurece à direita,
   onde está o texto. No celular o texto volta à esquerda para ler melhor. */
.ai-hero__foto img { object-position: 12% 42%; }
@media (min-width: 801px) {
  .ai-hero__texto { text-align: right; }
  /* título na metade direita, sem cobrir a placa da fachada */
  .ai-hero__texto h1 { max-width: min(60%, 880px) !important; margin-left: auto !important; margin-right: 0 !important; }
  .ai-hero__lead { max-width: 560px; margin-left: auto !important; margin-right: 0 !important; }
  .ai-hero__texto .ip-breadcrumb { justify-content: flex-end; }
  .ai-hero__texto h1, .ai-hero__lead { margin-left: auto; }
  .ai-hero__texto .traco-marca::after { margin-left: auto; background: linear-gradient(270deg, var(--cor-destaque), rgb(var(--cor-destaque-rgb) / 0)); transform-origin: right; }
  .ai-hero__foto::after {
    background:
      linear-gradient(0deg, var(--cor-fundo) 0%, rgb(var(--cor-fundo-rgb) / .902) 22%, rgb(var(--cor-fundo-rgb) / .133) 60%, rgb(var(--cor-fundo-rgb) / .4) 100%),
      linear-gradient(270deg, rgb(var(--cor-fundo-rgb) / .941) 0%, rgb(var(--cor-fundo-rgb) / .702) 38%, transparent 70%);
  }
}

/* Quem somos: escritório no banner, com a parede "Inspire, Engage & Deliver"
   e a equipe à vista (a borda esquerda já escurece para o texto). */
.qs-hero .ip-hero__photo img { object-position: 72% 42%; }

/* Desde 2018: o "i" da recepção, no mesmo recorte, na cor original (só um
   pouco mais escuro, sem o tom verde nem o desfoque da ampulheta de antes);
   a parte direita vai ficando transparente até sumir. */
.qs-historia__foto img { filter: saturate(.72) brightness(.8) contrast(1.05); }
.qs-historia__foto {
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 30%, #0000 96%);
  mask-image: linear-gradient(90deg, #000 0%, #000 30%, #0000 96%);
}
.qs-historia__foto img { object-position: 38% 50%; }
@media (max-width: 800px) {
  .qs-historia__foto { -webkit-mask-image: linear-gradient(90deg, #000 20%, #0000 100%); mask-image: linear-gradient(90deg, #000 20%, #0000 100%); }
}
/* a equipe da mesma foto, bem sutil, sob o texto; some nas bordas */
.qs-historia__equipe {
  position: absolute; z-index: -3; top: 0; bottom: 0; left: 38%; right: 0;
  overflow: hidden; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, #0000 0%, #000 34%, #000 78%, #0000 100%), linear-gradient(180deg, #0000 0%, #000 22%, #000 72%, #0000 100%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg, #0000 0%, #000 34%, #000 78%, #0000 100%), linear-gradient(180deg, #0000 0%, #000 22%, #000 72%, #0000 100%);
  mask-composite: intersect;
}
.qs-historia__equipe img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% 70%; opacity: .3; filter: saturate(.7) brightness(.95); }
@media (max-width: 800px) {
  .qs-historia__equipe { left: 0; }
  .qs-historia__equipe img { opacity: .2; }
}
