/* ============================================================
   Índice da Construção · app do diagnóstico
   Tokens de Fundação/Sistema/design-system/sigo-design-tokens.css.
   Nenhuma cor fora do DS. Poppins única por norma.
   Contraste: CTA usa primary-700 com branco (5,78:1); superfície verde
   recebe texto escuro (8,04:1). O token --brand-fg do DS (branco sobre
   #75B93F, 2,39:1) é deliberadamente ignorado.
   ============================================================ */
:root{
  --primary-100:#E8F6D0;--primary-200:#D1ECA3;--primary-400:#95CD4E;--primary-500:#75B93F;
  --primary-600:#5B9530;--primary-700:#447124;--primary-900:#1F3611;
  --neutral-50:#FAFAFA;--neutral-100:#F4F4F5;--neutral-200:#E4E4E7;--neutral-300:#D1D1D6;
  --neutral-400:#A1A1AA;--neutral-500:#71717A;--neutral-600:#52525B;--neutral-800:#27272A;
  --neutral-900:#18181B;--neutral-950:#0F0F0F;
  --warning-50:#FFFBEB;--warning-500:#F59E0B;--warning-700:#B45309;--error-600:#DC2626;

  --ground:var(--neutral-50);--surface:#FFFFFF;--surface-2:var(--neutral-100);
  --ink:var(--neutral-900);--ink-subtle:var(--neutral-600);--ink-muted:var(--neutral-500);
  --rule:var(--neutral-200);--rule-strong:var(--neutral-300);
  --measure:var(--primary-500);--measure-wash:var(--primary-100);--track:var(--neutral-200);--ref:var(--neutral-500);
  --act:var(--primary-700);--act-hover:var(--primary-600);--on-act:#FFFFFF;
  --alert-bg:var(--warning-50);--alert-line:var(--warning-500);--alert-ink:var(--warning-700);
  --erro:var(--error-600);--sky:var(--neutral-100);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:var(--neutral-950);--surface:var(--neutral-900);--surface-2:var(--neutral-800);
  --ink:var(--neutral-50);--ink-subtle:var(--neutral-300);--ink-muted:var(--neutral-400);
  --rule:var(--neutral-800);--rule-strong:var(--neutral-600);
  --measure:var(--primary-400);--measure-wash:#16240B;--track:var(--neutral-800);--ref:var(--neutral-400);
  --act:var(--primary-500);--act-hover:var(--primary-400);--on-act:var(--neutral-950);
  --alert-bg:rgba(245,158,11,.10);--alert-ink:#FCD34D;--erro:#FCA5A5;--sky:var(--neutral-800);
}}
:root[data-theme="dark"]{
  --ground:var(--neutral-950);--surface:var(--neutral-900);--surface-2:var(--neutral-800);
  --ink:var(--neutral-50);--ink-subtle:var(--neutral-300);--ink-muted:var(--neutral-400);
  --rule:var(--neutral-800);--rule-strong:var(--neutral-600);
  --measure:var(--primary-400);--measure-wash:#16240B;--track:var(--neutral-800);--ref:var(--neutral-400);
  --act:var(--primary-500);--act-hover:var(--primary-400);--on-act:var(--neutral-950);
  --alert-bg:rgba(245,158,11,.10);--alert-ink:#FCD34D;--erro:#FCA5A5;--sky:var(--neutral-800);
}

*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--ground);color:var(--ink);font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
.wrap{width:min(760px,100% - 40px);margin-inline:auto}
main{flex:1;padding-block:clamp(24px,4.5vw,48px)}
h1,h2,h3{font-weight:800;letter-spacing:-.028em;line-height:1.1;text-wrap:balance;margin:0}
h1{font-size:clamp(26px,4vw,38px)}h2{font-size:clamp(23px,3.2vw,31px)}h3{font-size:clamp(17px,1.9vw,20px);letter-spacing:-.02em}
p{margin:0}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
[hidden]{display:none!important}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;gap:12px}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule)}

/* topo e trilha */
.top{border-bottom:1px solid var(--rule);background:var(--ground);position:sticky;top:0;z-index:10}
.top-in{padding-block:13px}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
.brand{font-weight:800;font-size:15.5px;letter-spacing:-.03em;white-space:nowrap;color:var(--ink);text-decoration:none}
.brand span{color:var(--measure)}
.top-count{font-size:12.5px;color:var(--ink-muted);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.trail{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}
.seg{height:5px;border-radius:999px;background:var(--track);overflow:hidden}
.seg i{display:block;height:100%;width:0;background:var(--measure);border-radius:999px;transition:width .45s ease}
.seg.done i{width:100%}.seg.now i{width:var(--p,0%)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 30px;border-radius:8px;border:1px solid transparent;font-family:inherit;font-size:16.5px;font-weight:600;letter-spacing:-.012em;background:var(--act);color:var(--on-act);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .16s ease}
.btn:hover{background:var(--act-hover)}.btn:disabled{opacity:.6;cursor:wait}
.btn:focus-visible{outline:3px solid var(--measure);outline-offset:3px}
.back{margin-top:22px;background:none;border:0;padding:6px 0;cursor:pointer;font-family:inherit;font-size:14px;color:var(--ink-muted);text-decoration:underline;text-underline-offset:3px}
.back:hover{color:var(--ink)}.back:focus-visible{outline:3px solid var(--measure);outline-offset:3px}
.erro{color:var(--erro);font-size:14.5px;font-weight:500;margin-top:10px}

/* perfil */
.perfil{max-width:680px}
.seal{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:999px;border:1px solid var(--rule-strong);background:var(--surface);font-size:13px;color:var(--ink-subtle);margin-bottom:18px}
.seal::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--measure)}
.seal b{color:var(--ink);font-weight:700}
.perfil h1{margin-bottom:10px}
.lead{color:var(--ink-subtle);font-size:16.5px;margin-bottom:26px;max-width:56ch}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600;color:var(--ink-subtle)}
.opc{font-weight:400;color:var(--ink-muted)}
input,select{font-family:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1px solid var(--rule-strong);border-radius:8px;padding:12px 13px;width:100%}
input:focus,select:focus{outline:3px solid var(--measure);outline-offset:1px;border-color:var(--measure)}
.consent{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:14px;color:var(--ink-subtle);margin:22px 0 18px;line-height:1.5}
.consent input{width:18px;height:18px;margin-top:3px;flex:none}
.nota{font-size:13.5px;color:var(--ink-muted);margin-top:14px}

/* cena e pergunta */
.scene{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;align-items:center;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:20px 24px;margin-bottom:34px}
.scene svg{width:100%;height:auto}
@media(max-width:600px){.scene{grid-template-columns:74px minmax(0,1fr);gap:15px;padding:15px 17px}.scene h1{font-size:20px}.scene p{font-size:13.5px}}
.scene.compacta{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:12px 16px;margin-bottom:22px}
.scene.compacta h1{font-size:16.5px;margin:0}
.scene.compacta p,.scene.compacta .scene-label{display:none}
.scene.compacta .scene-linha{display:block;font-size:12.5px;color:var(--ink-muted)}
.scene-linha{display:none}
.scene-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--measure);margin-bottom:5px}
.scene h1{font-size:clamp(23px,3.4vw,32px);margin-bottom:5px}
.scene p{font-size:14.5px;color:var(--ink-muted)}
.q{font-size:clamp(19px,2.5vw,25px);font-weight:700;letter-spacing:-.022em;line-height:1.42;margin:0 0 26px;text-wrap:pretty}
.opts{display:grid;gap:10px}
.opt{display:flex;align-items:center;gap:15px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:11px;padding:17px 19px;font-family:inherit;font-size:16px;line-height:1.4;color:var(--ink);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}
.opt:hover,.opt[aria-pressed="true"]{border-color:var(--measure);background:var(--measure-wash)}
.opt:focus-visible{outline:3px solid var(--measure);outline-offset:3px}
.opt-key{flex:none;width:27px;height:27px;border-radius:7px;border:1px solid var(--rule-strong);display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--ink-muted);background:var(--ground)}
.opt:hover .opt-key,.opt[aria-pressed="true"] .opt-key{border-color:var(--measure);background:var(--measure);color:var(--neutral-950)}
@media(prefers-reduced-motion:no-preference){.opt:hover{transform:translateX(2px)}}

/* revelação */
.reveal{text-align:center;padding-top:clamp(20px,5vw,60px)}
.reveal-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--measure);margin-bottom:12px}
.reveal h2{margin-bottom:8px;font-size:clamp(26px,3.8vw,36px)}
.reveal-sub{color:var(--ink-subtle);font-size:16.5px;max-width:44ch;margin:0 auto 30px}
.reveal-bar{height:15px;border-radius:999px;background:var(--track);overflow:hidden;max-width:460px;margin:0 auto;border:1px solid var(--rule)}
.reveal-bar i{display:block;height:100%;width:0;background:var(--measure);border-radius:0 4px 4px 0;transition:width 1.1s cubic-bezier(.22,.8,.3,1)}
@media(prefers-reduced-motion:reduce){.reveal-bar i{transition:none}}
.reveal-val{font-size:clamp(46px,7vw,64px);font-weight:800;letter-spacing:-.045em;line-height:1;color:var(--measure);margin-top:20px}
.reveal-val small{font-size:.33em;font-weight:600;color:var(--ink-muted)}
.reveal-note{font-size:14.5px;color:var(--ink-muted);margin-top:12px}
.reveal .btn{margin-top:32px}

/* resultado */
.sec{padding-top:clamp(36px,5vw,56px)}
.head{padding-top:clamp(10px,3vw,30px)}
.head-grid{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
@media(max-width:760px){.head-grid{grid-template-columns:1fr;gap:20px}}
.hero-num{font-size:clamp(84px,13vw,132px);font-weight:800;line-height:.82;letter-spacing:-.05em;color:var(--measure)}
.hero-num small{font-size:.28em;font-weight:600;color:var(--ink-muted);letter-spacing:-.02em}
.head h1{margin-bottom:14px;font-size:clamp(30px,4.6vw,46px)}
.head-grid p{color:var(--ink-subtle);font-size:17px;max-width:46ch}
.scale{margin-top:30px}
.scale-track{display:grid;grid-template-columns:39fr 25fr 20fr 16fr;height:12px;border-radius:999px;overflow:hidden;border:1px solid var(--rule)}
.scale-track i{display:block}.s1{background:var(--surface-2)}.s2{background:var(--primary-200)}.s3{background:var(--measure);opacity:.62}.s4{background:var(--measure)}
.scale-you{position:relative;height:46px;margin-top:6px}
.scale-pin{position:absolute;transform:translateX(-50%);text-align:center;white-space:nowrap}
.scale-pin::before{content:"";display:block;width:2px;height:9px;background:var(--ink);margin:0 auto 3px}
.scale-pin b{font-size:12px;font-weight:700}
.scale-legend{display:grid;grid-template-columns:39fr 25fr 20fr 16fr;margin-top:10px;font-size:11.5px;color:var(--ink-muted)}
.scale-legend div{border-left:1px solid var(--rule-strong);padding-left:8px}.scale-legend div:first-child{border-left:0;padding-left:0}
.scale-legend b{display:block;color:var(--ink);font-size:12.5px}
@media(max-width:560px){.scale-legend{font-size:10px}.scale-legend b{font-size:11px}}
.gate{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;background:var(--alert-bg);border:1px solid var(--alert-line);border-radius:12px;padding:22px 24px;margin-top:34px}
.gate-icon{width:30px;height:30px;border-radius:50%;background:var(--alert-line);color:#3A2606;display:grid;place-items:center;font-weight:800;font-size:18px;line-height:1}
.gate-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--alert-ink);margin-bottom:6px}
.gate h3{margin-bottom:8px}.gate p{font-size:15.5px;color:var(--ink-subtle)}
/* radar: eixos em fração da própria dimensão; séries por traço, não só cor */
.radar-wrap{margin-top:26px;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:22px 20px 18px}
.radar{display:block;width:min(460px,100%);height:auto;margin:0 auto}
.rd-anel{fill:none;stroke:var(--rule);stroke-width:1}
.rd-eixo{stroke:var(--rule-strong);stroke-width:1}
.rd-rotulo{font-size:11px;font-weight:600;fill:var(--ink);font-family:inherit}
.rd-peso{font-size:9.5px;font-weight:500;fill:var(--ink-muted)}
.rd-voce{fill:var(--measure);fill-opacity:.22;stroke:var(--measure);stroke-width:2.5;stroke-linejoin:round}
.rd-regiao{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:7 5;stroke-linejoin:round}
.rd-brasil{fill:none;stroke:var(--ink-muted);stroke-width:2;stroke-dasharray:2 4;stroke-linecap:round;stroke-linejoin:round}
.rd-ponto{fill:var(--measure);stroke:var(--surface);stroke-width:2}
.rd-legenda{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:14px;font-size:13px;color:var(--ink-subtle)}
.rd-lg{display:inline-flex;align-items:center;gap:8px}
.rd-lg::before{content:"";width:22px;height:0;border-top:3px solid var(--measure)}
.rd-lg-regiao::before{border-top:2px dashed var(--ink)}
.rd-lg-brasil::before{border-top:2px dotted var(--ink-muted)}
.rd-lg.off{color:var(--ink-muted)}
.rd-lg.off::before{opacity:.45}
.rd-nota{font-size:12.5px;color:var(--ink-muted);text-align:center;margin-top:10px}
.dims{margin-top:30px;border-top:1px solid var(--rule)}
.dim{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,260px) 66px;gap:22px;align-items:center;padding-block:17px;border-bottom:1px solid var(--rule)}
@media(max-width:700px){.dim{grid-template-columns:minmax(0,1fr) 62px;gap:6px 14px;padding-block:15px}.dim-plot{grid-column:1 / -1;order:3}}
.dim-name{font-size:16.5px;font-weight:600;letter-spacing:-.015em}.dim-sub{font-size:13.5px;color:var(--ink-muted);margin-top:1px}
.dim-plot{position:relative}
.bar{height:12px;border-radius:999px;background:var(--track);overflow:hidden}
.bar i{display:block;height:100%;background:var(--measure);border-radius:0 4px 4px 0}.bar.low i{background:var(--alert-line)}
.dim-val{font-size:15.5px;font-weight:700;text-align:right;letter-spacing:-.02em}.dim-val span{font-size:12.5px;font-weight:500;color:var(--ink-muted)}
.locked{background:var(--surface);border:1px dashed var(--rule-strong);border-radius:12px;padding:24px 26px;margin-top:30px}
.locked-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.locked-tick{display:inline-block;width:2px;height:15px;background:var(--ref);border-radius:1px;transform:translateY(2px)}
.locked-lead{font-size:15px;color:var(--ink-subtle);max-width:56ch}
.plan{display:grid;margin-top:30px}
.step{display:grid;grid-template-columns:46px minmax(0,1fr);gap:18px;padding:22px 0;border-top:1px solid var(--rule);align-items:start}
.step:last-child{border-bottom:1px solid var(--rule)}
.step-n{font-size:13px;font-weight:700;color:var(--measure);padding-top:3px;letter-spacing:.05em}
.step h3{margin-bottom:7px}.step p{font-size:15.5px;color:var(--ink-subtle)}
.step-gain{display:inline-block;margin-top:10px;font-size:12px;font-weight:600;color:var(--ink-subtle);background:var(--surface-2);border:1px solid var(--rule);border-radius:999px;padding:3px 11px}
.raise{background:var(--surface);border:1px solid var(--rule);border-radius:14px;margin-top:clamp(36px,5vw,56px)}
.raise-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:clamp(20px,4vw,40px);align-items:center;padding:clamp(24px,4vw,40px)}
@media(max-width:700px){.raise-in{grid-template-columns:1fr;gap:20px}}
.raise p{color:var(--ink-subtle);font-size:16px;margin-top:10px;max-width:52ch}
.raise-note{font-size:13.5px;color:var(--ink-muted)}
.fim{margin-top:18px;color:var(--ink-subtle);font-size:16px;max-width:64ch}

footer{padding-block:22px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--ink-muted)}
.foot-in{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
