/* Teste de Proteção Institucional — identidade Parlatorium. */
@font-face{font-family:Manrope;src:url(assets/manrope-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-500.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-600.ttf) format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/manrope-700.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url(assets/cormorant-500.ttf) format('truetype');font-weight:500;font-style:italic;font-display:swap}

:root{
  --paper:#f4f0e7;--paper-2:#fffefa;--paper-3:#ece6d9;
  --ink:#151d21;--ink-soft:#5d6367;--navy:#0b151c;
  --gold:#a0834c;--gold-light:#c6aa73;--cream:#eed8b7;
  --green:#2ee06a;--green-deep:#10b354;
  --line:#151d211a;
  --sans:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --serif:'Cormorant Garamond',Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,ol,ul,figure{margin:0}
ol,ul{padding:0;list-style:none}
a{color:inherit}
em{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(720px,calc(100% - 44px));margin-inline:auto}

/* topo */
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px max(22px,calc((100% - 720px)/2));background:#f4f0e7f2;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.marca{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--ink)}
.passo-info{font-size:11.5px;font-weight:600;letter-spacing:1.4px;color:var(--gold)}
.barra{position:sticky;top:53px;z-index:19;height:3px;background:#151d2114}
.barra span{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--gold-light),var(--gold));transition:width .45s var(--ease)}

/* telas */
.tela{padding:clamp(34px,6vh,58px) 0 clamp(48px,8vh,80px)}
.tela[hidden]{display:none}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:10.5px;font-weight:600;letter-spacing:2.2px;color:var(--gold)}
.risco{display:inline-block;width:26px;height:1px;background:currentColor}
h1{margin-top:20px;font-size:clamp(32px,5.2vw,50px);font-weight:500;line-height:1.1;letter-spacing:-1.7px}
h1 em{font-size:1.08em}
h2{margin-top:16px;font-size:clamp(25px,3.6vw,35px);font-weight:500;line-height:1.2;letter-spacing:-1.1px}
.lead{max-width:60ch;margin-top:18px;font-size:16.5px;line-height:1.8;color:var(--ink-soft)}
.lead-curta{margin-top:12px;font-size:15px}

/* abertura */
.areas{margin-top:30px;padding:26px 24px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}
.areas-titulo{font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold)}
.areas ol{display:grid;gap:12px;margin-top:18px}
.areas li{display:flex;gap:14px;font-size:15.5px;line-height:1.5}
.areas li span{font:500 12px/1.6 var(--serif);font-style:italic;color:var(--gold)}
.areas-nota{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink-soft)}
.instrucoes{margin-top:28px;display:grid;gap:12px}
.instrucoes p{font-size:14px;line-height:1.75;color:var(--ink-soft)}
.instrucoes strong{color:var(--ink)}
.instrucoes em{font-size:1.05em}

/* botões */
.botao{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:15px 32px;border:1px solid transparent;border-radius:100px;font:600 15.5px var(--sans);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s,filter .25s}
.botao-principal{margin-top:30px;background:var(--navy);color:#f7f3ea;box-shadow:0 12px 28px #0b151c26}
.botao-principal:hover{transform:translateY(-2px);background:#16232e}
.botao-principal:disabled{opacity:.6;cursor:default;transform:none}
.botao-discreto{background:transparent;border-color:#151d2133;color:var(--ink)}
.botao-discreto:hover{border-color:var(--ink)}
.botao-verde{background:linear-gradient(180deg,var(--green),var(--green-deep));color:#fff;font-weight:700;box-shadow:0 12px 28px #10b35440;text-decoration:none}
.botao-verde:hover{transform:translateY(-2px);filter:brightness(1.06)}

/* perguntas */
.pergunta{margin:26px 0 0;padding:24px 22px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);transition:border-color .25s,box-shadow .25s}
.pergunta.is-faltando{border-color:#c2564a;box-shadow:0 0 0 3px #c2564a1a}
.pergunta legend{display:block;padding:0;font-size:16.5px;font-weight:500;line-height:1.55}
.pergunta-num{display:block;margin-bottom:8px;font:600 10.5px/1 var(--sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--gold)}
.opcoes{display:grid;gap:9px;margin-top:18px}
.opcao{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:11px;cursor:pointer;font-size:14.5px;line-height:1.4;transition:border-color .2s,background .2s}
.opcao:hover{border-color:var(--gold-light);background:#fffdf6}
.opcao input{accent-color:var(--navy);width:17px;height:17px;flex:0 0 auto;margin:0}
.opcao:has(input:checked){border-color:var(--navy);background:#f7f4ec}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.acoes .botao{margin-top:0;flex:1 1 auto}

/* formulário */
.formulario{display:grid;gap:16px;margin-top:26px}
.formulario>label{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.formulario>label input{margin-top:7px}
.formulario label span{color:var(--gold)}
.formulario input[type=text],.formulario input[type=email],.formulario input[type=tel]{width:100%;padding:15px 16px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2);font:400 15.5px var(--sans);color:var(--ink)}
.formulario input::placeholder{color:#a3a8ab;font-size:14px}
.formulario input:focus{border-color:var(--gold);outline:none}
.consentimentos{margin-top:8px;padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2);display:grid;gap:14px}
.consent-titulo{font-size:11px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold)}
.caixa{display:flex!important;align-items:flex-start;gap:12px;font-weight:400!important;font-size:14px;line-height:1.6;color:var(--ink-soft);cursor:pointer}
.caixa input{margin:3px 0 0;width:17px;height:17px;flex:0 0 auto;accent-color:var(--navy)}
.caixa strong{color:var(--ink)}
.consent-nota{font-size:12.5px;line-height:1.6;color:var(--ink-soft)}
.erro{padding:14px 16px;border-radius:11px;background:#fdecea;border:1px solid #e8b4ae;color:#8c2f24;font-size:14px}

/* processamento */
.tela-processando{text-align:center;padding-top:clamp(60px,14vh,120px)}
.girando{display:block;width:44px;height:44px;margin:0 auto 26px;border:2px solid #151d2118;border-top-color:var(--gold);border-radius:50%;animation:girar 1s linear infinite}
@keyframes girar{to{rotate:360deg}}
.tela-processando .lead{margin-inline:auto}
.analisando{display:grid;gap:10px;max-width:420px;margin:26px auto 0;text-align:left}
.analisando li{padding-left:22px;position:relative;font-size:14.5px;color:var(--ink-soft)}
.analisando li::before{content:'';position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--gold-light)}

/* resultado */
.ficha{display:grid;gap:10px;margin-top:26px;padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}
.ficha p{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:15px}
.ficha span{min-width:104px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold)}
.copia{margin-top:12px;font-size:13px;color:var(--ink-soft)}
.visao{margin-top:26px;padding:22px 22px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:#fffdf6;font-size:15.5px;line-height:1.8}
.secao-titulo{margin-top:38px;font-size:19px;font-weight:600;letter-spacing:-.4px}
.pilares{display:grid;gap:14px;margin-top:18px}
.pilar{padding:22px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper-2)}
.pilar h4{margin-top:12px;font-size:17px;font-weight:600;letter-spacing:-.3px}
.pilar p{margin-top:9px;font-size:14.5px;line-height:1.75;color:var(--ink-soft)}
.pilar .orientacao{margin-top:10px;color:var(--ink)}
.selo{display:inline-block;padding:6px 13px;border-radius:100px;font-size:11px;font-weight:600;letter-spacing:.6px}
.selo-consistente{background:#e4f5ea;color:#186b3c}
.selo-atencao{background:#fbf1de;color:#8a6220}
.selo-prioridade{background:#fbe6e2;color:#94372a}
.selo-indefinido{background:#eceff0;color:#4f5a5f}
.pilar-consistente{border-left:3px solid #2f9e5f}
.pilar-atencao{border-left:3px solid var(--gold)}
.pilar-prioridade{border-left:3px solid #c2564a}
.pilar-indefinido{border-left:3px solid #9aa4a8}
.legenda{display:grid;gap:10px;margin-top:22px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--paper-3)}
.legenda p{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-soft)}
.legenda-nota{margin-top:6px;font-size:12.5px;line-height:1.6}
.passos{counter-reset:passo;display:grid;gap:12px;margin-top:18px}
.passos li{counter-increment:passo;position:relative;padding-left:38px;font-size:15px;line-height:1.7;color:var(--ink-soft)}
.passos li::before{content:counter(passo,decimal-leading-zero);position:absolute;left:0;top:1px;font:500 13px/1.4 var(--serif);font-style:italic;color:var(--gold)}
.fechamento{margin-top:38px;padding:28px 24px;border-radius:18px;background:var(--navy);color:#eef1f2;display:grid;gap:12px;justify-items:start}
.fechamento-titulo{font:500 21px/1.3 var(--serif);font-style:italic;color:var(--cream)}
.fechamento p{font-size:15px;line-height:1.75;color:#b9c3c8}
.fechamento .botao{margin-top:6px}
.fechamento .botao-discreto{border-color:#ffffff40;color:#eef1f2}
.fechamento .botao-discreto:hover{border-color:#fff;background:#ffffff0f}

.aviso{margin-top:26px;font-size:12.5px;line-height:1.7;color:#8a9095}
.aviso-final{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.rodape{padding:28px 0 36px;text-align:center;font-size:12px;color:#8a9095;border-top:1px solid var(--line)}

@media(max-width:620px){
  .wrap{width:calc(100% - 36px)}
  .topo{padding-inline:18px}
  .tela{padding-top:26px}
  h1{font-size:clamp(28px,8.4vw,38px);letter-spacing:-1.2px}
  h2{font-size:clamp(22px,6.4vw,28px)}
  .pergunta{padding:20px 17px}
  .pergunta legend{font-size:15.5px}
  .acoes{flex-direction:column-reverse}
  .acoes .botao{width:100%}
  .fechamento .botao{width:100%}
  .ficha span{min-width:auto}
}
@media(prefers-reduced-motion:reduce){
  .botao,.barra span{transition:none}
  .girando{animation-duration:2.4s}
}
