@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url(/fontes/sora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:600;font-display:swap;src:url(/fontes/sora-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Sora;font-style:normal;font-weight:700;font-display:swap;src:url(/fontes/sora-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fontes/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fontes/inter-latin-500-normal.woff2) format("woff2")}
:root{
  --brand:#16B36A; --brand-hover:#12A05E; --on-brand:#0B1F14; --brand-text:#0E7D49; --brand-tint:#E8FBF1;
  --graphite:#1F2933; --on-graphite:#E8FBF1; --surface:#F5F7FA; --raised:#FFFFFF;
  --ink:#1F2933; --muted:#616E7C; --border:#E4E7EB;
  --amber:#FFB020; --amber-text:#8A5A00; --amber-tint:#FFF4DB;
  --brand-text-dark:#5FD69A; --muted-dark:#9AA5B1; --border-dark:#3E4C59; --raised-dark:#323F4B;
  --danger:#A32D2D; --danger-tint:#FDE8E8;
  --r-sm:6px; --r-md:10px; --r-lg:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 16px/24px Inter,system-ui,sans-serif;background:var(--surface);color:var(--ink);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block}
ul{list-style:none}
:focus-visible{outline:3px solid var(--brand-text);outline-offset:2px}
.escuro :focus-visible,.rod :focus-visible{outline-color:var(--brand-text-dark)}
svg.i{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Estrutura ===== */
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
main{flex:1}
.secao{padding:48px 0}
.secao.branca{background:var(--raised)}
.secao.escura{background:var(--graphite);color:var(--on-graphite)}
.secao.escura .apoio,.secao.escura p{color:var(--muted-dark)}
.cab-secao{max-width:40em;margin-bottom:32px}
.cab-secao .selo{margin-bottom:16px}

/* ===== Tipografia ===== */
h1,h2,h3{font-family:Sora,system-ui,sans-serif;letter-spacing:-.01em}
h1{font-weight:700;font-size:40px;line-height:48px;letter-spacing:-.02em}            /* display-l no celular */
h2{font-weight:700;font-size:28px;line-height:36px}                                   /* heading */
h3{font-weight:600;font-size:20px;line-height:28px}                                   /* title */
h1 em,h2 em{font-style:normal;color:var(--brand-text)}
.escura h2 em,.escura h1 em{color:var(--brand-text-dark)}
.apoio{font-size:18px;line-height:28px;color:var(--muted);margin-top:16px;max-width:32em}
.pequeno{font-size:14px;line-height:20px;color:var(--muted)}

/* ===== Logo composto ===== */
.logo{display:inline-flex;align-items:center;gap:10px;font:400 22px/1 Sora,sans-serif;color:var(--muted)}
.logo b{font-weight:700;color:var(--ink)}
.logo svg{width:36px;height:36px;flex:none}
.logo.escuro,.logo.escuro b{color:var(--on-graphite)}

/* ===== Botões: principal, secundário, claro (sobre grafite) ===== */
.botao{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;border-radius:var(--r-md);
       background:var(--brand);color:var(--on-brand);font:600 16px/1 Sora,sans-serif;border:0;cursor:pointer;width:100%;text-align:center;white-space:nowrap}
.botao:hover{background:var(--brand-hover)}
.botao.secundario{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.botao.secundario:hover{background:var(--raised)}
.escura .botao.secundario{color:var(--on-graphite);box-shadow:inset 0 0 0 2px var(--on-graphite)}
.escura .botao.secundario:hover{background:var(--raised-dark)}
.botao.compacto{min-height:48px;padding:12px 22px;width:auto}
.acoes{display:flex;flex-direction:column;gap:12px;margin-top:32px}
.link-seta{display:inline-flex;align-items:center;gap:8px;font:600 16px/24px Sora,sans-serif;color:var(--brand-text)}
.link-seta:hover{text-decoration:underline;text-underline-offset:4px}
.link-seta svg.i{width:18px;height:18px}

/* ===== Selos (6 px) ===== */
.selo{display:inline-flex;align-items:center;gap:6px;font:600 14px/20px Sora,sans-serif;padding:4px 10px;border-radius:var(--r-sm);background:var(--brand-tint);color:var(--brand-text)}
.selo.atencao{background:var(--amber-tint);color:var(--amber-text)}      /* âmbar: só detalhe, nunca fundo de seção */
.selo.neutro{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border)}
.destaque-ambar{text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:4px;text-underline-offset:6px}

/* ===== Cards (16 px) ===== */
.grade{display:grid;gap:24px}
.card{background:var(--raised);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px}
.secao.branca .card{background:var(--surface)}
.card p{color:var(--muted)}
.card .icone{width:44px;height:44px;border-radius:var(--r-md);background:var(--brand-tint);color:var(--brand-text);display:flex;align-items:center;justify-content:center}
.card .icone.ambar{background:var(--amber-tint);color:var(--amber-text)}
.card h3{margin-top:4px}
.card.destaque{border:2px solid var(--brand)}
.lista-check{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.lista-check li{display:flex;gap:12px;align-items:flex-start}
.lista-check svg.i{width:20px;height:20px;margin-top:2px;color:var(--brand-text);stroke-width:2.5}

/* ===== Funil (card grafite) e etapas ===== */
.funil{background:var(--graphite);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px}
.etapa{display:flex;align-items:center;gap:12px;background:var(--raised-dark);border-radius:var(--r-md);padding:14px 16px;color:var(--on-graphite);font:600 16px/1 Sora,sans-serif}
.etapa .ponto{width:10px;height:10px;border-radius:50%;flex:none}
.etapa.final{background:var(--brand);color:var(--on-brand)}
.etapa.final svg.i{width:22px;height:22px;margin-left:auto;stroke-width:2.5}
.chev{color:var(--brand);font:700 22px/1 Sora,sans-serif;letter-spacing:-.08em;padding-left:18px}

/* Caminho do funil em etapas numeradas (Como funciona e Início) */
.passos{display:flex;flex-direction:column;gap:0;counter-reset:p}
.passo{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:32px;position:relative}
.passo:last-child{padding-bottom:0}
.passo::before{counter-increment:p;content:counter(p);width:44px;height:44px;border-radius:var(--r-md);background:var(--brand);color:var(--on-brand);font:700 18px/44px Sora,sans-serif;text-align:center}
.passo::after{content:"";position:absolute;left:21px;top:52px;bottom:8px;width:2px;background:var(--border)}
.passo:last-child::after{display:none}
.passo h3{margin-bottom:4px}
.passo p{color:var(--muted)}
.escura .passo::after{background:var(--border-dark)}
.escura .passo p{color:var(--muted-dark)}

/* ===== Perguntas frequentes (details/summary) ===== */
.faq{border-bottom:1px solid var(--border)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 0;font:600 18px/26px Sora,sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg.i{transition:transform .2s;color:var(--brand-text)}
.faq[open] summary svg.i{transform:rotate(180deg)}
.faq .resposta{padding:0 0 20px;color:var(--muted);max-width:42em}

/* ===== Formulário (campos 10 px, altura mínima 52 px) ===== */
.form{display:flex;flex-direction:column;gap:20px}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label,.campo legend{font:500 15px/20px Inter,sans-serif;color:var(--ink)}
.campo .dica{font-size:14px;line-height:20px;color:var(--muted)}
.campo input[type=text],.campo input[type=tel],.campo input[type=email],.campo select{width:100%;min-height:52px;padding:12px 16px;border:1.5px solid #CBD2D9;border-radius:var(--r-md);background:var(--raised);font:400 16px/24px Inter,sans-serif;color:var(--ink)}
.campo select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23616E7C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.campo input:focus,.campo select:focus{outline:3px solid var(--brand-text);outline-offset:1px;border-color:var(--brand-text)}
.campo.erro input{border-color:var(--danger);background:var(--danger-tint)}
.campo .msg-erro{font-size:14px;line-height:20px;color:var(--danger)}
.opcoes{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0}
.opcao{position:relative}
.opcao input{position:absolute;opacity:0;inset:0}
.opcao span{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px;border:1.5px solid #CBD2D9;border-radius:var(--r-md);background:var(--raised);font:600 15px/20px Sora,sans-serif;text-align:center}
.opcao input:checked + span{border-color:var(--brand-text);background:var(--brand-tint);color:var(--brand-text)}
.opcao input:focus-visible + span{outline:3px solid var(--brand-text);outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:20px;color:var(--muted)}
.consent input{width:22px;height:22px;flex:none;margin-top:0;accent-color:var(--brand-text)}   /* caixa NÃO marcada por padrão (LGPD) */
.consent a{color:var(--brand-text);text-decoration:underline;text-underline-offset:3px}
.form-nota{font-size:14px;line-height:20px;color:var(--muted)}

/* ===== Cabeçalho ===== */
.cab{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
.cab.rolado{background:rgba(245,247,250,.94);border-bottom-color:var(--border);backdrop-filter:blur(8px)}
.cab-in{max-width:1200px;margin:0 auto;height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.menu-desktop{display:none}
.burger{width:44px;height:44px;margin-right:-10px;border:0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);cursor:pointer}
.burger .fechar{display:none}
.cab.aberto .burger .abrir{display:none}
.cab.aberto .burger .fechar{display:block}
.painel{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--surface);padding:16px 24px 32px;overflow:auto;flex-direction:column}
.cab.aberto .painel{display:flex}
/* Menu aberto: sem desfoque. O backdrop-filter do .cab.rolado prende o painel (position:fixed) dentro do cabeçalho de 64 px quando a página já rolou. */
.cab.aberto{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface);border-bottom-color:var(--border)}
.painel nav{display:flex;flex-direction:column}
.painel nav a{font:600 22px/28px Sora,sans-serif;padding:18px 0;border-bottom:1px solid var(--border)}
.painel nav a[aria-current]{color:var(--brand-text)}
.painel .acoes{margin-top:32px}
.painel .nota{margin-top:20px;font-size:14px;line-height:20px;color:var(--muted)}

/* ===== Rodapé ===== */
.rod{background:var(--graphite);color:var(--on-graphite);margin-top:auto}
.rod-in{max-width:1200px;margin:0 auto;padding:48px 24px 0}
.rod-marca .tag{margin-top:16px;font:600 18px/26px Sora,sans-serif;display:flex;align-items:center;gap:10px}
.rod-marca .tag .chev{padding:0;color:var(--brand);font-size:18px}
.rod-marca p{margin-top:8px;font-size:14px;line-height:20px;color:var(--muted-dark);max-width:26em}
.rod-cols{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:32px 24px}
.rod h2{font:600 14px/20px Sora,sans-serif;color:var(--muted-dark);margin-bottom:12px;letter-spacing:0}
.rod ul{display:flex;flex-direction:column;gap:2px}
.rod ul a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:16px;line-height:24px;color:var(--on-graphite)}
.rod ul a:hover{color:var(--brand-text-dark)}
.rod ul a svg.i{width:20px;height:20px}
.rod .contato{grid-column:1 / -1}
.rod-base{margin-top:40px;border-top:1px solid var(--border-dark);padding:20px 0 28px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:20px;color:var(--muted-dark)}
.rod-base .esq{display:flex;flex-wrap:wrap;gap:4px 24px}
.rod-base a{color:var(--brand-text-dark);font-weight:500;text-decoration:underline;text-underline-offset:3px}

/* ===== Página de links da bio (sem cabeçalho nem rodapé do site) ===== */
.bio{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:0}
.bio-in{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;text-align:center}
.bio .logo{font-size:26px}
.bio .logo svg{width:44px;height:44px}
.bio h1{font-size:28px;line-height:36px;margin-top:24px}
.bio .apoio{margin-top:12px}
.bio .acoes{width:100%;margin-top:32px}
.bio .rodape-bio{margin-top:40px;font-size:13px;line-height:18px;color:var(--muted)}

/* Marcador de dado que ainda não existe ([PREENCHER]). Só na referência: no site, o texto final entra no lugar. */
.pendente{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px #9AA5B1;border-radius:4px;padding:0 6px;font-weight:500;white-space:normal}
.secao.branca .pendente{background:var(--surface)}

/* ===== Documento (política de privacidade) ===== */
.doc h2{font-size:24px;line-height:32px;margin:40px 0 12px;scroll-margin-top:88px}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{color:var(--ink);max-width:44em}
.doc p+p,.doc ul+p{margin-top:12px}
.doc ul.pontos{list-style:disc;padding-left:22px;display:flex;flex-direction:column;gap:6px;margin-top:12px}

.sumario{display:none}

/* ===== Computador (a partir de 900 px) ===== */
@media (min-width:900px){
  .wrap{padding:0 40px}
  .secao{padding:88px 0}
  h1{font-size:56px;line-height:62px}                    /* display-xl */
  h2{font-size:40px;line-height:48px}                    /* display-l */
  .apoio{font-size:20px;line-height:30px}
  .acoes{flex-direction:row;flex-wrap:wrap}
  .botao{width:auto;padding:16px 32px}
  .cab-secao{margin-bottom:48px}
  .grade.dois{grid-template-columns:1fr 1fr}
  .grade.tres{grid-template-columns:repeat(3,1fr)}
  .grade.quatro{grid-template-columns:repeat(4,1fr)}
  .card{padding:32px}
  .faq summary{font-size:20px;line-height:28px}

  .cab-in{height:76px;padding:0 40px}
  .burger,.painel{display:none !important}
  .menu-desktop{display:flex;align-items:center;gap:40px}
  .menu-desktop nav{display:flex;gap:32px}
  .menu-desktop nav a{position:relative;font:500 16px/24px Inter,sans-serif;padding:8px 0;color:var(--ink)}
  .menu-desktop nav a:hover{color:var(--brand-text)}
  .menu-desktop nav a[aria-current]{color:var(--brand-text)}
  .menu-desktop nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--brand)}
  .menu-desktop .botao{min-height:48px;padding:12px 22px}

  .rod-in{padding:64px 40px 0}
  .rod-top{display:grid;grid-template-columns:1.3fr 2fr;gap:64px}
  .rod-cols{margin-top:0}
  .rod .contato{grid-column:auto}
  .rod-base{margin-top:56px;flex-direction:row;justify-content:space-between;align-items:center;padding:24px 0 32px}
  .rod-base .esq{gap:24px}

  .passos.horizontal{flex-direction:row;gap:24px}
  .passos.horizontal .passo{grid-template-columns:1fr;padding-bottom:0;flex:1;gap:16px}
  .passos.horizontal .passo::after{left:56px;right:-12px;top:21px;bottom:auto;width:auto;height:2px}
  .passos.horizontal .passo:last-child::after{display:none}

  .doc-grade{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start}
  .sumario{display:block;position:sticky;top:104px}
  .sumario h3{font-size:14px;line-height:20px;color:var(--muted);margin-bottom:12px}
  .sumario a{display:block;padding:6px 0;font-size:15px;line-height:22px;color:var(--muted)}
  .sumario a:hover{color:var(--brand-text)}
}
[hidden]{display:none!important}
