/* ==========================================================================
   Higor Santos: modelo CONSULTOR (template-base/modelos/consultor)
   Profissional com metodo proprio (planejador financeiro, consultor, mentor):
   pagina de apresentacao com simulador, diagnostico em niveis com resultado em
   mapa e pagina de privacidade. Fundo escuro da cor secundaria alternando com
   secoes claras; a primaria e a cor dos botoes e a de destaque marca as palavras.
   ========================================================================== */

:root{
  --marca:#1E5CB3;
  --funda:#070F1E;
  --destaque:#2D7DD2;

  --noite: color-mix(in oklab, var(--funda) 78%, var(--marca));
  --noite-3: color-mix(in oklab, var(--funda) 58%, var(--marca));
  --marca-viva: color-mix(in oklab, var(--marca) 55%, var(--destaque));
  --destaque-claro: color-mix(in oklab, var(--destaque) 66%, white);
  --marca-suave: color-mix(in oklab, var(--marca) 8%, white);
  --claro: color-mix(in oklab, var(--marca) 3%, white);
  --branco: white;
  --tinta: color-mix(in oklab, var(--funda) 94%, white);
  --tinta-2: color-mix(in oklab, var(--funda) 70%, white);
  --tinta-3: color-mix(in oklab, var(--funda) 56%, white);
  --texto: color-mix(in oklab, white 96%, var(--marca));
  --texto-2: color-mix(in oklab, white 70%, var(--funda));
  --texto-3: color-mix(in oklab, white 50%, var(--funda));
  --linha: color-mix(in oklab, white 10%, transparent);
  --linha-2: color-mix(in oklab, white 24%, transparent);
  --linha-destaque: color-mix(in oklab, var(--destaque-claro) 45%, transparent);
  --linha-clara: color-mix(in oklab, var(--funda) 10%, transparent);
  --linha-clara-2: color-mix(in oklab, var(--funda) 24%, transparent);
  --zap: color-mix(in oklab, green 74%, var(--marca));
  --erro: color-mix(in oklab, red 70%, var(--funda));
  --critico: color-mix(in oklab, red 62%, var(--funda));
  --atencao: color-mix(in oklab, orange 62%, var(--funda));
  --otimo: color-mix(in oklab, green 66%, var(--funda));
  --sombra: 0 28px 60px -32px color-mix(in oklab, var(--funda) 70%, transparent);

  --e1:.5rem; --e2:.75rem; --e3:1rem; --e4:1.5rem; --e5:2.5rem; --e6:4rem;
  --sec-y: clamp(4rem, 9vw, 7rem);
  --wrap:1180px;
  --raio:6px;
  --raio-g:14px;
  --topo-h:72px;

  --f-titulo:"Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;
  --f-texto:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"Space Mono", ui-monospace, Consolas, monospace;
  --t-xs:.74rem; --t-sm:.9rem; --t-base:1rem;
  --t-lg: clamp(1.05rem, 1.3vw, 1.2rem);
  --t-h3: clamp(1.1rem, 1.5vw, 1.3rem);
  --t-h2: clamp(1.8rem, 3.4vw, 2.75rem);
  --t-h1: clamp(2.2rem, 4.2vw, 3.75rem);
  --t-num: clamp(1.8rem, 3.2vw, 2.8rem);
  --t-preco: clamp(2.8rem, 5vw, 3.6rem);
  --t-md: clamp(1.35rem, 2.6vw, 2rem);

  --rapida: 200ms ease;
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo-h) + var(--e3));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--funda);color:var(--texto);font:400 var(--t-base)/1.65 var(--f-texto);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--destaque-claro);outline-offset:3px}
h1,h2,h3{font-family:var(--f-titulo);font-weight:800;line-height:1.08;letter-spacing:-.04em;margin:0 0 var(--e3);text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.02}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);letter-spacing:-.02em;line-height:1.2}
h1 em,h2 em{font-style:normal;color:var(--destaque)}
h2 em{white-space:nowrap}
h1 sup,h2 sup{font-size:.34em;font-weight:700;color:var(--destaque-claro);vertical-align:super;letter-spacing:0;margin-left:2px}
p{margin:0 0 var(--e3);text-wrap:pretty}
strong{font-weight:700}
.lin{display:block}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:clamp(18px,5vw,40px)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--e2);top:var(--e2);z-index:99;background:var(--branco);color:var(--tinta);padding:var(--e2) var(--e3)}
.i{width:1.15em;height:1.15em;flex:none}
html:not(.js) .so-js{display:none}
.rotulo{font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--destaque-claro);margin:0 0 var(--e3)}
.selo{display:inline-flex;align-items:center;gap:var(--e1);border:1px solid var(--linha-destaque);border-radius:999px;padding:var(--e1) var(--e3);font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--destaque-claro);margin:0 0 var(--e4)}
.selo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--destaque);animation:pulso 2.4s ease-in-out infinite}
@keyframes pulso{50%{opacity:.35}}
.lead{font-size:var(--t-lg);color:var(--texto-2);max-width:56ch}
.lead strong{color:var(--texto)}
.nota{font-size:var(--t-sm);color:var(--texto-3);margin:var(--e3) 0 0}
.nota a{color:inherit}

/* Botoes e links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--e1);font:700 var(--t-sm)/1.2 var(--f-texto);text-decoration:none;border:1.5px solid transparent;border-radius:var(--raio);padding:var(--e3) var(--e4);cursor:pointer;transition:background var(--rapida),border-color var(--rapida),color var(--rapida),transform var(--rapida)}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-marca{background:var(--marca);color:var(--branco)}
.btn-marca:hover:not(:disabled){background:var(--marca-viva)}
.btn-zap{background:var(--zap);color:var(--branco)}
.btn-linha{border-color:var(--linha-2);color:var(--texto);background:none}
.btn-linha:hover{border-color:var(--destaque-claro)}
.btn-linha-escura{border-color:var(--linha-clara-2);color:var(--tinta);background:none}
.btn-g{min-height:56px;padding-inline:var(--e5);font-size:var(--t-base)}
.btn-p{padding:var(--e2) var(--e3)}
.btn-bloco{width:100%}
.link-claro{display:inline-flex;align-items:center;gap:var(--e1);padding:0;border:0;background:none;color:var(--texto-2);font:600 var(--t-sm)/1.3 var(--f-texto);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--linha-2);cursor:pointer;transition:color var(--rapida)}
.link-claro:hover{color:var(--texto)}

/* Topo: fixo e sempre solido (a foto do hero e clara e apagaria os links) */
.topo{position:fixed;inset:0 0 auto;z-index:20;height:var(--topo-h);background:color-mix(in oklab, var(--funda) 88%, transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--linha);transition:background var(--rapida),border-color var(--rapida)}
.topo-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--e4)}
.marca{font:800 var(--t-lg)/1 var(--f-titulo);letter-spacing:-.03em;color:var(--texto);text-decoration:none;margin:0}
.marca b{font-weight:800;color:var(--destaque-claro);margin-left:.2em}
.marca-g{font-size:var(--t-h3)}
.nav{display:flex;align-items:center;gap:var(--e4);font-size:var(--t-sm);font-weight:600}
.nav > a:not(.btn){color:var(--texto-2);text-decoration:none;transition:color var(--rapida)}
.nav > a:not(.btn):hover{color:var(--texto)}
.menu-btn{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:0;place-content:center;gap:5px}
.menu-btn span{display:block;width:22px;height:2px;background:var(--texto);transition:transform var(--rapida),opacity var(--rapida)}
.pag-texto .topo{background:var(--funda);backdrop-filter:none;-webkit-backdrop-filter:none}

/* Hero: texto de um lado, foto ate a borda do outro */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:100svh;background:
  linear-gradient(color-mix(in oklab, var(--destaque) 4%, transparent) 1px, transparent 1px) 0 0 / 80px 80px,
  linear-gradient(90deg, color-mix(in oklab, var(--destaque) 4%, transparent) 1px, transparent 1px) 0 0 / 80px 80px,
  radial-gradient(ellipse 60% 70% at 20% 50%, color-mix(in oklab, var(--marca) 26%, transparent), transparent 62%),
  var(--funda)}
.hero{overflow:hidden;--hg:clamp(72px,12svh,120px)}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 52% at 24% 46%, color-mix(in oklab, var(--marca) 24%, transparent), transparent 66%);animation:deriva 16s ease-in-out infinite alternate}
@keyframes deriva{to{transform:translate(9%,-7%) scale(1.18)}}
@keyframes subir{from{opacity:0;transform:translateY(18px)}}
@keyframes assentar{from{opacity:0;transform:scale(1.05)}}
@keyframes tracar{from{stroke-dashoffset:1}}
@keyframes surgir{from{opacity:0}}
@keyframes anel{from{box-shadow:0 0 0 0 color-mix(in oklab, var(--destaque-claro) 55%, transparent)}to{box-shadow:0 0 0 14px transparent}}
@keyframes crescer{from{transform:scale(0)}}
@keyframes rolar{to{transform:translateX(-100%)}}
/* entrada do topo: selo, linhas do titulo, texto e botoes, um depois do outro */
.hero-texto > .selo,.hero h1 .lin,.hero-texto > .lead,.hero-texto > .acoes{animation:subir .7s ease backwards}
.hero h1 .lin:nth-child(1){animation-delay:.12s}
.hero h1 .lin:nth-child(2){animation-delay:.26s}
.hero-texto > .lead{animation-delay:.42s}
.hero-texto > .acoes{animation-delay:.56s}
/* linha de crescimento que se desenha no pe do topo */
.hero-grafico{position:absolute;inset:auto 0 0;z-index:-1;height:var(--hg);pointer-events:none}
.hero-grafico svg{display:block;width:100%;height:100%}
.hg-linha{fill:none;stroke:var(--destaque);stroke-width:2;stroke-linejoin:round;stroke-dasharray:1;opacity:.7;animation:tracar 2.4s .7s ease-out backwards}
.hg-area{fill:color-mix(in oklab, var(--destaque) 10%, transparent);animation:surgir 1.2s 2.4s ease backwards}
.hg-ponto{position:absolute;left:calc(100% - 5px);top:calc(12% - 5px);width:10px;height:10px;border-radius:50%;background:var(--destaque-claro);animation:surgir .4s 3s ease backwards,anel 2.6s 3.4s ease-out infinite}
.hero-texto{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--topo-h) + var(--e5)) clamp(20px,3vw,48px) calc(var(--hg) + var(--e4)) max(clamp(18px,5vw,40px), calc((100vw - var(--wrap)) / 2 + 40px))}
.hero-texto > .selo{align-self:flex-start}
.hero h1 .lin{text-wrap:balance}
.hero .lead{margin-bottom:var(--e5)}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e3) var(--e4)}
.hero-foto{position:relative;min-height:64svh;border-left:1px solid var(--linha-destaque);overflow:hidden}
.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;animation:assentar 1.6s ease backwards}

/* Numeros logo abaixo do hero */
.numeros{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--noite)}
.numeros li{display:grid;gap:var(--e1);align-content:start;padding:var(--e5) clamp(18px,3vw,44px);border-left:1px solid var(--linha)}
.numeros li:first-child{border-left:0}
.numeros b{font:800 var(--t-num)/1 var(--f-titulo);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.numeros em{font-style:normal;color:var(--destaque)}
.numeros span{font-size:var(--t-sm);color:var(--texto-3);line-height:1.5}

/* Secoes */
.sec{padding-block:var(--sec-y)}
.sec-clara{background:var(--claro);color:var(--tinta)}
.sec-branca{background:var(--branco);color:var(--tinta);border-block:1px solid var(--linha-clara)}
.sec-noite{background:var(--noite)}
.sec-funda{background:var(--funda)}
.sec-clara p,.sec-branca p{color:var(--tinta-2)}
.sec-noite p,.sec-funda p{color:var(--texto-2)}
.sec-noite p strong{color:var(--texto)}
.sec-clara .rotulo,.sec-branca .rotulo{color:var(--marca-viva)}
.sec-clara h2 em,.sec-branca h2 em{color:var(--marca)}
.sec-clara .nota,.sec-branca .nota{color:var(--tinta-3)}
.sec-cabeca{max-width:720px;margin-bottom:var(--e5)}
.sec-cabeca p:last-child{font-size:var(--t-lg);margin:0}
.sec-cabeca.centro{margin-inline:auto;text-align:center}
.duas{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--e6);align-items:start}
.lista-pontos{list-style:none;margin:var(--e4) 0 0;padding:0;display:grid;gap:var(--e2)}
.lista-pontos li{position:relative;padding-left:var(--e4)}
.lista-pontos li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--destaque)}

/* Simulador: campos claros de um lado, resultado escuro do outro */
.sim{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border:1px solid var(--linha-clara);border-radius:var(--raio-g);overflow:hidden;box-shadow:var(--sombra)}
.sim-campos{display:grid;gap:var(--e4);align-content:center;padding:var(--e5);background:var(--claro)}
.campo{display:grid;gap:var(--e1);font-size:var(--t-sm);font-weight:600;color:var(--tinta)}
.campo > span:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:var(--e2)}
.campo output{font:700 var(--t-base)/1 var(--f-mono);color:var(--marca);white-space:nowrap}
.campo input[type="range"]{width:100%;min-height:28px;margin:0;accent-color:var(--marca);cursor:pointer}
.campo-moeda{display:flex;align-items:center;gap:var(--e1);padding-inline:var(--e3);border:1.5px solid var(--linha-clara-2);border-radius:var(--raio);background:var(--branco);color:var(--tinta-3);font-weight:700}
.campo-moeda:focus-within{border-color:var(--marca)}
.campo-moeda input{width:100%;min-height:52px;border:0;outline:0;background:none;font:700 var(--t-lg)/1 var(--f-texto);color:var(--tinta)}
.sim-resultado{display:grid;gap:var(--e2);align-content:center;padding:var(--e5);background:var(--funda);color:var(--texto)}
.sim .sim-frase{margin:0;color:var(--texto-2)}
.sim-frase b{color:var(--texto)}
.sim .sim-total{margin:0;font:800 var(--t-preco)/1 var(--f-titulo);letter-spacing:-.04em;color:var(--texto)}
.sim-partes{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e5);margin:var(--e2) 0 0}
.sim-partes dt{display:flex;align-items:center;gap:var(--e1);font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--texto-3)}
.sim-partes dt::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--marca-viva)}
.sim-juros dt::before{background:var(--destaque-claro)}
.sim-partes dd{margin:0;font-size:var(--t-lg);font-weight:700}
.sim-grafico{display:flex;align-items:flex-end;height:150px;margin-top:var(--e2)}
.g-ano{position:relative;flex:1;height:100%}
.g-ano i{position:absolute;inset:auto 14% 0;border-radius:2px 2px 0 0;transition:height .5s cubic-bezier(.2,.8,.2,1)}
.g-guardado{background:var(--marca-viva)}
.g-juros{background:var(--destaque-claro)}
.sim .sim-total{font-variant-numeric:tabular-nums}
.sim .sim-eixo{display:flex;justify-content:space-between;margin:0;font:400 var(--t-xs)/1 var(--f-mono);color:var(--texto-3)}
.sim .sim-espera{margin:var(--e2) 0;color:var(--texto-2)}
.sim-espera b{color:var(--destaque-claro)}
.sim .btn{justify-self:start}

/* Sobre */
.sobre{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:var(--e6);align-items:center}
.bastidores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e4);margin-top:var(--e6)}
.bastidores figure{margin:0}
.bastidores img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;border:1px solid var(--linha-destaque)}
.bastidores figcaption{margin-top:var(--e2);font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--texto-2)}
.sobre-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border:1px solid var(--linha-destaque)}
.frase{margin:var(--e4) 0 0;padding:var(--e4);border-left:3px solid var(--destaque);background:color-mix(in oklab, var(--marca) 16%, transparent);font-size:var(--t-lg);font-style:italic;color:var(--texto-2)}

/* Metodo: os niveis do diagnostico */
.niveis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e3)}
.niveis li{position:relative;display:grid;gap:var(--e1);align-content:start;padding:var(--e4);background:var(--branco);border:1px solid var(--linha-clara);border-radius:var(--raio);overflow:hidden}
.niveis li::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--marca);transform-origin:left}
.js .niveis li[data-reveal]::before{transform:scaleX(0);transition:transform .7s ease calc(var(--atraso, 0s) * 3 + .15s)}
.js .niveis li[data-reveal].visivel::before{transform:none}
.niveis h2,.niveis h3{font-size:var(--t-h3);letter-spacing:-.02em;margin:0}
.nivel-n{font:700 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--marca-viva);margin:0}
.niveis p{margin:0;font-size:var(--t-sm)}
.niveis .nivel-sub{font-weight:700;color:var(--tinta)}
.metodo-acao{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e3) var(--e5);margin-top:var(--e4);padding:var(--e4) var(--e5);border-radius:var(--raio-g);background:var(--noite)}
.metodo-acao p{margin:0;max-width:44ch;font-size:var(--t-lg);font-weight:600;color:var(--texto)}

/* Como funciona */
.entregas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e3)}
.entrega{display:grid;gap:var(--e2);align-content:start;padding:var(--e5) var(--e4);background:var(--claro);border-radius:var(--raio)}
.entrega-n{font:400 var(--t-xs)/1 var(--f-mono);letter-spacing:.14em;color:var(--marca-viva)}
.entrega .i{width:34px;height:34px;color:var(--marca-viva);margin-block:var(--e2)}
.entrega h3,.entrega p{margin:0}
.entrega.destaque{background:var(--marca)}
.entrega.destaque h3{color:var(--branco)}
.entrega.destaque p{color:color-mix(in oklab, white 84%, var(--marca))}
.entrega.destaque .i,.entrega.destaque .entrega-n{color:color-mix(in oklab, white 72%, var(--marca))}

/* Faixa de temas: rola devagar, para com o mouse em cima e fica parada sem JS ou sem movimento */
.faixa{display:flex;overflow:hidden;padding-block:var(--e3);background:var(--noite);border-block:1px solid var(--linha)}
.faixa ul{flex:1;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e2) var(--e5);margin:0;padding:0 var(--e4);list-style:none}
.faixa li{display:flex;align-items:center;gap:var(--e5);font:400 var(--t-sm)/1.3 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2);white-space:nowrap}
.faixa li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--destaque)}
.faixa.rolando ul{flex:none;flex-wrap:nowrap;justify-content:space-around;min-width:100%;padding:0 var(--e5) 0 0;animation:rolar 38s linear infinite}
.faixa.rolando:hover ul{animation-play-state:paused}

/* Investimento */
.fases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3);max-width:920px;margin-inline:auto}
.fase{display:flex;flex-direction:column;padding:var(--e5);background:color-mix(in oklab, white 5%, var(--funda));border:1px solid var(--linha);border-radius:var(--raio)}
.fase.destaque{background:color-mix(in oklab, var(--marca) 46%, var(--funda));border-color:var(--linha-destaque);border-top:3px solid var(--destaque)}
.fase h3{font-size:var(--t-md);font-weight:800;letter-spacing:-.03em;margin:0}
.fase .rotulo{margin-bottom:var(--e1)}
.sec-funda .fase-quando{margin:var(--e1) 0 var(--e4);font-size:var(--t-sm);color:var(--texto-3)}
.sec-funda .preco{display:flex;align-items:flex-start;gap:4px;margin:0;color:var(--texto)}
.preco small{font-size:var(--t-sm);font-weight:700;color:var(--texto-2);margin-top:var(--e1)}
.preco b{font:800 var(--t-preco)/1 var(--f-titulo);letter-spacing:-.04em}
.preco span{align-self:flex-end;font-size:var(--t-lg);font-weight:700;color:var(--texto-2);margin-bottom:4px}
.sec-funda .fase-periodo{margin:var(--e1) 0 0;font-size:var(--t-sm);color:var(--texto-3)}
.itens{list-style:none;margin:var(--e4) 0;padding:var(--e4) 0 0;border-top:1px solid var(--linha);display:grid;gap:var(--e2)}
.itens li{display:flex;gap:var(--e2);color:var(--texto-2);line-height:1.45}
.itens .i{color:var(--destaque-claro);margin-top:2px}
.fase-btn{margin-top:auto}
.fase-btn::after{content:"→";font-weight:400}
.fase-btn:empty,.fase-nota:empty{display:none}
.sec-funda .fase-nota{margin:auto 0 0;font-size:var(--t-xs);color:var(--texto-3)}

/* Depoimentos (so aparecem quando o site.json traz depoimentos reais) */
.depoimentos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e3)}
.depoimento{margin:0;display:grid;gap:var(--e3);align-content:space-between;padding:var(--e4);background:var(--branco);border:1px solid var(--linha-clara);border-radius:var(--raio)}
.depoimento blockquote{margin:0;color:var(--tinta-2)}
.depoimento figcaption{display:grid;font-size:var(--t-sm)}
.depoimento figcaption span{color:var(--tinta-3)}

/* Duvidas: details nativo, um aberto por vez (atributo name) */
.faq{display:grid;gap:2px}
.faq details{background:var(--branco)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--e3);padding:var(--e4);font-weight:700;color:var(--tinta);cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{padding:5px;width:30px;height:30px;border-radius:50%;background:var(--marca-suave);color:var(--marca);transition:transform var(--rapida)}
.faq details[open] summary .i{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 var(--e4) var(--e4);max-width:64ch}

/* Chamada final */
.chamada{text-align:center;background:radial-gradient(ellipse 70% 80% at 50% 110%, color-mix(in oklab, var(--marca) 34%, transparent), transparent 70%), var(--noite)}
.chamada h2{font-size:var(--t-h1);max-width:16ch;margin-inline:auto}
.chamada .lead{margin:0 auto var(--e5)}

/* Rodape */
.rodape{background:var(--funda);border-top:1px solid var(--linha);padding-block:var(--e5) var(--e4);font-size:var(--t-sm)}
.rodape-in{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--e4) var(--e6)}
.rodape-linha{margin:var(--e1) 0 0;font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--texto-3)}
.rodape-links{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4)}
.rodape-links a{display:inline-flex;align-items:center;gap:var(--e1);color:var(--texto-2);text-decoration:none}
.rodape-links a:hover{color:var(--texto)}
.rodape-base{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e1) var(--e4);margin:var(--e4) 0 0;padding-top:var(--e3);border-top:1px solid var(--linha);font-size:var(--t-xs);color:var(--texto-3)}
.rodape-mini{padding-block:var(--e3)}
.rodape-mini .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e1) var(--e4);font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--texto-3)}
.zap{position:fixed;right:var(--e3);bottom:var(--e3);z-index:15;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--zap);color:var(--branco);box-shadow:var(--sombra);transition:transform var(--rapida)}
.zap:hover{transform:scale(1.06)}
.zap .i{width:28px;height:28px}

/* Pagina de texto (privacidade) */
.texto-pag{padding-top:calc(var(--topo-h) + var(--e6))}
.texto-longo{max-width:760px}
.texto-longo h1{font-size:var(--t-h2)}
.texto-longo h2{font-size:var(--t-h3);letter-spacing:-.02em;margin-top:var(--e5)}
.sec-clara.texto-pag .lead{color:var(--tinta-2)}
.texto-longo a{color:var(--marca)}

/* --- Diagnostico -------------------------------------------------------------- */
.pag-diag{background:
  linear-gradient(color-mix(in oklab, var(--destaque) 4%, transparent) 1px, transparent 1px) 0 0 / 80px 80px,
  linear-gradient(90deg, color-mix(in oklab, var(--destaque) 4%, transparent) 1px, transparent 1px) 0 0 / 80px 80px,
  var(--funda)}
.tela{display:grid;align-items:center;min-height:calc(100svh - 56px);padding-block:calc(var(--topo-h) + var(--e5)) var(--e6)}
.tela h1:focus,.pergunta legend:focus{outline:0}
.captura{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:var(--e6);align-items:center}
.captura .lead{margin-bottom:var(--e4)}
.captura .lista-pontos{color:var(--texto-2)}
.cartao{display:grid;gap:var(--e3);padding:var(--e5);background:var(--branco);color:var(--tinta);border-top:3px solid var(--marca);border-radius:var(--raio);box-shadow:var(--sombra)}
.cartao h2{font-size:var(--t-h3);letter-spacing:-.03em;margin:0}
.cartao > p{margin:0;color:var(--tinta-2)}
.cartao label{display:grid;gap:var(--e1);font-size:var(--t-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.cartao label small{font-weight:400;letter-spacing:0;text-transform:none;color:var(--tinta-3)}
.cartao input{width:100%;min-height:52px;padding:var(--e2) var(--e3);border:1.5px solid var(--linha-clara);border-radius:var(--raio);background:var(--claro);font:400 var(--t-base)/1.2 var(--f-texto);color:var(--tinta)}
.cartao input:focus{outline:0;border-color:var(--marca);background:var(--branco)}
.cartao .nota{margin:0;text-align:center;font-size:var(--t-xs);color:var(--tinta-3)}
.erro{margin:0;font-size:var(--t-sm);font-weight:600;color:var(--erro)}
.aviso{padding:var(--e2) var(--e3);border-radius:var(--raio);background:var(--marca-suave);font-size:var(--t-sm)}
.intro{max-width:820px;text-align:center}
.intro .lead{margin-inline:auto}
.niveis-escuros{margin-block:var(--e5) var(--e4);text-align:left}
.niveis-escuros li{background:var(--noite);border-color:var(--linha)}
.niveis-escuros li::before{background:var(--destaque)}
.niveis-escuros .nivel-n{color:var(--destaque-claro)}
.niveis-escuros .nivel-sub{font-weight:400;color:var(--texto-3)}
.intro-aviso{max-width:58ch;margin:0 auto var(--e4);font-size:var(--t-sm);color:var(--texto-3)}
.quiz{max-width:780px}
.quiz-topo{display:flex;justify-content:space-between;gap:var(--e3)}
.quiz-topo .rotulo{margin:0;color:var(--texto-3)}
.progresso{height:6px;margin:var(--e2) 0 var(--e5);border-radius:999px;background:var(--linha);overflow:hidden}
.progresso span,.barra span{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg, var(--marca), var(--destaque-claro));transition:width .5s ease}
.pergunta{display:grid;gap:var(--e2);margin:0;padding:0;border:0;min-width:0;animation:subir .4s ease backwards}
.captura > *,.intro,.res-cabeca,.res-mapa{animation:subir .6s ease backwards}
.captura > :nth-child(2),.res-mapa{animation-delay:.15s}
.pergunta legend{display:grid;gap:var(--e2);justify-items:start;padding:0;margin-bottom:var(--e3)}
.pergunta .selo{margin:0}
.pergunta-num{font:400 var(--t-xs)/1.4 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--texto-3)}
.pergunta-texto{font:800 var(--t-md)/1.15 var(--f-titulo);letter-spacing:-.03em;text-wrap:balance}
.opcao{position:relative;display:flex;align-items:center;gap:var(--e3);padding:var(--e3) var(--e4);border:1.5px solid var(--linha-2);border-radius:var(--raio);background:color-mix(in oklab, white 5%, transparent);font-size:var(--t-lg);cursor:pointer;transition:border-color var(--rapida),background var(--rapida)}
.opcao:hover{border-color:var(--linha-destaque)}
.opcao input{position:absolute;opacity:0;pointer-events:none}
.opcao-letra{flex:none;display:grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--linha-2);border-radius:50%;font:700 var(--t-xs)/1 var(--f-mono);color:var(--texto-2);transition:background var(--rapida),color var(--rapida),border-color var(--rapida)}
.opcao:has(input:checked){border-color:var(--destaque);background:color-mix(in oklab, var(--marca) 34%, transparent)}
.opcao:has(input:checked) .opcao-letra{background:var(--destaque);border-color:var(--destaque);color:var(--funda)}
.opcao:has(input:focus-visible){outline:2px solid var(--destaque-claro);outline-offset:3px}
.quiz-acoes{display:flex;gap:var(--e2);margin-top:var(--e4)}
.quiz-acoes [data-proxima]{flex:1}
.resultado{max-width:940px}
.res-cabeca{text-align:center;margin-bottom:var(--e5)}
.res-cabeca .lead{margin-inline:auto}
.res-mapa{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--e5);align-items:center;margin-bottom:var(--e3);padding:var(--e4) var(--e5);background:var(--noite);border:1px solid var(--linha);border-radius:var(--raio-g)}
.radar svg{display:block;width:100%;height:auto;overflow:visible}
.r-grade{fill:none;stroke:var(--linha-2);stroke-width:1}
.r-eixo{stroke:var(--linha);stroke-width:1}
.r-area{fill:color-mix(in oklab, var(--destaque) 38%, transparent);stroke:var(--destaque-claro);stroke-width:2;stroke-linejoin:round}
.r-ponto{fill:var(--branco)}
.r-area,.r-ponto{animation:crescer 1s .35s cubic-bezier(.2,.8,.2,1) backwards}
.r-nome{fill:var(--texto);font:700 var(--t-base)/1 var(--f-texto)}
.r-pct{fill:var(--destaque-claro);font:700 var(--t-sm)/1 var(--f-mono)}
.res-geral .rotulo{margin-bottom:var(--e2)}
.res-geral-texto{margin:0;font-size:var(--t-lg);color:var(--texto-2)}
.res-geral-texto strong{color:var(--texto)}
.res-partida{margin:var(--e3) 0 0;padding-top:var(--e3);border-top:1px solid var(--linha);color:var(--texto-2)}
.res-partida b{color:var(--destaque-claro)}
.res-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e3)}
.res-card{display:grid;gap:var(--e1);align-content:start;padding:var(--e4) var(--e5);background:var(--branco);color:var(--tinta);border-radius:var(--raio)}
.res-card.partida{box-shadow:0 0 0 3px var(--destaque)}
.res-card h2{font-size:var(--t-h3);letter-spacing:-.03em;margin:0}
.res-card .nivel-sub{margin:0;font-size:var(--t-sm);color:var(--tinta-3)}
.res-selo{margin-left:var(--e2);padding:3px var(--e1);border-radius:999px;background:var(--marca);color:var(--branco);letter-spacing:.04em}
.res-pct{margin:var(--e2) 0 0;font:700 var(--t-h2)/1 var(--f-mono);color:var(--tinta);font-variant-numeric:tabular-nums}
.barra{height:6px;border-radius:999px;background:var(--linha-clara);overflow:hidden}
.barra span{transition-duration:.9s}
.res-status{justify-self:start;margin:var(--e1) 0 0;padding:4px var(--e2);border-radius:999px;font-size:var(--t-xs);font-weight:700;background:var(--marca-suave);color:var(--marca)}
.res-status[data-status="critico"]{background:color-mix(in oklab, var(--critico) 14%, white);color:var(--critico)}
.res-status[data-status="atencao"]{background:color-mix(in oklab, var(--atencao) 20%, white);color:color-mix(in oklab, var(--atencao) 60%, black)}
.res-status[data-status="otimo"]{background:color-mix(in oklab, var(--otimo) 16%, white);color:var(--otimo)}
.res-texto{margin:var(--e2) 0 0;padding-top:var(--e3);border-top:1px solid var(--linha-clara);color:var(--tinta-2)}
.res-acoes{display:grid;gap:var(--e2);margin-top:var(--e4)}
.res-extras{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e2) var(--e5);margin-top:var(--e2)}
.res-nota{text-align:center;font-family:var(--f-mono);font-size:var(--t-xs)}

/* Revelacao ao rolar: so com JS, e nunca para quem pediu menos movimento */
.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js [data-reveal].visivel{opacity:1;transform:none}
/* cartoes entram um depois do outro (--atraso) e sobem um pouco com o mouse em cima */
.niveis li:nth-child(2),.entrega:nth-child(2),.fase:nth-child(2),.depoimento:nth-child(2){--atraso:.09s}
.niveis li:nth-child(3),.entrega:nth-child(3),.depoimento:nth-child(3){--atraso:.18s}
.niveis li:nth-child(4){--atraso:.27s}
.js .niveis li[data-reveal],.js .entrega[data-reveal],.js .fase[data-reveal],.js .depoimento[data-reveal]{transition:opacity .6s ease var(--atraso, 0s),transform .6s ease var(--atraso, 0s),translate var(--rapida),box-shadow var(--rapida)}
@media (hover: hover){
  .niveis li:hover,.entrega:hover,.fase:hover,.depoimento:hover{translate:0 -4px;box-shadow:var(--sombra)}
}

@media (max-width: 960px){
  .menu-btn{display:grid}
  .nav{position:absolute;inset:var(--topo-h) 0 auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:var(--e2) clamp(18px,5vw,40px) var(--e4);background:var(--funda);border-bottom:1px solid var(--linha)}
  .nav > a:not(.btn){padding:var(--e3) 0;border-bottom:1px solid var(--linha);font-size:var(--t-base)}
  .nav .btn{margin-top:var(--e3)}
  .topo.aberto .nav,html:not(.js) .nav{display:flex}
  html:not(.js) .topo{position:static;height:auto}
  html:not(.js) .nav{position:static}
  .topo.aberto .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .topo.aberto .menu-btn span:nth-child(2){opacity:0}
  .topo.aberto .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-texto{padding:calc(var(--topo-h) + var(--e4)) clamp(18px,5vw,40px) var(--e5)}
  .hero-foto{min-height:0;border-left:0;border-top:1px solid var(--linha-destaque)}
  .hero-grafico{display:none}
  .hero-foto img{position:static;aspect-ratio:4/5;max-height:80svh}
  .numeros{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numeros li{padding:var(--e4) clamp(18px,5vw,40px)}
  .numeros li:nth-child(odd){border-left:0}
  .numeros li:nth-child(n+3){border-top:1px solid var(--linha)}
  .duas,.sim,.sobre,.captura,.res-mapa{grid-template-columns:minmax(0,1fr)}
  .duas{gap:var(--e4)}
  .sobre,.captura{gap:var(--e5)}
  .sobre-foto{max-width:420px}
  .sim-campos,.sim-resultado{padding:var(--e4)}
  .niveis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entregas,.fases,.depoimentos{grid-template-columns:minmax(0,1fr)}
  .fase{padding:var(--e4)}
  .cartao{padding:var(--e4)}
  .radar{max-width:380px;margin-inline:auto}
}
@media (max-width: 560px){
  .acoes .btn,.metodo-acao .btn,.chamada .btn{width:100%}
  .niveis,.res-cards{grid-template-columns:minmax(0,1fr)}
  .opcao{padding:var(--e3);font-size:var(--t-base)}
  .res-mapa,.res-card,.metodo-acao{padding:var(--e4)}
  .quiz-acoes{flex-direction:column-reverse}
  .zap{width:52px;height:52px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  .js [data-reveal]{opacity:1;transform:none}
}
@media print{
  .topo,.zap,.res-acoes,.rodape,.skip{display:none}
  .pag-diag{background:white}
  .tela{min-height:0;padding-block:var(--e3)}
  .res-cabeca h1,.res-cabeca .lead,.res-geral-texto,.res-geral-texto strong,.res-partida,.r-nome{color:black;fill:black}
  .res-mapa{background:white;border-color:silver}
  .res-card{border:1px solid silver;break-inside:avoid}
  .r-grade,.r-eixo{stroke:silver}
}
