:root{
  --cream:#FBF3EC;
  --cream-2:#F3E6D8;
  --ink:#3B2A22;
  --ink-soft: rgba(59,42,34,0.72);
  --terracotta:#8B5E4F;
  --terracotta-dark:#6E4A3E;
  --ember:#C98A4B;
  --rose:#EADACB;
  --hair: rgba(59,42,34,0.14);
  --white:#FFFDFB;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Public Sans', sans-serif;
  font-size:16px;
  line-height:1.62;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ max-width:1080px; margin:0 auto; padding-left:24px; padding-right:24px; }

h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
  letter-spacing:-0.01em;
  color:var(--ink);
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:0.72rem;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--terracotta-dark);
  font-weight:700;
  margin-bottom:16px;
}
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--terracotta); }

.cta-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--terracotta);
  color:var(--white);
  font-weight:700;
  font-size:0.95rem;
  padding:16px 30px;
  border-radius:100px;
  text-decoration:none;
  box-shadow:0 14px 30px -12px rgba(110,74,62,0.55);
  transition:transform .2s ease, background .2s ease;
}
.cta-btn:hover{ background:var(--terracotta-dark); transform:translateY(-2px); }

/* Hero */
.hero{
  position:relative;
  padding:150px 0 64px;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background-image:linear-gradient(180deg, rgba(251,243,236,0.55) 0%, rgba(251,243,236,0.92) 78%, var(--cream) 100%), url('hero.jpg');
  background-size:cover;
  background-position:center 20%;
  z-index:0;
}
.hero-inner{ position:relative; z-index:1; max-width:640px; }
.hero h1{ font-size:clamp(2.1rem, 6vw, 3.1rem); line-height:1.12; }
.hero h1 em{ font-style:italic; color:var(--terracotta-dark); font-weight:400; }
.hero-sub{ margin-top:20px; max-width:52ch; color:var(--ink-soft); font-size:1.04rem; }
.hero-meta{
  margin-top:26px;
  display:flex; flex-wrap:wrap; gap:10px 20px;
  font-size:0.86rem; color:var(--ink-soft); font-weight:600;
}
.hero-meta span{ display:inline-flex; align-items:center; gap:7px; }
.hero .cta-btn{ margin-top:30px; }
.hero-note{ margin-top:14px; font-size:0.8rem; color:var(--ink-soft); }

header.top{
  position:fixed; top:0; left:0; right:0; z-index:20;
  padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(251,243,236,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--hair);
}
.mark{ font-family:'Fraunces', serif; font-size:0.98rem; letter-spacing:0.06em; font-weight:500; }
.mark span{ color:var(--terracotta); }
.mark a{ text-decoration:none; }

section{ padding:72px 0; }
.section-head{ max-width:620px; margin:0 auto 40px; text-align:center; }
.section-head h2{ font-size:clamp(1.5rem, 4vw, 2.1rem); }
.section-head .eyebrow{ justify-content:center; display:flex; }

/* Pain points */
.pain-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.pain-card{
  background:var(--white); border:1px solid var(--hair); border-radius:16px;
  padding:24px;
}
.pain-card .ic{ font-size:1.5rem; }
.pain-card h3{ font-family:'Public Sans', sans-serif; font-size:1.02rem; font-weight:700; margin:10px 0 8px; }
.pain-card p{ color:var(--ink-soft); font-size:0.94rem; margin:0; }
.pain-close{ text-align:center; margin-top:30px; color:var(--ink-soft); max-width:52ch; margin-left:auto; margin-right:auto; }

/* Encontros / benefícios */
.benefit-grid{ display:grid; grid-template-columns:1fr; gap:16px; }
.benefit-card{
  background:var(--rose); border-radius:16px; padding:24px;
}
.benefit-card .ic{ font-size:1.4rem; }
.benefit-card h3{ font-family:'Public Sans', sans-serif; font-size:1rem; font-weight:700; margin:10px 0 8px; }
.benefit-card p{ color:var(--ink-soft); font-size:0.92rem; margin:0; }

/* Programação */
.program-list{ display:flex; flex-direction:column; gap:22px; max-width:720px; margin:0 auto; }
.program-item{ display:flex; gap:18px; }
.program-num{
  flex-shrink:0; width:38px; height:38px; border-radius:50%;
  background:var(--terracotta); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif; font-weight:600; font-size:1rem;
}
.program-item h3{ font-size:1.08rem; margin-bottom:6px; }
.program-item p{ color:var(--ink-soft); font-size:0.94rem; margin:0; }

/* Facilitadora */
.facilitadora{
  max-width:680px; margin:0 auto; text-align:center;
}
.fac-badge{
  display:inline-block; margin-bottom:16px;
  background:var(--rose); color:var(--terracotta-dark);
  font-size:0.78rem; font-weight:700; letter-spacing:0.04em;
  padding:8px 18px; border-radius:100px;
}
.facilitadora h2{ font-size:clamp(1.5rem, 4vw, 2rem); margin-bottom:20px; }
.facilitadora p{ color:var(--ink-soft); font-size:1rem; margin:0 0 16px; text-align:left; }

/* Objeções */
.objection-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.objection-card{
  background:var(--white); border:1px solid var(--hair); border-radius:14px; padding:22px;
}
.objection-card h3{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:1.05rem; margin-bottom:10px; color:var(--terracotta-dark);
}
.objection-card p{ color:var(--ink-soft); font-size:0.93rem; margin:0; }

/* Investimento */
.invest-box{
  background:var(--ink); color:var(--cream);
  border-radius:22px; padding:40px 28px; max-width:640px; margin:0 auto;
}
.invest-box h2{ color:var(--white); text-align:center; font-size:clamp(1.4rem, 4vw, 1.9rem); margin-bottom:8px; }
.invest-box > p.lead{ text-align:center; color:rgba(251,243,236,0.72); font-size:0.94rem; margin:0 0 30px; }
.invest-grid{ display:grid; grid-template-columns:1fr; gap:18px; margin-bottom:30px; }
.invest-item{ display:flex; gap:14px; align-items:flex-start; }
.invest-item .ic{ font-size:1.3rem; }
.invest-item h4{ font-family:'Public Sans', sans-serif; font-size:0.9rem; font-weight:700; margin:0 0 4px; color:var(--white); }
.invest-item p{ font-size:0.88rem; color:rgba(251,243,236,0.72); margin:0; }
.invest-box .cta-btn{ display:flex; justify-content:center; width:100%; }
.invest-disclaimer{ text-align:center; margin-top:16px; font-size:0.78rem; color:rgba(251,243,236,0.58); }
.invest-disclaimer a{ color:inherit; }

/* FAQ */
.faq-list{ max-width:700px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
details.faq-item{
  background:var(--white); border:1px solid var(--hair); border-radius:14px;
  padding:18px 22px;
}
details.faq-item summary{
  cursor:pointer; font-weight:700; font-size:0.98rem; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:12px;
}
details.faq-item summary::-webkit-details-marker{ display:none; }
details.faq-item summary::after{ content:'+'; font-size:1.3rem; color:var(--terracotta); flex-shrink:0; }
details.faq-item[open] summary::after{ content:'–'; }
details.faq-item p{ margin:14px 0 0; color:var(--ink-soft); font-size:0.92rem; }
.faq-highlight{
  background:var(--rose); border:none;
}

/* CTA final */
.cta-final{ text-align:center; }
.cta-final h2{ font-size:clamp(1.6rem, 5vw, 2.2rem); max-width:20ch; margin:0 auto 16px; }
.cta-final p{ color:var(--ink-soft); max-width:44ch; margin:0 auto 30px; }

footer{
  background:var(--ink); color:rgba(251,243,236,0.72);
  padding:44px 0 30px;
  font-size:0.82rem;
}
footer .foot-disclaimer{
  max-width:680px; margin:0 auto 26px; text-align:center;
  color:rgba(251,243,236,0.85); font-size:0.86rem; line-height:1.6;
}
footer .foot-links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px;
  margin-bottom:22px; font-weight:600;
}
footer .foot-links a{ text-decoration:underline; text-underline-offset:3px; }
footer .foot-meta{
  text-align:center; color:rgba(251,243,236,0.5); font-size:0.76rem; line-height:1.7;
}
footer .foot-meta a{ text-decoration:underline; }

/* Páginas legais (privacidade/termos) */
.legal{ padding:150px 0 90px; }
.legal .wrap{ max-width:760px; }
.legal h1{ font-size:clamp(1.8rem, 5vw, 2.4rem); margin-bottom:8px; }
.legal .updated{ color:var(--ink-soft); font-size:0.85rem; margin-bottom:40px; }
.legal h2{ font-size:1.2rem; margin-top:38px; margin-bottom:12px; }
.legal p, .legal li{ color:var(--ink-soft); font-size:0.96rem; margin:0 0 14px; }
.legal ul{ padding-left:20px; margin:0 0 14px; }
.legal a{ color:var(--terracotta-dark); text-decoration:underline; }
.legal .back{ display:inline-block; margin-bottom:30px; font-size:0.88rem; font-weight:600; color:var(--terracotta-dark); text-decoration:none; }

@media (min-width:760px){
  .pain-grid, .benefit-grid{ grid-template-columns:1fr 1fr; }
  .invest-grid{ grid-template-columns:1fr 1fr; }
  .facilitadora p{ text-align:center; }
}

:focus-visible{ outline:2px solid var(--terracotta); outline-offset:3px; }
