/* Principium · identidade: Referencias/Principium/Identidade-Visual.md
   Sóbria, editorial e escura. Um acento só: o laranja do Ponto.
   Escala tipográfica (desktop): 11 · 13 · 15 · 17 · 19 · 24 · 34 · 64 */
:root{
  --escuro:#17140F; --painel:#211C15; --creme:#F6F2EA; --texto:#CFC8BB;
  --cinza:#9C9486; --filete:#3A342B; --laranja:#D54C17; --laranja-leitura:#D86A4C;
  --serif:"Source Serif 4", Georgia, serif; --sans:Inter, system-ui, sans-serif;
  --largura:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--escuro);color:var(--texto);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body{min-height:100vh;display:flex;flex-direction:column}

/* ---------- topo ---------- */
.topo{max-width:var(--largura);width:100%;margin:0 auto;padding:28px 32px 22px;display:flex;align-items:center;justify-content:space-between}
.topo-faixa{border-bottom:1px solid var(--filete)}
.marca{display:flex;flex-direction:column;gap:4px}
.wordmark{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--creme);line-height:1}
.ponto{color:var(--laranja)}
.assinatura{font-size:9px;letter-spacing:.44em;text-transform:uppercase;color:var(--cinza);font-weight:600}
.topo-selo{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cinza);font-weight:600}

main{flex:1;width:100%;max-width:var(--largura);margin:0 auto;padding:72px 32px 80px}
.tela{display:none;animation:entra .35s ease}
.tela.ativa{display:block}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- tipografia comum ---------- */
.kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--cinza);font-weight:600;margin-bottom:20px}
.kicker.centro{text-align:center}
h1{font-family:var(--serif);font-weight:300;color:var(--creme);font-size:clamp(38px,5.4vw,64px);line-height:1.06;letter-spacing:-.015em;max-width:11.5em}
h1 em{font-style:italic;font-weight:400;color:var(--laranja)}
h2{font-family:var(--serif);font-weight:400;color:var(--creme);font-size:clamp(24px,3.2vw,34px);line-height:1.22;max-width:760px}
h3{font-family:var(--serif);font-weight:400;color:var(--creme);font-size:24px;line-height:1.2}
.filete{width:48px;height:3px;background:var(--laranja);margin:28px 0}
.lead,.sub{font-size:19px;line-height:1.6;color:var(--texto);max-width:30em;margin-bottom:36px}
.nota{font-size:13px;color:var(--cinza);margin-top:14px}

.btn{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--laranja);color:#fff;border:0;padding:20px 34px;border-radius:2px;cursor:pointer;transition:filter .2s,transform .1s}
.btn:hover{filter:brightness(1.1)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:wait}

/* ---------- abertura ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:72px;align-items:center}
.meta{margin-top:22px;font-size:13px;color:var(--cinza)}
.meta span+span::before{content:"·";margin:0 10px;color:#5d574d}
.autor{display:flex;align-items:center;gap:14px;margin-top:40px;padding-top:24px;border-top:1px solid var(--filete);max-width:30em}
.autor img{width:48px;height:48px;border-radius:50%;object-fit:cover;filter:grayscale(.2)}
.autor p{font-size:13px;line-height:1.5;color:var(--cinza)}
.autor strong{color:var(--creme);font-weight:500}

.previa{background:var(--painel);border-top:3px solid var(--laranja);padding:36px 34px 30px}
.previa-kicker{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--cinza);font-weight:600;margin-bottom:22px}
.previa-titulo{font-family:var(--serif);font-size:24px;color:var(--creme);font-weight:300}
.previa-oculto{height:34px;width:78%;margin:12px 0 32px;border-radius:2px;background:linear-gradient(90deg,#3a2a1f 0%,#5a3420 45%,#3a2a1f 90%);background-size:200% 100%;animation:brilho 2.4s ease-in-out infinite}
@keyframes brilho{0%{background-position:100% 0}100%{background-position:-100% 0}}
.previa-barras{display:flex;flex-direction:column;gap:14px;padding:22px 0;border-top:1px solid var(--filete);border-bottom:1px solid var(--filete)}
.previa-barras div{display:grid;grid-template-columns:112px 1fr 16px;align-items:center;gap:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.previa-barras i{height:5px;background:var(--filete);display:block}
.previa-barras b{display:block;height:100%;background:var(--texto);opacity:.25;filter:blur(1.5px)}
.previa-barras em{font-style:normal;font-family:var(--serif);font-size:15px;color:var(--laranja);text-align:right}
.previa-rodape{font-size:13px;color:var(--cinza);margin-top:18px;font-style:italic;font-family:var(--serif)}

.forcas{margin-top:112px;padding-top:56px;border-top:1px solid var(--filete)}
.forcas-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:40px}
.forcas-grade .num{display:block;font-family:var(--serif);color:var(--laranja);font-size:15px;letter-spacing:.1em;margin-bottom:14px}
.forcas-grade h3{margin-bottom:10px}
.forcas-grade p{font-size:15px;line-height:1.6;color:var(--texto)}

/* ---------- perguntas ---------- */
.progresso{height:2px;background:var(--filete);margin-bottom:40px}
.barra{height:100%;background:var(--laranja);width:0;transition:width .35s ease}
.filete.esq{margin:24px 0 32px}
.opcoes{display:flex;flex-direction:column;gap:12px;max-width:720px}
.opcao{text-align:left;font-family:var(--sans);font-size:17px;line-height:1.5;color:var(--creme);background:var(--painel);border:1px solid var(--filete);border-left:3px solid var(--filete);padding:18px 22px;cursor:pointer;transition:border-color .15s,background .15s;border-radius:2px}
@media (hover:hover){.opcao:hover{border-color:var(--cinza);border-left-color:var(--laranja)}}
.opcao.marcada{border-left-color:var(--laranja);background:#2a231a}
.campo-aberto{display:flex;gap:10px;margin-top:4px}
.campo-aberto input{flex:1;min-width:0}
.campo-aberto .btn{padding:14px 22px}
.voltar{margin-top:28px;background:none;border:0;color:var(--cinza);font-size:13px;cursor:pointer;font-family:var(--sans)}
.voltar:hover{color:var(--creme)}

/* ---------- etapas de dados ---------- */
.sub-etapa{margin:-8px 0 28px;font-size:17px}
.pular{background:none;border:0;color:var(--cinza);font-size:13px;cursor:pointer;font-family:var(--sans);text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.pular:hover{color:var(--creme)}
.envio{font-size:15px;color:var(--cinza)}
form{max-width:520px;display:flex;flex-direction:column;gap:16px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;letter-spacing:.04em;color:var(--cinza);font-weight:500}
.opcional{letter-spacing:0;font-weight:400}
input{font-family:var(--sans);font-size:16px;color:var(--creme);background:var(--painel);border:1px solid var(--filete);padding:14px 16px;border-radius:2px;outline:none}
input:focus{border-color:var(--laranja)}
label.check{flex-direction:row;align-items:flex-start;gap:12px;font-size:15px;letter-spacing:0;color:var(--texto);background:var(--painel);border:1px solid var(--filete);padding:16px;cursor:pointer}
label.check input{width:18px;height:18px;margin-top:3px;accent-color:var(--laranja);flex-shrink:0}
.erro{color:var(--laranja-leitura);font-size:13px;min-height:1em}

/* ---------- resultado ---------- */
.veredito{font-size:clamp(28px,4.2vw,44px);font-weight:300}
.veredito strong{font-weight:600;color:var(--laranja);letter-spacing:.02em}
.intensidade{color:var(--cinza);font-size:15px;margin-top:10px}
.placar{display:flex;flex-direction:column;gap:12px;max-width:560px;margin-bottom:36px}
.linha-placar{display:grid;grid-template-columns:140px 1fr 34px;align-items:center;gap:14px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.linha-placar .trilho{height:6px;background:var(--filete)}
.linha-placar .enche{height:100%;background:var(--texto)}
.linha-placar.venceu{color:var(--creme)}
.linha-placar.venceu .enche{background:var(--laranja)}
.linha-placar .pts{text-align:right;font-family:var(--serif);font-size:17px;letter-spacing:0}
.cartao{background:var(--painel);border-top:3px solid var(--filete);padding:24px 28px;margin-bottom:14px;max-width:760px}
.cartao p{color:var(--creme);font-size:17px}
.cartao .rotulo{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--cinza);font-weight:600;margin-bottom:10px}
.cartao.destaque{border-top-color:var(--laranja)}
.cartao.destaque p:not(.rotulo){font-family:var(--serif);font-size:19px;line-height:1.5}
.cartao.alerta{border-top-color:var(--laranja-leitura)}
blockquote{font-family:var(--serif);font-style:italic;font-weight:300;color:var(--creme);font-size:clamp(22px,3vw,34px);line-height:1.3;max-width:720px;margin:56px 0;padding-left:24px;border-left:3px solid var(--laranja)}
.fecho{max-width:720px;border-top:1px solid var(--filete);padding-top:28px}
.fecho p{margin-bottom:14px}
.fecho strong{color:var(--creme)}
.proximo{font-family:var(--serif);font-size:19px;color:var(--creme)}

.rodape{text-align:center;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#5d574d;padding:32px 16px;border-top:1px solid #231e17}

/* ---------- celular ---------- */
@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:48px}
  .forcas-grade{grid-template-columns:1fr;gap:32px}
}
@media (max-width:600px){
  html,body{font-size:16px}
  .topo{padding:20px 16px 16px}
  .topo-selo{display:none}
  main{padding:40px 16px 56px}
  .lead,.sub{font-size:17px;margin-bottom:28px}
  .btn{width:100%}
  .campo-aberto{flex-direction:column}
  .filete{margin:22px 0}
  .previa{padding:28px 22px 24px}
  .previa-barras div{grid-template-columns:118px 1fr 14px;letter-spacing:.08em}
  .forcas{margin-top:72px;padding-top:40px}
  .linha-placar{grid-template-columns:110px 1fr 28px}
  .cartao{padding:20px 18px}
}
