/* A CARTA QUE FALTOU · Palavras com Paixão
   Identidade "editorial, não motivacional" (papel e tinta) — proposta do plano-mestre, A VALIDAR */
:root{
  --papel:#F7F1E6;
  --papel-2:#F1E9DA;
  --tinta:#211F1B;
  --tinta-suave:#4A463F;
  --terracota:#A34E2A;
  --terracota-escuro:#8C4223;
  --noite:#22304A;
  --linha:#D8CDB9;
  --ok:#3E5C41;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--papel);color:var(--tinta);font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.65}
.serif{font-family:'Fraunces',Georgia,serif}

/* faixa beta */
.beta{background:var(--noite);color:#EFE9DC;text-align:center;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;padding:8px 16px;font-weight:600}
.beta b{color:#E8B98F}
.beta a{color:#E8B98F;text-decoration:none}

.wrap{max-width:960px;margin:0 auto;padding:0 24px}
.wrap-estreito{max-width:720px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.divisor{border:none;border-top:1px solid var(--linha);max-width:960px;margin:0 auto}

/* hero */
.hero{padding:104px 0 92px;text-align:center}
.selo{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:28px}
.selo a{color:inherit;text-decoration:none;border-bottom:1px solid var(--linha)}
h1{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(44px,7.5vw,84px);line-height:1.04;letter-spacing:-.01em}
.sublinhada{position:relative;display:inline-block;white-space:nowrap}
.sublinhada svg{position:absolute;left:-2%;bottom:-.12em;width:104%;height:.32em;overflow:visible}
.sublinhada path{fill:none;stroke:var(--terracota);stroke-width:5;stroke-linecap:round}
.hero p.chamada{font-family:'Fraunces',Georgia,serif;font-size:clamp(20px,2.6vw,26px);font-weight:340;
  max-width:640px;margin:34px auto 0;line-height:1.5}
.hero p.chamada em{font-style:italic;color:var(--terracota-escuro)}

.portas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:44px}
.btn{display:inline-block;padding:17px 34px;border-radius:2px;font-weight:600;font-size:16px;text-decoration:none;
  border:1.5px solid var(--tinta);transition:transform .15s ease;cursor:pointer;font-family:'Inter',sans-serif}
.btn:hover{transform:translateY(-2px)}
.btn-cheio{background:var(--tinta);color:var(--papel)}
.btn-vazio{background:transparent;color:var(--tinta)}
.btn-terracota{background:var(--terracota);border-color:var(--terracota);color:#FDF8EF}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.gratis{margin-top:18px;font-size:14px;color:var(--tinta-suave)}
.gratis b{color:var(--terracota-escuro)}

/* frase-assinatura */
.assinatura{background:var(--tinta);color:var(--papel);text-align:center;padding:72px 24px}
.assinatura p{font-family:'Fraunces',Georgia,serif;font-weight:340;font-size:clamp(24px,3.6vw,38px);line-height:1.35;max-width:760px;margin:0 auto}
.assinatura .destaque{color:#E8B98F;font-style:italic}
.assinatura small{display:block;margin-top:18px;font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#B9B2A4}

/* títulos */
h2{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(30px,4.4vw,44px);line-height:1.15;margin-bottom:14px}
.kicker{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--terracota-escuro);font-weight:600;display:block;margin-bottom:14px}
.lead{font-size:19px;color:var(--tinta-suave);max-width:640px}

/* movimentos */
.movimentos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;margin-top:52px}
.mov{background:#FDFAF3;border:1px solid var(--linha);border-radius:3px;padding:34px 30px;position:relative}
.mov .num{font-family:'Fraunces',Georgia,serif;font-size:15px;color:var(--terracota);letter-spacing:.12em;text-transform:uppercase;font-weight:640}
.mov h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:24px;margin:10px 0 12px;line-height:1.25}
.mov p{font-size:15.5px;color:var(--tinta-suave)}
.mov p b{color:var(--tinta)}
.uma-carta{margin-top:40px;text-align:center;font-family:'Fraunces',Georgia,serif;font-size:22px;font-style:italic;color:var(--noite)}

/* carta-bloco */
.carta-bloco{background:#FDFAF3;border:1px solid var(--linha);border-radius:3px;padding:52px 8%;margin-top:48px;position:relative;box-shadow:0 1px 0 var(--linha)}
.carta-bloco::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--terracota)}
.selo-postal{position:absolute;top:26px;right:26px;width:56px;height:66px;border:1.5px dashed var(--terracota);border-radius:2px;
  display:flex;align-items:center;justify-content:center;transform:rotate(4deg);color:var(--terracota);font-family:'Fraunces',Georgia,serif;font-size:11px;text-align:center;line-height:1.3;padding:4px}
.carta-bloco .para{font-family:'Fraunces',Georgia,serif;font-size:clamp(21px,3vw,27px);font-weight:500;line-height:1.35;margin-bottom:26px;max-width:88%}
.carta-bloco p.trecho, .carta-bloco details p{font-family:'Fraunces',Georgia,serif;font-weight:340;font-size:19px;line-height:1.75;margin-bottom:20px}
.carta-bloco details{margin-top:6px}
.carta-bloco details p{font-size:18px;margin-top:18px;margin-bottom:0}
.carta-bloco summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--terracota-escuro);list-style:none;display:inline-block;border-bottom:1.5px solid var(--terracota);padding-bottom:2px;font-family:'Inter',sans-serif}
.carta-bloco summary::-webkit-details-marker{display:none}
.carta-bloco details[open] summary{opacity:.55}
.assin{margin-top:26px;font-family:'Fraunces',Georgia,serif}
.assin .nome{font-size:24px;font-style:italic;color:var(--terracota-escuro)}
.assin .de{font-size:14.5px;color:var(--tinta-suave);margin-top:4px;font-family:'Inter',sans-serif}

/* método */
.passos{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.passo{background:var(--papel-2);border:1px solid var(--linha);border-radius:40px;padding:11px 22px;font-family:'Fraunces',Georgia,serif;font-size:17px}
.passo b{color:var(--terracota-escuro);font-weight:640}
.seta{align-self:center;color:var(--tinta-suave)}
.metodo p.explica{margin-top:30px;max-width:640px;color:var(--tinta-suave)}
.metodo p.explica b{color:var(--tinta)}
.p3{margin-top:26px;font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:19px;color:var(--noite)}

/* cuidado */
.cuidado{background:var(--papel-2)}
.caixa{background:#FDFAF3;border:1px solid var(--linha);border-left:4px solid var(--noite);padding:30px 32px;margin-top:34px;border-radius:2px}
.caixa p{font-size:15.5px;color:var(--tinta-suave);margin-bottom:12px}
.caixa p:last-child{margin-bottom:0}
.caixa b{color:var(--tinta)}
.recursos{margin-top:10px;font-size:14.5px;color:var(--tinta-suave)}
.recursos b{color:var(--noite)}

/* FAQ */
.faq details{border-bottom:1px solid var(--linha);padding:20px 4px}
.faq details:first-of-type{border-top:1px solid var(--linha);margin-top:40px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:'Fraunces',Georgia,serif;font-size:24px;color:var(--terracota);flex-shrink:0}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--tinta-suave);font-size:15.5px;max-width:700px}

/* ===== formulários (escrever / pedir) ===== */
.pagina-form{padding:64px 0 96px}
.volta{font-size:14px;color:var(--tinta-suave);text-decoration:none;border-bottom:1px solid var(--linha)}
.form-titulo{margin-top:26px}
.progresso{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota-escuro);font-weight:600;margin:34px 0 6px}
.etapa{display:none;animation:apar .35s ease}
.etapa.ativa{display:block}
@keyframes apar{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.etapa h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(24px,3.4vw,32px);line-height:1.25;margin-bottom:10px}
.etapa .dica{color:var(--tinta-suave);font-size:15.5px;margin-bottom:26px;max-width:620px}
.campo{margin-bottom:26px}
.campo label{display:block;font-weight:600;font-size:15px;margin-bottom:8px}
.campo label small{font-weight:400;color:var(--tinta-suave)}
.campo .sub{font-size:13.5px;color:var(--tinta-suave);margin-top:-4px;margin-bottom:8px}
input[type=text],input[type=email],textarea,select{
  width:100%;background:#FDFAF3;border:1px solid var(--linha);border-radius:2px;padding:14px 16px;
  font-family:'Fraunces',Georgia,serif;font-size:17px;color:var(--tinta);line-height:1.6}
textarea{min-height:120px;resize:vertical}
textarea.grande{min-height:190px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--terracota);outline-offset:1px;border-color:var(--terracota)}
select{font-family:'Inter',sans-serif;font-size:15.5px;appearance:none;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A463F' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.check{display:flex;gap:12px;align-items:flex-start;background:#FDFAF3;border:1px solid var(--linha);border-radius:2px;padding:16px;margin-bottom:14px;cursor:pointer}
.check input{margin-top:4px;accent-color:var(--terracota);width:17px;height:17px;flex-shrink:0}
.check span{font-size:14.5px;color:var(--tinta-suave);line-height:1.55}
.check b{color:var(--tinta)}
.radio-grupo{display:grid;gap:10px}
.nav-form{display:flex;gap:14px;justify-content:space-between;margin-top:38px;flex-wrap:wrap}
.erro{display:none;background:#F7E8E2;border:1px solid #D9A08A;border-left:4px solid var(--terracota);padding:14px 16px;border-radius:2px;font-size:14.5px;color:#6B341C;margin:18px 0}
.erro.visivel{display:block}
.aviso-crise{background:var(--noite);color:#EFE9DC;border-radius:3px;padding:24px 26px;margin:30px 0;font-size:14.5px;line-height:1.7}
.aviso-crise b{color:#E8B98F}
.aviso-crise a{color:#E8B98F}
.sucesso{display:none;text-align:center;padding:40px 0}
.sucesso.visivel{display:block;animation:apar .4s ease}
.sucesso .selo-ok{font-family:'Fraunces',Georgia,serif;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--ok);font-weight:640}
.sucesso h3{font-family:'Fraunces',Georgia,serif;font-weight:500;font-size:clamp(26px,4vw,36px);margin:14px 0 16px}
.sucesso p{color:var(--tinta-suave);max-width:560px;margin:0 auto 14px}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* rodapé */
footer{background:var(--tinta);color:#B9B2A4;padding:60px 24px;font-size:13.5px;line-height:1.7}
footer .wrap{max-width:960px}
footer .marca{font-family:'Fraunces',Georgia,serif;color:var(--papel);font-size:20px;margin-bottom:16px}
footer .marca a{color:inherit;text-decoration:none}
footer .bio{color:#D8D2C4;margin-bottom:18px}
footer .aviso{border-top:1px solid #3A372F;padding-top:18px;margin-top:6px}
footer .avalidar{margin-top:22px;color:#8F8878;font-size:12px;letter-spacing:.06em}
footer a{color:#D8D2C4}

@media (max-width:640px){
  section{padding:64px 0}
  .carta-bloco{padding:44px 24px}
  .selo-postal{display:none}
  .nav-form{flex-direction:column-reverse}
  .nav-form .btn{width:100%;text-align:center}
}
