:root{
  --ink:#251D29; --ink-800:#3A2F40; --ink-600:#5C5065;
  /* CONTRASTE · medido contra o bone, que é o fundo do corpo.
     --ink-400 era #8E8595 e dava 2,97:1 em 82 rótulos. Agora dá 4,50:1,
     que é o mínimo da norma para texto normal.
     --ink-300 era #B6AFBB e dava 1,79:1 em 32 lugares. Ele pinta número
     de capítulo, índice e item de lista, que é texto pequeno: foi para
     4,5:1 também. A hierarquia entre ele e o 400 passa a ser feita por
     peso e tamanho, que não custa legibilidade.
     --ink-200 fica como está: ele é linha e borda, nunca texto. */
  --ink-400:#706777;
  --ink-300:#716678; --ink-200:#D8D3DC;
  --bone:#EBEBEB; --bone-soft:#F4F3F2; --white:#FFFFFF;
  --signal:#FEB702; --ok:#1B7950; --signal-soft:#FFF3D1;  /* o verde subiu de 3,64:1 para 4,50:1 */
  --r-lg:24px; --r-md:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:'Poppins',system-ui,sans-serif;background:var(--bone);color:var(--ink);
  font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-0.02em}
.serif{font-family:'Fraunces',Georgia,serif;font-weight:400}
.mono{font-family:'JetBrains Mono',monospace}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
textarea{resize:vertical}
a{color:inherit}

/* etiqueta da marca: pílula Signal com texto Ink, nunca texto amarelo solto */
.eyebrow{font-family:'JetBrains Mono',monospace;text-transform:uppercase;font-size:11px;
  letter-spacing:0.13em;font-weight:700;color:var(--ink);background:var(--signal);
  display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:100px;
  line-height:1;max-width:100%}
.eyebrow.muted{background:var(--ink-200);color:var(--ink-600);font-weight:600}
.eyebrow .dot{width:5px;height:5px;background:var(--ink);opacity:.55}
.eyebrow.muted .dot{background:var(--ink-600)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--signal);flex:0 0 auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 26px;
  border-radius:100px;font-weight:600;font-size:14px;letter-spacing:-0.01em;transition:.18s;white-space:nowrap}
.btn-primary{background:var(--ink);color:var(--bone)}
.btn-primary:hover{background:var(--ink-800);transform:translateY(-1px)}
.btn-signal{background:var(--signal);color:var(--ink)}
.btn-signal:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink-200)}
.btn-ghost:hover{border-color:var(--ink);background:var(--white)}
.btn-sm{padding:9px 18px;font-size:13px}
.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}

.card{background:var(--white);border-radius:var(--r-lg);padding:32px;border:1px solid rgba(37,29,41,.07)}
.card-flat{background:var(--bone-soft);border-radius:var(--r-md);padding:22px;border:1px solid rgba(37,29,41,.06)}

.shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}
.sidebar{background:var(--white);border-right:1px solid rgba(37,29,41,.08);padding:28px 20px;
  display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh;overflow-y:auto}
.logo{font-weight:900;font-size:21px;letter-spacing:-0.04em;display:flex;align-items:center}
.logo .bar{color:var(--signal);font-weight:400;margin:0 2px}
.nav{display:flex;flex-direction:column;gap:3px}
.nav-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-400);margin:14px 0 7px 12px}
.nav-item{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:12px;
  font-size:13.5px;font-weight:500;color:var(--ink-600);transition:.15s;text-align:left;width:100%}
.nav-item:hover{background:var(--bone-soft);color:var(--ink)}
.nav-item.active{background:var(--ink);color:var(--bone);font-weight:600}
.nav-item.active .step-num{background:var(--signal);color:var(--ink);border-color:transparent}
.nav-item:disabled{opacity:.4;cursor:not-allowed}
.nav-item:disabled:hover{background:none;color:var(--ink-600)}
.step-num{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink-300);
  display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;
  font-size:11px;font-weight:700;flex:0 0 auto}
.step-num.done{background:var(--signal);border-color:transparent;color:var(--ink)}
.main{padding:30px 52px 70px;max-width:1080px;width:100%}
.main-wide{max-width:1280px}
/* ── menu que encolhe ─────────────────────────────────
   Um estado só, S.ui.nav, serve os dois modos. No desktop
   fechado vira trilho de ícones; no celular vira barra com
   botão. Padrão: aberto no desktop, fechado no celular.    */
.side-top{display:flex;align-items:center;gap:10px}
.side-tog{width:34px;height:34px;border-radius:10px;border:1px solid var(--ink-200);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  background:var(--white);color:var(--ink-600);transition:.15s;margin-left:auto}
.side-tog:hover{background:var(--bone-soft);color:var(--ink);border-color:var(--ink-300)}
.side-tog b{display:block;width:15px;height:1.6px;background:currentColor;border-radius:2px;position:relative}
.side-tog b:before,.side-tog b:after{content:'';position:absolute;left:0;width:15px;height:1.6px;
  background:currentColor;border-radius:2px}
.side-tog b:before{top:-5px}.side-tog b:after{top:5px}
.side-agora{display:none}

@media(min-width:901px){
  .shell.nav-off{grid-template-columns:74px 1fr}
  .shell.nav-off .sidebar{padding:24px 14px;align-items:center}
  .shell.nav-off .nav-label,
  .shell.nav-off .nav-tx,
  .shell.nav-off .logo-tx,
  .shell.nav-off .side-user,
  .shell.nav-off .cad-nav{display:none}
  .shell.nav-off .side-top{flex-direction:column;gap:14px}
  .shell.nav-off .side-tog{margin:0}
  .shell.nav-off .nav-item{justify-content:center;padding:11px 0;gap:0}
  .shell.nav-off .nav{width:100%}
  .shell.nav-off .side-pe{width:100%;text-align:center}
}
@media(max-width:900px){
  .shell{grid-template-columns:1fr}
  .sidebar{position:sticky;top:0;z-index:40;height:auto;border-right:none;
    border-bottom:1px solid rgba(37,29,41,.08);padding:12px 16px;gap:0;
    box-shadow:0 1px 14px rgba(37,29,41,.05)}
  .side-agora{display:block;font-size:12.5px;color:var(--ink-400);font-weight:500;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38vw}
  .shell.nav-off .nav,
  .shell.nav-off .side-pe{display:none}
  .nav{padding-top:14px}
  .side-pe{margin-top:14px!important;padding-top:14px!important}
  .main{padding:22px 16px 70px}
}

.page-head{margin-bottom:24px}
.page-head h1{font-size:clamp(26px,4vw,40px);font-weight:900;letter-spacing:-0.045em;margin:8px 0 10px}
.page-head p{color:var(--ink-600);max-width:660px;font-size:14.5px;line-height:1.55}
/* telas de resposta longa cabem numa tela só, sem rolagem */
.compacta .page-head{margin-bottom:16px}
.compacta .page-head h1{font-size:clamp(23px,3vw,31px);margin:6px 0 0}
.compacta .card{padding:22px 24px}
.compacta .q-nav{margin-top:16px}

.field-label{font-weight:600;font-size:15.5px;margin-bottom:6px;display:block}
.field-hint{color:var(--ink-400);font-size:13px;font-style:italic;margin-bottom:12px;line-height:1.55}
/* aceite dos termos — a caixa inteira é clicável, não só o quadradinho */
.aceite{display:flex;align-items:flex-start;gap:11px;cursor:pointer;user-select:none;
  background:var(--bone-soft);border:1px solid var(--ink-200);border-radius:var(--r-md);
  padding:14px 16px;font-size:13px;color:var(--ink-600);line-height:1.55;transition:.15s}
.aceite:hover{border-color:var(--ink-300)}
.aceite a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.aceite b{color:var(--ink)}
.cbx{flex:0 0 auto;width:19px;height:19px;border:2px solid var(--ink-300);border-radius:5px;
  background:var(--white);position:relative;margin-top:1px;transition:.15s}
.aceite:hover .cbx{border-color:var(--signal-deep,#D89A00)}
.cbx.on{background:var(--signal);border-color:var(--signal)}
.cbx.on:after{content:'';position:absolute;left:4.5px;top:0.5px;width:5px;height:9px;
  border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(43deg)}
.write{width:100%;background:var(--bone-soft);border:1.5px dashed var(--ink-300);border-radius:var(--r-md);
  padding:16px 18px;min-height:110px;font-size:14.5px;line-height:1.7;transition:.18s}
.write:focus{outline:none;border-color:var(--signal);border-style:solid;background:var(--white)}
.write.short{min-height:56px}
.inp{width:100%;background:var(--bone-soft);border:1.5px dashed var(--ink-300);border-radius:12px;
  padding:13px 16px;font-size:14.5px;transition:.18s}
.inp:focus{outline:none;border-color:var(--signal);border-style:solid;background:var(--white)}
.inp-wrap{position:relative;width:100%}
.inp-wrap .inp{padding-right:44px}
.inp-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;background:transparent;
  border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-400);transition:.18s}
.inp-eye:hover{color:var(--ink-900);background:var(--ink-100)}
.inp-eye svg{width:18px;height:18px;pointer-events:none}

/* ====== MICROFONE ====== */
.mic-wrap{position:relative}
/* O botão diz o estado pela cor, e não só a pílula ao lado. Ele era
   amarelo ligado e desligado: quem perdeu a resposta inteira falando
   com o microfone fechado estava olhando para um botão que não mudava.
   Vermelho é desligado, verde é gravando, e são as mesmas duas cores
   da pílula, porque dois sinais que discordam não são dois sinais. */
.mic{position:absolute;right:12px;bottom:12px;width:56px;height:56px;border-radius:50%;
  background:#C2415E;border:3px solid var(--white);display:flex;align-items:center;
  justify-content:center;transition:.18s;z-index:2;box-shadow:0 3px 14px rgba(194,65,94,.45)}
.mic:hover{transform:scale(1.07);box-shadow:0 4px 20px rgba(194,65,94,.6)}
.mic:active{transform:scale(.96)}
.mic svg{width:24px;height:24px;fill:var(--white)}
.mic.rec{background:#178840;border-color:var(--white);
  box-shadow:0 3px 18px rgba(23,136,64,.55),0 0 0 6px rgba(23,136,64,.16)}
.mic.rec svg{fill:var(--white);animation:micbeat 1s ease-in-out infinite}
.mic.rec:before{content:'';position:absolute;inset:-5px;border-radius:50%;
  border:2.5px solid transparent;border-top-color:#178840;border-right-color:#178840;
  animation:micspin .85s linear infinite}
.mic.rec:after{content:'';position:absolute;inset:-11px;border-radius:50%;
  border:1.5px solid transparent;border-bottom-color:#178840;border-left-color:#178840;
  opacity:.5;animation:micspin 1.6s linear infinite reverse}
.mic.fim{background:var(--signal);border-color:var(--white);
  box-shadow:0 3px 18px rgba(240,190,20,.5),0 0 0 6px rgba(240,190,20,.18)}
.mic.fim svg{fill:var(--ink)}
@keyframes micspin{to{transform:rotate(360deg)}}
@keyframes micbeat{0%,100%{transform:scale(1)}50%{transform:scale(1.16)}}
/* ALERTA DE ESTADO DO MICROFONE
   No teste assistido, as pessoas ligaram o microfone na pergunta 01 e
   esquentaram de ligar nas outras: respondiam falando com o microfone
   desligado e perdiam a resposta inteira. O botão mudava de cor, e quem
   já tinha visto ele ligado uma vez parava de olhar. O alerta abaixo
   fica ao lado do campo, tem cor, e diz o estado com palavra. */
/* A pílula era 11px com borda de 1px: dizia a verdade e dizia baixo.
   Cresceu para 12,5px, ganhou borda de 2px e um ponto maior. */
.mic-st{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;
  border-radius:100px;font-family:'JetBrains Mono',monospace;font-size:12.5px;
  letter-spacing:.07em;text-transform:uppercase;font-weight:700;
  border:2px solid transparent;white-space:nowrap;transition:.18s}
.mic-st i{width:11px;height:11px;border-radius:50%;flex:0 0 auto}
.mic-st.off{background:#FBECEF;border-color:#C2415E;color:#8C4A5A}
.mic-st.off i{background:#C2415E}
.mic-st.on{background:#E4F6E9;border-color:#178840;color:#14663A;
  box-shadow:0 0 0 4px rgba(23,136,64,.13)}
.mic-st.on i{background:#178840;animation:pulsa 1.1s ease-in-out infinite}
.mic-st.fim{background:#FFF6DC;border-color:var(--signal);color:#7A5C00}
.mic-st.fim i{background:var(--signal)}

/* O campo inteiro se acende enquanto grava. É o sinal que não depende
   de a pessoa estar olhando para o canto certo da tela. */
.mic-wrap.gravando .write{border-color:#178840;background:#FCFFFD;
  box-shadow:0 0 0 3px rgba(23,136,64,.16)}
@keyframes pulsa{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}

.mic-hint{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-400);margin-top:8px;display:flex;align-items:center;
  gap:10px;flex-wrap:wrap;flex:1;min-width:240px}
.compacta .mic-hint{margin-top:0}
/* destaque da voz na introdução: é a barreira que o produto derruba,
   e precisa ser a coisa mais visível da tela depois do título */
.voz{margin-top:14px;background:var(--signal);border-radius:14px;padding:20px 22px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.voz-onda{flex:0 0 auto}
.voz-onda .onda i{background:var(--ink)}
.voz-txt{flex:1;min-width:220px}
.voz-txt b{display:block;font-size:21px;font-weight:900;letter-spacing:-0.035em;
  color:var(--ink);margin-bottom:6px}
.voz-txt p{font-size:14px;line-height:1.55;color:var(--ink-800);margin:0}
@media(max-width:560px){.voz{padding:18px}}
/* dossiê vivo */
.dos{display:flex;flex-direction:column;gap:8px}
.dos-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;
  background:var(--bone-soft);border-radius:12px;position:relative}
.dos-t{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:100px;
  flex:0 0 auto;line-height:1.5;background:var(--ink-100);color:var(--ink-600)}
.dos-decisao{background:var(--signal);color:var(--ink)}
.dos-vitoria{background:var(--ok-soft,#E4F5ED);color:var(--ok,#1F8A5B)}
.dos-obstaculo{background:#F2DCE3;color:#8C4A5A}
.dos-c{flex:1;min-width:0}
.dos-c p{font-size:13.5px;line-height:1.55;color:var(--ink-800)}
.dos-m{font-size:11px;color:var(--ink-400);margin-top:5px}
.dos-x{flex:0 0 auto;width:22px;height:22px;border-radius:50%;color:var(--ink-300);
  font-size:15px;line-height:1;transition:.15s;background:transparent}
.dos-x:hover{background:var(--ink-100);color:var(--ink)}
/* painel de controle do admin */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.kpi{background:var(--white);border:1px solid var(--ink-200);border-radius:14px;padding:18px 20px}
.kpi-r{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-400);margin-bottom:8px}
.kpi-v{font-size:27px;font-weight:900;letter-spacing:-0.04em;line-height:1}
.kpi-s{font-size:11.5px;color:var(--ink-400);margin-top:6px;line-height:1.4}
table.adm td{vertical-align:middle;padding:11px 10px}
.lib{display:flex;gap:5px;flex-wrap:wrap}
.btn-lib{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;font-weight:700;padding:5px 9px;border-radius:100px;
  border:1px solid var(--ink-200);background:var(--white);color:var(--ink-600);
  cursor:pointer;transition:.15s;white-space:nowrap}
.btn-lib:hover{border-color:var(--ink-400);color:var(--ink)}
.btn-lib.on{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.btn-lib.rem{color:#8C4A5A;border-color:#F2DCE3}
.btn-lib.rem:hover{background:#FBEAE8;border-color:#C98BA0}
.chamada{display:flex;align-items:baseline;gap:10px;padding:8px 0;
  border-bottom:1px solid var(--ink-100);font-size:12.5px}
.chamada:last-child{border-bottom:none}
.ch-f{font-size:11px;color:var(--ink);font-weight:700;flex:0 0 118px}
.ch-m{font-size:11px;color:var(--ink-400);flex:0 0 62px}
.ch-t{font-size:11px;color:var(--ink-600);margin-left:auto}
.ch-c{font-size:11px;color:var(--ink);font-weight:700;flex:0 0 58px;text-align:right}
/* medidor de riqueza: mostra quanto material a resposta ainda pede.
   A barra mede tamanho; as pastilhas medem concretude. As duas contam,
   porque texto longo e vago analisa mal e texto curto e concreto analisa pouco. */
.med{margin-top:10px}
.med-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px}
.med-lab{font-size:12.5px;color:var(--ink-600)}
.med-lab b{color:var(--ink);font-weight:700}
.med.rico .med-lab b{color:var(--ok,#1F8A5B)}
.med-sin{display:flex;gap:5px;flex-wrap:wrap}
.sg{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:100px;
  background:var(--ink-100);color:var(--ink-400);cursor:help;line-height:1.4}
.sg.on{background:var(--signal);color:var(--ink)}
.med-num{margin-left:auto;font-size:11px;color:var(--ink-400);white-space:nowrap}
.med-bar{height:6px;background:var(--ink-200);border-radius:100px;position:relative;overflow:hidden}
.med-bar > i{display:block;height:100%;border-radius:100px;background:var(--ink-300);
  transition:width .25s ease-out,background .25s}
.med.ok   .med-bar > i{background:var(--signal)}
.med.rico .med-bar > i{background:var(--ok,#1F8A5B)}
/* o traço marca o mínimo: abaixo dele a resposta não vira capítulo */
.med-mark{position:absolute;top:-2px;width:2px;height:10px;background:var(--ink);
  opacity:.35;border-radius:2px}
.med-dica{font-size:12px;color:var(--ink-600);margin-top:6px;line-height:1.5}
.med.rico .med-dica{color:var(--ok,#1F8A5B)}
.mic-live{color:var(--ink);font-weight:700}

/* orientadoras: texto corrido que preenche a linha e quebra para a próxima
   quando não cabe. Nada é cortado — o corte escondia pergunta. */
.guide{background:var(--bone-soft);border-radius:12px;padding:10px 16px;margin-bottom:12px;
  border-left:3px solid var(--signal);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.guide .rot{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-400);flex:0 0 auto}
.guide .linha{width:100%;min-width:0}
.guide p{font-size:12.5px;color:var(--ink-600);line-height:1.55;margin:0}
/* a barra fica colada no fim da pergunta anterior: nunca abre uma linha sozinha */
.guide .sep{color:var(--ink-300);font-weight:600;padding:0 2px 0 6px}
@media(max-width:760px){
  .guide{gap:5px;padding:11px 16px}
  .guide p{line-height:1.6}
}

.pbar{height:5px;background:var(--ink-200);border-radius:100px;overflow:hidden}
.pbar > i{display:block;height:100%;background:var(--signal);border-radius:100px;transition:width .45s cubic-bezier(.4,0,.2,1)}

/* ─────────── ACESSO: senha, Google e Apple ─────────── */
.social{display:grid;gap:9px}
.btn-social{display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:12px 14px;border:1.5px solid var(--ink-200);
  background:#fff;color:var(--ink);border-radius:10px;cursor:pointer;
  font-family:inherit;font-size:14.5px;font-weight:600;letter-spacing:-.01em;
  transition:border-color .15s,background .15s}
.btn-social:hover{border-color:var(--ink);background:var(--bone-soft)}
.btn-social svg{flex:0 0 auto}
.ou{display:flex;align-items:center;gap:12px;margin:18px 0 16px;
  color:var(--ink-400);font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase}
.ou:before,.ou:after{content:"";height:1px;flex:1;background:var(--ink-200)}
.dica{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400);
  margin-top:7px;line-height:1.5}
.auth-erro{margin-top:14px;padding:11px 13px;border-radius:9px;
  background:#FBECEF;border:1px solid #E8C4CD;color:#8C4A5A;
  font-size:13.5px;line-height:1.5}
.auth-rodape{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:16px}
.lnk{background:none;border:0;padding:4px 0;cursor:pointer;font-family:inherit;
  font-size:13px;color:var(--ink-600);text-decoration:underline;text-underline-offset:3px}
.lnk:hover{color:var(--ink)}
.zona-risco{border-color:#E8C4CD;background:#FDF6F8}
.btn-risco{background:#8C4A5A;color:#fff;border-color:#8C4A5A}
.btn-risco:hover{background:#743C49;border-color:#743C49}
.auth-nota{font-size:12.5px;color:var(--ink-600);text-align:center;margin-top:22px;line-height:1.6}

.landing{min-height:100vh;display:flex;flex-direction:column}
.landing-nav{padding:24px 6vw;display:flex;justify-content:space-between;align-items:center}
.hero{padding:4vh 6vw 60px;max-width:min(1440px,92vw);margin:0 auto;width:100%}
.hero h1{font-size:clamp(36px,6.4vw,76px);font-weight:900;letter-spacing:-0.05em;margin:20px 0 24px;max-width:15ch}
.hero h1 em{font-family:'Fraunces',serif;font-style:italic;font-weight:400;letter-spacing:-0.03em}
/* IDENTIDADE em marca-texto. O amarelo da marca como TEXTO sobre o fundo
   claro dá 1,47:1 e some; como FUNDO, com o Ink por cima, dá 9,3:1.
   box-decoration-break mantém a faixa inteira se a palavra quebrar linha. */
.hero h1 em.mt,.lp h1 em.mt{font-family:inherit;font-style:normal;font-weight:inherit;
  letter-spacing:inherit;color:var(--ink);padding:0 .07em;
  background:linear-gradient(transparent 14%,var(--signal) 14%,var(--signal) 93%,transparent 93%);
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero-sub{font-size:clamp(16px,1.5vw,22px);color:var(--ink-600);max-width:68ch;margin-bottom:36px}
.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.pill{background:var(--white);border:1px solid rgba(37,29,41,.09);border-radius:100px;padding:8px 17px;
  font-size:12.5px;font-weight:500;color:var(--ink-600)}
.steps-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:52px}
.step-card{background:var(--white);border-radius:var(--r-lg);padding:28px;border:1px solid rgba(37,29,41,.07)}
.step-card h3{font-size:22px;font-weight:900;letter-spacing:-0.03em;margin:14px 0 9px}
.step-card p{font-size:14px;color:var(--ink-600)}

.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:26px}
.plans-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.plans-3 .plan{padding:24px 22px}
.plans-3 .price{font-size:34px}
.plans-4{grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:14px}
.plans-4 .plan{padding:22px 20px}
.plans-4 .price{font-size:31px}
/* o gratuito é a porta de entrada: presente, e sem competir com os pagos */
/* plano anunciado antes do lançamento: visível, sem compra */
.plan.plan-breve{cursor:default;background:var(--bone-soft);border-style:dashed;
  border-color:rgba(37,29,41,.18);opacity:.92}
.plan.plan-breve:hover{border-color:rgba(37,29,41,.18)}
.plan-free{cursor:default;background:var(--bone-soft);border-style:dashed;
  border-color:rgba(37,29,41,.18);display:flex;flex-direction:column}
.plan-free:hover{border-color:var(--ink-300)}
.plan-free ul{flex:1}
.plan-cta{margin-top:18px;align-self:flex-start}
.plan-sub{font-size:12.5px;color:var(--ink-600);background:var(--bone-soft);
  border-radius:10px;padding:9px 12px;margin-top:12px;line-height:1.45}
.plan{background:var(--white);border:2px solid rgba(37,29,41,.09);border-radius:var(--r-lg);
  padding:30px;cursor:pointer;transition:.2s;position:relative}
.plan:hover{border-color:var(--ink-300)}
.plan.sel{border-color:var(--ink)}
.plan.sel:after{content:'✓';position:absolute;top:22px;right:24px;width:26px;height:26px;
  background:var(--signal);color:var(--ink);border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:14px;font-weight:700}
.plan .tag{position:absolute;top:-11px;left:26px;background:var(--signal);color:var(--ink);
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 12px;border-radius:100px;font-weight:700}
.price{font-size:44px;font-weight:900;letter-spacing:-0.05em;line-height:1;margin:14px 0 4px}
.price small{font-size:15px;font-weight:500;color:var(--ink-400);letter-spacing:0}
.plan ul{list-style:none;margin-top:20px;display:flex;flex-direction:column;gap:9px}
.plan ul li{font-size:13.5px;color:var(--ink-600);padding-left:22px;position:relative}
.plan ul li:before{content:'';position:absolute;left:0;top:8px;width:11px;height:6px;
  border-left:2px solid var(--signal);border-bottom:2px solid var(--signal);transform:rotate(-45deg)}


/* ═══════════════════════════════════════════════════════════
   LANDING PAGE
   A seção que mais converte é a demonstração do produto real.
   Por isso quase tudo aqui é o próprio sistema em miniatura,
   e não texto falando sobre ele.
   ═══════════════════════════════════════════════════════════ */
.lp{max-width:min(1440px,92vw);margin:0 auto;width:100%;padding:0 4vw}
.lp section{padding:72px 0;border-top:1px solid var(--ink-200)}
.lp section:first-child{border-top:none}
.lp h2{font-size:clamp(30px,4vw,56px);font-weight:900;letter-spacing:-0.045em;
  line-height:1.05;margin:12px 0 14px;max-width:32ch}
.lp h2 em{font-family:'Fraunces',serif;font-style:italic;font-weight:400;letter-spacing:-0.03em}
.lp .lead{font-size:clamp(16px,1.35vw,20px);color:var(--ink-600);max-width:78ch;line-height:1.6}
.lp .lead + .lead{margin-top:14px}
.lp .sec-h{margin-bottom:34px}

/* revelação ao rolar: só entra quando a seção aparece */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ── hero ─────────────────────────────────────────── */
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
@media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:38px}}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.micro{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-400);line-height:1.7}

/* hero em coluna única, centralizada: título em caixa alta ocupando a largura */
.hero-centro{text-align:center;display:flex;flex-direction:column;align-items:center;
  max-width:min(1440px,92vw);margin:0 auto;padding-bottom:24px}
.hero-centro h1{font-size:clamp(38px,7.4vw,92px);font-weight:900;letter-spacing:-0.035em;
  line-height:.96;text-transform:uppercase;margin:22px 0 24px;max-width:none}
.hero-centro .hero-sub{max-width:64ch;margin:0 auto 34px}
.hero-centro .hero-cta{justify-content:center;margin-bottom:20px}
.hero-centro .btn-primary{font-size:15.5px;padding:18px 34px}


/* ── moldura de demonstração: o produto em miniatura ── */
/* Card branco que também mora na seção escura: declara a própria cor,
   pelo mesmo motivo do .faixa. */
.demo{background:var(--white);border:1px solid var(--ink-200);border-radius:18px;
  color:var(--ink);
  box-shadow:0 24px 60px -30px rgba(37,29,41,.35);overflow:hidden}
.demo-bar{background:var(--bone-soft);border-bottom:1px solid var(--ink-200);
  padding:9px 14px;display:flex;align-items:center;gap:6px}
.demo-bar i{width:8px;height:8px;border-radius:50%;background:var(--ink-200);display:block}
.demo-bar span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-400);margin-left:8px}
.demo-in{padding:20px 22px}
.demo-dark{background:var(--ink);border-color:var(--ink)}
.demo-dark .demo-bar{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.demo-dark .demo-bar span{color:#9C94A2}

/* máquina de escrever do hero */
.tw{font-size:14px;line-height:1.75;color:var(--ink-800);min-height:132px}
.tw b{background:var(--signal);color:var(--ink);padding:1px 4px;border-radius:3px;font-weight:600}
.cur{display:inline-block;width:2px;height:15px;background:var(--ink);vertical-align:-2px;
  animation:pisca 1s steps(2) infinite}
@keyframes pisca{0%,50%{opacity:1}51%,100%{opacity:0}}

/* ── onda de voz ──────────────────────────────────── */
.onda{display:flex;align-items:center;gap:3px;height:34px}
.onda i{display:block;width:3px;border-radius:2px;background:var(--signal);
  animation:onda 1.1s ease-in-out infinite}
@keyframes onda{0%,100%{height:6px;opacity:.45}50%{height:30px;opacity:1}}
@media(prefers-reduced-motion:reduce){.onda i{animation:none;height:16px}}

/* ── barras de valores ────────────────────────────── */
.vbar{display:flex;align-items:center;gap:12px;margin-bottom:11px}
.vbar .vn{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink);
  background:var(--signal);border-radius:100px;padding:2px 7px;flex:0 0 auto}
.vbar .vl{font-size:13.5px;font-weight:600;flex:0 0 96px}
.vbar .vt{flex:1;height:9px;background:var(--ink-100);border-radius:100px;overflow:hidden}
.vbar .vt i{display:block;height:100%;background:var(--ink);border-radius:100px;width:0;
  transition:width 1.1s cubic-bezier(.2,.8,.3,1)}
.in .vbar .vt i{width:var(--w)}
.vbar .vc{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400);flex:0 0 auto}
.vbar.rep .vn{background:#F2DCE3;color:#8C4A5A}
.vbar.rep .vt i{background:#C98BA0}

/* ── mapa de territórios ──────────────────────────── */
.terr7{display:grid;gap:8px}
.trow{display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:center;font-size:13px}
.trow .tb{height:7px;background:var(--ink-100);border-radius:100px;overflow:hidden}
.trow .tb i{display:block;height:100%;border-radius:100px;width:0;background:var(--ink-300);
  transition:width 1s cubic-bezier(.2,.8,.3,1)}
.in .trow .tb i{width:var(--w)}
.trow.forte .tb i{background:var(--signal)}
.trow.baixo .tb i{background:#C98BA0}
.trow .tv{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400)}

/* ── chat do guru ─────────────────────────────────── */
.bolha{max-width:86%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.55;
  margin-bottom:9px;opacity:0;animation:sobe .5s ease forwards}
.bolha.eu{background:var(--signal);color:var(--ink);margin-left:auto;border-bottom-right-radius:4px}
.bolha.ai{background:rgba(255,255,255,.08);color:var(--bone);border-bottom-left-radius:4px}
@keyframes sobe{to{opacity:1;transform:none}}
.bolha{transform:translateY(8px)}
.dig{display:inline-flex;gap:3px;padding:12px 14px}
.dig i{width:5px;height:5px;border-radius:50%;background:#9C94A2;animation:dig 1.2s infinite}
@keyframes dig{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* ── rotina ───────────────────────────────────────── */
.rt{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;
  background:var(--bone-soft);margin-bottom:7px;font-size:13.5px}
.rt .cx{width:19px;height:19px;border-radius:6px;border:2px solid var(--ink-300);flex:0 0 auto;position:relative}
.rt.ok .cx{background:var(--signal);border-color:var(--signal)}
.rt.ok .cx:after{content:'';position:absolute;left:4.5px;top:1px;width:5px;height:9px;
  border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(43deg)}
.rt.ok{opacity:.6}
.rt.ok span{text-decoration:line-through}
.rt .hr{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400)}

/* ── os seis atos ─────────────────────────────────── */
.atos{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.ato{background:var(--white);border:1px solid var(--ink-200);border-radius:14px;padding:16px 17px}
.ato .an{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--signal);
  border-radius:100px;padding:3px 9px;display:inline-block;margin-bottom:10px}
.ato h4{font-size:15px;font-weight:800;letter-spacing:-0.02em;margin-bottom:7px}
.ato ol{list-style:none;font-size:12px;color:var(--ink-600);line-height:1.75}
.ato ol li span{font-family:'JetBrains Mono',monospace;color:var(--ink-300);margin-right:6px}

/* ── lentes ───────────────────────────────────────── */
.lentes{display:flex;gap:7px;flex-wrap:wrap}
.lente{background:var(--white);border:1px solid var(--ink-200);border-radius:100px;
  padding:7px 14px;font-size:12.5px;color:var(--ink-600);transition:.16s}
.lente:hover{border-color:var(--signal);color:var(--ink);transform:translateY(-1px)}

/* ── dores ────────────────────────────────────────── */
.dores{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.dor{background:var(--white);border-left:3px solid #C98BA0;border-radius:12px;padding:16px 18px;
  font-size:14px;line-height:1.55;color:var(--ink-800)}

/* ── benefícios ───────────────────────────────────── */
.bens{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.ben{padding:18px 20px;background:var(--white);border-radius:14px;border:1px solid var(--ink-200)}
.ben b{display:block;font-size:14.5px;margin-bottom:5px;letter-spacing:-0.01em}
.ben p{font-size:13px;color:var(--ink-600);line-height:1.55}

.cad-nav{margin-left:auto;font-size:11px;opacity:.5}
.nav-item[disabled]{opacity:.42;cursor:not-allowed}
/* fase dois: existe no menu, mas não abre. O selo diz isso sem cadeado,
   para ninguém achar que basta pagar o relatório. */
.fase2-nav{margin-left:auto;font-family:var(--mono,ui-monospace,monospace);
  font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;
  padding:2px 6px;border:1px solid var(--ink-200);border-radius:999px;
  color:var(--ink-400);white-space:nowrap}
.nav-item.em-fase2 .nav-tx{opacity:.62}
.nav-item.em-fase2 .step-num{opacity:.55}
.shell.nav-off .fase2-nav{display:none}
/* ── ritmo de fundos das dobras ────────────────────────────
   Claro, escuro, claro, amarelo. A alternância dá respiro e marca
   troca de assunto sem precisar de título maior. A textura é sempre
   feita com elementos da própria marca: pontos Signal sobre Ink,
   listras Ink sobre Signal, e a barra do logo como marca d'água. */
.lp section.fundo{position:relative;isolation:isolate}
.lp section.fundo > *{position:relative;z-index:1}
.lp section.fundo:before{content:'';position:absolute;top:0;bottom:0;left:50%;
  width:100vw;transform:translateX(-50%);z-index:0}

/* escuro */
.sec-ink{border-top:none!important}
.sec-ink:before{background:
  radial-gradient(circle at 1px 1px,rgba(254,183,2,.10) 1px,transparent 0) 0 0/26px 26px,
  var(--ink)}
.sec-ink h1,.sec-ink h2,.sec-ink h4,.sec-ink b,.sec-ink strong{color:var(--bone)}
.sec-ink p,.sec-ink .lead{color:#B7AFBC}
.sec-ink .mov{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.sec-ink .mov p{color:#A69EAC}
.sec-ink .micro{color:#8C8491}  /* CONTRASTE · era #7E7684, 3,74:1 sobre o fundo escuro */
.sec-ink + section{border-top:none}
/* o card do guru é Ink e sumiria sobre fundo Ink: escurece e ganha contorno */
.sec-ink .demo-dark{background:#17111A;border-color:rgba(254,183,2,.22);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.7)}
.sec-ink .demo{box-shadow:0 24px 60px -30px rgba(0,0,0,.6)}

/* amarelo cheio */
.sec-signal{border-top:none!important}
.sec-signal:before{background:
  repeating-linear-gradient(135deg,rgba(37,29,41,.05) 0 1px,transparent 1px 10px),
  var(--signal)}
/* sobre amarelo a etiqueta inverte: fundo Ink, texto Signal */
.sec-signal .eyebrow{background:var(--ink);color:var(--signal)}
.sec-signal .eyebrow .dot{background:var(--signal);opacity:.6}
.sec-signal .mnum{background:var(--ink);color:var(--signal)}
.sec-signal .lead{color:var(--ink-800)}
.sec-signal + section{border-top:none}

/* amarelo suave */
.sec-soft{border-top:none!important}
.sec-soft:before{background:
  radial-gradient(circle at 1px 1px,rgba(37,29,41,.075) 1px,transparent 0) 0 0/22px 22px,
  var(--signal-soft)}
.sec-soft + section{border-top:none}

/* ── os quatro movimentos ─────────────────────────── */
.movs{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:14px;margin-top:34px}
.mov{position:relative;background:var(--white);border:1px solid var(--ink-200);border-radius:16px;padding:20px 22px}
.mov-tag{position:absolute;top:14px;right:14px;font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--signal);color:var(--ink);padding:4px 9px;border-radius:999px;white-space:nowrap}
.mov .mn{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink);
  background:var(--signal);border-radius:100px;padding:3px 10px;display:inline-block;margin-bottom:12px}
.mov h4{font-size:17px;font-weight:900;letter-spacing:-0.03em;margin-bottom:6px}
.mov p{font-size:13px;color:var(--ink-600);line-height:1.55}
.mnum{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--ink);
  background:var(--signal);border-radius:100px;padding:4px 12px;display:inline-block;margin-bottom:14px}

/* ── aviso "em breve" dos pilares que ainda não estão disponíveis ── */
.breve{display:flex;align-items:center;gap:10px;margin:-4px 0 16px;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  color:var(--ink);background:color-mix(in srgb,var(--signal) 32%,transparent);
  border:1px solid color-mix(in srgb,var(--signal) 62%,transparent);
  border-radius:100px;padding:8px 15px;width:fit-content;max-width:100%;line-height:1.35}
.breve-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.breve-escura{color:var(--signal);background:rgba(255,255,255,.06);
  border-color:color-mix(in srgb,var(--signal) 55%,transparent)}
.breve-escura .breve-dot{background:var(--signal)}

.rot-demo{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--signal);
  border-radius:100px;padding:4px 10px;display:inline-block;margin-bottom:12px;line-height:1.4}
/* ── o espelho: as frases que a pessoa reconhece como dela ── */
/* AS DUAS COISAS QUE NÃO FICARAM CLARAS NO TESTE ASSISTIDO
   Que os primeiros capítulos são gratuitos, e que existe método por trás.
   As duas estavam na página, as duas estavam no rodapé de uma seção, e
   nenhum dos empresários que testou reparou. */
/* Este card é branco e mora dentro da seção de fundo escuro. Ele
   precisa declarar a própria cor de texto: sem isso herdava o
   #B7AFBC do .sec-ink, que é claro para fundo escuro, e dava 1,7:1
   sobre o branco. Componente que muda o fundo muda a cor do texto na
   mesma regra. */
.faixa{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:18px 22px;border-radius:14px;margin:26px 0;
  border:1px solid var(--ink-200);background:var(--white);
  color:var(--ink)}
.faixa.grat{border-left:5px solid var(--signal)}
.faixa-r{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-600);
  flex:0 0 auto}
.faixa p{font-size:clamp(15px,1.15vw,17px);line-height:1.55;margin:0;flex:1;min-width:240px;
  color:var(--ink-800)}
/* O negrito destaca marcando mais escuro, e não mais claro. */
.faixa b{font-weight:700;color:var(--ink)}
.metodo{margin:30px 0;padding:26px;border-radius:16px;background:var(--ink);color:var(--bone)}
.metodo .eyebrow{color:var(--signal)}
.metodo h3{font-size:clamp(20px,2.4vw,30px);font-weight:800;letter-spacing:-.03em;
  margin:10px 0 12px;max-width:36ch}
.metodo p{font-size:clamp(14.5px,1.15vw,17px);line-height:1.65;color:#CFC7D2;max-width:84ch}
.metodo-n{display:flex;gap:26px;flex-wrap:wrap;margin-top:20px}
.metodo-n div{font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.06em;color:var(--bone)}
.metodo-n b{display:block;font-size:26px;font-weight:700;color:var(--signal);
  letter-spacing:-.02em;margin-bottom:2px}

.espelho{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.esp{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);
  border-left:3px solid var(--signal);border-radius:12px;padding:16px 18px;
  font-size:14.5px;line-height:1.55;color:var(--bone);transition:.2s}
.esp:hover{background:rgba(255,255,255,.09);border-left-color:var(--signal)}
.sec-ink .anchor{color:var(--bone)}
.mov .mq{font-family:'Fraunces',serif;font-size:15px;color:var(--ink);margin-bottom:8px;
  letter-spacing:-0.01em;line-height:1.3}
.sec-ink .mov .mq{color:var(--signal)}
.mnum{white-space:nowrap}

/* ── declaração de identidade ─────────────────────── */
.decl .dl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:700;color:var(--ink-400);margin:14px 0 5px}
.decl .dl:first-child{margin-top:0}
.decl p{font-family:'Fraunces',serif;font-size:17px;line-height:1.42;color:var(--ink);letter-spacing:-0.01em}
.tw u{text-decoration:none;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;font-weight:700;color:var(--ink-400)}
.tw{font-family:'Fraunces',serif;font-size:17px;line-height:1.5}

/* ── capítulos, no painel ─────────────────────────── */
.cap-lista{background:var(--white);border:1px solid rgba(37,29,41,.07);border-radius:var(--r-md);
  margin-top:14px;overflow:hidden}
.cap-row{border-bottom:1px solid var(--ink-200)}
.cap-row:last-child{border-bottom:none}
.cap-row.off .cap-t{color:var(--ink-400);text-decoration:line-through;text-decoration-thickness:1px}
.cap-row.off .ix-n{color:var(--ink-300)}
.cap-cab{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;transition:.14s}
.cap-cab:hover{background:var(--bone-soft)}
.cap-t{flex:1;font-size:14px;font-weight:600;letter-spacing:-.015em}
.cap-marcas{display:flex;gap:8px;flex:0 0 auto}
.cap-seta{width:0;height:0;flex:0 0 auto;border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid var(--ink-300);transition:.18s}
.cap-row.aberto .cap-seta{transform:rotate(180deg)}
.cap-corpo{padding:4px 16px 20px 46px;background:var(--bone-soft)}
.cap-p{font-size:13px;color:var(--ink-600);line-height:1.6;margin:0 0 14px}
.cap-prompt{min-height:120px;font-size:13.5px;line-height:1.55}
.cap-dica{font-size:11px;color:var(--ink-400);margin-top:7px;line-height:1.5}
.sw-g i{background:var(--signal)}
.sw[disabled]{opacity:.3;cursor:not-allowed}
@media(max-width:640px){.cap-corpo{padding-left:16px}}

/* ── painel do admin ──────────────────────────────── */
.adm-topo{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.adm-busca{flex:1;min-width:220px;max-width:340px;margin-left:auto}
.adm-filtros{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
@media(max-width:640px){.adm-busca{margin-left:0;max-width:none}}

/* ── as minhas respostas ──────────────────────────── */
.resp{border-bottom:1px solid var(--ink-200)}
.resp:last-child{border-bottom:none}
.resp summary{list-style:none;cursor:pointer;padding:15px 2px;display:flex;align-items:center;
  gap:12px;transition:.15s}
.resp summary::-webkit-details-marker{display:none}
.resp summary::marker{content:''}
.resp summary:hover{color:var(--ink)}
.resp-n{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink-300);flex:0 0 auto}
.resp[open] .resp-n{color:var(--ink)}
.resp-t{flex:1;font-size:14.5px;font-weight:600;letter-spacing:-.015em}
.resp-c{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);flex:0 0 auto}
.resp-c2{padding:0 2px 20px}
.resp-p{font-size:13.5px;color:var(--ink-600);font-style:italic;margin:0 0 12px;line-height:1.5}
.resp-v{background:var(--bone-soft);border-radius:12px;padding:16px 18px;font-size:14.5px;
  line-height:1.65;color:var(--ink-800);white-space:pre-wrap;margin-bottom:12px}
.resp-vazia{background:var(--bone-soft);border-radius:12px;padding:16px 18px;font-size:14px;
  color:var(--ink-400);margin-bottom:12px}

/* ── crenças limitantes ───────────────────────────── */
.crgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:14px}
.critem{background:var(--bone-soft);border:1px solid rgba(37,29,41,.06);border-radius:14px;padding:16px 18px}
.critem .crf{font-size:16.5px;line-height:1.33;letter-spacing:-.015em;margin-bottom:11px}
.critem .crp{font-size:13px;margin:0 0 11px;color:var(--ink-600);line-height:1.55}
.critem .blk-h{margin-bottom:4px}
@media(max-width:640px){.crgrid{grid-template-columns:1fr}}

/* ── objeções e faq ───────────────────────────────── */
.obj{background:var(--white);border:1px solid var(--ink-200);border-radius:14px;
  padding:18px 20px;margin-bottom:11px}
.obj b{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:18px;
  letter-spacing:-0.02em;margin-bottom:8px}
.obj p{font-size:13.5px;color:var(--ink-600);line-height:1.6}
.faq{border-bottom:1px solid var(--ink-200)}
.faq summary{list-style:none;cursor:pointer;padding:16px 0;font-size:15.5px;font-weight:600;
  letter-spacing:-0.015em;display:flex;align-items:center;gap:12px;transition:.15s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:''}
.faq summary:before{content:'';width:0;height:0;flex:0 0 auto;border-left:5px solid var(--ink-300);
  border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .18s}
.faq[open] summary:before{transform:rotate(90deg);border-left-color:var(--signal-deep,#D89A00)}
.faq summary:hover{color:var(--ink-600)}
.faq p{font-size:clamp(14px,1.1vw,16.5px);color:var(--ink-600);line-height:1.65;padding:0 0 18px 17px;max-width:84ch}

/* ── fechamento ───────────────────────────────────── */
.fecho{background:var(--ink);color:var(--bone);border-radius:22px;padding:clamp(34px,6vw,64px);text-align:center}
.fecho h2{color:var(--bone);margin:0 auto 16px;max-width:22ch}
.fecho p{color:#B7AFBC;font-size:clamp(16px,1.25vw,19px);max-width:68ch;margin:0 auto 26px;line-height:1.6}
.ps{background:var(--white);border:1px solid var(--ink-200);border-radius:16px;padding:24px 26px;margin-top:26px}
.ps p{font-size:14.5px;color:var(--ink-800);line-height:1.7}
.ps p + p{margin-top:12px}
.ps b{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}

.lp-rod{padding:40px 0 60px;text-align:center}
.lp-rod p{font-size:12.5px;color:var(--ink-400);max-width:80ch;margin:0 auto;line-height:1.7}
.lp-rod-sup{margin-top:14px !important}
.lp-rod-sup a{color:var(--ink);font-weight:600;text-decoration:underline}
.lp-rod-sup a:hover{color:var(--ink-600)}

/* ====== SUPORTE FLUTUANTE (WHATSAPP) ====== */
#idpro-suporte{position:fixed;right:18px;bottom:18px;z-index:8500;display:flex;
  flex-direction:column;align-items:flex-end;gap:10px}
.sup-btn{width:56px;height:56px;border-radius:50%;border:0;background:#25D366;
  color:#fff;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .15s}
.sup-btn:hover{transform:scale(1.06)}
.sup-btn svg{width:30px;height:30px;fill:#fff}
.sup-card{width:min(300px,calc(100vw - 36px));background:#fff;border:1px solid var(--ink-200);
  border-radius:16px;padding:16px;box-shadow:0 18px 48px rgba(0,0,0,.18)}
.sup-topo{display:flex;justify-content:space-between;align-items:center;gap:8px}
.sup-topo strong{font-size:14.5px;letter-spacing:-0.02em}
.sup-min{border:0;background:none;cursor:pointer;font-size:20px;line-height:1;
  color:var(--ink-400);padding:0 6px;border-radius:6px}
.sup-min:hover{color:var(--ink);background:var(--white)}
.sup-card p{font-size:13.5px;color:var(--ink-600);margin:10px 0 12px;line-height:1.6}
.sup-abrir{display:block;text-align:center;background:#25D366;color:#fff;font-weight:700;
  font-size:13.5px;padding:11px 14px;border-radius:100px;text-decoration:none;transition:filter .15s}
.sup-abrir:hover{filter:brightness(.94)}
@media(max-width:680px){#idpro-suporte{right:14px;bottom:14px}.sup-btn{width:50px;height:50px}.sup-btn svg{width:26px;height:26px}}

/* ── sobre mim ────────────────────────────────────── */
.sobre-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
@media(max-width:940px){.sobre-grid{grid-template-columns:1fr;gap:38px}}
.sobre-foto{display:flex;flex-direction:column;gap:18px}
.foto-moldura{aspect-ratio:4/5;background:var(--bone-soft);border:1px solid var(--ink-200);
  border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -30px rgba(37,29,41,.3)}
.foto-moldura img{width:100%;height:100%;object-fit:cover;display:block}
.sobre-cred{border-left:3px solid var(--signal);padding-left:16px}
.sobre-cred b{display:block;font-size:17px;font-weight:800;letter-spacing:-0.02em;margin-bottom:4px}
.sobre-cred span{display:block;font-size:13px;color:var(--ink-600);line-height:1.55}
.sobre-insta{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;
  color:var(--ink);text-decoration:none;align-self:flex-start}
.sobre-insta svg{width:20px;height:20px;fill:var(--ink)}
.sobre-insta:hover{color:var(--ink-800)}
.sobre-texto{display:flex;flex-direction:column;gap:18px}
.sobre-texto .lead{max-width:none;margin:0}
.sobre-destaque{font-family:'Fraunces',Georgia,serif;font-size:clamp(21px,2.4vw,32px);
  line-height:1.35;letter-spacing:-0.02em;padding:24px 26px;background:var(--bone-soft);
  border-left:3px solid var(--signal);border-radius:var(--r-md);margin-top:10px}


/* ====== RELATÓRIO NAVEGÁVEL ====== */
.rep-shell{display:grid;grid-template-columns:250px 1fr;gap:36px;align-items:start}
@media(max-width:1000px){.rep-shell{grid-template-columns:1fr}.rep-index{position:static!important;max-height:none!important}}
/* índice que encolhe: fechado vira um cabeçalho clicável e o capítulo
   ocupa a largura toda. Fechado por padrão em tela estreita. */
.rep-shell.ix-off{grid-template-columns:1fr;gap:16px}
.rep-shell.ix-off .rep-index{position:static;max-height:none;padding:0;border:none;background:none}
.rep-shell.ix-off .ix,.rep-shell.ix-off .ix-lista{display:none}
.ix-cab{display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  background:var(--white);border:1px solid rgba(37,29,41,.07);border-radius:var(--r-md);
  padding:12px 14px;transition:.15s;margin-bottom:12px}
.ix-cab:hover{border-color:var(--ink-300);background:var(--bone-soft)}
.ix-cab .ix-cn{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  color:var(--signal-ink,var(--ink));background:var(--signal);border-radius:7px;padding:4px 7px;flex:0 0 auto}
.ix-cab .ix-ct{flex:1;min-width:0;font-size:13.5px;font-weight:600;letter-spacing:-.015em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ix-cab .ix-cq{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-400);flex:0 0 auto}
.ix-cab .ix-cs{width:0;height:0;flex:0 0 auto;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--ink-400);transition:.18s}
.rep-shell.ix-off .ix-cab .ix-cs{transform:rotate(-90deg)}
@media(max-width:1000px){.rep-shell{gap:16px}.ix-cab .ix-cq{display:none}}
.rep-index{position:sticky;top:30px;max-height:calc(100vh - 60px);overflow-y:auto;
  background:none;border-radius:var(--r-md);padding:0;border:none}
.ix-lista{background:var(--white);border-radius:var(--r-md);padding:10px 10px;
  border:1px solid rgba(37,29,41,.07)}
.rep-index .ttl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-400);padding:0 10px 12px}
.ix{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;
  width:100%;text-align:left;transition:.14s;font-size:12.8px;line-height:1.35;color:var(--ink-600)}
.ix:hover{background:var(--bone-soft);color:var(--ink)}
.ix.on{background:var(--ink);color:var(--bone)}
.ix.on .ix-n{color:var(--signal)}
/* "Os seus achados" em destaque amarelo enquanto não está selecionado */
.ix.achados:not(.on){background:var(--signal);color:var(--ink);font-weight:600}
.ix.achados:not(.on) .ix-n{color:var(--ink)}
.ix.achados:not(.on):hover{background:#f0ab00}
.ix.read .ix-n:after{content:'·';color:var(--signal);margin-left:2px}
.ix-n{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--ink-300);flex:0 0 auto;padding-top:1px}

.chap{background:var(--white);border-radius:var(--r-lg);padding:clamp(26px,4vw,46px);
  border:1px solid rgba(37,29,41,.07);position:relative;overflow:hidden}
.chap:before{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px circle at 92% -10%, rgba(254,183,2,.11), transparent 60%)}
.chap-num{font-family:'JetBrains Mono',monospace;font-size:52px;font-weight:700;
  color:var(--ink-200);line-height:1;letter-spacing:-0.04em}
.chap h2{font-size:clamp(24px,3.4vw,36px);font-weight:900;letter-spacing:-0.04em;margin:6px 0 10px;position:relative}
.chap .sub{color:var(--ink-400);font-size:14.5px;font-style:italic;margin-bottom:26px;position:relative}
.chap p{position:relative;margin-bottom:14px;font-size:15px;line-height:1.72;color:var(--ink-800)}
.chap p:last-child{margin-bottom:0}
.anchor{width:100%;font-family:'Fraunces',serif;font-size:clamp(20px,2.2vw,32px);line-height:1.3;
  letter-spacing:-0.025em;padding:24px 26px;background:var(--bone-soft);border-radius:var(--r-md);
  margin:24px 0;position:relative;border-left:3px solid var(--signal)}
.blk{background:var(--bone-soft);border-radius:var(--r-md);padding:22px;margin:18px 0;position:relative}
.blk-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-400);margin-bottom:11px;font-weight:500}
/* marcador de origem da citação: P2..P10, sem travessão */
.fonte{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;color:var(--ink-400);margin-left:6px;white-space:nowrap}
/* entenda esta seção: recolhido por padrão, sem JS. <details> nativo
   dá teclado, leitor de tela e busca do navegador sem custo nenhum. */
.entenda{margin:14px 0 20px;border:1px solid var(--ink-200);border-radius:12px;
  background:var(--bone-soft);overflow:hidden}
.entenda[open]{border-color:var(--signal);background:var(--signal-soft)}
.entenda summary{list-style:none;cursor:pointer;padding:11px 16px;display:flex;
  align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--ink-600);
  transition:.15s;user-select:none}
.entenda summary::-webkit-details-marker{display:none}
.entenda summary::marker{content:''}
.entenda summary:before{content:'';width:0;height:0;flex:0 0 auto;
  border-left:5px solid var(--ink-400);border-top:4px solid transparent;
  border-bottom:4px solid transparent;transition:transform .18s}
.entenda[open] summary:before{transform:rotate(90deg);border-left-color:var(--ink)}
.entenda summary:hover{color:var(--ink)}
.entenda[open] summary{color:var(--ink)}
.entenda-c{padding:2px 16px 15px 30px}
.entenda-c p{font-size:13.5px;line-height:1.6;color:var(--ink-800);margin:0 0 11px}
.entenda-c .blk-h{margin-bottom:3px}
.quote{border-left:2.5px solid var(--signal);padding-left:16px;font-style:italic;color:var(--ink-600);
  font-size:14px;line-height:1.6;margin:12px 0}
.rep-nav{display:flex;justify-content:space-between;gap:14px;margin-top:22px;align-items:center;flex-wrap:wrap}
/* O RESUMO DE CADA CAPÍTULO NA ABERTURA
   Substância, e não só a linha do achado: os valores, as regras, as
   perguntas, a metáfora. Tudo tirado dos mesmos campos do capítulo. */
.rs{margin-top:14px;display:grid;gap:12px}
.rs-l{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-400);margin-bottom:-4px}
.rs-frase{font-family:'Fraunces',serif;font-size:17px;line-height:1.38;
  letter-spacing:-.015em;color:var(--ink)}
.rs-frase.peq{font-size:15px;color:var(--ink-800)}
.rs-p{font-size:13.8px;line-height:1.6;color:var(--ink-800);margin:0}
.rs-chips{display:flex;flex-wrap:wrap;gap:7px}
.rs-c{font-size:13px;font-weight:600;padding:5px 12px;border-radius:100px;
  background:var(--bone-soft);border:1px solid var(--ink-200)}
.rs-c.rep{background:#FBECEF;border-color:#E8C4CD;color:#8C4A5A}
.rs-vals{display:flex;flex-wrap:wrap;gap:8px}
.rs-v{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;
  padding:6px 13px;border-radius:100px;background:var(--white);border:1px solid var(--ink-200)}
.rs-vn{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-300)}
.rs-ul,.rs-ol{margin:0;padding-left:19px;display:grid;gap:7px;
  font-size:14px;line-height:1.5;color:var(--ink-800)}
.rs-ul{list-style:none;padding-left:0}
.rs-ul li{position:relative;padding-left:16px}
.rs-ul li:before{content:'·';position:absolute;left:3px;color:var(--ink-300);font-weight:700}
.rs-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;
  letter-spacing:.07em;text-transform:uppercase;padding:2px 8px;border-radius:100px;
  background:var(--bone-soft);color:var(--ink-600);margin-left:6px;white-space:nowrap}
.rs-tag.r{background:#FBECEF;color:#8C4A5A}
.rs-trocas{display:grid;gap:8px}
.rs-par{display:grid;grid-template-columns:1fr 18px 1fr;gap:10px;align-items:center;
  font-size:13.6px;line-height:1.45}
.rs-par b{color:var(--ink-300);text-align:center;font-weight:400}
.rs-par span:first-child{color:var(--ink-600)}
.rs-par span:last-child{color:var(--ink);font-weight:600}
.rs-dims{display:grid;gap:6px}
.rs-dim{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;
  font-size:13.4px;line-height:1.45;color:var(--ink-800);
  padding:6px 0;border-bottom:1px solid var(--ink-100,rgba(37,29,41,.07))}
.rs-dn{font-weight:700;color:var(--ink)}
.rs-dom{margin-top:4px}
@media(max-width:640px){
  .rs-par{grid-template-columns:1fr;gap:2px}
  .rs-par b{text-align:left}
  .rs-dim{grid-template-columns:1fr;gap:2px}}

/* A PÁGINA DOS OUROS · a abertura do relatório */
.ouros{display:grid;gap:10px;margin-top:24px}
.ouro-l{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;
  align-items:start;width:100%;text-align:left;padding:22px 24px;
  border:1px solid var(--ink-200);border-radius:14px;background:var(--white);
  font-family:inherit}
.ouro-mais{margin-top:16px;background:none;border:0;padding:0;cursor:pointer;
  font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;font-weight:700;color:var(--ink);
  border-bottom:2px solid var(--signal);padding-bottom:2px}
.ouro-mais:hover{color:var(--ink-600)}
.ouro-l.lida{background:var(--bone-soft)}
.ouro-l.trancada{cursor:pointer;opacity:.72}
.ouro-n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-300);
  font-weight:700;padding-top:3px}
.ouro-l.lida .ouro-n{color:var(--signal)}
.ouro-t{display:block;font-size:12.5px;font-family:'JetBrains Mono',monospace;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400);margin-bottom:6px}
.ouro-s{display:block;font-family:'Fraunces',serif;font-size:18.5px;line-height:1.35;
  letter-spacing:-.02em;color:var(--ink)}

.ouro-topo{padding:26px 28px;border-radius:4px 16px 16px 4px;background:var(--white);
  border:1px solid var(--ink-200);border-left:5px solid var(--signal);margin-bottom:8px}
.ouro-topo .ouro-t{margin-bottom:10px}
.ouro-topo p{font-family:'Fraunces',serif;font-size:clamp(19px,2.5vw,25px);
  line-height:1.35;letter-spacing:-.02em;margin:0}
@media(max-width:640px){.ouro-l{grid-template-columns:1fr;gap:6px;padding:18px 16px}}

/* O QUE FAZER AGORA · o fecho de cada capítulo
   A regra de voz diz que toda seção termina em movimento, e os capítulos
   gratuitos terminavam sem nada. Uma coisa pequena, para hoje. */
.meio-n{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.meio-c{background:var(--card,#fff);border:1px solid var(--ink-200);border-radius:12px;padding:16px 18px;text-align:center}
.meio-c b{display:block;font-size:24px;color:var(--ink);line-height:1.15;word-break:break-word}
.meio-c span{display:block;font-size:11.5px;color:var(--ink-400);margin-top:5px;line-height:1.4}
.meio-a{border-left:5px solid var(--signal)}

.agora{margin-top:26px;padding:20px 22px;border-radius:4px 14px 14px 4px;
  background:var(--signal-soft,#FFF6DC);border-left:5px solid var(--signal)}
.agora-h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:#7A5C00;margin-bottom:9px}
.agora p{font-size:15.5px;line-height:1.55;margin:0;color:var(--ink);font-weight:600}
@media print{.agora{background:#fff;border:1px solid var(--ink-200);border-left:5px solid var(--signal)}}

.readbar{height:3px;background:var(--ink-200);border-radius:100px;overflow:hidden;margin-bottom:22px}
.readbar>i{display:block;height:100%;background:var(--signal);transition:width .4s}

table.vals{width:100%;border-collapse:collapse;font-size:13.5px;position:relative}
table.vals th{text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:.12em;color:var(--ink-400);padding:0 10px 10px;font-weight:500}
table.vals td{padding:14px 12px;border-top:1px solid var(--ink-200);vertical-align:top;line-height:1.5}
table.vals tr:first-child td{border-top:1.5px solid var(--ink)}
.rank{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:11px;color:var(--ink);
  background:var(--signal);border-radius:100px;padding:3px 8px;display:inline-block;line-height:1}
.swot{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.swot{grid-template-columns:1fr}}
.swot-box{border-radius:var(--r-md);padding:20px;border:1px solid rgba(37,29,41,.08)}
.swot-box h4{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:12px;font-weight:700}
.swot-box li{font-size:13px;line-height:1.5;padding-left:14px;position:relative;color:var(--ink-800);
  list-style:none;margin-bottom:8px}
.swot-box li:before{content:'';position:absolute;left:0;top:8px;width:4px;height:4px;border-radius:50%;background:var(--ink-400)}
.list-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;position:relative}
.mini{background:var(--bone-soft);border-radius:var(--r-md);padding:20px;border:1px solid rgba(37,29,41,.06)}
.mini strong{display:block;font-size:15px;margin-bottom:6px;letter-spacing:-0.02em}
.mini p{font-size:13px;color:var(--ink-600);line-height:1.55;margin-bottom:8px}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--ink-200);margin:16px 0;position:relative}
.cmp>div{padding:16px 18px}
.cmp .l{background:var(--white);border-right:1px solid var(--ink-200)}
.cmp .r{background:var(--bone-soft)}
.cmp .h{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-400);margin-bottom:8px}
.cmp .d{grid-column:1/-1;background:var(--signal-soft);padding:12px 18px;font-size:13.5px;
  border-top:1px solid var(--ink-200)}
@media(max-width:700px){.cmp{grid-template-columns:1fr}.cmp .l{border-right:none;border-bottom:1px solid var(--ink-200)}}
.tag-s{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 10px;border-radius:100px;font-weight:700;background:var(--signal-soft);color:var(--ink-800)}
.tag-r{background:#F0E6E9;color:#6B3A47}

/* ====== HÁBITOS / STATS ====== */
.habit{display:flex;align-items:flex-start;gap:14px;background:var(--white);
  border:1px solid rgba(37,29,41,.08);border-radius:14px;padding:15px 18px;margin-bottom:9px;
  transition:.16s;cursor:pointer}
.habit:hover{border-color:var(--ink-300)}
.habit.done{background:var(--bone-soft);border-color:transparent}
.habit.done .h-txt{text-decoration:line-through;color:var(--ink-400)}
.chk{width:22px;height:22px;border-radius:7px;border:1.8px solid var(--ink-300);flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:.16s;margin-top:1px}
.habit.done .chk{background:var(--signal);border-color:transparent;color:var(--ink)}
.h-txt{font-size:14.5px;line-height:1.5}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:14px;margin-bottom:26px}
.stat{background:var(--white);border-radius:var(--r-md);padding:20px 22px;border:1px solid rgba(37,29,41,.07)}
.stat b{display:block;font-size:34px;font-weight:900;letter-spacing:-0.045em;line-height:1}
.stat span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-400);display:block;margin-top:7px}

/* ====== CHAT ====== */
.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 210px);min-height:480px;
  background:var(--white);border-radius:var(--r-lg);border:1px solid rgba(37,29,41,.07);overflow:hidden}
.chat-head{padding:18px 24px;border-bottom:1px solid var(--ink-200);display:flex;align-items:center;gap:13px}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--signal);
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;
  letter-spacing:-0.04em;flex:0 0 auto}
.chat-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:15px;background:var(--bone-soft)}
.msg{max-width:76%;padding:14px 18px;border-radius:18px;font-size:14.5px;line-height:1.65;white-space:pre-wrap}
.msg.ai{background:var(--white);border:1px solid rgba(37,29,41,.07);border-bottom-left-radius:6px;align-self:flex-start}
.msg.me{background:var(--ink);color:var(--bone);border-bottom-right-radius:6px;align-self:flex-end}
.msg.sys{align-self:center;background:transparent;border:none;font-family:'JetBrains Mono',monospace;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);max-width:100%}
.chat-foot{padding:14px 18px;border-top:1px solid var(--ink-200);display:flex;gap:10px;align-items:flex-end}
.chat-foot .box{flex:1;position:relative}
.chat-foot textarea{width:100%;background:var(--bone-soft);border:1.5px solid var(--ink-200);
  border-radius:16px;padding:13px 58px 13px 17px;max-height:130px;min-height:50px;font-size:14.5px}
.chat-foot textarea:focus{outline:none;border-color:var(--signal)}
.chat-foot .mic{right:9px;bottom:6px;width:38px;height:38px}
.suggest{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 14px;background:var(--bone-soft)}
.suggest button{background:var(--white);border:1px solid var(--ink-200);border-radius:100px;
  padding:8px 15px;font-size:12.5px;color:var(--ink-600);transition:.15s;text-align:left}
.suggest button:hover{border-color:var(--signal);color:var(--ink)}
.typing{display:flex;gap:4px;align-items:center;padding:16px 18px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-300);animation:bounce 1.3s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}

/* ====== TERRITÓRIOS ====== */
.terr-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.terr{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px;border-radius:100px;border:1px solid var(--ink-200);color:var(--ink-400);background:var(--white)}
.terr.ok{background:var(--signal);border-color:transparent;color:var(--ink);font-weight:700}

/* ====== ADMIN ====== */
.adm-tabs{display:flex;gap:6px;margin-bottom:24px;flex-wrap:wrap}
.adm-tab{padding:9px 18px;border-radius:100px;font-size:13px;font-weight:600;
  border:1.5px solid var(--ink-200);transition:.15s}
.adm-tab.on{background:var(--ink);color:var(--bone);border-color:transparent}
.adm-q{background:var(--white);border-radius:var(--r-md);border:1px solid rgba(37,29,41,.08);
  padding:22px;margin-bottom:14px}
.adm-q .hd{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.adm-g{display:flex;gap:8px;align-items:center;margin-bottom:7px}
.adm-g input{flex:1}
.xbtn{width:28px;height:28px;border-radius:8px;background:var(--bone-soft);color:var(--ink-400);
  font-size:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.15s}
.xbtn:hover{background:#F0E6E9;color:#6B3A47}

/* ====== DIÁRIO ====== */
.di{background:var(--white);border-radius:var(--r-md);border:1px solid rgba(37,29,41,.08);
  padding:20px 22px;margin-bottom:12px}
.di .dt{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);background:var(--signal);border-radius:100px;
  padding:5px 11px;margin-bottom:12px;display:inline-flex;gap:8px;align-items:center;line-height:1}
.di .dt .dot{width:5px;height:5px;background:var(--ink);opacity:.55}
.di p{font-size:14px;line-height:1.65;color:var(--ink-800)}
.di .rp{margin-top:14px;padding-top:14px;border-top:1px solid var(--ink-200);
  font-size:13.5px;color:var(--ink-600);line-height:1.6;white-space:pre-wrap}

.divider{height:1px;background:var(--ink-200);margin:30px 0}
.note{background:var(--signal-soft);border-radius:12px;padding:12px 16px;font-size:12.5px;
  color:var(--ink-800);line-height:1.5;border-left:3px solid var(--signal)}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:14px;flex-wrap:wrap}
.hidden{display:none!important}
.center{text-align:center}
.spin{width:46px;height:46px;border:3px solid var(--ink-200);border-top-color:var(--signal);
  border-radius:50%;animation:rot .85s linear infinite;margin:0 auto 26px}
@keyframes rot{to{transform:rotate(360deg)}}
.fade{animation:fade .35s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);
  color:var(--bone);padding:13px 24px;border-radius:100px;font-size:13.5px;font-weight:500;
  z-index:99;animation:fade .25s ease both;max-width:88vw;text-align:center}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:10px}
::-webkit-scrollbar-track{background:transparent}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.obj-card{background:var(--white);border-radius:var(--r-lg);padding:28px;border:1px solid rgba(37,29,41,.07);margin-bottom:18px}
.obj-card h3{font-size:20px;font-weight:900;letter-spacing:-0.03em;margin-bottom:4px}
.dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
.dots button{width:9px;height:9px;border-radius:50%;background:var(--ink-200)}
.ix .cad{margin-left:auto;font-size:11px;opacity:.55}
.grat-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;
  cursor:pointer;transition:.14s;border-bottom:1px solid var(--ink-200)}
.grat-row:last-child{border-bottom:none}
.grat-row:hover{background:var(--bone-soft)}
.grat-row.on{background:var(--signal-soft)}
.grat-t{flex:1;font-size:14px;font-weight:500;min-width:0}
.sw{width:38px;height:22px;border-radius:100px;background:var(--ink-200);position:relative;
  flex:0 0 auto;transition:.16s}
.sw.on{background:var(--signal)}
.sw i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;
  background:var(--white);transition:.16s}
.sw.on i{left:19px}
.custo{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;
  background:var(--bone-soft);border-radius:var(--r-md);padding:20px;margin-bottom:20px;
  border:1px solid rgba(37,29,41,.07)}
.custo.alerta{background:#FAF2F4;border-color:rgba(140,74,90,.18)}
.custo-n{font-size:30px;font-weight:900;letter-spacing:-0.04em;line-height:1;margin:6px 0 6px}
.custo-d{font-size:12px;color:var(--ink-600);line-height:1.45}

/* ====== VALORES: DUAS COLUNAS ====== */
.col2h{display:block;margin:18px 0;position:relative}
.col2h .colbox+.colbox{margin-top:16px}
.repgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.colbox{background:var(--bone-soft);border-radius:var(--r-md);padding:20px;border:1px solid rgba(37,29,41,.07)}
.colbox.rep{background:#FAF2F4;border-color:rgba(140,74,90,.14)}
.colh{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-400);margin-bottom:12px;font-weight:500}
.colbox.rep .colh{color:#8C4A5A}
.repitem{background:var(--white);border-radius:12px;padding:16px 18px;border:1px solid rgba(140,74,90,.16)}

/* ====== TABELA DE SUBSTITUIÇÃO ====== */
.sub2{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:12px;overflow:hidden;border:1px solid var(--ink-200)}
.sub2>div{padding:14px 16px}
.s2a{background:var(--white);border-right:1px solid var(--ink-200)}
.s2b{background:var(--signal-soft)}
@media(max-width:700px){.sub2{grid-template-columns:1fr}.s2a{border-right:none;border-bottom:1px solid var(--ink-200)}}

/* ====== SETE TERRITÓRIOS ====== */
.t7{border:1px solid var(--ink-200);border-radius:var(--r-md);overflow:hidden;margin:18px 0;position:relative}
/* os primeiros passos, em ordem de prioridade */
.passo{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;
  align-items:start;padding:20px;border:1px solid var(--ink-200);
  border-radius:14px;background:var(--white);margin:12px 0}
.passo-n{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700;
  color:var(--ink-200);line-height:1}
.passo:first-of-type .passo-n{color:var(--signal)}
.passo-a{font-size:19px;line-height:1.35;margin-bottom:8px}
.passo-c{min-width:0}
@media(max-width:640px){.passo{grid-template-columns:1fr;gap:6px}
  .passo-n{font-size:20px}}

.t7row{display:grid;grid-template-columns:1.4fr 1.5fr 46px 118px;gap:12px;align-items:center;
  padding:13px 18px;border-top:1px solid var(--ink-200);background:var(--white)}
.t7row:first-child{border-top:none}
.t7row.forte{background:var(--white)}
.t7row.mencionado{background:var(--bone-soft)}
.t7row.ausente{background:#FAF2F4}
.t7n{font-weight:600;font-size:14px}
.t7p{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400);letter-spacing:.06em}
.t7c{font-size:12px;color:var(--ink-400);text-align:right}

/* ====== EDITOR DE PRÁTICAS ====== */
.prat{background:var(--bone-soft);border-radius:14px;padding:14px 16px;margin-bottom:10px;border:1px solid rgba(37,29,41,.07)}
.prat-linha{display:flex;gap:8px;align-items:center}
.prat-linha .inp{background:var(--white);padding:11px 14px}
.mic.mic-sm{width:32px;height:32px;right:6px;bottom:5px;box-shadow:none}
.mic.mic-sm svg{width:14px;height:14px}
.prat-dias{display:flex;gap:5px;align-items:center;margin-top:11px;flex-wrap:wrap}
.dia{width:27px;height:27px;border-radius:50%;font-size:11px;font-weight:700;
  background:var(--white);border:1.5px solid var(--ink-200);color:var(--ink-300);transition:.14s}
.dia:hover{border-color:var(--ink-300)}
.dia.on{background:var(--signal);border-color:transparent;color:var(--ink)}
.dias-txt{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-400);margin-left:6px}
.prat-hora{display:grid;grid-template-columns:auto auto;gap:14px;align-items:end;
  margin-top:12px;padding-top:12px;border-top:1px dashed var(--ink-200)}
.prat-hora label{display:flex;flex-direction:column;gap:5px}
.prat-hora .inp{background:var(--white);width:122px;padding:9px 12px}
.det.on{background:var(--ink);color:var(--bone)}
.det.on:hover{background:var(--ink-800);color:var(--bone)}
.dur-wrap{display:inline-flex;align-items:center;gap:4px;background:var(--white);
  border:1px solid var(--ink-200);border-radius:12px;padding:8px 12px 8px 9px}
.dur-wrap:focus-within{border-color:var(--signal)}
.dur-inp{width:42px;border:none;background:transparent;text-align:right;font-size:12px;
  font-weight:600;font-family:'JetBrains Mono',monospace;padding:2px 0}
.dur-inp:focus{outline:none}
.dur-inp::-webkit-outer-spin-button,.dur-inp::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.dur-wrap span{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-400);letter-spacing:.05em}
.det{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-400);padding:5px 10px;border-radius:100px;transition:.14s}
.det:hover{background:var(--white);color:var(--ink)}
.prat-det{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;padding-top:12px;
  border-top:1px dashed var(--ink-200)}
.prat-det .inp{background:var(--white)}
@media(max-width:680px){.prat-det{grid-template-columns:1fr}}

/* ====== ROTINA: GATILHO E VERSÃO MÍNIMA ====== */
.habit{align-items:center;cursor:pointer}
.h-gat{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-400);margin-top:4px}
.habit.done .h-gat{color:var(--ink-300)}
.habit.mini{background:var(--signal-soft);border-color:transparent}
.habit.mini .h-txt{text-decoration:none;color:var(--ink-800)}
.habit.mini .chk{background:var(--signal);border-color:transparent;color:var(--ink)}
.h-min{font-size:11.5px;color:var(--ink-600);margin-top:5px;font-style:italic}
.btn-min{flex:0 0 auto;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;padding:7px 13px;border-radius:100px;border:1.5px dashed var(--ink-200);
  color:var(--ink-400);transition:.15s;white-space:nowrap}
.btn-min:hover{border-color:var(--signal);background:var(--signal-soft);color:var(--ink)}
@media(max-width:760px){.t7row{grid-template-columns:1fr auto;row-gap:6px}.t7p,.t7c{grid-column:1/-1}}

/* ---------- Página de presentear ---------- */
.pres-pag{padding:0}
.pres-hero{width:min(880px,92vw);margin:0 auto;padding:64px 0 88px}
.pres-hero h1{font-size:clamp(30px,5vw,52px);line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;margin:14px 0 18px}
.pres-hero h1 .hl{background:var(--signal);padding:0 .12em}
.pres-passos{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:12px}
.pres-passos li{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--ink-200);border-radius:14px;padding:16px 18px}
.pres-passos b{font-family:'JetBrains Mono',monospace;font-size:12px;background:var(--signal);color:var(--ink);border-radius:999px;padding:4px 9px}
.pres-passos span{font-size:15px;line-height:1.6;color:var(--ink-800)}
.pres-form{margin-top:34px;display:grid;gap:16px;background:var(--white);border:1px solid var(--ink-200);border-radius:18px;padding:24px}
.pres-form label{display:grid;gap:6px}
.pres-form label span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-600)}
.pres-form input,.pres-form textarea{width:100%;border:1px solid var(--ink-200);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.pres-form input:focus,.pres-form textarea:focus{outline:2px solid var(--signal);outline-offset:1px}
.pres-erro{color:#B4261A;font-size:14px;margin:0}
.pres-checkout{margin-top:30px;background:var(--white);border:1px solid var(--ink-200);border-radius:18px;padding:16px}
.pres-ok{margin-top:34px;background:var(--white);border:1px solid var(--ink-200);border-left:4px solid var(--signal);border-radius:16px;padding:24px}
.pres-ok p{margin:10px 0 18px;line-height:1.65;color:var(--ink-800)}
.pres-lista{margin-top:38px}
.pres-lista h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-600);margin:0 0 12px}
.pres-lista ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pres-lista li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border:1px solid var(--ink-200);border-radius:12px;padding:12px 14px;background:var(--white);font-size:14px}
.pres-lista li span{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-600)}
.pres-volta{margin-top:40px;font-size:14px}
.pres-cta{margin-top:26px;background:var(--white);border:1px solid var(--ink-200);border-left:4px solid var(--signal);border-radius:16px;padding:24px 26px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.pres-cta p{margin:6px 0 0;color:var(--ink-800);line-height:1.6;max-width:60ch}
