@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url('fontes/inter-variavel-latin.woff2') format('woff2'); }
/* Changelog: 02/11/2026 [CLAUDE OPUS 5.5] Estilo unico da direcao aprovada (Tela Inteira), usado pelo Inicio e por Recursos. Previa, nao e o codigo final. */
:root {
  --bg:#121212; --s1:#19191c; --s2:#1f1f23; --rule:#2b2b30; --rule-2:#36363c;
  --t1:#EDEDEF; --t2:#B4B4BB; --t3:#84848C;
  --ac:#F26A0F; --ac-t:#FF8A3D; --ac-solid:#5D2605; --ac-soft:#2A1409; --sobre-ac:#151515;
  --pessego:#FFB98A; --creme:#F6D9C6; --wa:#1c7c4a; --wa-h:#17693f;
  --gut:40px; --max:1320px; --sangra:max(var(--gut), calc((100vw - var(--max)) / 2 + var(--gut)));
  --suave:cubic-bezier(.2,.7,.2,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body { margin:0; background:var(--bg); color:var(--t1); font:400 17px/1.6 'Inter',sans-serif; -webkit-font-smoothing:antialiased; overflow-x:clip; }
a { color:inherit; }
img { display:block; }
h1,h2,h3,p,ul { margin:0; padding:0; }
ul { list-style:none; }
h1,h2,h3 { text-wrap:balance; }
p,li { text-wrap:pretty; }
a:focus-visible, summary:focus-visible { outline:2px solid var(--ac-t); outline-offset:3px; border-radius:4px; }
.caixa { width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gut); }
.bloco { padding:112px 0; }
.fio-topo { border-top:1px solid var(--rule); }
.tit { font-size:44px; line-height:1.12; font-weight:700; letter-spacing:-.022em; }
.selo { display:inline-block; padding:5px 12px; border-radius:99px; background:var(--ac-soft); color:var(--ac-t); font-size:13px; font-weight:600; line-height:1.4; }
.texto { color:var(--t2); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 26px; border-radius:12px; background:var(--ac); color:var(--sobre-ac); font-weight:600; font-size:16px; text-decoration:none; transition:background-color 140ms ease, transform 140ms ease; }
.btn:hover { background:var(--ac-t); }
.btn:active { transform:scale(.98); }

.shot { background:#17181b; }
.shot img { display:block; width:100%; height:auto; }
.janela { border:1px solid var(--rule-2); border-radius:18px; box-shadow:0 30px 70px rgba(0,0,0,.55); }

/* Movimento: so a entrada dos prints, uma vez. Texto, preco e botoes nunca esperam animacao. */
.js .revela { opacity:0; transform:translateY(20px); }
.js .revela.visto { opacity:1; transform:none; transition:opacity 480ms var(--suave), transform 480ms var(--suave); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .btn, .wa-fixo, .faq summary::after, .js .revela, .js .revela.visto { transition:none; }
  .js .revela { opacity:1; transform:none; }
}

/* Menu */
.menu { position:relative; z-index:3; display:flex; align-items:center; gap:32px; height:88px; }
.menu > a { padding:6px 0; }
.menu .logo { height:34px; width:auto; }
.menu nav { margin-left:auto; display:flex; align-items:center; gap:30px; font-size:15px; font-weight:500; color:var(--t2); }
.menu nav a { text-decoration:none; padding:12px 0; }
.menu nav a:hover { color:var(--t1); }
.menu .btn { min-height:44px; padding:0 18px; font-size:15px; }

/* 1. Topo */
.topo { position:relative; overflow:hidden; padding-bottom:112px; }
.nuvens { position:absolute; left:0; top:0; width:100%; height:880px; pointer-events:none; }
.chamada { position:relative; z-index:2; max-width:880px; margin:56px auto 60px; text-align:center; }
h1 { font-size:68px; line-height:1.05; font-weight:700; letter-spacing:-.032em; }
h1 em { font-style:normal; color:var(--ac); }
.apoio { margin:22px auto 30px; max-width:640px; font-size:20px; line-height:1.5; color:var(--t2); }
.principal { position:relative; z-index:2; }

/* 2. Dor */
.dor .tit { max-width:880px; }
.dores { display:grid; grid-template-columns:repeat(3,1fr); margin-top:56px; border-top:1px solid var(--rule-2); }
.dores li { padding:26px 36px 0 0; }
.dores li + li { padding-left:36px; border-left:1px solid var(--rule-2); }
.dores h3, .apoios h3 { font-size:20px; line-height:1.3; font-weight:600; margin-bottom:10px; }
.dores h3::before { content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--ac); margin-right:10px; position:relative; top:-2px; }
.dores p, .apoios p { color:var(--t2); }

/* Blocos de recurso: texto e print alternados, print vazando pela borda */
.recurso { overflow:hidden; }
.recurso .grade { display:grid; gap:72px; align-items:center; }
.recurso.dir .grade { grid-template-columns:minmax(0,440px) minmax(0,1fr); }
.recurso.esq .grade { grid-template-columns:minmax(0,1fr) minmax(0,440px); }
.recurso .tit { margin:16px 0; font-size:40px; }
.recurso .item-print { min-width:0; }
.recurso.dir .janela { width:calc(100% + var(--sangra)); border-radius:18px 0 0 18px; border-right:0; }
.recurso.esq .janela { width:calc(100% + var(--sangra)); margin-left:calc(var(--sangra) * -1); border-radius:0 18px 18px 0; border-left:0; }
.itens { margin-top:24px; border-top:1px solid var(--rule); }
.itens li { padding:11px 0; border-bottom:1px solid var(--rule); font-size:16px; line-height:1.45; font-weight:500; }
.nota { margin-top:14px; font-size:14px; color:var(--t3); }
.espaco-print { display:flex; align-items:center; justify-content:center; aspect-ratio:16 / 10; padding:24px; border:1px dashed var(--rule-2); border-radius:18px; background:var(--s1); color:var(--t3); font-size:15px; text-align:center; }

/* 6. IA */
.ia { background:var(--s1); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.ia .cab { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:56px; align-items:end; }
.ia .tit { margin-top:16px; }
.linha { display:block; }
.cartoes { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:48px; }
.cartoes li { background:var(--s2); border:1px solid var(--rule); border-radius:18px; padding:28px; }
.cartoes h3 { font-size:20px; font-weight:600; margin-bottom:10px; }
.cartoes p { color:var(--t2); font-size:16px; line-height:1.55; }

/* 8. Voce nao fica sozinho */
.apoios { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:48px; }
.apoios li { padding-top:22px; border-top:2px solid var(--ac); }

/* 9. Para quem serve */
.perfis { display:grid; grid-template-columns:repeat(4,1fr); margin-top:48px; border:1px solid var(--rule); border-radius:18px; overflow:hidden; }
.perfis li { padding:28px; }
.perfis li + li { border-left:1px solid var(--rule); }
.perfis h3 { font-size:18px; line-height:1.3; font-weight:600; margin-bottom:10px; }
.perfis p { color:var(--t2); font-size:16px; line-height:1.55; }

/* 10. Preco */
.valor { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:56px; align-items:center; background:var(--ac-solid); border-radius:24px; padding:56px 64px; }
.valor h2 { font-weight:700; line-height:1.05; letter-spacing:-.02em; }
.valor h2 span { display:block; font-size:18px; font-weight:500; letter-spacing:0; color:var(--pessego); margin-bottom:8px; }
.valor h2 b { font-size:76px; font-weight:700; color:#fff; font-variant-numeric:tabular-nums; }
.valor .txt { margin-top:14px; color:var(--creme); }
.valor .apo { color:var(--creme); margin-bottom:24px; }


/* 11. Perguntas */
.faq .grade { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:64px; align-items:start; }
.faq details { border-bottom:1px solid var(--rule-2); }
.faq details:first-child { border-top:1px solid var(--rule-2); }
.faq summary { position:relative; list-style:none; cursor:pointer; padding:20px 44px 20px 0; font-size:18px; line-height:1.4; font-weight:600; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:hover { color:var(--ac-t); }
.faq summary::after { content:""; position:absolute; right:6px; top:26px; width:10px; height:10px; border-right:2px solid var(--ac-t); border-bottom:2px solid var(--ac-t); transform:rotate(45deg); transition:transform 180ms ease; }
.faq details[open] summary::after { transform:translateY(4px) rotate(-135deg); }
.faq details p { padding:0 44px 22px 0; color:var(--t2); }

/* 12. Chamada final e rodape */
.final { position:relative; overflow:hidden; background:var(--s1); border-top:1px solid var(--rule); text-align:center; }
.final .caixa { position:relative; z-index:2; }
.final p { margin:14px 0 28px; color:var(--t2); font-size:20px; }
.final .nuvens { height:100%; }
.rodape { border-top:1px solid var(--rule); padding:28px 0 36px; font-size:14px; color:var(--t3); }
.pilula { display:inline-flex; align-items:center; gap:10px; margin-bottom:20px; padding:8px 18px 8px 10px; border:1px solid rgba(255,255,255,.1); border-radius:99px; background:#1D1D1D; color:var(--t1); font-size:14px; font-weight:600; }
.pilula svg { width:22px; height:22px; fill:var(--ac); flex:none; }
.rodape a { text-decoration:none; color:var(--t2); }
.rodape a:hover { color:var(--t1); }

/* Botao verde fixo */
.wa-fixo { position:fixed; right:24px; bottom:24px; z-index:9; display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 24px; border-radius:99px; background:var(--wa); color:#fff; font-weight:600; font-size:16px; text-decoration:none; box-shadow:0 10px 30px rgba(0,0,0,.5); transition:background-color 140ms ease; }
.wa-fixo:hover { background:var(--wa-h); }

/* Pagina Recursos */
.rec-topo { position:relative; overflow:hidden; padding-bottom:64px; }
.rec-topo .nuvens { height:520px; }
.rec-topo .caixa { position:relative; z-index:2; }
.rec-topo h1 { margin-top:56px; font-size:60px; }
.rec-topo .apoio { margin:18px 0 0; max-width:620px; }
.atalhos { position:sticky; top:0; z-index:5; background:var(--bg); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); }
.atalhos ul { display:flex; gap:28px; overflow-x:auto; scrollbar-width:none; }
.atalhos a { display:block; padding:15px 0; font-size:15px; font-weight:500; color:var(--t2); text-decoration:none; white-space:nowrap; }
.atalhos a:focus-visible { outline-offset:-2px; }
.atalhos a:hover { color:var(--ac-t); }
.grupo { border-bottom:1px solid var(--rule); scroll-margin-top:56px; }
.grupo summary { list-style:none; }
.grupo summary::-webkit-details-marker { display:none; }
.grupo > div { padding-bottom:64px; }
.grupo-cab { display:flex; align-items:center; gap:14px; padding-top:64px; padding-bottom:24px; }
.grupo-cab h2 { font-size:32px; line-height:1.2; font-weight:700; letter-spacing:-.018em; }
.grupo ul { column-count:2; column-gap:64px; max-width:1120px; }
.grupo li { break-inside:avoid; padding:11px 0; border-top:1px solid var(--rule); font-size:16px; line-height:1.5; }
@media (min-width:761px) {
  .grupo summary { pointer-events:none; }
}

@media (max-width:1100px) {
  .recurso.dir .grade, .recurso.esq .grade, .ia .cab, .valor, .faq .grade { grid-template-columns:1fr; gap:36px; }
  .recurso .item-texto { order:0; }
  .recurso .item-print { order:1; }
  .recurso.dir .janela, .recurso.esq .janela { width:100%; margin-left:0; border-radius:18px; border:1px solid var(--rule-2); }
  .perfis { grid-template-columns:1fr 1fr; }
  .perfis li + li { border-left:0; }
  .perfis li:nth-child(even) { border-left:1px solid var(--rule); }
  .perfis li:nth-child(n+3) { border-top:1px solid var(--rule); }
}
@media (max-width:760px) {
  :root { --gut:16px; }
  html { scroll-padding-top:60px; }
  body { font-size:16px; padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
  .bloco { padding:64px 0; }
  .tit, .recurso .tit { font-size:29px; }
  .menu { height:72px; gap:10px; }
  .menu .logo { height:26px; }
  .menu nav { gap:16px; font-size:14px; }
  .menu nav a { padding:13px 0; }
  .menu .btn { display:none; }
  .pag-rec .menu .logo { height:22px; }
  .pag-rec .menu nav { gap:12px; font-size:13.5px; }
  .topo { padding-bottom:56px; }
  .chamada { margin:24px auto 32px; text-align:left; }
  h1 { font-size:38px; }
  .apoio { font-size:17px; margin:16px 0 22px; }
  .chamada .btn { width:100%; }
  .dores { grid-template-columns:1fr; margin-top:32px; border-top:0; }
  .dores li, .dores li + li { padding:20px 0; border-left:0; border-top:1px solid var(--rule-2); }
  .recurso .grade { gap:28px !important; }
  .janela { border-radius:14px !important; }
  .espaco-print { aspect-ratio:16 / 9; border-radius:14px; }
  .cartoes { grid-template-columns:1fr; gap:12px; margin-top:28px; }
  .cartoes li { padding:22px; border-radius:14px; }
  .apoios { grid-template-columns:1fr; gap:24px; margin-top:28px; }
  .perfis { margin-top:28px; border-radius:14px; }
  .perfis li { padding:18px 14px; }
  .perfis h3 { font-size:16px; }
  .perfis p { font-size:14.5px; line-height:1.5; }
  .valor .txt, .valor .apo { display:none; }
  .valor h2 b { font-size:50px; }
  .valor { padding:32px 24px; border-radius:18px; gap:24px; }
  .valor .btn { width:100%; }
  .faq summary { font-size:17px; padding:18px 36px 18px 0; }
  .faq details p { padding:0 0 20px; }
  .final p { font-size:17px; }
  .final .btn { width:100%; }
  .pilula { font-size:13px; }
  .rodape a { display:inline-block; padding:5px 0; }
  /* Doca solida: o texto passa por tras e sempre sobe acima dela; a folga do body libera o fim da pagina. */
  .wa-fixo { left:0; right:0; bottom:0; min-height:calc(66px + env(safe-area-inset-bottom)); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); border-radius:0; background:var(--bg); border-top:1px solid var(--rule-2); box-shadow:none; }
  .wa-fixo:focus-visible { outline:none; }
  .wa-fixo:focus-visible span { outline:2px solid var(--ac-t); outline-offset:3px; }
  .wa-fixo:hover { background:var(--bg); }
  .wa-fixo span { display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; border-radius:12px; background:var(--wa); }
  .rec-topo { padding-bottom:36px; }
  .rec-topo h1 { margin-top:20px; font-size:36px; }
  .atalhos ul { gap:20px; }
  .grupo summary { cursor:pointer; position:relative; }
  .grupo summary::after { content:""; position:absolute; right:6px; top:26px; width:10px; height:10px; border-right:2px solid var(--ac-t); border-bottom:2px solid var(--ac-t); transform:rotate(45deg); }
  .grupo[open] summary::after { transform:translateY(4px) rotate(-135deg); }
  .grupo-cab { padding:18px calc(var(--gut) + 30px) 18px var(--gut); }
  .grupo-cab h2 { font-size:22px; }
  .grupo > div { padding-bottom:18px; }
  .grupo ul { column-count:1; }
}

/* 02/11/2026: WebP finais, foco e alvos acessíveis. */
:root { --t3:#A0A0AA; }
.shot img { height:auto; }
.ia .shot { margin-top:40px; }
.rodape a { display:inline-flex; align-items:center; min-width:24px; min-height:32px; padding:5px 3px; }

.legal { min-height:55vh; }
.legal p { margin-top:24px; color:var(--t2); }
@media(max-width:760px) {
 .pag-rec .menu { flex-wrap:wrap; height:auto; min-height:88px; padding:14px 0; }
 .pag-rec .menu nav { gap:14px; flex-wrap:wrap; }
 .pilula { max-width:100%; border-radius:16px; }
 .pilula span { min-width:0; }
}

/* Prints inteiros, sem cortar texto. */
.p-conv { max-width:360px; margin-inline:auto; }
.recurso.dir .janela, .recurso.esq .janela { width:100%; margin-left:0; border:1px solid var(--rule-2); border-radius:18px; }

/* 02/11/2026 [CLAUDE OPUS 5.5] Aviso de cookies: Aceitar e Recusar com o mesmo peso, sem cobrir o botao do WhatsApp. */
.aviso-cookies { position:fixed; left:24px; bottom:24px; z-index:10; width:min(560px, calc(100vw - 340px)); padding:20px; border:1px solid var(--rule-2); border-radius:16px; background:var(--s2); color:var(--t1); font-size:15px; line-height:1.5; box-shadow:0 10px 30px rgba(0,0,0,.5); }
.aviso-cookies[hidden] { display:none; }
.aviso-cookies a { color:var(--ac-t); }
.aviso-acoes { display:flex; gap:12px; margin-top:14px; }
.aviso-botao { flex:1 1 0; min-height:44px; padding:0 16px; border:1px solid var(--t2); border-radius:12px; background:transparent; color:var(--t1); font:inherit; font-weight:600; cursor:pointer; }
.aviso-botao:hover { background:var(--rule-2); }
.aviso-botao:focus-visible, .rodape-cookies:focus-visible { outline:2px solid var(--ac-t); outline-offset:3px; }
.rodape-cookies { display:inline-flex; align-items:center; min-width:24px; min-height:32px; padding:5px 3px; border:0; background:none; color:var(--t2); font:inherit; cursor:pointer; }
.rodape-cookies:hover { color:var(--t1); }
@media (max-width:760px) {
  .aviso-cookies { left:16px; right:16px; bottom:calc(74px + env(safe-area-inset-bottom)); width:auto; padding:16px; font-size:14px; }
}
