/* =========================================================
   Jesus em palavras — estilo da landing page
   Mobile-first. Sem dependencias externas. Fontes do sistema.
   ========================================================= */

:root{
  --marfim:#FAF6EF;
  --branco-quente:#FFFDF9;
  --tinta:#292320;
  --tinta-suave:#625850;
  --bordo:#6B2436;
  --bordo-escuro:#571C2B;
  --dourado:#B38B4D;
  --dourado-texto:#806230;
  --dourado-claro:#E7D8BC;
  --dourado-tenue:#F3E9D8;
  --borda:#E4DACB;

  --serifa:Georgia,"Times New Roman","Nimbus Roman",serif;
  --sem-serifa:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;

  --largura:64rem;
  --largura-estreita:40rem;
  --respiro:1.25rem;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--marfim);
  color:var(--tinta);
  font-family:var(--sem-serifa);
  font-size:17px;
  line-height:1.65;
  overflow-x:hidden;
}

@media (min-width:768px){
  body{font-size:18px;}
}

img{max-width:100%;height:auto;display:block;}

h1,h2,h3{
  font-family:var(--serifa);
  font-weight:700;
  line-height:1.22;
  color:var(--tinta);
  margin:0 0 .75em;
  letter-spacing:-.005em;
  text-wrap:balance;
}

h1{font-size:1.85rem;}
h2{font-size:1.45rem;}
h3{font-size:1.12rem;}

@media (min-width:768px){
  h1{font-size:2.7rem;}
  h2{font-size:2rem;}
  h3{font-size:1.2rem;}
}

p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}

/* ---------- utilitarios de estrutura ---------- */

.faixa{
  width:100%;
  max-width:var(--largura);
  margin:0 auto;
  padding:0 var(--respiro);
}
.faixa--estreita{max-width:var(--largura-estreita);}

.secao{padding:3rem 0;}
@media (min-width:768px){.secao{padding:4.5rem 0;}}

.secao--marfim{background:var(--marfim);}
.secao--clara{background:var(--branco-quente);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda);}
.secao--dourada{background:var(--dourado-tenue);}
.secao--bordo{background:var(--bordo);color:#FFFFFF;}
.secao--bordo h2{color:#FFFFFF;}

.centralizado{text-align:center;}

.pular{
  position:absolute;left:-9999px;top:0;
  background:var(--bordo);color:#fff;padding:.75rem 1rem;z-index:20;
}
.pular:focus{left:0;}

/* ---------- avisos ---------- */

.aviso-prelancamento{
  background:var(--bordo);
  color:#fff;
  text-align:center;
  font-size:.85rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.6rem var(--respiro);
}
.aviso-prelancamento p{margin:0;}

.aviso-sem-js{
  background:var(--dourado-tenue);
  border-bottom:1px solid var(--dourado-claro);
  color:var(--tinta);
  padding:.9rem var(--respiro);
  text-align:center;
  font-size:.95rem;
}
.aviso-sem-js p{margin:0;}

/* ---------- abertura ---------- */

.abertura{
  position:relative;
  overflow:hidden;
  padding:3rem 0 3.25rem;
  background:var(--marfim);
  text-align:center;
  border-bottom:1px solid var(--borda);
}
@media (min-width:768px){.abertura{padding:5.5rem 0 5.25rem;}}

.abertura__luz{
  position:absolute;
  top:-38%;left:50%;
  width:min(140vw,60rem);
  aspect-ratio:1;
  transform:translateX(-50%);
  background:radial-gradient(circle at 50% 45%,rgba(255,253,249,.95) 0%,rgba(243,233,216,.75) 38%,rgba(250,246,239,0) 70%);
  pointer-events:none;
}

.abertura__arco{
  position:absolute;
  top:1.25rem;left:50%;
  transform:translateX(-50%);
  width:min(78vw,22rem);
  height:min(96vw,27rem);
  border:1px solid var(--dourado-claro);
  border-bottom:none;
  border-radius:50% 50% 0 0 / 62% 62% 0 0;
  pointer-events:none;
}

@media (min-width:768px){
  .abertura__arco{
    top:1.75rem;
    width:min(62vw,32rem);
    height:min(70vw,38rem);
  }
  .abertura__arco::before{
    content:"";
    position:absolute;
    inset:1.15rem 1.15rem 0;
    border:1px solid var(--dourado-tenue);
    border-bottom:none;
    border-radius:50% 50% 0 0 / 62% 62% 0 0;
  }
}

.abertura .faixa{position:relative;z-index:1;}

.marca{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  font-family:var(--serifa);
  font-size:1.02rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bordo);
  margin-bottom:1.5rem;
}
.marca__cruz{width:.72rem;height:1.2rem;fill:var(--dourado);}

.etiqueta{
  font-size:.76rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--bordo);
  font-weight:700;
  margin-bottom:1rem;
}
.etiqueta--escura{color:var(--bordo);}

.abertura h1{margin-bottom:1rem;}

.subtitulo{
  font-size:1.05rem;
  color:var(--tinta-suave);
  max-width:34rem;
  margin-left:auto;margin-right:auto;
}

.linha-produto{
  display:inline-block;
  font-size:.9rem;
  letter-spacing:.04em;
  color:var(--tinta-suave);
  border-top:1px solid var(--dourado-claro);
  border-bottom:1px solid var(--dourado-claro);
  padding:.55rem .9rem;
  margin-bottom:1.5rem;
}

.preco-resumo{
  font-family:var(--serifa);
  font-size:1.18rem;
  margin-bottom:1.35rem;
}
.preco-resumo--claro{color:#fff;}

/* ---------- botoes ---------- */

.cta{margin:0 0 1rem;}

.botao{
  display:inline-block;
  width:100%;
  max-width:24rem;
  min-height:56px;
  padding:1rem 1.4rem;
  border:2px solid var(--bordo);
  border-radius:4px;
  background:var(--bordo);
  color:#fff;
  font-family:var(--sem-serifa);
  font-size:1.02rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .15s ease,transform .15s ease;
}
.botao:hover{background:var(--bordo-escuro);border-color:var(--bordo-escuro);}
.botao:active{transform:translateY(1px);}

.botao--grande{font-size:1.08rem;min-height:60px;}

.botao--claro{
  background:var(--marfim);
  border-color:var(--marfim);
  color:var(--bordo);
}
.botao--claro:hover{background:#fff;border-color:#fff;color:var(--bordo-escuro);}

.botao[disabled],.botao[aria-disabled="true"]{
  background:transparent;
  color:var(--bordo);
  border-color:var(--dourado);
  border-style:dashed;
  cursor:not-allowed;
  opacity:1;
}
.secao--bordo .botao[disabled]{
  background:transparent;
  color:#F3E9D8;
  border-color:#C89C63;
}

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--dourado);
  outline-offset:3px;
}

.apoio{
  font-size:.9rem;
  color:var(--tinta-suave);
  max-width:30rem;
  margin-left:auto;margin-right:auto;
}
.apoio--claro{color:#EFE2D5;}
.apoio--escuro{color:var(--tinta-suave);}

/* ---------- identificacao ---------- */

.situacoes{
  list-style:none;
  padding:0;
  margin:0 0 1.4rem;
}
.situacoes li{
  position:relative;
  padding:.6rem 0 .6rem 1.7rem;
  border-bottom:1px solid var(--borda);
}
.situacoes li:first-child{border-top:1px solid var(--borda);}
.situacoes li::before{
  content:"";
  position:absolute;
  left:.25rem;top:1.12rem;
  width:9px;height:9px;
  background:
    linear-gradient(var(--dourado),var(--dourado)) center/3px 9px no-repeat,
    linear-gradient(var(--dourado),var(--dourado)) center/9px 3px no-repeat;
}

.destaque-linha{
  font-family:var(--serifa);
  font-size:1.1rem;
  color:var(--bordo);
  border-left:3px solid var(--dourado);
  padding-left:1rem;
}

/* ---------- passos ---------- */

.passos{
  list-style:none;
  counter-reset:passo;
  padding:0;
  margin:2rem 0 1.75rem;
  display:grid;
  gap:1.5rem;
}
@media (min-width:768px){
  .passos{grid-template-columns:repeat(3,1fr);gap:2rem;}
}
.passos li{
  padding-top:1.1rem;
  border-top:2px solid var(--dourado-claro);
}
.passos__numero{
  display:block;
  font-family:var(--serifa);
  font-size:2rem;
  line-height:1;
  color:var(--dourado-texto);
  margin-bottom:.5rem;
}
.passos h3{margin-bottom:.4rem;}
.passos p{color:var(--tinta-suave);font-size:.98rem;}

.fecho-secao{
  color:var(--tinta-suave);
  font-size:.98rem;
}

/* ---------- amostra ---------- */

.leitura{
  background:var(--marfim);
  border:1px solid var(--borda);
  border-left:4px solid var(--bordo);
  padding:1.5rem 1.25rem;
  margin:1.75rem 0 1.5rem;
}
@media (min-width:768px){.leitura{padding:2rem 2rem;}}

.leitura__rotulo{
  font-size:.74rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--bordo);
  font-weight:700;
  margin-bottom:.5rem;
}
.leitura blockquote{
  margin:0 0 1.5rem;
  font-family:var(--serifa);
  font-size:1.08rem;
  line-height:1.62;
}
.leitura blockquote p{margin:0;}
.leitura__credito{
  font-size:.85rem;
  color:var(--tinta-suave);
  border-top:1px solid var(--borda);
  padding-top:.9rem;
  margin:0;
}

.amostra .cta{margin-top:1.75rem;}

/* ---------- capitulos ---------- */

.capitulos{
  counter-reset:cap;
  list-style:none;
  padding:0;
  margin:2rem 0 1.5rem;
  display:grid;
  gap:.15rem;
}
@media (min-width:768px){
  .capitulos{grid-template-columns:1fr 1fr;column-gap:2.5rem;}
}
.capitulos li{
  counter-increment:cap;
  position:relative;
  padding:.85rem 0 .85rem 2.6rem;
  border-bottom:1px solid var(--borda);
  font-size:1rem;
}
.capitulos li::before{
  content:counter(cap,decimal-leading-zero);
  position:absolute;
  left:0;top:.85rem;
  font-family:var(--serifa);
  font-size:.95rem;
  color:var(--dourado-texto);
  letter-spacing:.04em;
}

/* ---------- bonus ---------- */

.secao--dourada .apoio{margin-left:0;}
.secao--dourada{border-top:1px solid var(--dourado-claro);border-bottom:1px solid var(--dourado-claro);}

/* ---------- depoimentos ---------- */

.depoimentos__grade{
  display:grid;
  gap:1rem;
  margin-top:1.75rem;
}
@media (min-width:640px){.depoimentos__grade{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.depoimentos__grade{grid-template-columns:repeat(4,1fr);}}

.depoimento{
  background:var(--marfim);
  border:1px solid var(--borda);
  border-radius:6px;
  padding:1.1rem;
  font-size:.95rem;
}
.depoimento figcaption{
  margin-top:.75rem;
  font-size:.85rem;
  color:var(--tinta-suave);
}
.depoimento--vazio{
  min-height:14rem;
  border:1px dashed var(--dourado);
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--tinta-suave);
  font-size:.85rem;
  text-align:center;
}

/* ---------- oferta ---------- */

.cartao-oferta{
  background:var(--branco-quente);
  border:1px solid var(--dourado-claro);
  border-top:4px solid var(--dourado);
  padding:1.6rem 1.25rem 1.75rem;
  margin-top:1.75rem;
  text-align:center;
  box-shadow:0 18px 40px -32px rgba(41,35,32,.5);
}
@media (min-width:768px){.cartao-oferta{padding:2.25rem 2.5rem 2.5rem;}}

.cartao-oferta__marca{
  font-family:var(--serifa);
  font-size:1.05rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--bordo);
  margin-bottom:1.25rem;
}
.cartao-oferta__intro{
  font-weight:700;
  margin-bottom:.75rem;
  text-align:left;
}

.entregaveis{
  list-style:none;
  padding:0;
  margin:0 0 1.5rem;
  text-align:left;
}
.entregaveis li{
  position:relative;
  padding:.55rem 0 .55rem 1.75rem;
  border-bottom:1px solid var(--borda);
  font-size:.98rem;
}
.entregaveis li::before{
  content:"";
  position:absolute;
  left:.3rem;top:1.05rem;
  width:9px;height:9px;
  background:
    linear-gradient(var(--dourado),var(--dourado)) center/3px 9px no-repeat,
    linear-gradient(var(--dourado),var(--dourado)) center/9px 3px no-repeat;
}

.preco-grande{
  font-family:var(--serifa);
  font-size:2.5rem;
  line-height:1.1;
  color:var(--bordo);
  margin:0 0 .35rem;
}
@media (min-width:768px){.preco-grande{font-size:3rem;}}

.preco-nota{
  font-size:.92rem;
  color:var(--tinta-suave);
  margin-bottom:1.35rem;
}

.valor:empty{display:none;}
[hidden]{display:none !important;}

/* ---------- garantia ---------- */

.garantia .faixa{text-align:center;}
.selo{
  width:6.5rem;height:6.5rem;
  margin:0 auto 1.25rem;
  border:2px solid var(--dourado);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--bordo);
  font-family:var(--serifa);
}
.selo__numero{font-size:2.15rem;line-height:1;}
.selo__texto{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;}

/* ---------- faq ---------- */

.faq{margin-top:1.75rem;border-top:1px solid var(--borda);}
.faq details{border-bottom:1px solid var(--borda);}
.faq summary{
  cursor:pointer;
  list-style:none;
  padding:1.05rem 2.25rem 1.05rem 0;
  position:relative;
  font-family:var(--serifa);
  font-size:1.05rem;
  min-height:44px;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"";
  position:absolute;
  right:.4rem;top:1.5rem;
  width:11px;height:11px;
  border-right:2px solid var(--bordo);
  border-bottom:2px solid var(--bordo);
  transform:rotate(45deg);
  transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.7rem;}
.faq__corpo{padding:0 0 1.15rem;color:var(--tinta-suave);font-size:.98rem;}

/* ---------- fechamento ---------- */

.fechamento{text-align:center;}
.fechamento__cruz{width:.85rem;height:1.45rem;fill:var(--dourado);margin-bottom:1.25rem;}
.fechamento p{color:#F1E6DA;}
.fechamento .preco-resumo{color:#fff;}

/* ---------- rodape ---------- */

.rodape{
  background:var(--marfim);
  border-top:1px solid var(--borda);
  padding:2.5rem 0;
  text-align:center;
  font-size:.88rem;
  color:var(--tinta-suave);
}
.rodape__marca{
  font-family:var(--serifa);
  color:var(--tinta);
  font-size:1rem;
}
.rodape__pendente{font-size:.82rem;}
.rodape__nota{font-size:.82rem;}
.rodape a{color:var(--bordo);}

.rodape__responsavel{
  font-family:var(--serifa);
  color:var(--tinta);
  font-size:.95rem;
  letter-spacing:.04em;
  margin:1.5rem 0 .35rem;
}

.rodape__links{margin:0 0 1.25rem;}
.rodape__links ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.15rem 1.15rem;
}
.rodape__links a{
  display:inline-block;
  /* alvo de toque de no minimo 44px de altura no celular */
  min-height:44px;
  line-height:44px;
  padding:0 .35rem;
  color:var(--bordo);
  text-decoration:underline;
  text-underline-offset:.2em;
}
.rodape__links a:hover{color:var(--bordo-escuro);}

/* Texto so para leitores de tela (ex.: "abre em nova aba"). */
.fora-da-tela{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* ---------- paginas legais (privacidade / termos) ---------- */

.legal{padding:2.5rem 0 3.5rem;}
.legal .etiqueta{margin-bottom:.5rem;}
.legal h1{
  font-family:var(--serifa);
  font-size:1.9rem;
  line-height:1.2;
  color:var(--tinta);
  margin:0 0 .4rem;
}
.legal__data{
  font-size:.88rem;
  color:var(--tinta-suave);
  margin:0 0 2rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid var(--borda);
}
.legal h2{
  font-family:var(--serifa);
  font-size:1.2rem;
  color:var(--bordo);
  margin:2.25rem 0 .6rem;
}
.legal h3{
  font-size:1rem;
  color:var(--tinta);
  margin:1.4rem 0 .4rem;
}
.legal p,.legal li{color:var(--tinta-suave);}
.legal ul{padding-left:1.15rem;}
.legal li{margin-bottom:.4rem;}
.legal strong{color:var(--tinta);}
.legal__aviso{
  background:var(--dourado-tenue);
  border-left:3px solid var(--dourado);
  padding:1rem 1.15rem;
  margin:1.5rem 0;
}
.legal__aviso p{margin:0;color:var(--tinta);}
.legal a{color:var(--bordo);text-underline-offset:.2em;}

.legal__topo{
  border-bottom:1px solid var(--borda);
  background:var(--branco-quente);
  padding:1.1rem 0;
}
.legal__topo .marca{margin:0;}

@media (min-width:768px){
  .legal h1{font-size:2.3rem;}
  .legal h2{font-size:1.35rem;}
}

/* ---------- movimento reduzido ---------- */

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
