/* ============================================================
   Evoy · Seja um representante — sistema visual v2 (futurista)
   Base: guia da marca (briefing/identidade-evoy.md). Menos barras,
   mais luz: glows em lima/verde, vidro, grade fina, anel do "o".
   ============================================================ */
@font-face { font-family: "Aeonik"; src: url("fontes/Aeonik-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Aeonik"; src: url("fontes/Aeonik-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Aeonik"; src: url("fontes/Aeonik-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Aeonik"; src: url("fontes/Aeonik-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Thin.woff2") format("woff2"); font-weight: 100; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Light.woff2") format("woff2"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-LightItalic.woff2") format("woff2"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Medium.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-MediumItalic.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-BoldItalic.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-Black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Roboto"; src: url("fontes/Roboto-BlackItalic.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; }

:root {
  --verde-escuro: #00372D;
  --preto: #000000;                 /* Preto (manual) */
  --verde-noite: #00372D;           /* Verde escuro · Pantone 567 C */
  --verde-abismo: #000000;          /* base da página: Preto */
  --painel: #00372D;                /* cartões sobre preto: Verde escuro */
  --painel-borda: rgba(255,255,255,.08);
  --laranja: #FF6400;               /* Pantone 1585 C · descritivo da submarca */
  --verde: #00D23C;
  --lima: #BEFF00;
  --verde-claro: #D2FFD2;
  --verde-agua: #78FFC8;            /* Green 0921 C */
  --cinza-900: #283228;             /* 447 C */
  --cinza-600: #646E64;             /* 4193 C */
  --cinza-500: #828C82;             /* 7539 C */
  --cinza-300: #B9C8B9;             /* 5665 C */
  --cinza-100: #D2E1D2;             /* 621 C */
  --branco: #FFFFFF;
  --erro: #FF1432;

  --font-titulo: "Aeonik", "Manrope", system-ui, sans-serif;
  --font-texto: "Roboto", system-ui, sans-serif;
  --max: 1180px;
  --raio: 4px;
  --vidro: rgba(255,255,255,.04);
  --vidro-borda: rgba(255,255,255,.1);
  --glow-lima: 0 0 60px rgba(190,255,0,.35);
  --glow-verde: 0 0 80px rgba(0,210,60,.35);
  --sombra: 0 30px 80px rgba(0,30,20,.35);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { padding: 0; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-texto); color: var(--branco); background: var(--verde-abismo); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--font-titulo); margin: 0 0 .5em; line-height: 1.02; letter-spacing: -.025em; color: var(--branco); }
h1 { font-size: clamp(2.6rem, 5.4vw, 4.6rem); font-weight: 700; }
.hero h1 { max-width: 13ch; }
h1 b, h2 b { font-weight: 700; }
h2 { font-size: clamp(2rem, 3.8vw, 3rem); font-weight: 700; }
h3 { font-size: 1.2rem; font-weight: 500; }
/* barra lima como pontuação do título (a "/" da referência) */
.slash { display: inline-block; width: .16em; height: .9em; background: var(--lima); transform: skewX(-25.4deg); margin-left: .42em; margin-right: .1em; vertical-align: -.06em; }
p { margin: 0 0 1em; }
.container { width: min(100% - 40px, var(--max)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tag { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--font-titulo); font-weight: 500; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; color: var(--lima); margin-bottom: 1rem; }
.tag::before { content: ""; width: 22px; height: 1px; background: currentColor; box-shadow: 0 0 10px currentColor; }
.lead { font-size: 1.12rem; color: rgba(255,255,255,.7); max-width: 40rem; font-weight: 300; }
.lead b { font-weight: 700; color: var(--branco); }

/* fundos: grade fina + glows (substituem as barras) */
.grade-fina { position: relative; isolation: isolate; }
.grade-fina::before { content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background-image: linear-gradient(rgba(0,210,60,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,210,60,.05) 1px, transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 100%); }
.grade-fina.clara::before { background-image: linear-gradient(rgba(0,210,60,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,210,60,.04) 1px, transparent 1px); }
.glow { position: absolute; z-index: 0; border-radius: 50%; filter: blur(90px); pointer-events: none; opacity: .28; }
.glow--lima { background: var(--lima); }

/* ---------- botões (guia p. 53 e referência): paralelogramo no ângulo das barras ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-titulo); font-weight: 500; font-size: 1rem; line-height: 1; text-decoration: none; cursor: pointer;
  padding: 1.05rem 1.9rem; margin-inline: .45rem; border: 2px solid var(--verde); background: var(--verde); color: var(--verde-escuro); border-radius: 0; position: relative;
  transform: skewX(-25.4deg); transition: background .18s, color .18s, border-color .18s, transform .18s; }
.btn__t { display: inline-flex; align-items: center; gap: .6rem; transform: skewX(25.4deg); white-space: nowrap; }
/* seta do botão principal */
.btn:not(.btn--contorno):not(.btn--voltar) .btn__t::after { content: ""; width: 1.05em; height: 1.05em; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-seta-dir' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M1.29 11.04H21.37V12.68H1.29ZZ' fill='%23fff' fill-rule='nonzero'/><path d='M10.99 22.47L9.89 21.25L19.46 12.58L20.56 13.79L10.99 22.47Z' fill='%23fff' fill-rule='nonzero'/><path d='M21.63 13.10L9.90 2.76L10.98 1.53L22.71 11.87L21.63 13.10Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.51 10.70H22.90V16.52H18.51ZZ' fill='%23000' fill-rule='nonzero'/><path d='M21.37 8.32H25.76V14.15H21.37ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 -0.04H11.31V5.79H6.93ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 18.37H11.31V24.20H6.93ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-seta-dir)'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-seta-dir' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M1.29 11.04H21.37V12.68H1.29ZZ' fill='%23fff' fill-rule='nonzero'/><path d='M10.99 22.47L9.89 21.25L19.46 12.58L20.56 13.79L10.99 22.47Z' fill='%23fff' fill-rule='nonzero'/><path d='M21.63 13.10L9.90 2.76L10.98 1.53L22.71 11.87L21.63 13.10Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.51 10.70H22.90V16.52H18.51ZZ' fill='%23000' fill-rule='nonzero'/><path d='M21.37 8.32H25.76V14.15H21.37ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 -0.04H11.31V5.79H6.93ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 18.37H11.31V24.20H6.93ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-seta-dir)'/></svg>") center / contain no-repeat; }
.btn:hover { background: var(--lima); border-color: var(--lima); color: var(--verde-escuro); }
.btn:active { transform: skewX(-25.4deg) translateY(1px); }
.btn:focus-visible { outline: 3px solid var(--lima); outline-offset: 3px; }
.btn--verde { background: var(--verde); }
.btn--contorno { background: transparent; color: var(--branco); border-color: var(--verde); }
.btn--contorno:hover { background: var(--verde); color: var(--verde-escuro); }
.btn--grande { padding: 1.15rem 2.3rem; font-size: 1.06rem; }
.btn--brilho { box-shadow: none; }

/* ---------- cabeçalho ---------- */
.topo { position: sticky; top: 0; z-index: 30; background: rgba(0,0,0,.88); backdrop-filter: saturate(1.2) blur(14px); border-bottom: 1px solid rgba(255,255,255,.06); color: var(--branco); }
.topo__logo { display: inline-flex; align-items: flex-start; text-decoration: none; --logo-h: 30px; }
.topo__logo img { height: var(--logo-h); width: auto; }
/* Submarca (guia, p. 36-39): descritivo em Aeonik Medium, na mesma linha de base do wordmark, altura-x em 43% da do logo, começando na perna do "y" */
.topo__logo span { display: none; font-family: var(--font-titulo); font-weight: 500; font-size: calc(var(--logo-h) * .46); line-height: 1; color: var(--laranja); letter-spacing: 0; margin-left: calc(var(--logo-h) * -.01); margin-top: calc(var(--logo-h) * .2); }
@media (min-width: 560px) { .topo__logo span { display: inline; } }
.rodape .topo__logo span { display: inline; }
.topo__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; height: 72px; }
.topo__logo img { height: 28px; width: auto; }
.topo nav { display: none; gap: 1.9rem; font-family: var(--font-titulo); font-weight: 700; font-size: .95rem; }
.topo nav a { text-decoration: none; color: var(--branco); }
.topo nav a:hover { color: var(--lima); }
.topo .btn { padding: .78rem 1.35rem; font-size: .9rem; margin-right: .6rem; }
@media (min-width: 980px) { .topo nav { display: flex; } }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--verde-abismo); color: var(--branco); }
/* foto de fundo com sobreposição escura (como na referência) */
.hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url("img/fotos/hero.jpg") center 40% / cover no-repeat; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(0,0,0,.97) 0%, rgba(0,0,0,.84) 40%, rgba(0,0,0,.42) 72%, rgba(0,0,0,.55) 100%), linear-gradient(180deg, rgba(0,0,0,.6) 0%, transparent 28%, transparent 68%, var(--verde-abismo) 100%), radial-gradient(ellipse 40% 50% at 80% 40%, rgba(0,210,60,.18), transparent 70%); }
/* Barra grossa da marca em contorno (o "/" do logo, só o traço) */
.barra-contorno { position: absolute; z-index: 1; pointer-events: none; border: 2px solid var(--lima); transform: skewX(-25.4deg); box-shadow: 0 0 30px rgba(190,255,0,.35), inset 0 0 30px rgba(190,255,0,.12); opacity: .95; }
.barra-contorno::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(190,255,0,.14), transparent 45%, rgba(190,255,0,.06)); }
/* Barra grossa do guia (perna do "y"): ângulo 25,4°, largura horizontal = 0,178 da altura (medido nos vetores do guia, p. 32 e 45). A ponta de baixo fica visível; a de cima sai pelo topo. */
.hero .barra-contorno { display: none; right: 16%; bottom: 33%; top: auto; height: 108%; width: auto; aspect-ratio: 231 / 1300; box-shadow: none; opacity: 1; }
.hero .barra-contorno::before { display: none; }
.hero .barra-contorno--2 { right: 42%; bottom: 26%; height: 44%; opacity: .28; box-shadow: none; }
.fundo-rico .barra-contorno { width: auto; aspect-ratio: 231 / 1300; }
@media (min-width: 900px) { .hero .barra-contorno { display: none; } } /* teste: formulário no lugar da barra */
/* luz e grão: profundidade sem sair da paleta */
.luz { position: absolute; pointer-events: none; z-index: 0; }
.luz--varredura { inset: 0; background: linear-gradient(115deg, transparent 0 38%, rgba(190,255,0,.06) 46%, rgba(0,210,60,.10) 52%, transparent 62%); mix-blend-mode: screen; }
.grao { position: absolute; inset: 0; pointer-events: none; z-index: 1; opacity: .07; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.9'/></svg>"); }
.fundo-rico { position: relative; isolation: isolate; background: radial-gradient(ellipse 60% 70% at 78% 18%, rgba(0,55,45,.95) 0%, rgba(0,55,45,.35) 40%, transparent 70%), radial-gradient(ellipse 50% 50% at 10% 90%, rgba(0,210,60,.12) 0%, transparent 60%), linear-gradient(180deg, var(--preto) 0%, #001a15 100%); }
.fundo-rico.verde { background: radial-gradient(ellipse 70% 60% at 20% 20%, rgba(0,210,60,.18) 0%, transparent 60%), radial-gradient(ellipse 60% 70% at 90% 80%, rgba(190,255,0,.08) 0%, transparent 60%), linear-gradient(160deg, #00372D 0%, #001f19 60%, var(--preto) 100%); }
.fundo-rico > .container { position: relative; z-index: 2; }
.fundo-rico .barra-contorno { opacity: .16; box-shadow: none; }
.fundo-rico .barra-contorno::before { display: none; }
.hero > .container { position: relative; z-index: 1; }
.hero .glow--lima{ display: none; }
.hero__inner { display: grid; gap: 3rem; padding: 3.5rem 0 5.5rem; align-items: center; }
@media (min-width: 900px) { .hero__inner { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 4rem; padding: 5rem 0 8rem; min-height: 760px; } }
.hero h1 { color: var(--branco); margin-bottom: 1.3rem; }
.hero .lead { color: rgba(255,255,255,.74); font-size: 1.18rem; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.9rem; align-items: center; }
.painel { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(400px, 92%); background: rgba(15,42,34,.82); border: 1px solid var(--vidro-borda); border-radius: var(--raio); backdrop-filter: blur(16px); box-shadow: var(--sombra), inset 0 1px 0 rgba(255,255,255,.08); padding: 1.3rem 1.4rem; font-size: .9rem; }
.kpi { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; padding: .8rem .9rem; }
.kpi small { display: block; color: rgba(255,255,255,.6); font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; }
.kpi strong { display: block; font-family: var(--font-titulo); font-size: 1.45rem; font-weight: 700; color: var(--lima); line-height: 1.15; margin-top: .2rem; }
.chip { position: absolute; display: inline-flex; align-items: center; gap: .5rem; background: rgba(2,35,28,.7); border: 1px solid var(--vidro-borda); backdrop-filter: blur(12px); border-radius: 999px; padding: .55rem .9rem .55rem .6rem; font-family: var(--font-titulo); font-size: .82rem; color: var(--branco); box-shadow: 0 10px 30px rgba(0,0,0,.3); }
.chip i { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--lima); color: var(--verde-abismo); font-style: normal; font-weight: 700; font-size: .8rem; }

/* faixa de confiança: quatro cartões que se sobrepõem à base do hero */
.faixa { position: relative; z-index: 3; background: transparent; margin-top: -4.5rem; }
.faixa::before { display: none; }
.faixa__inner { display: grid; gap: .9rem; padding: 0; }
@media (min-width: 720px) { .faixa__inner { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .faixa__inner { grid-template-columns: repeat(4, 1fr); } }
.faixa__item { display: flex; flex-direction: column; gap: .7rem; padding: 1.4rem 1.4rem 1.5rem; font-size: .92rem; color: rgba(255,255,255,.7);
  background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.55), rgba(255,255,255,.08) 40%, rgba(0,210,60,.25) 100%) border-box; border: 1px solid transparent; border-radius: var(--raio); box-shadow: 0 24px 60px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08); }
.faixa__item svg { width: 40px; height: 40px; padding: 7px; flex: none; color: var(--lima); background: rgba(190,255,0,.1); border-radius: var(--raio); filter: none; }
.faixa__item strong { display: block; font-family: var(--font-titulo); font-weight: 700; font-size: 1.02rem; color: var(--branco); margin-bottom: .15rem; }
@media (max-width: 719px) { .faixa { margin-top: -2rem; } }

/* ---------- seções ---------- */
.secao { padding: 4.5rem 0; position: relative; overflow: hidden; isolation: isolate; }
.secao > .container { position: relative; z-index: 2; }
@media (min-width: 900px) { .secao { padding: 6.5rem 0; } }
.secao--suave { background: linear-gradient(160deg, #00372D 0%, #00291f 55%, #001a15 100%); }
.secao--suave .cartao, .secao--suave .perfil, .secao--suave .faq details, .secao--suave .simulador { background: linear-gradient(160deg, rgba(0,0,0,.85), rgba(0,0,0,.6)) padding-box, linear-gradient(150deg, rgba(190,255,0,.5), rgba(255,255,255,.06) 45%, rgba(0,210,60,.2)) border-box; border: 1px solid transparent; backdrop-filter: blur(6px); }
.secao--suave .passo__num { box-shadow: 0 0 0 6px var(--preto), 0 0 24px rgba(190,255,0,.35); }
.secao__cab { max-width: 46rem; margin-bottom: 2.8rem; }
.secao__cab h2 { margin-bottom: .8rem; }
.grade { display: grid; gap: 1.1rem; }
@media (min-width: 900px) { .grade--3 { grid-template-columns: repeat(3, 1fr); } }

/* cartões de vidro / claros */
.cartao { position: relative; background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.55), rgba(255,255,255,.08) 40%, rgba(0,210,60,.25) 100%) border-box; border: 1px solid transparent; border-radius: var(--raio); padding: 1.7rem; box-shadow: 0 20px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08); transition: transform .25s, box-shadow .25s; }
.cartao:hover { transform: translateY(-4px); box-shadow: 0 30px 70px rgba(0,0,0,.55), 0 0 40px rgba(190,255,0,.12), inset 0 1px 0 rgba(255,255,255,.12); }
.cartao h3 { margin-top: .2rem; }
.cartao p { color: rgba(255,255,255,.7); margin: 0; font-size: .96rem; }
.cartao .icone { width: 44px; height: 44px; padding: 7px; border-radius: var(--raio); background: rgba(190,255,0,.1); color: var(--lima); margin-bottom: 1.1rem; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* pra quem é: foto em máscara paralelograma + lista de perfis */
#pra-quem { padding-top: 4rem; }
@media (min-width: 900px) { #pra-quem { padding-top: 5.5rem; } }
.praquem { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 960px) { .praquem { grid-template-columns: .85fr 1.15fr; gap: 4rem; } }
.mascara { position: relative; aspect-ratio: 4 / 5; max-width: 480px; }
.mascara img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: polygon(24% 0, 100% 0, 76% 100%, 0 100%); }
.perfis { display: grid; gap: 0; }
.perfis .perfil { background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; box-shadow: none; padding: 1.1rem 0; transition: none; }
.perfis .perfil:first-child { border-top: 1px solid rgba(255,255,255,.1); }
.perfis .perfil:hover { transform: none; }
.perfis .perfil svg { width: 44px; height: 44px; padding: 8px; clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%); border-radius: 0; background: rgba(190,255,0,.14); }

/* perfis */
.perfil { display: flex; gap: 1rem; align-items: flex-start; padding: 1.3rem 1.4rem; background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.45), rgba(255,255,255,.06) 45%, rgba(0,210,60,.2)) border-box; border: 1px solid transparent; border-radius: var(--raio); box-shadow: 0 16px 40px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.07); transition: transform .25s, box-shadow .25s; }
.perfil:hover { transform: translateY(-3px); box-shadow: 0 26px 60px rgba(0,0,0,.5), 0 0 34px rgba(190,255,0,.1); }
.perfil svg { width: 40px; height: 40px; padding: 8px; border-radius: var(--raio); flex: none; color: var(--lima); background: rgba(190,255,0,.1); stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.perfil strong { display: block; font-family: var(--font-titulo); font-weight: 700; color: var(--branco); margin-bottom: .2rem; }
.perfil span { color: rgba(255,255,255,.7); font-size: .94rem; }

/* passos (linha do tempo) */
.passos { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; position: relative; counter-reset: passo; }
.passo { position: relative; display: grid; gap: .9rem; }
.passo__marca { display: flex; align-items: center; gap: .8rem; height: 40px; position: relative; z-index: 1; }
.passo__num { display: inline-grid; place-items: center; min-width: 52px; height: 32px; padding: 0 .6rem; background: var(--lima); color: var(--verde-escuro); font-family: var(--font-titulo); font-weight: 700; font-size: .95rem; letter-spacing: .02em; clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%); }
.passo__tempo { font-family: var(--font-titulo); font-weight: 500; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lima); white-space: nowrap; }
.passo__caixa { position: relative; height: 100%; padding: 1.5rem 1.4rem 1.6rem; background: linear-gradient(160deg, rgba(0,0,0,.85), rgba(0,0,0,.6)) padding-box, linear-gradient(150deg, rgba(190,255,0,.5), rgba(255,255,255,.06) 45%, rgba(0,210,60,.2)) border-box; border: 1px solid transparent; border-radius: var(--raio); backdrop-filter: blur(6px); box-shadow: 0 16px 40px rgba(0,0,0,.4); }
.passo__caixa::before { content: attr(data-tempo); display: none; }
.passo h3 { font-size: 1.12rem; margin: 0 0 .5rem; }
.passo p { color: rgba(255,255,255,.7); margin: 0; font-size: .94rem; }
.passo--meta .passo__caixa { background: linear-gradient(160deg, #00372D 0%, #001d17 100%) padding-box, linear-gradient(150deg, var(--lima), rgba(0,210,60,.5) 60%, rgba(190,255,0,.6)) border-box; box-shadow: 0 16px 40px rgba(0,0,0,.45), 0 0 50px rgba(190,255,0,.12); }
.passo--meta .passo__caixa p { color: rgba(255,255,255,.82); }
.passo__seta { position: absolute; right: 1.2rem; bottom: 1.2rem; width: 26px; height: 26px; background: var(--lima); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-seta-dir' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M1.29 11.04H21.37V12.68H1.29ZZ' fill='%23fff' fill-rule='nonzero'/><path d='M10.99 22.47L9.89 21.25L19.46 12.58L20.56 13.79L10.99 22.47Z' fill='%23fff' fill-rule='nonzero'/><path d='M21.63 13.10L9.90 2.76L10.98 1.53L22.71 11.87L21.63 13.10Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.51 10.70H22.90V16.52H18.51ZZ' fill='%23000' fill-rule='nonzero'/><path d='M21.37 8.32H25.76V14.15H21.37ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 -0.04H11.31V5.79H6.93ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 18.37H11.31V24.20H6.93ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-seta-dir)'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-seta-dir' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M1.29 11.04H21.37V12.68H1.29ZZ' fill='%23fff' fill-rule='nonzero'/><path d='M10.99 22.47L9.89 21.25L19.46 12.58L20.56 13.79L10.99 22.47Z' fill='%23fff' fill-rule='nonzero'/><path d='M21.63 13.10L9.90 2.76L10.98 1.53L22.71 11.87L21.63 13.10Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.51 10.70H22.90V16.52H18.51ZZ' fill='%23000' fill-rule='nonzero'/><path d='M21.37 8.32H25.76V14.15H21.37ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 -0.04H11.31V5.79H6.93ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.93 18.37H11.31V24.20H6.93ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-seta-dir)'/></svg>") center / contain no-repeat; }
.passos__acao { margin-top: 2.4rem; display: flex; align-items: center; gap: 1.4rem; flex-wrap: wrap; }
.passos__nota { color: rgba(255,255,255,.6); font-size: .92rem; }
@media (min-width: 900px) {
  .passos { grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
  .passo__marca::after { content: ""; flex: 1; height: 1px; margin-left: .9rem; margin-right: -1.4rem; background: linear-gradient(90deg, var(--verde), var(--lima)); opacity: .8; }
  .passo:last-child .passo__marca::after { margin-right: 0; background: linear-gradient(90deg, var(--lima), rgba(190,255,0,.15)); }
  .passos::after { content: ""; position: absolute; right: -2px; top: 14px; width: 13px; height: 13px; border-top: 1px solid var(--lima); border-right: 1px solid var(--lima); transform: rotate(45deg); opacity: .6; }
  .passo { grid-template-rows: auto 1fr; }
}
@media (max-width: 899px) {
  .passos::before { content: ""; position: absolute; left: 25px; top: 20px; bottom: 20px; width: 1px; background: linear-gradient(180deg, var(--verde), var(--lima) 70%, rgba(190,255,0,.15)); }
  .passo { grid-template-columns: 52px 1fr; gap: 0 1rem; align-items: start; }
  .passo__marca { height: auto; }
  .passo__tempo { display: none; }
  .passo__caixa::before { display: block; font-family: var(--font-titulo); font-weight: 500; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lima); margin-bottom: .5rem; }
  .passo__caixa { padding: 1.2rem 1.2rem 1.3rem; }
  .passo--meta .passo__caixa { padding-right: 3rem; }
}

/* ganhos */
.ganhos { display: grid; gap: 2rem; align-items: start; }
@media (min-width: 900px) { .ganhos { grid-template-columns: 1fr 1fr; gap: 3.5rem; } }
.lista-check { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: .8rem; }
.lista-check li { display: flex; gap: .8rem; align-items: flex-start; }
.lista-check svg { width: 22px; height: 22px; flex: none; color: var(--lima); stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; margin-top: .15rem; filter: drop-shadow(0 0 6px rgba(0,210,60,.5)); }
.simulador { background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.55), rgba(255,255,255,.08) 40%, rgba(0,210,60,.25)) border-box; border: 1px solid transparent; border-radius: var(--raio); color: var(--branco); padding: 1.8rem; box-shadow: 0 30px 70px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08); }
.simulador h3 { color: var(--branco); }
.simulador label { display: flex; justify-content: space-between; font-family: var(--font-titulo); font-weight: 400; font-size: .92rem; margin: 1.1rem 0 .4rem; color: rgba(255,255,255,.75); }
.simulador input[type=range] { width: 100%; accent-color: var(--lima); }
.simulador .valor { font-family: var(--font-titulo); font-weight: 700; color: var(--lima); font-size: 1.1rem; }
.simulador__saida { margin-top: 1.5rem; padding: 1.2rem 1.4rem; border-radius: var(--raio); background: rgba(190,255,0,.08); border: 1px solid rgba(190,255,0,.35); }
.simulador__saida small { display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.7); }
.simulador__saida strong { display: block; font-family: var(--font-titulo); font-size: clamp(2rem, 4vw, 2.8rem); color: var(--lima); line-height: 1.1; text-shadow: 0 0 30px rgba(190,255,0,.4); }
.aviso { font-size: .8rem; color: rgba(255,255,255,.5); margin: 1rem 0 0; }

/* mosaico de fotos */
.mosaico { display: grid; gap: .8rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .mosaico { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 240px; } .mosaico > :first-child { grid-column: span 2; grid-row: span 2; } }
.mosaico figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--raio); background: var(--painel); aspect-ratio: 4 / 3; }
@media (min-width: 900px) { .mosaico figure { aspect-ratio: auto; } }
.mosaico img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.mosaico figure:hover img { transform: scale(1.04); }
.mosaico figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 2.2rem 1rem .9rem; font-family: var(--font-titulo); font-weight: 700; font-size: .95rem; color: var(--branco); background: linear-gradient(180deg, transparent, rgba(0,0,0,.85)); }
.mosaico figcaption small { display: block; font-family: var(--font-texto); font-weight: 400; font-size: .8rem; color: rgba(255,255,255,.7); }

/* manifesto */
.manifesto { position: relative; overflow: hidden; text-align: left; padding: 6rem 0; background: var(--preto); border-top: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.manifesto::before { content: ""; position: absolute; inset: 0; background: url("img/fotos/equipe.jpg") center / cover no-repeat; opacity: .28; filter: saturate(.6); }
.manifesto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,55,45,.65) 50%, rgba(0,0,0,.9)); }
.manifesto .container { position: relative; z-index: 2; }
.manifesto blockquote { margin: 0; max-width: 34rem; font-family: var(--font-titulo); font-weight: 300; font-size: clamp(1.5rem, 3vw, 2.4rem); line-height: 1.25; color: var(--branco); }
.manifesto blockquote b { font-weight: 700; }
.manifesto cite { display: block; margin-top: 1.5rem; font-style: normal; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.55); }

/* depoimentos */
.depo { background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.5), rgba(255,255,255,.06) 45%, rgba(0,210,60,.2)) border-box; border: 1px solid transparent; border-radius: var(--raio); display: grid; grid-template-columns: 150px 1fr; overflow: hidden; box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.depo__foto { position: relative; background: var(--preto); min-height: 100%; }
.depo__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.depo__corpo { padding: 1.4rem 1.5rem; display: flex; flex-direction: column; gap: .8rem; }
.depo__tag { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; color: rgba(255,255,255,.75); }
.depo__tag svg { width: 16px; height: 16px; color: var(--lima); stroke: currentColor; fill: none; stroke-width: 2; }
.depo blockquote { margin: 0; font-size: .98rem; color: rgba(255,255,255,.85); flex: 1; }
.depo footer strong { display: block; font-family: var(--font-titulo); font-weight: 700; font-size: 1.15rem; color: var(--branco); }
.depo footer span { font-size: .85rem; color: rgba(255,255,255,.6); }
.depo__chips { display: flex; gap: .4rem; flex-wrap: wrap; }
.depo__chips i { font-style: normal; font-size: .78rem; padding: .35rem .7rem; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: rgba(255,255,255,.85); }

/* FAQ */
.faq { max-width: 52rem; }
.faq details { border: 1px solid rgba(255,255,255,.08); border-radius: var(--raio); padding: 1rem 1.3rem; margin-bottom: .6rem; background: linear-gradient(160deg, #00372D 0%, #00221b 100%); transition: border-color .2s, box-shadow .2s; }
.faq details[open] { border-color: rgba(190,255,0,.55); box-shadow: 0 0 30px rgba(190,255,0,.08); }
.faq summary { cursor: pointer; font-family: var(--font-titulo); font-weight: 700; font-size: 1.05rem; color: var(--branco); list-style: none; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid var(--lima); border-bottom: 2px solid var(--lima); transform: rotate(45deg); transition: transform .2s; flex: none; margin-right: 4px; }
.faq details[open] summary::after { transform: rotate(-135deg); }
.faq details p { color: rgba(255,255,255,.7); margin: .8rem 0 0; max-width: 46rem; }

/* ---------- formulário ---------- */
.form-secao { position: relative; overflow: hidden; }
.form-secao .glow--lima { width: 360px; height: 360px; right: -120px; bottom: -160px; opacity: .25; }
.form-card { background: linear-gradient(160deg, #00372D 0%, #00221b 100%) padding-box, linear-gradient(150deg, rgba(190,255,0,.6), rgba(255,255,255,.08) 40%, rgba(0,210,60,.3)) border-box; border: 1px solid transparent; color: var(--branco); padding: 1.8rem; border-radius: var(--raio); position: relative; box-shadow: 0 40px 90px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08); }
@media (min-width: 640px) { .form-card { padding: 2.3rem; } }
.form-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--lima), rgba(190,255,0,.15)); border-radius: var(--raio) var(--raio) 0 0; }
.etapas { display: flex; gap: .5rem; margin-bottom: 1.6rem; }
.etapas span { flex: 1; height: 4px; background: rgba(255,255,255,.12); transition: background .3s; }
.etapas span.ativa { background: var(--lima); box-shadow: 0 0 12px rgba(190,255,0,.6); }
.etapas span.feita { background: var(--verde); }
.etapa { display: none; }
.etapa.ativa { display: block; }
.etapa__titulo { font-family: var(--font-titulo); font-weight: 700; font-size: 1.3rem; color: var(--branco); margin-bottom: .2rem; }
.etapa__sub { color: rgba(255,255,255,.6); font-size: .95rem; margin-bottom: 1.3rem; }
.campo { margin-bottom: 1.1rem; }
.campo > label, .campo > .rotulo { display: block; font-family: var(--font-titulo); font-weight: 500; font-size: .92rem; color: rgba(255,255,255,.85); margin-bottom: .4rem; }
.campo input[type=text], .campo input[type=email], .campo input[type=tel], .campo select, .campo textarea { width: 100%; font: inherit; font-size: 1rem; padding: .85rem 1rem; background: var(--preto); color: var(--branco); border: 1px solid rgba(255,255,255,.18); border-radius: var(--raio); outline: none; transition: border-color .15s, box-shadow .15s; color-scheme: dark; }
.campo input::placeholder, .campo textarea::placeholder { color: rgba(255,255,255,.35); }
.campo textarea { min-height: 96px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--lima); box-shadow: 0 0 0 3px rgba(190,255,0,.15); }
.campo--erro input, .campo--erro select { border-color: var(--erro); }
.campo .erro { display: none; color: var(--erro); font-size: .82rem; margin-top: .35rem; }
.campo--erro .erro { display: block; }
.linha-2 { display: grid; gap: 0 1rem; }
@media (min-width: 560px) { .linha-2 { grid-template-columns: 1fr 1fr; } .linha-2--uf { grid-template-columns: 1fr 110px; } }
.opcoes { display: grid; gap: .55rem; }
.opcao { position: relative; display: block; cursor: pointer; }
.opcao input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.opcao span { display: block; padding: .8rem 1rem; background: var(--preto); border: 1px solid rgba(255,255,255,.18); border-radius: var(--raio); font-size: .95rem; line-height: 1.35; color: rgba(255,255,255,.85); transition: background .15s, border-color .15s, box-shadow .15s; }
.opcao:hover span { border-color: rgba(190,255,0,.6); }
.opcao input:checked + span { background: rgba(190,255,0,.1); border-color: var(--lima); box-shadow: 0 0 0 3px rgba(190,255,0,.12); font-weight: 500; color: var(--branco); }
.opcao input:focus-visible + span { outline: 3px solid var(--lima); }
.campo--erro .opcao span { border-color: var(--erro); }
.consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .85rem; color: rgba(255,255,255,.65); margin: .6rem 0 1.2rem; }
.consent a { color: var(--lima); }
.consent input { margin-top: .25rem; accent-color: var(--lima); width: 18px; height: 18px; flex: none; }
.form-nav { display: flex; gap: .8rem; justify-content: space-between; align-items: center; margin-top: 1.4rem; flex-wrap: wrap; }
.form-nav .btn--voltar { background: transparent; color: rgba(255,255,255,.6); border-color: transparent; padding-left: 0; font-weight: 500; transform: none; margin-inline: 0; }
.form-nav .btn--voltar .btn__t { transform: none; }
.form-nav .btn--voltar .btn__t::before { content: "←"; }
.form-nav .btn--voltar:hover { color: var(--branco); box-shadow: none; }
.form__status { font-size: .9rem; margin-top: .9rem; min-height: 1.3em; }
.form__status--erro { color: var(--erro); }
.hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.form-lado h2 { margin-bottom: 1rem; }
.form-lado .lista-check { margin-top: 1.4rem; }
.form-lado .contato { margin-top: 2rem; font-size: .95rem; color: rgba(255,255,255,.7); }
.form-lado .contato a { color: var(--lima); text-decoration: none; }

/* ---------- rodapé ---------- */
.rodape { background: linear-gradient(180deg, var(--preto), #00110d); color: rgba(255,255,255,.7); padding: 3rem 0 2rem; font-size: .88rem; border-top: 1px solid rgba(190,255,0,.15); }
.rodape__inner { display: grid; gap: 2rem; }
@media (min-width: 900px) { .rodape__inner { grid-template-columns: 1.2fr 1fr 1fr; } }
.rodape img { height: 26px; width: auto; margin-bottom: 1rem; }
.rodape h4 { color: var(--branco); font-weight: 500; font-size: 1rem; margin-bottom: .7rem; }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .4rem; }
.rodape a { color: rgba(255,255,255,.85); text-decoration: none; }
.rodape a:hover { color: var(--lima); }
.rodape .legal { margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.1); font-size: .78rem; line-height: 1.6; color: rgba(255,255,255,.5); }

/* ---------- CTA fixo no celular ---------- */

/* ---------- páginas simples ---------- */
.pagina { padding: 3.5rem 0 4.5rem; max-width: 46rem; margin-inline: auto; }
.pagina h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); }
.pagina h2 { font-size: 1.35rem; margin-top: 2rem; font-weight: 700; }
.pagina p, .pagina li { color: rgba(255,255,255,.8); }
.pagina a:not(.btn) { color: var(--lima); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn, .cartao, .perfil { transition: none; } }

/* por que a Evoy: composição em blocos de tamanhos diferentes */
.junto { white-space: nowrap; }
.bento { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: auto; gap: 1.1rem; }
.bento .cartao { display: flex; flex-direction: column; }
.bento .cartao p { margin-bottom: 1.2rem; }
.bento .icone { margin-bottom: .9rem; }
.bento__destaque { grid-column: 1 / 6; grid-row: 1 / 3; position: relative; overflow: hidden; border-radius: var(--raio); min-height: 420px; border: 1px solid rgba(190,255,0,.35); box-shadow: 0 20px 50px rgba(0,0,0,.45); isolation: isolate; }
.bento__destaque img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 30%; z-index: -2; filter: saturate(.85); }
.bento__destaque::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,20,16,.25) 0%, rgba(0,20,16,.75) 45%, rgba(0,12,9,.97) 100%); }
.bento__destaque::after { content: ""; position: absolute; right: -6%; top: -12%; height: 70%; aspect-ratio: 231 / 1300; border: 2px solid rgba(190,255,0,.5); transform: skewX(-25.4deg); pointer-events: none; }
.bento__destaque-conteudo { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.8rem 1.7rem; }
.bento__destaque-conteudo h3 { margin: .2rem 0 .5rem; font-size: 1.35rem; }
.bento__destaque-conteudo p { margin: 0; color: rgba(255,255,255,.75); max-width: 30rem; }
.bento__numero { display: block; font-family: var(--font-titulo); font-weight: 700; font-size: clamp(3.4rem, 6vw, 5rem); line-height: .9; color: var(--lima); letter-spacing: -.03em; }
.bento__numero small { font-size: .45em; font-weight: 500; margin-left: .05em; vertical-align: .55em; }
.bento__comissao { grid-column: 6 / 13; grid-row: 1; flex-direction: row !important; gap: 1.6rem; align-items: stretch; }
.bento__comissao > div { flex: 1 1 46%; }
.bento__comissao > div p { margin-bottom: 0; }
.checagem { flex: 1 1 54%; list-style: none; margin: 0; padding: 0 0 0 1.4rem; border-left: 1px solid rgba(255,255,255,.12); display: grid; align-content: center; gap: .75rem; }
.checagem li { position: relative; padding-left: 1.7rem; color: rgba(255,255,255,.82); font-size: .93rem; line-height: 1.4; }
.checagem li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; background: var(--lima); clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%); }
.checagem li::after { content: ""; position: absolute; left: 2px; top: calc(.2em + 2px); width: 12px; height: 12px; background: var(--verde-escuro); -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-check' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M10.36 18.96L9.05 17.84L21.41 3.46L22.71 4.58L10.36 18.96Z' fill='%23fff' fill-rule='nonzero'/><path d='M9.43 20.54L1.29 10.00L2.65 8.95L10.79 19.49L9.43 20.54Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.77 -0.12H24.37V4.89H18.77ZZ' fill='%23000' fill-rule='nonzero'/><path d='M8.73 16.44H14.33V21.45H8.73ZZ' fill='%23000' fill-rule='nonzero'/><path d='M0.43 5.90H6.03V10.91H0.43ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.56 19.12H12.15V24.14H6.56ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-check)'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><mask id='m-check' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'><path d='M10.36 18.96L9.05 17.84L21.41 3.46L22.71 4.58L10.36 18.96Z' fill='%23fff' fill-rule='nonzero'/><path d='M9.43 20.54L1.29 10.00L2.65 8.95L10.79 19.49L9.43 20.54Z' fill='%23fff' fill-rule='nonzero'/><path d='M18.77 -0.12H24.37V4.89H18.77ZZ' fill='%23000' fill-rule='nonzero'/><path d='M8.73 16.44H14.33V21.45H8.73ZZ' fill='%23000' fill-rule='nonzero'/><path d='M0.43 5.90H6.03V10.91H0.43ZZ' fill='%23000' fill-rule='nonzero'/><path d='M6.56 19.12H12.15V24.14H6.56ZZ' fill='%23000' fill-rule='nonzero'/></mask><rect width='24' height='24' fill='currentColor' mask='url(%23m-check)'/></svg>") center / contain no-repeat; }
.bento__portfolio { grid-column: 6 / 10; grid-row: 2; }
.chips { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem .45rem; }
.chips li span { display: inline-flex; align-items: center; gap: .45rem; transform: skewX(25.4deg); }
.chips li svg { width: 20px; height: 20px; flex: none; }
.chips li { font-family: var(--font-titulo); font-weight: 500; font-size: .82rem; color: var(--verde-escuro); background: var(--lima); padding: .34rem .8rem .34rem .7rem; transform: skewX(-25.4deg); margin-inline: .25rem; }
.bento__plataforma { grid-column: 10 / 13; grid-row: 2; }
.trilha { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: .55rem; counter-reset: trilha; }
.trilha li { position: relative; padding-left: 2.2rem; font-family: var(--font-titulo); font-weight: 500; font-size: .95rem; color: var(--branco); counter-increment: trilha; }
.trilha li::before { content: counter(trilha, decimal-leading-zero); position: absolute; left: 0; top: .1em; font-size: .75rem; color: var(--lima); letter-spacing: .04em; }
.trilha li:not(:last-child)::after { content: ""; position: absolute; left: .55rem; top: 1.45em; height: .6rem; border-left: 1px dashed rgba(190,255,0,.45); }
.bento__dupla { grid-column: 1 / 13; grid-row: 3; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); margin-top: .4rem; }
.dupla__item { display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.5rem 1.6rem 1.5rem 0; }
.dupla__item + .dupla__item { border-left: 1px solid rgba(255,255,255,.12); padding-left: 1.6rem; padding-right: 0; }
.dupla__item .icone { width: 46px; height: 46px; padding: 8px; flex: none; color: var(--lima); background: rgba(190,255,0,.1); clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%); stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.dupla__item h3 { margin: 0 0 .35rem; font-size: 1.15rem; }
.dupla__item p { margin: 0; color: rgba(255,255,255,.7); font-size: .95rem; }
@media (max-width: 1023px) {
  .bento__destaque { grid-column: 1 / 13; grid-row: auto; min-height: 340px; }
  .bento__comissao { grid-column: 1 / 13; grid-row: auto; }
  .bento__portfolio { grid-column: 1 / 7; grid-row: auto; }
  .bento__plataforma { grid-column: 7 / 13; grid-row: auto; }
  .bento__dupla { grid-row: auto; }
}
@media (max-width: 719px) {
  .bento__comissao { flex-direction: column !important; }
  .checagem { padding-left: 0; border-left: 0; }
  .bento__portfolio, .bento__plataforma { grid-column: 1 / 13; }
  .bento__dupla { grid-template-columns: 1fr; }
  .dupla__item { padding: 1.3rem 0; }
  .dupla__item + .dupla__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); padding-left: 0; }
}

/* ícones da família do guia: herdam a cor via currentColor, sem traço CSS */
svg.ic { fill: currentColor !important; stroke: none !important; filter: none; }
.lista-check svg.ic { width: 20px; height: 20px; margin-top: .1rem; }
.depo__tag svg.ic { width: 15px; height: 15px; }

/* manifesto com vídeo */
.manifesto__grid { display: grid; gap: 2.5rem; align-items: center; }
@media (min-width: 900px) { .manifesto__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4rem; } }
.video { position: relative; aspect-ratio: 16 / 9; width: 100%; max-width: 100%; border: 1px solid rgba(190,255,0,.45); background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 60px rgba(190,255,0,.08); overflow: hidden; }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 4; }

/* formulário: campos condicionais, ajuda do CNPJ, grade de 3 colunas */
.campo--cond[hidden] { display: none; }
.campo .ajuda { display: block; margin-top: .4rem; font-size: .85rem; color: rgba(255,255,255,.65); }
.campo .ajuda:empty { display: none; }
.campo .ajuda.ok { color: var(--lima); }
.campo .ajuda.aviso { color: var(--laranja); }
.campo .ajuda.consultando { color: rgba(255,255,255,.5); }
.campo--erro .ajuda { display: none; }

/* formulário curto no banner (teste) */
.hero__form { position: relative; z-index: 1; padding: 1.6rem 1.5rem 1.4rem; max-width: 440px; width: 100%; justify-self: end; background: rgba(0,18,14,.88); border: 1px solid rgba(190,255,0,.35); border-radius: var(--raio); box-shadow: 0 30px 80px rgba(0,0,0,.6); backdrop-filter: blur(10px); }
.hero__form::before { display: none; }
.hero__form .linha-2--uf { grid-template-columns: 1fr 96px; gap: .8rem; }
.hero__form-titulo { font-family: var(--font-titulo); font-weight: 700; font-size: 1.35rem; margin: 0 0 .25rem; }
.hero__form-sub { margin: 0 0 1.2rem; color: rgba(255,255,255,.65); font-size: .92rem; }
.hero__form .campo { margin-bottom: .85rem; }
.hero__form .btn { width: calc(100% - .9rem); margin-top: .4rem; }
.hero__form-nota { margin: .9rem 0 0; font-size: .82rem; color: rgba(255,255,255,.6); display: flex; align-items: center; justify-content: center; gap: .45rem; }
.hero__form-nota svg { width: 18px; height: 18px; color: var(--lima); }
@media (max-width: 899px) { .hero__form { justify-self: stretch; max-width: none; } }
.hero__form .linha-2--uf .campo { display: flex; flex-direction: column; }
.hero__form .linha-2--uf select, .hero__form .linha-2--uf input { flex: 1; }

/* formulário no celular: botões em largura total, sem esconder atrás do cabeçalho fixo */
.secao, #form-rep { scroll-margin-top: 84px; }
@media (max-width: 719px) {
  .form-card { padding: 1.4rem 1.1rem 1.3rem; }
  .form-nav { flex-direction: column-reverse; align-items: stretch; gap: .6rem; }
  .form-nav .btn { width: calc(100% - .9rem); }
  .form-nav .btn--voltar { width: auto; align-self: flex-start; padding: .8rem 0; }
  .hero__form .btn { width: calc(100% - .9rem); }
}
.linha-2--uf { grid-template-columns: 1fr 96px; gap: 0 .8rem; }

/* slogan dentro do manifesto */
.manifesto__texto { display: grid; gap: 1.6rem; }
.slogan { margin: 0; font-family: var(--font-titulo); font-weight: 300; font-size: clamp(1.6rem, 2.9vw, 2.2rem); line-height: 1.12; color: rgba(255,255,255,.82); letter-spacing: -.01em; }
.slogan img { display: block; height: auto; width: clamp(96px, 9vw, 124px); margin-bottom: .55em; }
.slogan > span { display: block; }
.slogan strong { display: block; font-weight: 700; color: var(--branco); margin-top: .3em; }
.manifesto blockquote { font-size: 1.08rem; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,.72); padding-left: 1rem; border-left: 2px solid var(--lima); }
.manifesto blockquote b { color: var(--branco); }
.manifesto cite { margin-top: .8rem; }
.rodape__slogan { font-family: var(--font-titulo); font-weight: 500; color: var(--branco); margin-bottom: .6rem; line-height: 1.35; }

/* rodapé: selos */
.selos .selo { margin-bottom: 1.3rem; }
.selos .selo small { display: block; font-size: .82rem; color: rgba(255,255,255,.6); margin-bottom: .5rem; }
.selos .selo img { display: block; width: auto; max-width: 100%; margin: 0; opacity: .95; }
.selos .selo__bcb { height: 34px; }
.selos .selo__abac { height: 46px; }
