:root {
  --rosa: #EBB3B6; --rosa-claro: #F9E7E8; --rosa-titulo: #CC9396; --marrom: #885D5F; --escuro: #422223;
  --dourado: #D38E45; --cinza: #F8F8F8; --cinza-2: #F3F3F3; --ameixa: #7A0266; --branco: #fff;
  --verde-1: #00FF91; --verde-2: #00CC7F;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; color: var(--marrom); font: 18px/1.45 Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.tem-barra { padding-bottom: 92px; }
img { max-width: 100%; height: auto; display: block; }
p { margin: 0; }
h1, h2, h3 { margin: 0; font-weight: 700; text-wrap: balance; }
.serif { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400; color: var(--dourado); letter-spacing: -.02em; }
.sec { padding: 56px 20px; text-align: center; }
.in { max-width: 680px; margin: 0 auto; display: grid; gap: 22px; }
.t-rosa { color: var(--rosa-titulo); font-size: 30px; line-height: 1.12; letter-spacing: -.01em; }
.t-escuro { color: var(--escuro); font-family: Poppins, sans-serif; font-weight: 500; font-size: 28px; line-height: 1.15; }
.t-serif { font-size: 34px; line-height: 1.1; }
mark.ad { background: #FFF1A8; color: #5A3B00; font: 700 .82em/1.3 Inter, sans-serif; font-style: normal; padding: 1px 6px; border-radius: 5px; border: 1px dashed #C99A00; letter-spacing: 0; }

/* Botão (mesmo visual do atual) */
.cta { display: grid; gap: 10px; justify-items: center; }
.btn { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; max-width: 420px; padding: 19px 22px; border-radius: 41px; background: linear-gradient(var(--verde-1), var(--verde-2)); color: #000; font: 500 20px/1.05 Roboto, sans-serif; text-transform: uppercase; text-decoration: none; box-shadow: 0 6px 18px rgba(0, 160, 90, .25); }
.btn svg { width: 22px; height: 22px; flex: none; }
.apoio { font: 400 13px/1.35 Inter, sans-serif; color: #7a7a7a; }

/* 1. Topo */
.topo { padding: 16px 16px 0; }
.logo { width: 120px; margin: 0 auto 10px; }
.topo h1 { color: var(--escuro); font: 700 25px/1.15 Inter, sans-serif; letter-spacing: -.01em; }
.topo .sub { margin: 10px 0 0; }
.topo h1 .serif { font-size: 1.15em; }
.valor { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.valor li { background: var(--rosa-claro); color: var(--ameixa); border: 1px solid #e9c3c6; border-radius: 30px; padding: 4px 6px; font: 600 12px/1.2 Inter, sans-serif; white-space: nowrap; }
.caixa-video { background: var(--rosa); border-radius: 30px 30px 0 0; margin: 12px -9px 0; padding: 10px 10px 28px; display: grid; gap: 16px; }
.video { aspect-ratio: 16 / 9; background: #000; border-radius: 6px; overflow: hidden; }
@media (min-width: 768px) { .topo h1 { font-size: 40px; } .valor li { font-size: 15px; } .logo { width: 200px; } }
.selos { display: grid; gap: 10px; justify-items: center; }
.selo { background: #fff; border: 1px solid #f0d3d5; border-radius: 30px; padding: 9px 18px; display: flex; gap: 10px; align-items: center; color: #6E1417; font: italic 400 17px/1.25 Inter, sans-serif; }
.selo i { width: 20px; height: 20px; border-radius: 50%; background: #D3A23B; color: #fff; display: grid; place-items: center; font: normal 700 12px/1 Inter; flex: none; }
.topo .apoio { color: #6e4446; }

/* 2. Anestesiada */
.anest { background: linear-gradient(var(--rosa), #fff 85%); padding-top: 40px; }
.chega { display: grid; gap: 14px; }
.chega div { background: #fff; border: 1px solid #f0c9cb; border-radius: 14px; padding: 18px 16px; display: grid; gap: 8px; justify-items: center; font: 400 17px/1.3 Poppins, sans-serif; color: var(--marrom); }
.chega img { width: 46px; }

/* 3. Dor */
.dor { background: #fff; }
.frases { display: grid; gap: 16px; text-align: left; }
.frase { position: relative; border-radius: 16px; padding: 22px 18px 18px 52px; font: italic 500 18px/1.35 Roboto, sans-serif; color: #222; border: 1px solid #F3B9D5; background: #fff; }
.frase:nth-child(even) { background: var(--rosa); border-color: #dca2a5; }
.frase::before { content: "\201C"; position: absolute; left: 12px; top: 2px; font: 700 64px/1 Georgia, serif; color: var(--ameixa); }
.nota { font-size: 13px; color: #9a8486; }

/* 4. Por que nada funcionou */
.porque { background: var(--cinza); }
.porque .bloco { background: #fff; border-radius: 26px; padding: 26px 20px; display: grid; gap: 14px; text-align: left; color: var(--escuro); font-size: 17px; line-height: 1.5; box-shadow: 0 8px 24px rgba(66, 34, 35, .06); }
.porque .bloco h2 { color: var(--rosa-titulo); font-size: 28px; line-height: 1.12; text-align: center; }
.porque .bloco b { color: var(--ameixa); }
.sozinha { display: grid; gap: 0; justify-items: center; }
.sozinha img { width: 292px; }
.sozinha .card { background: #F3F3F3; border-radius: 30px; padding: 26px 18px 30px; margin-top: -10px; display: grid; gap: 12px; }
.sozinha h2 { color: var(--rosa-titulo); font-size: 30px; line-height: 1.1; }

/* 5. Pilares */
.metodo { background: var(--cinza); padding-top: 24px; }
.metodo .intro { font-size: 18px; color: var(--marrom); }
.divisor { width: 300px; margin: 0 auto; }
.pilares { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; text-align: center; }
.pilar { background: var(--rosa); border: 1px solid #dfa1a4; border-radius: 8px; padding: 14px 9px; display: grid; gap: 6px; align-content: start; color: var(--escuro); min-width: 0; }
.pilar .ic { width: 46px; height: 46px; margin: 0 auto 2px; }
.pilar .ic svg { width: 100%; height: 100%; fill: var(--escuro); }
.pilar h3 { font: 600 17px/1.15 Inter, sans-serif; }
.pilar p { font-size: 13.5px; line-height: 1.35; }
.temas { background: #fff; border: 1px solid #ecd0d2; border-radius: 18px; padding: 20px 16px; display: grid; gap: 12px; }
.temas h3 { color: var(--escuro); font: 600 20px/1.2 Inter, sans-serif; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.chips span { background: var(--rosa-claro); color: var(--ameixa); border: 1px solid #e9c3c6; border-radius: 30px; padding: 6px 13px; font: 600 15px/1.2 Inter, sans-serif; }

/* 6. Prova */
.prova { background: var(--rosa); }
.prova h2 { color: #fff; font-size: 29px; line-height: 1.12; }
.carrossel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 10px; margin: 0 -20px; padding-inline: 20px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.carrossel::-webkit-scrollbar { display: none; }
.carrossel .print { flex: 0 0 82%; max-width: 340px; margin: 0; scroll-snap-align: center; background: #fff; border-radius: 16px; padding: 10px; box-shadow: 0 6px 18px rgba(66, 34, 35, .12); display: grid; place-items: center; }
.carrossel .print img { width: 100%; height: auto; max-height: 420px; object-fit: contain; border-radius: 8px; }
.arraste { font: 600 13px/1.3 Inter, sans-serif; color: #fff; }
@media (min-width: 768px) { .carrossel { justify-content: center; margin: 0; } .carrossel .print { flex-basis: 30%; } .arraste { display: none; } }

/* 7. Para quem é */
.quem { padding: 0 0 50px; background: #fff; text-align: center; }
.quem .foto { width: 100%; max-width: 420px; margin: 0 auto; }
.quem .card { background: #F4F4F4; border-radius: 30px; margin: -230px 18px 0; position: relative; padding: 30px 14px; display: grid; gap: 14px; }
.lista-sim, .lista-nao { display: grid; gap: 10px; }
.lista-sim div { background: #fff; border: 1px solid #F3B9D5; border-radius: 12px; padding: 12px 10px; display: grid; gap: 6px; justify-items: center; font: 400 17px/1.3 Poppins, sans-serif; color: var(--marrom); }
.lista-sim img { width: 38px; }
.nao-titulo { color: var(--escuro); font: 600 22px/1.2 Inter, sans-serif; margin-top: 8px; }
.lista-nao div { background: #fff; border: 1px solid #e5d6d6; border-radius: 12px; padding: 12px 12px 12px 40px; text-align: left; position: relative; font: 400 16px/1.35 Poppins, sans-serif; color: var(--marrom); }
.lista-nao div::before { content: "\2715"; position: absolute; left: 14px; top: 12px; color: #A21109; font-weight: 700; }

/* 8. Oferta */
.oferta { background: var(--rosa); }
.oferta .chamada { color: #fff; font: 700 27px/1.15 Inter, sans-serif; letter-spacing: .01em; }
.depo-curto { background: rgba(255, 255, 255, .55); border: 2px dashed #a8686c; border-radius: 14px; padding: 14px; font-size: 15px; color: var(--escuro); }
.box { background: #FCF8F7; border: 1px solid #6b5052; border-radius: 22px; padding: 26px 18px 28px; display: grid; gap: 16px; }
.box h3 { font-size: 31px; line-height: 1.1; }
.itens { display: grid; text-align: left; }
.itens div { display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: start; padding: 10px 0; border-bottom: 1px solid #3a2a2a; font: 400 15px/1.35 Poppins, sans-serif; color: #2b2b2b; }
.itens div:last-child { border-bottom: 0; }
.itens .v { color: #2b2b2b; font-weight: 600; white-space: nowrap; text-align: right; }
.itens .ck { color: #1f9d55; font-weight: 700; }
.total { font: 600 17px/1.3 Poppins, sans-serif; color: #2b2b2b; }
.total s { color: #8a7a7a; }
.ancora { font: 400 16px/1.4 Inter, sans-serif; color: var(--escuro); background: var(--rosa-claro); border-radius: 12px; padding: 12px; }
.preco { display: grid; justify-items: center; gap: 2px; color: #2b2b2b; font-family: "Be Vietnam Pro", Inter, sans-serif; }
.preco .x { font: 700 30px/1 Inter, sans-serif; }
.preco .n { font: 800 82px/0.95 Inter, sans-serif; color: #00922D; letter-spacing: -.04em; }
.preco .n small { font-size: 28px; letter-spacing: 0; }
.preco .av { font: 500 21px/1.2 Inter, sans-serif; }
.dia { font: italic 400 16px/1.3 Inter, sans-serif; color: var(--marrom); }
.garantia { display: grid; gap: 14px; justify-items: center; color: #272727; font-size: 15px; line-height: 1.45; }
.garantia img { width: 202px; }
.garantia h3 { color: var(--escuro); font: 700 22px/1.2 Inter, sans-serif; }

/* 9. Bio */
.bio { background: #fff; }
.bio .foto { width: 296px; margin: 0 auto; border-radius: 26px; }
.bio .card { background: #F3F3F3; border-radius: 30px; padding: 28px 22px; text-align: left; display: grid; gap: 14px; box-shadow: 18px 18px 0 var(--dourado); margin-right: 8px; }
.bio h2 { color: var(--rosa-titulo); font-size: 28px; line-height: 1.1; }
.bio .nome { font-size: 38px; line-height: 1.05; }
.bio .cred { color: var(--marrom); font: 600 19px/1.3 Inter, sans-serif; }
.bio .historia { background: #fff; border-radius: 16px; padding: 16px; display: grid; gap: 10px; color: #4d3a3b; font-size: 16px; line-height: 1.5; }
.bio .historia h3 { color: var(--escuro); font: 700 20px/1.2 Inter, sans-serif; }
.bio .assin { font: italic 400 14px/1.4 Inter, sans-serif; color: #7a6566; }

/* 10. FAQ */
.faq { background: #F1F1F1; }
.faq h2 { color: #222; font: 600 32px/1.15 Outfit, Inter, sans-serif; }
.faq details { background: #fff; border: 1px solid #bbb; border-radius: 10px; text-align: left; }
.faq summary { list-style: none; cursor: pointer; padding: 13px 14px 13px 40px; position: relative; font: 600 17px/1.3 Inter, sans-serif; color: #222; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "+"; position: absolute; left: 14px; top: 10px; font: 700 22px/1 Inter; color: #222; }
.faq details[open] summary::before { content: "\2013"; color: #E8931C; }
.faq .r { padding: 0 14px 15px 40px; font-size: 16px; line-height: 1.45; color: #333; }
.faq .lista-faq { display: grid; gap: 10px; }

/* 11. Fechamento */
.fecha { background: linear-gradient(#fff, var(--rosa-claro)); }
.fecha .txt { color: var(--escuro); font-size: 18px; line-height: 1.5; }
.rodape { text-align: center; padding: 22px 20px 28px; font-size: 12px; color: #9a8a8a; background: var(--rosa-claro); }

/* Botão fixo do celular */
.barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); box-shadow: 0 -6px 18px rgba(66, 34, 35, .14); transform: translateY(110%); transition: transform .25s; }
.barra.on { transform: none; }
.barra .btn { max-width: none; font-size: 15.5px; padding: 15px 12px; text-align: center; white-space: nowrap; }
.barra .apoio { text-align: center; font-size: 11.5px; margin-top: 5px; }
@media (min-width: 768px) { .barra { display: none; } body.tem-barra { padding-bottom: 0; } .pilar p { font-size: 15px; } }

/* Método e oferta */
.conteudo-metodo { font: 600 16px/1.35 Inter, sans-serif; color: var(--ameixa); }
.itens .sub-item { font-size: 13.5px; color: #6b5a5b; display: block; margin-top: 2px; }
.bonus-titulo { font: 700 18px/1.2 Inter, sans-serif; color: var(--escuro); text-align: left; margin-top: 6px; }
.acesso { font: 500 15px/1.35 Inter, sans-serif; color: var(--escuro); }
